Методическая рабработка урока Операторы циклов

План занятия № 15. Операторы циклов.
Циклы со счетчиком, с предусловием и постусловием.

Учебная дисциплина: Основы программирования.

Тема занятия: Операторы циклов. Циклы со счетчиком, с предусловием и постусловием.

Цели занятия:
Образовательные:
Изучить основные операторы циклов;
Усвоить взаимосвязь циклов с предусловием и постусловием;
Воспитательные:
- воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.
Развивающие:
- развитие алгоритмического мышления, познавательных интересов, навыков работы на компьютере.

Оснащение: план занятия, дидактический материал – тест, маркерная доска, компьютеры.

Ход занятия:
1. Организационный момент. (2 мин).
Приветствовать обучающихся.
Отметить присутствующих.
Часто бывает необходимо при выполнении программы выполнять одни и те же действия несколько раз. Чтобы избежать в этом случае громоздкого кода, используют операторы циклов. Сегодня на занятии мы рассмотрим 3 варианта циклических операторов на языке Pascal.

2. Актуализация опорных знаний (18 мин.)
Перед началом занятия необходимо вспомнить основные алгоритмические конструкции и операторы языка Pascal. Сейчас вам будет предложено тестовое задание на выбор правильного ответа, на установление правильного порядка и на ввод собственного варианта ответа.
Часть обучающихся выполняют тест 17 мин. на компьютере в программе MyTestX. (см. приложение в конце документа)
Другая половина решают такой же тест в бумажном варианте.

3. Изучение нового материала. (50 мин.)
Цикл представляет собой последовательность операторов, которая выполняется неоднократно. В языке программирования Pascal имеется три разновидности цикла цикл с предусловием while, цикл с постусловием repeat и цикл с параметром for.
Примечание: подавляющее большинство задач с циклами можно решить разными способами, используя при этом любой из трех операторов цикла. При неумелом использовании циклов любого типа возможна ситуация, когда компьютер не может нормально закончить цикл (программа «зациклилась»).

Цикл while - do (цикл с предусловием)
Оператор while-do выполняется следующим образом: Сначала проверяется условие. Если оно истинно, выполняются <оператор 1>...<оператор n> и так далее. Если же условие ложно, выполнение инструкции считается законченным, и программа переходит к обработке следующих команд. Таким образом, если условие с самого начала оказалось ложным, <оператор 1>...<оператор n> не будут выполнены ни разу. В цикле while-do <условие> - это условие выполнения цикла: пока оно истинно, программа из цикла не выйдет. В том случае, если внутри цикла стоит только один оператор, пара begin - end может отсутствовать, если операторов больше одного, то пара begin - end обязательна, так как иначе будет выполнятся только одна инструкция, стоящая сразу после слова do.

<установка нач. значений>;
while <условие выхода> do
begin
<тело цикла>;
end;
Цикл repeat - until (цикл с постусловием)
Оператор repeat-until выполняется следующим образом: сначала выполняются инструкции <оператор 1>...<оператор n>. Затем проверяется условие. Если оно ложно (false), происходит возврат с выполнению инструкций <оператор 1>...<оператор n>. Если условие истинно, цикл считается выполненным и программа переходит к обработке следующих команд. Таким образом в цикле repeat-until <условие> - это условие завершения цикла: цикл повторяется, пока оно ложно.

<установка нач. значений>;
repeat
<тело цикла>
until <условие выхода из цикла>;

Пример: Игра «Угадай число».
program ugadai;
var
comp: integer;
igrok: integer;
begin
randomize;
comp:=random(1000);
repeat
write(введите число:’);
readln(igrok);
if igrok>comp then (Слишком много’)
else
if igrok else writeln(Вы угадали!’);
until igrok=comp;
end.

