Цикл for Формат записи оператора цикла for: for «имя» := «от» to «до» do «оператор»
program Zvezdy ; var i : integer ; begin for i := 1 to 10 do write ('*') end. Пример, который заставит компьютер напечатать 10 звёздочек:
В зависимости от начального и конечного значения параметра цикла, которые задаются в заголовке, цикл может выполнится то или иное количество раз. Например, если начальное и конечное значения совпадают, то цикл выполнится только один раз. Если же начальное значение превышает конечное, то цикл не выполнится ни разу! А сколько раз выполнится циклы со следующими заголовками: for i := 5 to 9 do{ 5 раз } for i := 0 to 8 do for i := -1 to 10 do for i := 100 to 200 do for i := 0 to 0 do
program piat_chisel; var i : integer; begin for i := 1 to 5 do write (i) end. На экран напечатается 5 чисел без пробелов: 12345
program Kvadraty_chisel; var i, s : integer; begin for i := 1 to 5 do begin s := i*i; writeln (i, '*', i, ' = ', s) end end. 1*1 = 1 2*2 = 4 3*3 = 9 4*4 = 16 5*5 = 25
Существует ещё одна разновидность цикла for, в котором вместо служебного слова to используется downto. В этом случае переменная цикла будет каждый раз уменьшать своё значение, а не увеличивать. Например, цикл for i := 5 downto 1 do write (i, ); напечатает:
Параметр цикла может быть не только числом, но и символом. program Alfavit; var c : char; begin for c := a to z do write (c) { выводим буквы в строчку } end. На экране будет напечатан весь английский алфавит в одну строчку: abcdefghijklmnopqrstuvwxyz
Нахождение суммы Нахождение суммы целых чисел от 1 до 10 program Summa_chisel_ot1do10; var s, i : integer; begin s := 0; { вначале сумма равна 0 } for i := 1 to 10 do s := s + i; { суммируем } writeln (Сумма чисел от 1 до 10 равна, s) end.
Нахождение произведения Нахождение произведения целых чисел от 1 до 10 program Proizvedenie_chesel_ot1do5; var p, i : integer; begin p := 1; { вначале произведение равно 1 } for i := 1 to 5 do p := p * i; { находим произведение } writeln (Произв-е чисел от 1 до 5 равно, p) end.
Нахождение количества Найти количество нечётных чисел из интервала от 30 до 50 program Skoko_nechetnyx_chisel_ot_30_do_50; var k, i : integer; begin k := 0; { вначале счётчик равен 0 } for i := 30 to 50 do if k mod 2 0 { Если число не делится на 2, то оно нечётное … } then k := k + 1 { … и его надо посчитать } writeln(' В интервале от 30 до 50 ', k, ' нечётных чисел ') end.