Цели урока:
- предметные – первичные навыки работы с целочисленным типом данных;
- метапредметные – умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
- личностные — развитие представлений о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
- познакомить учащихся с функцией random(x);
- научиться вводить, отлаживать и выполнять в среде программирования Паскаль простейшие программы.
Устное повторение:
1. Назовите, из каких основных разделов состоит программа?
2. Какие правила синтаксиса надо соблюдать при написании программы?
3. Как записывается раздел описания переменных? Для чего он нужен?
4. Назовите команды вывода данных.
5. Назовите команды ввода данных.
6. Каким образом можно ввести данные?
Формулирование темы и целей урока
Жак Арсак в своей книге «Программирование игр и головоломок» писал: «Кто сам программирует свои компьютерные игры, наслаждается дважды». Почему он так написал?
Предлагаю вам поиграть. Я загадываю число в диапазоне от 0 до 10. Угадайте его. Дети пытаются угадать. Кто-то говорит, что играли в такую игру с младшими братьями/сестрами.
А теперь предлагаю вам составить программу «Игра «Угадай-ка». Каким образом выбираются числа? Дети отвечают – случайным. Кто-то называет random. Формулируем тему урока: Программирование линейных алгоритмов. На этом этапе у детей пока не возникает вопрос, как работает функция random (x). Цель урока дополняется по ходу урока.
Сначала с детьми строим блок-схему программы, обсуждая ее построение:
Затем в системе программирования PascalABC записываем текст программы:
program task;
uses crt;
var x, y:integer;
begin
clrscr;
write('Ввведите число ');
readln(x);
y:=random(10);
writeln('компьютер загадал ', y);
end.
Запустите программу на выполнение. Учащиеся запускают и пытаются угадать число.
Опрос учащихся. Сколько раз вы угадали?
Затем учащиеся начинают задавать вопрос: как компьютер задает числа? По какому принципу? И на этом этапе добавляем цель урока: исследование функции random(x).
Давайте проанализируем. Построим таблицу:
№ эксперимента |
Введенное число |
Число компьютера |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
Запустите программу 10 раз, посчитайте, какие числа и сколько раз выпадают чаще всего.
Анализируем результаты.
Делаем вывод: число 10 не выпало ни разу. Как изменить текст программы, чтобы число 10 тоже выпадало?
Как изменить программу, чтобы 0 не выпадал?
Вносим изменения в текст программы.
Итог урока
Случайные числа использовались в течение многих тысяч лет. Независимо от того, подкидывали ли монету или бросали кости, цель заключалась в том, чтобы получить случайный результат. Генераторы случайных чисел на компьютерах похожи – они пытаются достичь непредсказуемого случайного результата.
Генерация случайных чисел – это серьезная задача в программировании. Случайные числа принципиально важны для шифрования, генерации паролей и в научных экспериментах.
Компьютеры могут генерировать поистине случайные числа, наблюдая за некоторыми внешними данными, такими как движения мыши или шум вентилятора, который не предсказуем и создают данные из него. Это называется энтропией. В других случаях они генерируют «псевдослучайные» числа, используя алгоритм, поэтому результаты кажутся случайными, хотя таковыми не являются.
Подлинно случайное число никаким алгоритмом получить невозможно, хотя существуют более или менее удачные алгоритмы. Их уязвимости – периодичность появления одних и тех же чисел, зависимость друг от друга последовательных чисел, неравномерность распределения, обратимость.
Для получения случайного числа наиболее распространенный метод – обращение к внешнему источнику. Таковым, чаще всего выступает счетчик тактов процессора. Некоторые программы отслеживают движения мышки и тому подобное.
Домашнее задание
§3.3, разобрать логический тип данных, внести изменения в программу: осуществить вывод на экран д/н в зависимости, угадал пользователь число или нет, №8 стр. 126.
Источники
1. Л.Л.Босова, А.Ю.Босова «Информатика 8 класс». Бином. 2015. Л.Л.Босова, А.Ю.Босова. Методическое пособие.7-9 классы.
2. https://thequestion.ru/questions/14244/kak-kompyuter-vybiraet-sluchainoe-chislo
3. https://webznam.ru/blog/kak_kompjutery_vybirajut_sluchajnye_chisla/2018-09-27-703