Пожалуйста, объяните подробно. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=1;
while s < 66 do begin
k:=k+3;
s:=s+k;
end;
write(k);
end.
Ответы
Ответ дал:
0
Ну тут обычная программка с циклом, можно просто в лоб посмотреть, чтобы легче понять.
Нам дано, что s = 0, k = 1
Дальше цикл, пока s не станет больше или равен 66, он будет работать
А цикл делает следующее
Каждый раз прибавляет 3 к k и прибавляет это число k к s, чтобы получить заветные 66, а теперь рассмотрим в лоб, какие числа крутятся в программе:
Начало: 1,0 - 4,4 - 7,11 - 10, 21 - 13, 34 - 16, 50 - 19 - 69. Стоп цикла, так как число S стало больше 66 (69)
Дальше программа выводит на экран число k(19)
Ответ: 19.
Нам дано, что s = 0, k = 1
Дальше цикл, пока s не станет больше или равен 66, он будет работать
А цикл делает следующее
Каждый раз прибавляет 3 к k и прибавляет это число k к s, чтобы получить заветные 66, а теперь рассмотрим в лоб, какие числа крутятся в программе:
Начало: 1,0 - 4,4 - 7,11 - 10, 21 - 13, 34 - 16, 50 - 19 - 69. Стоп цикла, так как число S стало больше 66 (69)
Дальше программа выводит на экран число k(19)
Ответ: 19.
Ответ дал:
0
Ниже записана программа. Получив на вход число x , эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
Вас заинтересует
2 года назад
2 года назад
8 лет назад
8 лет назад
8 лет назад