Цель урока: Формировать умение применять операторы цикла с предусловием и постусловием при решении задач на языке программирования Pascal.
Задачи урока:
Обучающие – закрепление знаний учащихся о базовых алгоритмических структурах, научить использовать операторы цикла при решении задач.
Развивающие – формирование алгоритмического мышления и навыков работы при создании программ, развитие познавательного интереса к предмету, развитие умения применять полученные знания к решению проблем из реальной жизни.
Воспитывающие – развитие самостоятельности мышления, развитие грамотной устой речи с использованием специальных терминов.
Тип урока: урок совершенствования знаний и умений.
Формы организации работы на уроке: фронтальная работа, индивидуальная работа по карточкам и за ПК.
Технические и программные средства: персональные компьютеры, мультимедиа проектор, среда программирования Pascal.
Методическое обеспечение урока: электронная презентация по теме урока (Приложение 1), карточки с индивидуальными заданиями.
План урока
№ | Этапы урока | Время | Цель | Формы работы |
1 | Организационный момент | 3 мин. | Создание рабочей атмосферы |
|
2 | Контроль домашнего задания | 10 мин. | Контроль полученных знаний о базовых алгоритмических структурах и операторах цикла |
|
3 | Применение знаний к решению задачи | Научить использовать циклы в решении задач, формирование интереса к предмету. |
|
|
4 | Самостоятельная работа | 10 мин. | Отработка на практике полученных знаний. | Выполнение учащимися обязательных заданий, заданий углубленного уровня. |
5 | Подведение итогов. | 3 мин. | Обобщение учебного материала | Беседа с элементами фронтального опроса. |
6 | Домашнее задание | 2 мин. |
|
Ход урока
1. Организационный момент.
Мы продолжаем изучать язык программирования Паскаль. Вспомним с какими операторами мы познакомились на прошлом уроке. (Операторы циклов с предусловием и постусловием). Сегодня будем решать задачи с использованием этих операторов. Многие из вас любят играть в компьютерные игры. Скажите, можем ли мы сейчас написать программу-игру на языке Паскаль? Это будет нашим проблемным вопросом на уроке. Ход урока:
- проверяем домашнее задание и повторяем пройденный материал;
- отвечаем на проблемный вопрос;
- вы выполняете самостоятельную работу за ПК.
2. Контроль домашнего задания.
Сейчас мы повторим алгоритмические структуры цикла и операторы цикла языка программирования Pascal, а также возможности и особенности их использования.
а) Запись на доске решения домашней задачи. № 70 п.4.4 “Задачник-практикум”.
Составить программу вычисления значения функции F(x) на отрезке [a,b] с шагом h. F(x)=x-sinx.
б) Индивидуальная карточка (низкий уровень):
Определить значение переменной S. (s=13)
I:=1; S:=0; j:=5;
While i<j do
Begin
S:=S+i*j;
I:=I+1;
J:=J-1
End;
в) Индивидуальная карточка (углубленный уровень) для выполнения за компьютером (исходная программа уже набрана).
“Изменить программу так, чтоб вычислялась сумма целых чисел кратных 5, если последовательно вводятся N целых чисел”.
Program ex;
Var a,s,I:integer;
Begin
S:=0;
I:=1;
Repeat
Writeln(‘введите число’);
Readln(a);
S:=s+a;
I:=i+1
Until i>10;
Writeln(‘s=’,s);
Readln;
End.
г) Фронтальный опрос, задания сопровождаются слайдами презентации.
Вопросы:
- Что такое цикл? Многократное повторение последовательности действий по некоторому условию.
- В каких ситуациях могут применяться циклы?
- Для разминки: Соотнесите блок-схему алгоритмической структуры и оператор. Слайд 2.
- Рассказать об операторах по плану (связный рассказ). Слайд 3.
- Определение цикла с предусловием/постусловием.
- Порядок выполнения.
- В каком случае используется этот цикл.
- Приведите примеры задач и ситуаций, в которых используется этот цикл.
- Определите значения переменных после выполнения операторов. Сколько раз выполняется цикл. Слайд 4.
1. A:=1; b:=1;
While a<=3 do a:=a+1;
B:=b+1;
2. s:=0; i:=1;
Repeat
s:=s+2*I;
i:=i+1
Until i>2
- Найдите ошибки в записи фрагмента программы и постарайтесь определить, что хотел программист. Слайды 5, 6, 7, 8.
- Запишите фрагмент программы (операторы), выполняющие следующие действия: (в тетрадях и на доске). Слайд 9.
- Вычислить сумму натурального ряда чисел от 1 до 10.
- Последовательно вводят 5 целых чисел. Найти количество отрицательных чисел.
- Последовательно вводят N целых чисел. Найти произведение чисел больших 8 и меньших 15.
I:=1;
While i<=10 do
Begin
S:=S+i;
I:=I+1
End;
I:=1;
Repeat
Writeln(‘введите число’);
Readln(a);
If a<0 then k:=k+1;
I:=I+1
Until I>5;
I:=1; p:=1;
Repeat
Writeln(‘введите число’);
Readln(a);
If (a>8) and (a<15) then p:=p*a;
I:=I+1
Until I>N;
3. Решение задачи.
В начале урока мы поставили проблемный вопрос: “Можно ли с помощью Языка Pascal написать игровую программу?”.
Предлагаю поиграть в простую, но азартную игру на угадывание целого числа от 1 до 10.
Пусть я буду ведущей и загадаю число, а один из вас будет угадывать (как в детстве). Играем с детьми, если предполагаемое число меньше загаданного, говорю “Мало”, если больше загаданного, то “Много”.
Пусть теперь число “загадывает” программа, а пользователь отгадывает, т.е. вводит предполагаемое значение.
Обсудим алгоритм игры.
Что сначала должна сделать программа? Выбрать случайное число от 1 до 10 и прочитать целое число, вводимое пользователем – предполагаемое значение.
Как программа должна определить угадал или нет пользователь? С помощью операции сравнения.
Каковы действия программы, если введённое число равно загаданному числу? Программа должна поздравить победителя.
Каковы действия программы, если введённое и загаданное числа не равны? Если введённое число меньше задуманного, то сообщить об этом игроку, иначе сообщить ему, что введённое число больше задуманного и предложить ввести новое число.
Будут ли действия программы повторяться? Да, надо повторять ввод целого значения и проверку до тех пор, пока число не будет угадано.
Затем вывести поздравление победителю и завершить работу.
Какой из алгоритмов цикла целесообразней использовать? Так как возможно, что число будет угадано сразу, а в этом случае уже не надо выводить подсказку игроку, то лучше использовать цикл с предусловием.
Просмотр слайдов презентации с обсуждением.
1. Слайд 11. Исходные данные.
2. Слайд 12. Запись блок-схемы алгоритма с постепенным появлением блоков и устными пояснениями.
Всё ли, что необходимо дл создания программы мы умеем? Как программа “загадает” случайное число?
В этой программе используем новые операторы: Randomize – начальная установка специальной процедуры – “генератора”случайных чисел, Random (n) – оператор выдающий случайные целые числа от 1 до n-1.
3. Слайд 13.
4. Слайд14. Запись программы построчно. (Записывают в тетрадь)
Тестирование полученной программы. Предлагается одному из учащихся “сыграть” с программой.
Обсуждение. Возможно, вы можете предложить усовершенствования для нашей программы и способа игры. (Учащиеся предлагают свои варианты, их можно зафиксировать на доске)
-
Ввести подсчёт попыток.
- Организовать игру вдвоём, т.е. загадывать и угадывать числа будут игроки, а компьютер подсчитывает число попыток.
- Программа загадывает число то 1 до 100 или до N.
- Сделать так, чтоб загадывал человек, а отгадывала программа.
- При игре использовать игроку метод половинного деления для угадывания за меньшее число шагов.
Разбираются изменения, которые надо внести в программу для реализации предложений. При избытке времени можно записать варианты на доске.
Слайд 15. Запись программы с помощью оператора цикла с постусловием. Устные пояснения.
Вывод. Мы убедились, что, используя ваши знания по программированию, уже можно написать весьма увлекательные и забавные программы-игры. Надеюсь, что вы дома попробуете внести в программу предложенные изменения, улучшить игру и пригласить к игре друзей и родителей.
Гимнастика для снятия утомления ( моно включить лёгкую музыку).
Следующие упражнения позволят снять мышечное напряжение и усталость глаз, улучшить общее самочувствие организма.
- Зажмуриться на 3-5 секунд, открыть глаза на 1-2 секунды, снова зажмурится.
- Вытянуть руки вперёд, кисти рук на себя, сконцентрировать взгляд на кончиках пальцев, повернуть ладони, поднести к лицу и сконцентрировать внимание на ладонях, повторить 2-3 раза.
- Выполнить наклоны туловища в стороны, вперёд и назад, повторить 4-5 раз.
4. Самостоятельная работа.
Теперь закрепим и проверим ваши знания. Вы получите карточки с заданиями и будете работать за компьютером. Если задание вами выполнено, то можете получить следующее, более сложное. Не забудьте провести тестирование и выполнить вычисления, указанные в задании. Результаты запишите в тетрадь, программу сохраните в вашей папке для проверки. Я постаралась подобрать для вас задачи, которые могли встретиться в реальной жизни, надеюсь, что вам будет интересно их решать. Желаю удачи!
1 вариант.
Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину.
Program pokupka;
Var c,k,p,s:integer;
Begin
Writeln (‘введите предельную сумму’);
Readln(p);
S:=0;
Repeat
Writeln(‘введите цену товара’);
Readln©;
Writeln(‘введите количество товара’);
Readln(k);
S:=s+c*k;
Writeln(‘стоимость покупки’,s);
Until s>p;
Writeln (‘ стоимость выше предельной’);
Readln
End.
2 вариант.
Составить программу, печатающую таблицу перевода 1, 2, .. 20 евро в рубли по текущему курсу.
Program evro;
Var r,I,k:real;
Begin
Writeln(‘введите курс евро’);
Readln(k);
I:=1;
While i<=20 do begin
R:=k*I;
Writeln(I,’евро=’,r);
I:=i+1
End;
End.
Углубленный вариант.
Написать программу, помогающую вкладчику узнать, сколько лет нужно ждать сумму S, если начальный вклад равен v, процентная ставка р за год.
Program bank;
Var k:integer; v,p,s,q:real;
Begin
Writeln(‘введите размер вклада’);
Readln(v);
Writeln(‘введите процентную ставку’);
Readln(p);
Writeln(‘введите требуемую сумму’);
Readln(s);
Repeat
q:=v*p/100;
v:=v+q;
k:=k+1;
until v>s;
writeln(‘вам потребуется’,k,’лет’);
readln
end.
5. Домашнее задание.
- П 4.4 № 3. “Задачник-практикум” под редакцией И.Семакина. Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определить, сколько амёб будет через 3, 6, 9,…, 24 часа (обязательная часть).
- Подобрать ситуацию игровую или из окружающей жизни, где необходимо применить повторяющиеся вычисления, т.е. цикл. Придумать алгоритм и по возможности программу. Например, игра Баше, “в 21”, “Стрельба по мишени”, подсчёт калорийности обеда, запрашивание пароля, пока на угадаете и др. (творческая часть)
- На следующем уроке мы будем решать задачу об очень интересных числах, связанных с загадочными свойствами чисел, “золотым сечением” и математиком Фибоначчи. Поэтому одному учащемуся предлагается подготовить доклад “Числа Фибоначчи”.