0
Объяснение:Данная программа находит произведение цифр числа:
пока n не равняется 0 делаем: умножаем s на остаток от деления n на 10, присваиваем n новое значение: целая часть от деления n на 10.f(512) = 10. Проверяем: 5*1*2=10, всё верно.
Но затем, Маша поменяла 10 на 2, получается:
пока n не равняется 0 делаем: умножаем s на остаток от деления n на 2, присваиваем n новое значение: целая часть от деления n на 2.512 это 2^9, то есть 2*2*2*2*2*2*2*2*2, остаток от деления всегда будет 0, и даже если бы и был другой, достаточно одного, чтобы превратить s в вечный 0. Так что результатом будет 0.
Вот, на всякий случай:
1)
Program p1;
Var a,b,c,z: real;
Begin
Write('Введите 1 число ');
readln(a);
Write('Введите 2 число ');
readln(b);
z:=frac(a);
c:=frac(b);
if (a > 99) and (z = 0) then Writeln(a);
if (b > 99) and (c = 0) then Writeln(b);
End.
*функция frac() берет от вещественного числа дробную часть
2)
Program p1;
Var a, i, n, k: integer;
Begin
Write('Введите количество чисел последовательности: ');
readln(n);
k:=1;
For i:=1 to n do begin
readln (a);
if (a mod 3 =0) then k:=k*a*a;
end;
Writeln('Произведение квадратов чисел, кратных трём - ',k);
End.
s1,s2: string;
begin
Write( 's1: ' );
ReadLn(s1);
Write( 's2: ' );
ReadLn(s2);
if s1[ 1 ] = s2[ length(s2) ] then
write( 'Da' ) else write( 'Net' );
ReadLn;
end.