Оператор цикла. Счетный оператор цикла FOR

Разделы: Информатика


Цели:

Обучающая

  1. Познакомить учащихся с оператором цикла FOR
  2. Научить создавать программы с использованием счетного оператора цикла

Развивающая

  1. Формирование у учащихся приемов алгоритмического и логического мышления
  2. Формирование навыков работы при создании программ, приемы вставки в программу блоков цикла
  3. Развитие познавательного интереса

Воспитательная

  1. Воспитывать необходимость связывать изучение нового материала с уже известными фактами

ПЛАН

  1. Организационный момент
  2. Проверка домашнего задания
  3. Формирование умений и навыков по теме “Счетный оператор FOR”
  4. Решение задач (отработка умений и навыков за ПК)
  5. Подведение итогов
  6. Домашнее задание

ХОД УРОКА

1. Организационный момент (вступительное слово учителя)

2. Проверка домашнего задания

Имеется условный оператор:

if D<>10 then writeln('ypa!') else writeln(плохо');

Можно ли заменить его следующими операторами:

if D=10 Then Writeln('ypa!') Else Writeln('плохо');

if Not(D=W) Then Writeln('ypa!') Else Writeln('плохо ');

if Not(D=10) Then Writeln('плохо') Else Writeln('ypa!');

if Not(D<>10) Then Writeln('плохо') Else Writeln('ypa!');

3. Изучение нового материала

В языке программирования имеются три различных оператора с помощью которых можно запрограммировать повторяющиеся действия. Многократные повторения одних тех действий можно выполнить с помощью конструкции, которые в программировании называются циклами. Повторяемые действия называют телом цикла. В Паскале существует несколько операторов цикла.

(Циклический алгоритм - описание действий, которые должны повторяться в указанной последовательности несколько раз или пока не выполнится заданное условие?)

Первый оператор цикла с которым мы познакомится сегодня на уроке это оператор FOR, который повторяет тело цикла заданное число раз.

Он имеет следующую форму:

FOR “параметр цикла”: = “начальное значение ” ТО “последнее значение” DO “тело цикла” где FOR, ТО, DO- зарезервированные слова ДЛЯ, ДО,ВЫПОЛНИТЬ

При выполнении оператора FOR сначала вычисляется выражение “начальное значение ” и осуществляется присваивание параметру цикла. После чего циклически повторяется

  • Проверка условия “параметр цикла” <=“последнее значение”, если условие не выполнено оператор FOR завершает свою работу
  • Если условие выполнено происходит выполнение тела цикла
  • Далее наращивание переменной “параметр цикла” на единицу

Отметим два обстоятельства:

Условие проверяется перед выполнением оператора “тело цикла”.

Если условие не выполняется в самом начале, то используемый оператор не будет выполнен ни разу.

Шаг наращивания параметра строго постоянен и равен 1.

Существует другая форма:

FOR “параметр цикла”: = “начальное значение ” DOUNTO “последнее значение” DO “тело цикла”

где FOR, DOUNTO, DO- зарезервированные слова ДЛЯ, ДО, ВЫПОЛНИТЬ

Замена слова ТО на DOUNTO, означает что шаг наращивания параметра цикла равен -1, проверка условия приобретает следующий вид: условия “параметр цикла” >= “последнее значение”.

4. Применение умений и навыков на практике

В качестве иллюстрации применения оператора FOR рассмотрим программу, осуществляющую ввод с клавиатуры произвольного целого числа N и вычисления суммы всех целых чисел. Образец.

Program summa;

Uses crt;

Var I,N,S:integer;

Begin

Write (‘N=’); Readln (N);

S:=0;

FOR I:=1 TO N DO S:=S+1; Writein(‘S=’,S); Readkey

End.

Пример 1.

Составить программу вычисления значения выражения у= 1+1/2+1/3+... .=1/20

Решение:

В данном случае целесообразно организовать цикл с параметром, изменяющимся от 1до20, т.е. шаг изменения параметра равен +1.

Обозначим : у- очередное значение суммы дробей; i - параметр цикла

Учитывая это составим программу

Program prim 1;

Uses crt;

Var i,y: integer;

Begin

Clrscr;

Задаем начальное значение, равное нулю

у:=0;

Организуем цикл с параметром от 1 до 20

for I:=1 to 20 do Begin

Находим очередную сумму

y:=y+1/i;

Выводим на экран очередную сумму Writeln(‘y=’,y);

Readkey

End;

End.

5. Подведение итогов

Работа учащихся по карточкам

6. Домашнее задание.

1. Составить программу для подсчета суммы положительных и отрицательных чисел

2. Из чисел от 10 до 99 вывести те, сумма которых равна S (0<S<18)