Сыграем еще (Да, Нет)?

Да

Целей, при написании такой программы, несколько:

1. сама по себе интересная работа с интерфесом программы;

2. выработка алгоритма угадывания.

3. Как итог - разработка программы с обратной задачей, пользователь задумывает число, а программа отгадывает!!!

"Натуральная" случайность

В задаче №1, я упоминал два вида случайностей «машинную» и «человеческую», давайте вспомним еще одну, пожалуй, главную, - «природную».

Найдите информацию о «нормальном распределении», не хочу пересказывать, то, что вы найдете, но там очень много вкусненького.

Задача – написать программу, которая будет генерировать случайные числа по закону нормального распределения.

Для того, чтобы убедиться в правильности работы, постройте графики используя «машинную» и «природную» случайности. Так, сказано невнятно.

Попробую подробнее...

Вот такая программа:

uses GraphABC;

const

Max = 600;

var

Mas : array[0..max] of integer;

n : integer;

begin

for var i:=1 to 200000 do

begin

n := Random(Max+1);

inc(Mas[n]);

SetPixel(25+n,Window.Height - Mas[n],clRandom);

end;

end.

Нарисует график:

Как видите, "машинная" случайность имеет "плоское" распределение. Ваша задача - сделать программу выдающую "нормальное" распределение случайности, это может выглядеть, примерно так:

Как сказал бы Кролик Винни-Пуху "Случайности могут быть разные".

Такие не простые, "простые" числа

1. Выяснить: для чего нужны простые числа, методы их определения. (Уверяю вас, они очень и очень ценны...)

(15)

2. Написать программу для нахождения простых чисел

Счастливый билет

Объясните учащимся, что в древности в автобусах покупали билеты, и на каждом билете был шестизначный номер. И в течении скучной поездки школьники искали счастливые билеты, т. е. сумма первых трех чисел в номере должна быть равна сумме оставшихся (некоторые чудаки съедали их перед экзаменом :).

(16)

Задача: подсчитать число счастливых билетов, в дальнейшем можно выяснить вероятность приобретения «счастья».

Как-то эту задачу на уроке решали двое учеников, и результат получился существенно разный, но был конец урока, и проверять алгоритмы было лень.. А ученики... сейчас, оба, и он и она, профессиональные программисты, и надеюсь, счастливы в браке.

<p>Лирическое отступление</p>

Большинство задач в данном сборнике рассчитано на работу в текстовом режиме. У «знатоков» закономерно возникнет вопрос:

- Зачем нам учиться программировать в устаревшем текстовом режиме.

- Ну, во-первых, мы движемся от простого… далее… сейчас наверно кто-то пишет ПО для утюга или фена, а скоро надо будет писать для зубочистки, это конечно хорошо, программистам есть работа, но учтите, аппаратные возможности таких устройств очень ограничены. Т.е. винды в кастрюлю никто засовывать не станет, и программировать на низком уровне надо будет еще много лет. Освойтесь с основами программирования в Паскале, а дальше Ассемлбер, Java, Си - да мало ли, что еще возникнет.

А, чтобы напомнить возможности текстового режима, смотрите:

<p>Игры с графикой.</p>

Один «информатик» способен поставить столько задач, что не справятся 10 мудрецов из 10а.

The Adventure of the Dancing Men

(17)

В начале, все просто,… а потом ООП.

Рисуем человечка.

Человечек должен иметь двигающиеся конечности. Для начала перемещаем конечности мышкой:

Перемещение мышки в направлении r - конечность сгибается в локте (колене), перемещение в направлении φ – вращение конечности вокруг точки О.

Теперь начинаем наращивать зрелищность.

а) человечек хаотично размахивает конечностями

б) на экране 10 человечков, синхронно размахивающих ручками и ножками

в) на экране толпа, каждый человечек движется независимо

(18)

А теперь вернемся к первоисточнику.

Пользователь набирает строку – на экране появляется строка пляшущих человечков.

На старт

(19)

Написать программу, которая будет имитировать счет до старта (от 9 до 0)

В качестве основы использовать такую матрицу:

В этой матрице (семи-сегментном индикаторе) будут изменяться закрашенные сегменты.

Например: цифры 6 и 2:

Теннис

(20)

Не мною придумано, но зрелищная и полезная игрушка:

Два игрока управляют двумя ракетками, по экрану бегает шарик, отражаясь от стенок и от ракеток, ведется счет

Смайлик

(21)

Написать программу, которая нарисует такое личико.

Имеется в виду, что выражение лица меняется:

а) меняется автоматически по кругу (анимация)

б) меняется в зависимости от нажатой кнопки

С новым годом

(22)

На экране рисуется зеленая елка, с игрушками свечами и т. п.

Не обязательно точно такую.

Как, слишком статично. Ничего, добавим ужастика! Пусть, вначале осыпятся игрушки, а затем и иголки — останется только елочный «скелет».

Калейдоскоп

(23)

Перейти на страницу:

Похожие книги