Значение переменной f после выполнения фрагмента алгоритма: 25
Присваиваем переменной i = 20 , f - 1. До тех пор пока i < 15 будем делать следующее:
1. От текущего значения i отнимаем 2 и присваиваем это переменной i.
2. К текущему значению переменной f прибавляем значение i деленного на 2 без остатка.
После всего проверяем условие, если i до сих пор больше 15, повторяем.
Значения будет изменяться так:
1 шаг
i = 20
f = 1
2 шаг
i = 18
f = 10
3 шаг
i = 16
f = 18
4 шаг
i = 14
f = 25
На 5 шаге i будет больше 15, а это не удовлетворяет условию. И осуществляется выход из программы.
Поделитесь своими знаниями, ответьте на вопрос:
Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и выполнить инверсию отдельного для 1-ой и 2-ой половин массива. пример: исходный массив: 4 -5 3 10 -4 -6 8 -10 1 0 результат: -4 10 3 -5 4 0 1 -10 8 -6
var a:array[1..n] of integer;
i,t:integer;
begin
Randomize;
writeln('A:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:4);
end;
writeln;
for i:=1 to n div 4 do
begin t:=a[i]; a[i]:=a[n div 2-i+1]; a[n div 2-i+1]:=t;
t:=a[n div 2+i]; a[n div 2+i]:=a[n-i+1]; a[n-i+1]:=t; end;
writeln('new A:');
for i:=1 to n do write(a[i]:4);
writeln;
end.
Пример:
A:
-8 -10 -7 4 -6 10 7 10 -7 1
new A:
-6 4 -7 -10 -8 1 -7 10 7 10