Цели:
Обучающая
- Познакомить учащихся с оператором цикла FOR
- Научить создавать программы с использованием счетного оператора цикла
Развивающая
- Формирование у учащихся приемов алгоритмического и логического мышления
- Формирование навыков работы при создании программ, приемы вставки в программу блоков цикла
- Развитие познавательного интереса
Воспитательная
- Воспитывать необходимость связывать изучение нового материала с уже известными фактами
ПЛАН
- Организационный момент
- Проверка домашнего задания
- Формирование умений и навыков по теме “Счетный оператор FOR”
- Решение задач (отработка умений и навыков за ПК)
- Подведение итогов
- Домашнее задание
ХОД УРОКА
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)