розгалуження виконується, коли виконання попереднього розгалуження ще не закінчено.
Наприклад, вам потрібно встановити будильник на завтра. Якщо
завтра робочий день, то ви повинні встати о 7-й годині ранку, щоб іти
до школи. Якщо завтра субота, то ви повинні встати о 8-й годині ранку, щоб їхати на заняття гуртка. Якщо завтра неділя, то ви встаєте о
9-й годині ранку.
У наведеному на малюнку алгоритмі друге розгалуження з
умовою Завтра субота? міститься всередині першого розгалуження з
умовою Завтра робочий день?.
Такий фрагмент алгоритму називають вкладеним розгалуженням.
Вкладені розгалуження - це фрагмент алгоритму, у якому одне
розгалуження міститься всередині іншого розгалуження.
Розглянемо виконання наведеного на малюнку 3.26 фрагмента алгоритму. Спочатку перевіряється умова Завтра робочий день?. Якщо
результат перевірки цієї умови Так, то виконується команда Установити будильник на 7-му годину ранку і на цьому виконання всього
цього фрагмента алгоритму закінчується. Якщо результат перевірки
умови Завтра робочий день? - Ні, то перевіряється умова Завтра субота?. Якщо результат перевірки цієї умови Так, то виконується команда
Установити будильник на 8-му годину ранку і на цьому виконання всього цього фрагмента алгоритму закінчується, а якщо результат перевірки
цієї умови Ні, то виконується команда Установити будильник на 9-ту
годину ранку і виконання всього цього фрагмента алгоритму закінчується.
У наведеному на малюнку
фрагменті алгоритму внутрішнє
розгалуження виконується, якщо результат перевірки умови зовнішнього розгалуження Ні.
Объяснение:
рисунок 3.26 (во вложении)
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.
розгалуження виконується, коли виконання попереднього розгалуження ще не закінчено.
Наприклад, вам потрібно встановити будильник на завтра. Якщо
завтра робочий день, то ви повинні встати о 7-й годині ранку, щоб іти
до школи. Якщо завтра субота, то ви повинні встати о 8-й годині ранку, щоб їхати на заняття гуртка. Якщо завтра неділя, то ви встаєте о
9-й годині ранку.
У наведеному на малюнку алгоритмі друге розгалуження з
умовою Завтра субота? міститься всередині першого розгалуження з
умовою Завтра робочий день?.
Такий фрагмент алгоритму називають вкладеним розгалуженням.
Вкладені розгалуження - це фрагмент алгоритму, у якому одне
розгалуження міститься всередині іншого розгалуження.
Розглянемо виконання наведеного на малюнку 3.26 фрагмента алгоритму. Спочатку перевіряється умова Завтра робочий день?. Якщо
результат перевірки цієї умови Так, то виконується команда Установити будильник на 7-му годину ранку і на цьому виконання всього
цього фрагмента алгоритму закінчується. Якщо результат перевірки
умови Завтра робочий день? - Ні, то перевіряється умова Завтра субота?. Якщо результат перевірки цієї умови Так, то виконується команда
Установити будильник на 8-му годину ранку і на цьому виконання всього цього фрагмента алгоритму закінчується, а якщо результат перевірки
цієї умови Ні, то виконується команда Установити будильник на 9-ту
годину ранку і виконання всього цього фрагмента алгоритму закінчується.
У наведеному на малюнку
фрагменті алгоритму внутрішнє
розгалуження виконується, якщо результат перевірки умови зовнішнього розгалуження Ні.
Объяснение:
рисунок 3.26 (во вложении)
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
begin
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
for i:=1 to N do
begin
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end;
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
Begin
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.