Растолкуйте пожалуйста как работают циклы (for, while, repeat) в Паскале.Желательно
Растолкуйте пожалуйста как работают циклы (for, while, repeat) в Паскале.
Желанно максимально обычным и понятным языком, без использования супер-заумных определений
Цикл For
"Цикл со счётчиком"
В начале присваивает данной переменной (переменная-счётчик) изначальное число. Переменной-счётчиком может быть любая переменная типа integer, затем в зависимости от направления добавляет (to) или убавляет (downto) счётчик на единицу. Цикл начинает повторение пока счётчик будет меньше либо равен второму числу. Когда счётчик стал больше второго числа, цикл исполняет строчки команд до конца, но теснее не начинает повторять из опять.
В строчках с командами цикла не должно быть команды, которая изменяет значение счётчика, по другому будет ошибка. Счётчик нельзя изменять внутри цикла пока он идёт.
Запись
for ПеременнаяСчётчик := Число Направление Второечисло do
begin
Строчки с командами, которые обязан повторять цикл;
end;
Пример
Программка, которая выводит числа от 5 до 10 и в конце пишет "Конец"
program raf105;
var i: integer;
begin
for i:=5 to 10 do
begin
writeln(i);
end;
writeln('Конец');
end.
Цикл While
"Цикл с условием старта"
Начинает повторение, только если соблюдено данное условие
Запись
while Условие do
begin
Строки с командами, которые должен повторять цикл;
end;
Пример
Программка, которая просит ввести 1, если введено не 1, то просит ввести снова. Когда введено 1, пишет "Вы ввели 1. Конец"
program raf105;
var a: integer;
begin
write('Введите 1: ');
readln(a);
while a lt;gt; 1 do
begin
write('Вы ввели не 1. Введите число снова: ');
readln(a);
end;
writeln('Вы ввели 1. Конец');
end.
Цикл Repeat
"Цикл с условием окончания"
Схож на цикл While, только заканчивает повторение, если соблюдено условие. Обычно используется если цикл необходимо повторить хотя бы 1 раз.
Запись
repeat
Строчки с командами, которые обязан повторять цикл;
until Условие;
Пример
Программка, которая запрашивает пароль, если введено 123, то выводит "Конец" если введено не 123, то выводит извещение "Введите пароль опять"
program raf105;
var a: integer;
begin
a:= 0;
repeat
if a = 0
then write('Введите пароль: ')
else write('Введите пароль опять: ');
readln(a);
until a = 123;
writeln('Конец');
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.