ОК, всё это циклы. 1) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик увеличивается на 1. Пример: for a:=1 to 10 do //Цикл будет выполнен 10 раз 2) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик уменьшается на 1. Пример: for a:=10 to 1 do //Цикл будет выполнен 10 раз 3)Цикл с постусолвием. Если условие не выполняется, выполняется цикл. Его особенность заключается в том, что цикл выполнится хотя бы один раз вне зависимости от условия. Пример: k:=0; repeat inc(k); until k<9 //10 раз 4)Цикл с предусловием. Пока условие выполняется, выполняется и цикл. Пример: k:=0; while k<>10 do inc(k); //10 раз
1) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик увеличивается на 1. Пример:
for a:=1 to 10 do //Цикл будет выполнен 10 раз
2) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик уменьшается на 1. Пример:
for a:=10 to 1 do //Цикл будет выполнен 10 раз
3)Цикл с постусолвием. Если условие не выполняется, выполняется цикл. Его особенность заключается в том, что цикл выполнится хотя бы один раз вне зависимости от условия. Пример:
k:=0;
repeat
inc(k);
until k<9 //10 раз
4)Цикл с предусловием. Пока условие выполняется, выполняется и цикл.
Пример:
k:=0;
while k<>10 do
inc(k); //10 раз
Program n_1;
var a:array [1..1000] of integer; i, buf:integer;
begin
for i:=1 to 1000 do read(a[i]); //Вводим массив
for i:=1 to 500 do begin //Переворачиваем массив
buf:=a[i];
a[i]:=a[1001-i];
a[1001-i]:=buf;
end;
for i:=1 to 1000 do write(a[i], ' '); //Выводим перевернутый массив
writeln(); //Переносим строку
for i:=1 to 1000 do begin //Выводим нужные нам числа
buf:=a[i];
while buf>9 do buf:=buf div 10; //buf равно старшему разряду
if buf>a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим
end;
end.
Часть, выделенная полужирным, эквивалентна
for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.