Вариант с циклом while ... do... program z1; uses crt; var n:longint; i,max,x:integer; begin clrscr; read(n); max:=-1; i:=1; {это будет переменная-счетчик} while i<=5 do begin x:= n mod 10; if x>max then max:=x; n:= n div 10; {в этой строке исправлена опечатка в оригинале} i:=i+1; {наращиваем счетчик вручную} end; writeln(max); end.
Вариант с циклом repeat ... until program z1; uses crt; var n:longint;i,max,x:integer; begin clrscr; read(n); max:=-1; i:=1; repeat x:= n mod 10; if x>max then max:=x; n:= n div 10; i:=i+1; until i>5; writeln(max); end.
Вариант с циклом repeat ... until без счетчика! program z1; uses crt; var n:longint; max,x:integer; begin clrscr; read(n); max:=-1; repeat x:= n mod 10; if x>max then max:=x; n:= n div 10; until n=0; writeln(max); end. В последнем примере условием окончания цикла будет случай, когда число станет равным 0. Действительно, после каждого повторения цикла число становится на один разряд меньше (выделенная цветом строка программы), значит, когда-нибудь такое число станет равным 0 (цикл подходит для числа с любым количеством цифр). Пример: 34567 -> 3456 -> 345 -> 34 -> 3 -> 0
program z1;
uses crt;
var n:longint;
i,max,x:integer;
begin
clrscr;
read(n);
max:=-1;
i:=1; {это будет переменная-счетчик}
while i<=5 do
begin
x:= n mod 10;
if x>max then max:=x;
n:= n div 10; {в этой строке исправлена опечатка в оригинале}
i:=i+1; {наращиваем счетчик вручную}
end;
writeln(max);
end.
Вариант с циклом repeat ... until
program z1;
uses crt;
var n:longint;i,max,x:integer;
begin
clrscr;
read(n);
max:=-1;
i:=1;
repeat
x:= n mod 10;
if x>max then max:=x;
n:= n div 10;
i:=i+1;
until i>5;
writeln(max);
end.
Вариант с циклом repeat ... until без счетчика!
program z1;
uses crt;
var n:longint;
max,x:integer;
begin
clrscr;
read(n);
max:=-1;
repeat
x:= n mod 10;
if x>max then max:=x;
n:= n div 10;
until n=0;
writeln(max);
end.
В последнем примере условием окончания цикла будет случай, когда число станет равным 0. Действительно, после каждого повторения цикла число становится на один разряд меньше (выделенная цветом строка программы), значит, когда-нибудь такое число станет равным 0 (цикл подходит для числа с любым количеством цифр). Пример: 34567 -> 3456 -> 345 -> 34 -> 3 -> 0
оператор присваивания :=
оператор ввода read(x1,x2,...,xn) или readln(x1,x2,...,xn)
оператор вывода write(x1,x2,...,xn) или writeln(x1,x2,...,xn)
условный оператор if условие then оператор 1 else оператор 2
оператор варианта case управляющая переменная of
набор значений1: оператор1;
набор значений2: оператор2;
...
набор значенийn: операторN
else
альтернативный оператор
end;
оператор цикла с предусловиями while ... do
оператор цикла с постусловием repeat ... until
оператор цикла for ... do
оператор break осуществляет немедленный выход из циклов repeat, while, for.
оператор continue начинает новую итерацию цикла, даже если предыдущая не была завершина.
оператор exit осуществляет выход из подпрограммы.
оператор halt прекращает выполнение программы и возвращает код завершения в операционную систему.