Чему равно значение переменной s после выполнения следующего фрагмента программы:
s:=0;
for i:=0 to 5 do s:=s+i;
1) 6
2) 5
3) 15
4) 0
5. Какой оператор цикла желательно использовать для записи алгоритмической конструкции, изображённой на схеме? (см рисунок 1)
1) repeat <оператор1, …> until <условие>
2) while <условие> do <оператор>
3) for <параметр>:= <начальное значение> to <конечное значение> do <оператор>
6. Цикл в фрагменте программы
p:=1;
repeat
p:=p*0.1
until p>0.1;
будет исполнен:
1) 1 раз
2) бесконечное число раз
3) 3 раза
4) 0 раз
5) 2 раза
Последовательность Фибоначчи.
Следующий элемент: 34 + 55 = 89
Записываем все натуральные числа подряд и разбиваем их на цифры
о, д, т, ч, п, ш, с, в, д, д, ...
Выписываем натуральные числа в ряд. Каждому натуральному числу сопоставляем первую букву его названия.
1 -> о (один)
2 -> д (два)
...
10 -> д (десять)
11 -> о (одиннадцать)
Первый элемент 1. Каждый следующий элемент образуется так: выделяем цифру, считаем, сколько раз она встречается подряд в этом числе, начиная с текущей позиции и приписываем в конец нового числа пару (сколько раз цифра встречается подряд, сама цифра)
1) 1
2) 1 встречается 1 раз. Значит, пишем 11
3) 1 встречается 2 раза. Значит, пишем 21
3) 2 встречается 1 раз. Значит, пишем 12. 1 встречается 1 раз. Значит, пишем 11. Получилось 1211
4) 1 встречается 1 раз. Значит, пишем 11. 2 встречается 1 раз. Значит, пишем 12. 1 встречается 2 раза. Значит, пишем 21. Получилось 111221.
5) аналогично
6) 3 встречается 1 раз. Значит, пишем 13. 1 встречается 1 раз. Значит, пишем 11. 2 встречается 2 раза. Значит, пишем 22. 1 встречается 2 раза. Значит, пишем 21. Получилось 13112221
const n=9;
var l:array[1..n] of integer;
i,max,imax,min,imin,s:integer;
begin
Randomize;
writeln('Массив L:');
for i:=1 to n do
begin
l[i]:=random(51);
write(l[i]:4);
end;
writeln;
max:=l[1]; imax:=1;
min:=l[1]; imin:=1;
for i:=2 to n do
begin
if l[i]>max then begin max:=l[i]; imax:=i; end;
if l[i]<min then begin min:=l[i]; imin:=i; end;
end;
writeln('max = l[',imax,'] = ',max);
writeln('min = l[',imin,'] = ',min);
s:=0;
if imax>imin
then for i:=imin+1 to imax-1 do s:=s+l[i]
else for i:=imax+1 to imin-1 do s:=s+l[i];
writeln('s = ',s);
end.
Пример:
Массив L:
31 49 41 15 9 47 37 11 27
max = l[2] = 49
min = l[5] = 9
s = 56