В таких задачах идем с конца меняя знаки операций на противоположные, затем собираем алгоритм с конца меняя знаки операций:
50 / 2
25 - 1
24 / 2
12 / 2
6 / 2
3 - 1
2 / 2
1-1
0
Получим :21211121
{с клавиатуры вводится число a, до тех пор, пока не будет введен 0. Начальное введенное a записывается в min и max, чтобы потом в цикле было с чем сравнивать}
var
min,max,a:real;
begin
readln(a);
min:=a;max:=a;
while a<>0 do
begin
readln(a);
if a>max then
max:=a;
if a<min then
min:=a;
end;
writeln('min: ',min,' max: ',max);
end.
Первая программа
var x,s,z:integer;
begin
writeln('Введите целое число:');
readln(x);
z:=x;
while z <> 0 do begin
s:=s + z mod 10;
z:=z div 10;
end;
writeln('Сумма цифр числа ',x,' равна ',s);
end.
Вторая программа
var x,i,z,j,k,leng:integer;
a:array of integer;
begin
writeln('Введите целое число:');
readln(x);
z:=x;
while z <> 0 do begin
leng += 1;
z:=z div 10;
end;
SetLength(a,leng+1);
for i:=leng downto 1 do begin
a[i]:=x mod 10;
x:=x div 10;
end;
for i:=1 to leng do begin
for j:=i to leng-1 do begin
if(a[i] = a[j+1]) then
k += 1;
end;
end;
if(k > 0) then
writeln('Да')
else
writeln('Нет');
end.
Var n: integer;
begin
writeln('Введите число:');
readln(n);
if n mod 2 =0 then writeln('Это четное число')
else writeln('Это нечетное число')
end.
var
m:integer;
n:real;
begin
n:=120;
m:=0;
while n<150 do
begin
n:=1.02*n;
m:=m+1;
end;
writeln('Ответ: ',m)
end.