Читать «Задачник по программированию( для школы )» онлайн - страница 4
W Cat
(пользователь) 8
Попытка №1
50
Больше
Попытка №2
75
Меньше
Попытка №3
58
Поздравляю, вы угадали, затратив 3 попытки!!
Сыграем еще (Да, Нет)?
Да
Целей, при написании такой программы, несколько:
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)
Задача: подсчитать число счастливых билетов, в дальнейшем можно выяснить вероятность приобретения «счастья».
Как-то эту задачу на уроке решали двое учеников, и результат получился существенно разный, но был конец урока, и проверять алгоритмы было лень.. А ученики... сейчас, оба, и он и она, профессиональные программисты, и надеюсь, счастливы в браке.
Лирическое отступление
Большинство задач в данном сборнике рассчитано на работу в текстовом режиме. У «знатоков» закономерно возникнет вопрос:
- Зачем нам учиться программировать в устаревшем текстовом режиме.
- Ну, во-первых, мы движемся от простого… далее… сейчас наверно кто-то пишет ПО для утюга или фена, а скоро надо будет писать для зубочистки, это конечно хорошо, программистам есть работа, но учтите, аппаратные возможности таких устройств очень ограничены. Т.е. винды в кастрюлю никто засовывать не станет, и программировать на низком уровне надо будет еще много лет. Освойтесь с основами программирования в Паскале, а дальше Ассемлбер, Java, Си - да мало ли, что еще возникнет.