Анализ программы, содержащей подпрограммы, циклы и ветвления
Автор: Пользователь скрыл имя, 25 Апреля 2013 в 11:03, задача
Краткое описание
Что нужно знать: • операции целочисленного деления (div) и взятия остатка (mod) • как работают операторы присваивания, циклы и условные операторы в языке программирования
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
var x, L,
M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x)
and (x mod 2 = 1) then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
var x, L,
M: integer;
begin
readln(x);
L:=0;
M:=0;
while
x > 0 do begin
L:=L+1;
if M < x then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 72.
var x, a,
b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10;
end;
writeln(a);
write(b);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 14.
var x, a,
b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x
mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, a,
b : integer;
begin
readln(x);
a
:= 0; b := 1;
while
x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a);
write(b);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, a,
b : integer;
begin
readln(x);
a
:= 0; b := 1;
while
x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a);
write(b);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
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.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
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;
x:= x div 10;
end;
writeln(L);
write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наимень<span class="dash0410_0431_0437_