===== PascalABC.NET =====
begin
var k := ReadInteger; // ввод k
if k > 2 then // анализ аномалии
begin
var (x1, x2, i) := (1, 1, 2);
var x: integer;
while i < k do
begin
x := x1 + x2;
x1 := x2;
x2 := x;
i += 1
end;
Print(x)
end
else
Print('Ошибка')
end.
Var name, verb, abjective, noun, adverb: string;
begin
write('Введите ваше имя: ');
readln(name);
write('Хорошо, ', name, ', а теперь введите любое существительное: ');
readln(noun);
write('А теперь прилагательное: ');
readln(abjective);
write(name, ', введите наречие: ');
readln(adverb);
write('И последнее слово - глагол: ');
readln(verb);
writeln;
writeln(abjective, ' летом ', noun, ' ', adverb, ' ', verb, ' около речки.' );
<span>end.</span>
Сначала (до i=5) удваиваются элементы массива 1, 2, 3, 4, 5. Получается соответственно 2, 4, 6, 8, 10. Затем, с i=6 удваиваются полученные значения (в обратном порядке). Получается 20, 16, 12, 8, 4.
Можно это всё расписать подробно, по шагам:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1 шаг цикла:
A [10] := 2*A[1]
1, 2, 3, 4, 5, 6, 7, 8, 9, 2
2 шаг:
A [9] := 2*A[2]
1, 2, 3, 4, 5, 6, 7, 8, 4, 2
3 шаг:
A [8] := 2*A[3]
1, 2, 3, 4, 5, 6, 7, 6, 4, 2
4 шаг:
A [7] := 2*A[4]
1, 2, 3, 4, 5, 6, 8, 6, 4, 2
5 шаг:
A [6] := 2*A[5]
1, 2, 3, 4, 5, 10, 8, 6, 4, 2
6 шаг:
A [5] := 2*A[6]
1, 2, 3, 4, 20, 10, 8, 6, 4, 2
7 шаг:
A [4] := 2*A[7]
1, 2, 3, 16, 20, 10, 8, 6, 4, 2
8 шаг:
A [3] := 2*A[8]
1, 2, 12, 16, 20, 10, 8, 6, 4, 2
9 шаг:
A [2] := 2*A[9]
1, 8, 12, 16, 20, 10, 8, 6, 4, 2
10 шаг:
A [1] := 2*A[10]
4, 8, 12, 16, 20, 10, 8, 6, 4, 2
Ответ: 8
Const n = 5;
m = 5;
var a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
//Для теста заполним массив n * m сл.числами и
//определяем количество нечетных
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(21)-10; write(a[i,j]:4);
if a[i,j] mod 2<>0 then k:=k+1;
end;
writeln;
end;
writeln('Нечетных в массиве: ',k);