1) Определите значение переменной s после выполнения фрагмента программы: s:=0;
k:=0;
while s < 1024 do begin
s:=s+10;
k:=k+1;
end;
2) Укажите наименьшее и наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 6: var x, L, M: integer; begin readln(x); L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L);
write(M);
end.
1) выведет s = 1030
2) наименьшее 150 , наибольшее 600
Обоснование:
- Переменная s инициализируется нулевым значением.
- В каждой итерации цикла while значение переменной s увеличивается на 10.
- Переменная s станет больше или равной 1024 после 102 изменений, так как 0 + (10 * 102) = 1020.
- Значение переменной k увеличивается на 1 в каждой итерации цикла, поэтому она будет равна количеству выполненных итераций, то есть 102.
2) В данном фрагменте программы выполняется считывание значения переменной x. Затем задаются начальные значения переменных L и M, равные нулю. В цикле while проверяется условие x > 0. Если условие выполняется, то к переменной L прибавляется 1, а к переменной M добавляется остаток от деления x на 10. Затем значение переменной x делится на 10, чтобы "отбросить" последнюю цифру. Цикл повторяется до тех пор, пока значение переменной x не станет меньше или равно нулю. После окончания цикла, будет выполнена команда writeln(L), которая выведет значение переменной L на экран, а затем будет выполнена команда write(M), которая выведет значение переменной M на экран.
Для определения наименьшего и наибольшего числа, при вводе которых алгоритм печатает сначала 3, а потом 6, нужно представить все возможные числа, для которых это условие выполняется.
Наименьшее число:
- Наименьшее трехзначное число, при котором алгоритм печатает сначала 3, а потом 6 - 309.
- Когда число 309 вводится в алгоритм, переменная L будет равна 3, а переменная M будет равна 3 + 0 + 9 = 12.
Наибольшее число:
- Наибольшее трехзначное число, при котором алгоритм печатает сначала 3, а потом 6 - 963.
- Когда число 963 вводится в алгоритм, переменная L будет равна 3, а переменная M будет равна 9 + 6 + 3 = 18.
Таким образом, наименьшее число, при вводе которого алгоритм печатает сначала 3, а потом 6, равно 309, а наибольшее число равно 963.