Конспект урока "Организация программ циклической структуры" 9 класс
Просеков Алексей Владимирович
1
Тема: «Организация программ циклической структуры».
Цель: Рассмотреть применение циклических структур при решении задач.
Задачи:
1. Повышать интерес к изучению информатики.
2. Развивать творческие способности школьников, умение анализировать,
моделировать, прогнозировать, творчески мыслить.
3. Формировать умения применять полученные знания при решении задач с
использованием циклических струтур.
4. Воспитывать чувства ответственности и взаимопомощи.
Тип урока: Урок изучение и первичное закрепление новых знаний.
Формы учебной работы учащихся: фронтальная, индивидуальная, групповая.
Оборудование: компьютер с установленным ПО, мультимедиапроектор, экран.
Пояснения к проведению хода урока:
Класс заранее (на предыдeущем уроке) делится на три группы. Учителем предлагается
учащимся изучить самостоятельно три вопроса (по группам):
1. «Цикл с параметром».
2. «Цикл с предусловием».
3. «Цикл с постусловием».
Каждая группа готовит зарание материал о своём вопросе в виде сообщений, сопровождая их
слайдами с презентациями, примерами с решениями задач.
При подготовке к своим сообщениям учащиеся пользуются: учебником, энциклопедиями,
справочниками, электронными учебниками, Интернетом.
Данный урок рассчитан на 2 часа.
План урока
I. Организационный момент.
II. Изучение нового материала.
III. Закрепление.
IV. Итоги урока.
Ход урока
I. Организационный момент.
Учитель: Приветствие, проверка присутствующих, объяснение хода урока.
II. Изучение нового материала.
Учитель: В жизни много процессов и явлений происходит с повторением через
определенный промежуток времени, например колебания. На практике приходится решать ряд
задач требущих производить многократные вычисления с использованием циклов <Презентация1,
слайд №1>.
Цикл – многократное повторение последовательности действий по некоторому условию.
Известны три типа циклических алгоритмических структур: цикл с параметром, цикл с
преусловием, цикл с постусловием. В Паскале существуют операторы, реализующие все три типа
циклов <Презентация1, слайд №2>.
Просеков Алексей Владимирович
2
К уроку были подготовлены сообщения. Их готовили три группы. У каждой группы было
своё задание. Учащиеся из каждой группы раскрывают свою тему с использование сообщений
приготовленных заранее.
Тема, над которой работала первая группа: «Цикл с параметром». Прошу предоставить
результаты вашей работы (с помощью компьютера и проектора учащиеся показывают
компьютерные презентации и рассказывают о данном цикле, приводят примеры с решением
задач).
Сообщение учащегося по теме: «Цикл с параметром» <Презентация1, слайд №3-5>.
Цикл с параметром имеет два варианта записи:
первый вариант записи цикла
Если <тело цикла> состоит из
одного оператора: for i:=In to Ik do
<тело цикла>;
Если <тело цикла> состоит из
нескольких операторов, то операторы
тела цикла заключаются в операторные
скобки begin–end:
for i:=In to Ik do
begin
<тело цикла>;
end;
Здесь i-параметр цикла - переменная целого типа (integer); In – начальное значение
параметра; Ik – конечное значение параметра.
Оператор цикла с параметром применяют тогда, когда заранее известно число повторений
одной и той же последовательности операторов. Начальное и конечное значения параметра цикла
могут быть представлены константами, переменными или арифметическими выражениями.
Рассмотрим, как выполняется оператор цикла:
Сначала вычисляются значения выражений In и Ik. Если InIk, то параметр цикла i
последовательно принимает значения, равные In, In+1, , . . , Ik–1, Ik и для каждого из этих
значений выполняется <тело цикла>. Если In>Ik, то цикл не будет выполняться совсем.
второй вариант записи цикла
Если <тело цикла> состоит из
одного оператора: for i:=In downto Ik do
<тело цикла>;
Если <тело цикла> состоит из
нескольких операторов, то операторы
тела цикла заключаются в операторные
скобки begin–end: for i:=In downto Ik do
begin
<тело цикла>;
end;
выполняется аналогичным образом, но значение параметра цикла i изменяется с шагом,
равным –1.
Блок-схема будет иметь вид:
i:=In;Ik
тело цикла
Просеков Алексей Владимирович
3
Учитель: Вопросы учащемуся из других групп.
Учащийся из первой группы на доске решает задачу с объяснением <Презентация1,
слайд №6,7>:
Вычислить сумму натуральных чисел в интервале от 10 до 20. Вывести на экран данную
последовательность и сумму.
Program summa1;
Uses crt;
Var i,S:integer;
Begin
clrscr;
S:=0;
for i:=10 to 20 do
begin
S:=S+i;
write(i:4);
end;
writeln;
writeln('S=',S);
readln;
End.
Учитель: Вопросы учащемуся из других групп.
Учитель: Тема, над которой работала вторая группа: «Цикл с предусловием». Прошу
предоставить результаты вашей работы (с помощью компьютера и проектора учащиеся
показывают компьютерные презентации и рассказывают о данном цикле, приводят примеры с
решением задач).
Сообщение учащегося по теме: «Цикл с предусловием» <Презентация1, слайд №8,9>.
Цикл с предусловием (цикл-пока) – наиболее универсальная циклическая структура. Цикл с
предусловием используется тогда, когда число повторений оператора цикла заранее не известно, а
задается некоторое условие продолжения цикла.
Оператор цикла с предусловием имеет следующий вид:
Если <тело цикла> состоит из
одного оператора: while <условие> do
<тело цикла>;
Если <тело цикла> состоит из
нескольких операторов, то они
объединяются операторными скобками
begin – end: while <условие> do
begin
<тело цикла>;
end;
Выполнение оператора цикла с предусловием начинается с проверки условия,
записанного после слова while. Если оно соблюдается (true), то выполняется <тело цикла>, затем
вновь проверяется условие и т.д. Как только при очередной проверке окажется, что условие не
соблюдается (false), <тело цикла> выполняться не будет. Примечание. В теле цикла обязательно
должен быть оператор, влияющий на соблюдение условия, и противном случае произойдет
зацикливание.
Блок-схема будет иметь вид:
тело цикла
услови
е
нет
да
Просеков Алексей Владимирович
4
Учитель: Вопросы учащемуся из других групп.
Учащийся из второй группы на доске решает задачу с объяснением <Презентация1,
слайд №10,11>:
Вычислить сумму натуральных чисел в интервале от 10 до 20. Вывести на экран данную
последовательность и сумму.
Решение задачи может быть таким:
Program summa2;
Uses crt;
Var i,S:integer;
Begin
clrscr;
S:=0;
i:=10;
while i<=20 do
begin
S:=S+i;
write(i:4);
i:=i+1;
end;
writeln;
writeln('S=',S);
readln;
End.
Учитель: Вопросы учащемуся из других групп.
Учитель: Тема, над которой работала третья группа: «Цикл с постусловием». Прошу
предоставить результаты вашей работы (с помощью компьютера и проектора учащиеся
показывают компьютерные презентации и рассказывают о данном цикле, приводят примеры с
решением задач).
Сообщение учащегося по теме: «Цикл с постусловием» <Презентация1, слайд №12,13>.
Для программной реализации циклических алгоритмов с неизвестным заранее числом
повторений имеется еще один оператор – оператор цикла с постусловием.
Оператор цикла с постусловием (цикл-до) имеет следующий вид:
repeat
<тело цикла>;
until <условие>;
Этот оператор отличается от цикла с предусловием тем, что проверка условия производится
после очередного выполнения тела цикла. Это обеспечивает выполнение цикла хотя бы один раз.
Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких
операторов в теле цикла, поэтому служебные слова begin и end не нужны. Последовательность
операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение
условия, записанного следом за служебным словом until. Если условие соблюдается (true), цикл
завершается. В противном случае – тело цикла выполняется еще раз, после чего снова проверяется
соблюдение условия.
Блок-схема будет иметь вид:
тело цикла
условие
нет
да
Просеков Алексей Владимирович
5
Учитель: Вопросы учащемуся из других групп.
Учащийся из третьей группы на доске решает задачу с объяснением <Презентация1,
слайд №14,15>:
Вычислить сумму натуральных чисел в интервале от 10 до 20. Вывести на экран данную
последовательность и сумму.
Решение задачи может быть таким:
Program summa3;
Uses crt;
Var i,S:integer;
Begin
clrscr;
S:=0;
i:=10;
repeat
S:=S+i;
write(i:4);
i:=i+1;
until i>20;
writeln;
writeln('S=',S);
readln;
End.
Учитель: Вопросы учащемуся из других групп.
III. Закрепление.
Учитель: Задания все группам (решаются вместе). Определить, значения переменных
после выполнения фрагмента программы. Сколько раз выполнится цикл <Презентация1, слайд
№16-18>.
y:=1;
for x:=1 to 5 do
y:=y+x;
(ответ:
x=5,y=16, цикл
выполнится 5
раз)
y:=2; x:=20;
while x>10 do
begin
x:=x–3;
y:=y-x;
end;
(ответ:
x=9,y=-34,
цикл
выполнится 3
раза)
y:=1; x:=10;
repeat
y:=y*x;
x:=x–2;
until x<5;
(ответ:
x=3,y=35,
цикл
выполнится
2 раза)
Учитель:Изменим условие задачи (задание дается всем группам). Вычислить сумму
натуральных чисел чётных и нечётных чисел в интервале от 10 до 20. На экран вывести
последовательности чисел и их суммы. Задание решить с использованием любого цикла
<Презентация1, слайд №19>.
Решение задачи может быть таким:
Program summar;
Uses crt;
Var i,S1,S2:integer;
Просеков Алексей Владимирович
6
Begin
clrscr;
S1:=0;
S2:=0;
for i:=10 to 20 do
begin
if i mod 2=0 then begin
writeln;
S1:=S1+i;
write(i:4);
end
else
if i mod 2=1 then begin
S2:=S2+i;
write(i:4);
end;
end;
writeln;
writeln('S1=',S1);
writeln('S2=',S2);
readln;
End.
Учитель: Решение задач в группах. Каждая группа решает свою задачу. Задачи
предлагаются на разные циклы. Учащиеся показывают решения задач на доске и объясняют ход
решения задачи (решения показывают те учащиеся, которые не были задействованы при
раскрытии тем) <Презентация1, слайд №20>.
Задача 1. Дано натуральное число n. Вычислить сумму: 1/2+2/3+3/4+…+n/(n+1).
<Презентация2, слайд №3>
Решение. В данном случае целесообразно организовать цикл с параметром, изменяющийся
от 1 до n, с шагом изменения параметра равным 1. Обозначим через i – параметр цикла, а через
переменную S- сумму ряда. В теле цикла реализовано накопление суммы ряда. Как только
параметр i достигнет верхней границы n цикл завершается. После завершения цикла на экран
выводится сумма ряда.
Program summaR;
Uses crt;
Var i,n:integer;
S:real;
Begin
clrscr;
write(‘Введите n:’);
readln(n);
S:=0;
for i:=1 to n do
begin
S:=S+i/(i+1);
write(i:4);
end;
writeln;
writeln('S=',S:2:2);
readln;
End.
Просеков Алексей Владимирович
7
Задача 2. Составить программу для нахождения суммы квадратов цифр целого числа
<Презентация2, слайд №4>.
Решение. Целое число задается пользователем и записывается в переменную x. Значение
суммы обнуляется до использования S в цикле. Затем алгоритм реализован с помощью цикла с
предуслоувием. В теле цикла число введенное с клавиатуры делится на 10 с использованием
оператора целочисленного деления div. Затем выделяется по формуле одна из цифр заданного
числа. Далее выделенная цифра возводится в квадрат и накапливатся в S. Квадраты цифр числа
выводятся на экран. Цикл работает пока есть цифры. После окончания цикла на экран выводится
сумма квадратов цифр целого числа.
Program summaK;
Uses crt;
Var S:integer;
m,x:longint;
Begin
clrscr;
write(‘Введите целое число x:’);
readln(x);
m:=x;
S:=0;
write(‘S=’);
while m<>0 do
begin
x:=m;
m:=m div 10;
x:=x-m*10;
S:=S+x*x;
write(x*x);
if m<>0 then wtite(‘+’);
end;
writeln(‘=’,S);
readln;
End.
Задача 3. Составить программу планирования закупки товара в магазине на сумму, не
превышающую заданную величину <Презентация2, слайд №5>.
Решение. В решении данной задачи будем использовать цикл с постусловием. Обозначим
через x – цену, а через k – количество товара. Переменная p – заданная предельная сумма, а S –
стоимость покупки. Начальное значение общей стоимости покупки равно 0. Значение предельной
суммы считывается с клавиатуры. Необходимо повторять запрос цены и количества выбранного
товара, вычислять его стоимость, суммировать ее с общей стоимостью и выводить результат на
экран до тех пор, пока стоимость не превысит предельную сумму p.
Program predelsumma;
Uses crt;
Var x,k,p,s: integer;
Begin
clrscr;
write('Введите предельную сумму:');
readln(p);
s:=0;
repeat
s:=0;
writeln('Введите цену товара:');
Просеков Алексей Владимирович
8
readln(x);
writeln('Введите количество товара:');
readln(k);
s:=s+x*k;
writeln('Стоимость покупки:',s);
until s>p;
writeln('Суммарная стоимость покупки превысила предельную сумму!-’,s-p);
readln;
End.
Учитель: Контрольные вопросы (задаются всем группам) <Презентация1, слайд №21>:
1. Что такое цикл?
2. Какие виды циклов существуют в Паскале?
3. Как работает цикл с параметром?
4. Как выполняется цикл с предусловием?
5. Как работает цикл с постусловием?
6. Чем отличаются циклы с условием?
IV. Итоги урока.
Учитель: Подводение итогов урока, выставление оценок, сообщение домашнего задания.
Домашнее задание:
Конспект.
Задача. Вычислить сумму ряда чисел: 5, 7, 9 .. 45 кратных 5. На экран вывести
последовательности чисел и их сумму. Задание решить с использованием каждого цикла. Сколько
раз выполняется каждый цикл <Презентация1, слайд №22>.
Литература:
1. Андреева Е. В. Материалы курса «Методика обучения основам программирования на
уроках информатики»: лекции 1-4. – М.: Педагогический университет «Первое сентября»,
2006.
2. Информатика: Учеб. пособие для 10-11 кл. общеобразовательных. учреждений / Л. З.
Шауцукова. – 4-е изд. – М.: Просвещение 2004.
3. Информатика. Задачник-практикум в 2 т. / Под ред. И. Г. Семакина, Е. К. Хеннера: Том 1.
– М.: Бином, Лаборатория знаний, 2003.
4. Немнюгин С. А. Turbo Pascal . – СПб: Издательство «Питер», 2000.
5. Окулов С. М. Основы программирования/ С. М. Окулов – 2-е изд., испр. – М.: Бином,
Лаборатория знаний, 2005.
6. Фаронов В. В. Турбо Паскаль 7.0 Начальный курс: Учебное пособие. – М.: Издательство
«ОМД Групп», 2003.