Взаимосвязь операторов while и repeat:
Оператор while Условие do Инструкция; эквивалентен оператору repeat инструкция until Not условие;
Пример: Из промежутка [a, b], где аprogram pr1;
uses crt;
label k;
var a,b, i: integer;
begin
clrscr;
k: writeln (Введите границы промежутка’);
readln(a,b);
if a>b then goto k;
if a mod 2 = 0 then i:=a else i:=a+1;
while i<=b do begin
write (i:5);
i:=i+2
end;
readln
end.
program pr2;
uses crt;
label k;
var a,b, i: integer;
begin
clrscr;
k: writeln (Введите границы промежутка’);
readln(a,b);
if a>b then goto k;
if a mod 2 = 0 then i:=a else i:=a+1;
repeat
write (i:5);
i:=i+2
until i>b;
readln
end.


Цикл for (цикл с параметром)
Общий вид:
FOR I:=N1 TO N2 DO ST
I - переменная цикла, N1- начальное значение цикла, N2- конечное значение цикла, ST- оператор (простой или составной). I,N1,N2 должны быть одного и того же типа, но не real. I принимает последовательные значения данного типа от N1 до N2. Если N1 и N2 - целые числа, а I - целая переменная, то шаг всегда равен единице.
1 вариант: с увеличением счетчика:
for Счетчик:= НачальноеЗначение to КонечноеЗначение do
begin
{Операторы 1..N}
end;

2 вариант: с уменьшением счетчика:
for Счетчик:= НачальноеЗначение downto КонечноеЗначение do
begin
{Операторы 1..N}
end;

Пример: суммирование чисел от 1 до n.
program summa;
var n, i,s: integer;
begin
writeln(Введите число n’);
readln(n);
s:=0;
for i:=1 to n do
s:=s+i;
writeln(Сумма чисел от 1 до n равна ’,s);
end.

4. Закрепление нового материала. (15 мин)
Назовите оператор цикла с параметром на языке Pascal.
Назовите оператор цикла с предусловием на языке Pascal.
Когда прекращается выполнение цикла с предусловием while?
Можно ли переписать программу, использующую цикл с предусловием, таким образом, чтобы в ней использовался цикл с постусловием?

Написать программу: Вычислить сумму четных чисел из ряда от 1 до n.
Разобрать решение примера на доске.
(При наличии времени можно разобрать эту же задачу с использованием цикла while)

program sum;
uses crt;
var i,n,s:integer;
begin
clrscr;
writeln ('Введите число n');
readln(n);
s:=0;
for i:=1 to n do
if i mod 2 = 0 then s:=s+i;
writeln ('Сумма четных чисел от 1 до ', n, ' равна ', s);
readln;
end.

5. Подведение итогов занятия (3 мин.): выводы, оценки за ответы на вопросы, выполнение заданий.

6. Д/з (2 мин.): [1] – стр. 104-108, решить задачу: Найти произведение нечетных чисел из ряда от -5 до 5.
Pascal
Автор: Серебрякова Л.В.

Задание #1
Вопрос:
Алгоритм, записанный на «понятном» компьютеру языке программирования, называется
Выберите один из 5 вариантов ответа:
1) протоколом
2) листингом
3) текстовкой
4) исполнителем алгоритмов
5) программой

Задание #2
Вопрос:
Свойство алгоритма, заключающееся в том, что алгоритм возможно разбить на отдельные элементарные действия.
Выберите один из 5 вариантов ответа:
1) дискретность
2) детерминированность
3) массовость
4) конечность
5) результативность

Задание #3
Вопрос:
Элемент блок-схемы является обозначением
Выберите один из 3 вариантов ответа:
1) логического блока
2) блока вычислений
3) блока ввода-вывода

Задание #4
Вопрос:
Язык программирования Pascal создал
Выберите один из 4 вариантов ответа:
1) Правильных ответов нет
2) М. Фортран
3) Н. Вирт
4) Б. Паскаль

Задание #5
Вопрос:
В языке Pascal раздел VAR служит
Выберите один из 4 вариантов ответа:
1) для описания величин
2) верного ответа нет
3) для описания выражений
4) для описания используемых переменных

Задание #6
Вопрос:
Укажите верные написания условных операторов
Выберите несколько из 4 вариантов ответа:
1) if x>0 then x>0 else y:=cos(x);

2) if x<0 then z:=abs(x);
3) if x>0 then y:=sin(x) else y:=cos(x);
4) if x:=0 then y:=sin(x);

