Цели урока:
- повторить циклы;
- повысить интерес обучающихся к программированию;
- развить логическое мышление;
- воспитать целеустремленность;
- расширить кругозор обучающихся.
План урока:
- организационный момент;
- повторение материала;
- объяснение правил игры;
- игра по парам;
- объяснение алгоритма выигрышной стратегии;
- составление алгоритма программы;
- составление программы;
- ввод программы в TurboPascal;
- изменение программы по заданию;
- итог урока, домашнее задание.
Ход урока
1. Сообщение темы, образовательных целей урока.
Итак, мы познакомились с циклами, важнейшей составной частью большинства программ.
2. Повторение материала.
Вопрос: с какими разновидностями цикла мы познакомились?
Ответ:
Цикл со счетчиком:
for … to …
for … downto …
Цикл с предусловием:
while … do …
Цикл с постусловием:
repeat … until …
Вопрос: при решении задачи какую разновидность цикла выбрать?
Ответ:
Цикл for используется в том случае, когда точно
знаем, сколько раз должно быть выполнено тело
цикла;
Цикл while используется, если хотим, чтобы проверка
была произведена прежде, чем будет выполняться
тело цикла;
Цикл repeat используется, если необходимо, чтобы
тело цикла выполнялось по крайней мере один раз.
3. Объяснение правил игры.
А теперь мы поиграем.
Игра называется “Игра Баше на 15 предметах”. Эта игра известна во Франции.
Правила таковы.
Имеется 15 одинаковых предметов, обычно это деревянные палочки. В игре участвуют двое. Соперники ходят по очереди, за каждый ход играющий может взять 1, 2 или 3 предмета. Проигрывает тот, кто вынужден взять последний предмет. Пропускать ход нельзя.
4. Игра по парам.
Игра идет по парам. Из пары начинающего игрока выбирают по жеребьевке. Выясняется победитель из пары. Потом играют выигравшие игроки. Выясняется победитель.
5. Объяснение алгоритма выигрышной стратегии.
В этой игре есть алгоритм выигрышной стратегии.
Первый соперник начинает игру и выигрывает.
Исходные 15 предметов можно разбить на 5 групп, содержащих не более чем по 4 предмета.
При таком распределении начинающий игрок берет первые два предмета, и далее, сколько бы ни взял второй игрок (1, 2 или 3 предмета), первый будет добирать до четырех предметов так, чтобы вместе они за два полухода выбрали одну группу. После четырех ходов первый игрок оставляет сопернику один предмет и выигрывает.
6. Составление алгоритма программы.
m – количество предметов.
a – количество предметов, взятых первым игроком.
Первый игрок – компьютер.
b – количество предметов, взятых вторым игроком.
Второй игрок – Вы.
7. Составление программы (по алгоритму даем готовую программу или составляют сами, с комментариями или без).
program bashe;
uses crt;
var a,b,m:integer;
begin
clrscr;
m:=15;
a:=2;
m:=m-a;
while m>1 do
begin
write('я взял ',a);
writeln('осталось ',m);
writeln ('Соперник, ваш ход: ');
readln(b);
a:=4-b;
m:=m-(a+b);
end;
write('я взял ',a);
writeln(' Остался ',m,' предмет, Вы проиграли '); readln;
end.
8. Ввод программы в TurboPascal.
Вводят программу в компьютер, играют с компьютером.
9. Изменение программы по заданию.
Задание: измените программу так, чтобы теперь Вы могли выиграть у компьютера.
program bashe;
uses crt;
var a,b,m:integer;
begin
clrscr;
m:=15;
readln(a);
m:=m-a;
while m>1 do
begin
write('я взял ',a);
writeln(' осталось ',m);
writeln (' Соперник, ваш ход: ');
b:=2;
readln(a);
a:=4-b;
m:=m-(a+b);
end;
writeln(' Остался ',m,' предмет, Я выиграл '); readln;
end.
10. Итог урока, домашнее задание.
Итак, мы закончили еще одну тему, узнали, что такое цикл, как его применять. Домашнее задание: измените программу так, чтобы можно было играть вдвоем с человеком.
Я благодарю за ваше активное участие, за ваш интерес к программированию.
Список использованной литературы:
- Немнюгин С., Перколаб Л. Изучаем Turbo Pascal.