Урок по информатике в 9 классе
Тема: Программирование циклов с предусловием и с постусловием на языке
Паскаль.
Цели урока:
1.
Научиться программировать циклы с предусловием и с
постусловием на языке Паскаль.
2.
Воспитание информационной культуры учащихся,
внимательности, аккуратности, дисциплинированности, усидчивости.
3.
Развитие алгоритмического мышления, познавательных
интересов, навыков работы на компьютере.
Оборудование: ПК учителя и учеников,
мультимедийный проектор, интерактивная доска.
Программное обеспечение: среда
программирования Паскаль.
Тип урока: изучения нового материала.
Ход урока:
1.
Орг. момент (2
мин).
- Приветствие,
проверка отсутствующих.
- Сообщение темы и целей урока.
2.
Актуализация знаний (10 мин).
-Что такое цикл? ( Ответ: последовательность
операторов, которая выполняется неоднократно.)
-Что такое тело цикла? (Ответ: оператор или группа повторяющихся операторов,
которые записываются после do).
-
Чем характерен цикл с параметром? (Ответ: заранее известным числом повторений).
- Написать на доске общий вид убывающего и возрастающего цикла с параметром (2
учащихся работают у доски).
Ответ:
For <параметр> := <начальное
значение> to <конечное значение> do
<тело цикла>;
For <параметр> := <начальное
значение> downto <конечное значение> do
<тело цикла>;
- Разобрать у доски домашнее задание:
Задача: Найти все делители числа n.
Пример выполнения задания:
program z1;
uses crt;
var n, i: integer;
k: real;
begin
read (n);
for i:=1 to n do
if n mod I = 0 then writeln (i);
end.
-
Работа по карточкам на местах - для 4 учащихся (см. приложение).
3.
Объяснение нового материала (15 мин).
Помимо
цикла с параметром в языке Паскаль существуют еще две циклические конструкции:
цикл с предусловием и цикл с постусловием, реализуемые специальными
операторами.
Рассмотрим данные конструкции в сравнительной характеристике. Для этого
построим следующую таблицу (высветить в виде слайда презентации):
Цикл с предусловием «Пока»
|
Цикл с постусловием «До»
|
Характеристика:
|
Является циклом с заранее не известным количеством повторений. Тело
цикла выполняется после проверки условия выхода из цикла и только в том
случае, когда условие истинно, иначе цикл заканчивает свою работу. Таким образом,
может ни разу не выполниться.
|
Является циклом с заранее не известным количеством повторений. Тело
цикла выполняется до проверки условия выхода из цикла, в том случае, если
условие ложно, иначе цикл заканчивает свою работу. Хотя бы один раз
выполниться.
|
Параметр цикла:
|
Начальное значение задается вручную. Изменения параметра тоже происходят
вручную на задаваемый программистом шаг. Причем действия над параметром цикла
(счетчик выполнения) может совпадать с телом цикла. В отличие от цикла «Для»
параметр может быть и вещественным числом.
|
Условие выхода:
|
Обязательно должно быть истинным. Является полностью противоположным
условию выхода цикла «До».
|
Обязательно должно быть ложным. Является полностью противоположным
условию выхода цикла «Пока».
|
Блок – схема:
|
|
|
Реализация на языке Паскаль:
|
<установка нач. значений>;
While <условие выхода> do
<тело цикла>;
|
<установка нач. значений>;
Repeat
<тело цикла>
Until <условие выхода>;
|
Операторные скобки:
|
Если тело цикла состоит более чем из двух операторов языка Паскаль,
включая строку изменения параметра, то они заключаются в операторные скобки
|
Особенностью данного цикла является то, что операторные скобки для
заключения действий, выполняемых в цикле, не ставятся, при этом надо учесть,
что перед Until «;» не ставится.
|
Пример: Из промежутка [a, b], где
а<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.
|
4.
Закрепление материала (10 мин).
-
У доски двое учащихся решают задачу двумя способами.
Задача: Вычислить сумму натурального ряда
чисел от 1 до n.
Пример
выполнения задания:
Program SummaPoka;
Uses Crt;
Var
i, n : integer;
x, S : real;
Begin
ClrScr;
write ('Сколько чисел для
сложения? ');
readln (n);
S:=0;
i:=1;
while i<=n do
begin
write ('Введите ',i,'-е число ');
readln (x);
S:=S+x;
i:=i+1;
end;
write ('Сумма введенных
чисел равна ',s:5:2);
readln;
End.
Program SummaDo;
Uses Crt;
Var
i, n : integer;
x, S : real;
Begin
ClrScr;
write ('Сколько чисел для
сложения? ');
readln (n);
S:=0;
i:=1;
repeat
write ('Введите ',i,'-е число ');
readln (x);
S:=S+x;
i:=i+1;
until i>n;
write ('Сумма введенных чисел равна ',S:5:2);
readln;
End.
-Остальные
ученики самостоятельно решают задачу и программируют решение в среде Паскаль
на компьютере. Учитель учитывает, если задача решена верно и вперед, чем на
доске.
5.
Подведение итогов (3 мин).
-
Запись домашнего задания:
1.Учить
конспект;
2.Составить
программу для решения задачи по нахождению НОД (а, b), используя цикл с
предусловием и постусловием.
-
Выставление оценок за работу на уроке.
Приложение.
Карточки
по теме «Цикл с параметром»
К-1
Ответ: S=8
К-2
Ответ: S=188
К-3
Правильный
вариант программы:
Program Factorial;
uses crt;
var n,f,i :integer;
BEGIN
clrscr;
writeln(‘Задайте n’);
readln(n);
f:=1;
for i:=1 to n do
f:=f*i;
writeln(‘F = ’,f);
readln;
END.
Ответ: F=6.
К-4
Фрагмент программы:
S:=0;
For x:=3 to 9 do
Begin
If x mod 4 = 0 then
S:=S+x
End;
Writeln ('Сумма равна
',S);
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.