Задание #7
Вопрос:
Стандартная функция нахождения модуля числа x - |x|
Выберите один из 4 вариантов ответа:
1) sqrt(x)
2) sqr(x)
3) exp(x)
4) abs(x)

Задание #8
Вопрос:
Оператор чтения данных с клавиатуры без перехода на новую строку на языке Pascal.
Выберите один из 4 вариантов ответа:
1) readln
2) read
3) write
4) writeln

Задание #9
Вопрос:
Укажите правильный порядок элементов блок-схем линейного алгоритма решения задачи y=ax2+15x-6
Укажите порядок следования всех 5 вариантов ответа:
__
__
__
__
__

Задание #10
Вопрос:
Стандартная функция извлечения корня из числа x
Выберите один из 4 вариантов ответа:
1) sqr(x)
2) sqrt(x)
3) abs(x)
4) exp(x)

Задание #11
Вопрос:
Укажите несколько вариантов ответа. Ввод данных с клавиатуры осуществляется с помощью операторов...
Выберите несколько из 5 вариантов ответа:
1) write
2) writeln
3) program
4) read
5) readln

Задание #12
Вопрос:
Напишите оператор вывода данных на экран с последующим переходом на новую строку на языке Pascal
Запишите ответ:
__________________________________________

Задание #13
Вопрос:
Укажите диапазон значений переменных типа Byte:
Выберите один из 4 вариантов ответа:
1) 0..65535
2) -128..127
3) -3276832767
4) 0255

Задание #14
Вопрос:
Укажите целочисленные типы данных из перечисленных.
Выберите несколько из 5 вариантов ответа:
1) integer
2) byte
3) real
4) boolean
5) char

Задание #15
Вопрос:
Система связанных геометрических фигур, связанных между собой линиями переходов, определяющими очередность выполнения действий в алгоритме решения задачи.
(Графическое представление алгоритма)
Запишите ответ:
__________________________________________

Задание #16
Вопрос:
Алгоритм, в котором все этапы решения задачи выполняются строго последовательно, называется
Выберите один из 3 вариантов ответа:
1) циклическим
2) ветвлением
3) линейным

Задание #17
Вопрос:
Алгоритм, в котором выбирается один из нескольких возможных путей (вариантов) в зависимости от условия, называется
Выберите один из 3 вариантов ответа:
1) циклическим алгоритмом
2) линейным алгоритмом
3) алгоритмом ветвления

Задание #18
Вопрос:
Какой результат выполнения неправильный:
Выберите один из 5 вариантов ответа:
1) 14 mod (5+3)=6
2) 24/12=2
3) 11 mod 5=1
4) 10 div 3=3
5) 11 div 5=1

Задание #19
Вопрос:
Функция , выполняющая отбрасывание десятичных знаков числа x
Выберите один из 3 вариантов ответа:
1) abs(x)
2) round(x)
3) trunc(x)

Задание #20
Вопрос:
Стандартная функция возведения в квадрат числа x - x2
Выберите один из 4 вариантов ответа:
1) sqr(x)
2) exp(x)
3) sqrt(x)
4) abs(x)

Ответы:
1) (1 б.) Верные ответы: 5;
2) (1 б.) Верные ответы: 1;
3) (1 б.) Верные ответы: 1;
4) (1 б.) Верные ответы: 3;
5) (1 б.) Верные ответы: 4;
6) (1 б.) Верные ответы: 2; 3;
7) (1 б.) Верные ответы: 4;
8) (1 б.) Верные ответы: 2;
9) (1 б.) Верные ответы:
4;
1;
3;
5;
2;
10) (1 б.) Верные ответы: 2;
11) (1 б.) Верные ответы: 1; 2;
12) (1 б.) Верный ответ: "writeln".
13) (1 б.) Верные ответы: 4;
14) (1 б.) Верные ответы: 1; 2;
15) (1 б.) Верный ответ: "блок-схема".
16) (1 б.) Верные ответы: 3;
17) (1 б.) Верные ответы: 3;
18) (1 б.) Верные ответы: 5;
19) (1 б.) Верные ответы: 3;
20) (1 б.) Верные ответы: 1;

Конец

15