Uploaded by Лариса Стоянова

оператор for

advertisement
Цикл for
Формат записи оператора
цикла for:
for «имя» := «от» to «до» do
«оператор»
Порядок выполнения цикла FOR
В зависимости от начального и конечного значения
параметра цикла, которые задаются в заголовке, цикл
может выполнится то или иное количество раз.
Например, если начальное и конечное значения совпадают,
то цикл выполнится только один раз. Если же начальное
значение превышает конечное, то цикл не выполнится ни
разу!
А сколько раз выполнятся циклы со следующими
заголовками:
for i := 5 to 9 do
for i := 0 to 8 do
for i := -1 to 10 do
for i := 100 to 200 do
for i := 0 to 0 do
{ 5 раз }
{ 9 раз }
{ 12 раз }
{ 101 раз }
{ 1 раз }
С. 97. № 5
program N5;
var i, m, n : integer;
begin
m:=1; n:=5;
for i := m to n do writeln(2*i);
end.
Значение счетчика цикла может использоваться в
выражениях, входящих в операторы тела цикла, но
изменение значения счетчика цикла этими
операторами недопустимо.
Правильно записаны фрагменты под номерами 1 и 4.
Во фрагментах 2 и 3 в операторах тела цикла
производится изменение значение счетчика цикла.
Пример, который заставит компьютер
напечатать 10 звёздочек:
program Zvezdy ;
var i : integer ;
begin
for i := 1 to 10 do
write ('*');
end.
program piat_chisel;
var i : integer;
begin
for i := 1 to 5 do
write (i);
end.
На экран напечатается 5 чисел
без пробелов:
12345
Существует ещё одна разновидность цикла for,
в котором вместо служебного слова to используется
downto. В этом случае переменная цикла будет
каждый раз уменьшать своё значение, а не увеличивать.
Например, цикл
for i := 5 downto 1 do
write (i, ’ ’);
напечатает:
54321
Параметр цикла может быть не только
числом, но и символом.
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.
Измените предыдущую программу,
чтобы можно было самому задать
количество слагаемых.
program Summa_chisel_ot1doN;
var s, i, n: integer;
begin
Write (‘Введите количество слагаемых: ');
readln(n);
s := 0; { вначале сумма равна 0 }
for i := 1 to n do
s := s + i;
{ суммируем }
writeln ('Сумма чисел от 1 до ', n, ' равна ', 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.
program Summa_chisel_ot1doN;
var s,p, i, n: integer;
begin
Write ('Введите количество чисел: ');
readln(n);
s := 0;p:=1;{вначале сумма равна 0, произведение – 1}
for i := 1 to n do s := s + 2*i-1;
{ суммируем }
for i := 1 to n do p:=p*(2*i-1);
{умножаем}
writeln ('Сумма первых ', n, ' слагаемых равна ', s);
writeln ('Произведение первых ', n, ' множителей
равна ', p);
end.
Домашняя работа:

С. 97 № 7 b и c.
Download