Образовательный модуль

"QBasic и Turbo Pascal в задачах"

36 часов, 9 занятий по 4 часа

Требования к подготовке слушателей: начальный опыт программирования.

Результат обучения: овладение методикой постановки и решения задач углублённого курса информатики и знакомство со вторым языком.

Занятие 1. Задача о точках на плоскости.

Среди множества точек, координаты которых заданы случайно, ищутся две ближайшие друг к другу. Если точек немного, то всё решается простым перебором, но факториал, как известно, очень быстро растёт и поэтому хотелось бы иметь более эффективный алгоритм. Интересно выяснить также, запуская задачу много раз и набирая статистику, от чего зависит длина этого самого кратчайшего пути?

Занятие 2. Задача на отгадывание задуманного числа.

Компьютер загадывает число в некотором интервале - человек пытается его отгадать (или наоборот). Действительно ли метод половинного деления является наилучшей стратегией поиска?

Занятие 3. Задача о простых числах.

Задаётся произвольное число и надо определить простое оно или нет. А на основе этой процедуры посмотреть, как простые числа распределены на числовой оси; по-видимому, они встречаются всё реже и реже, но каков темп убывания?

Занятие 4. Задача на статистический анализ текста.

Для достаточно объёмного текстового файла подсчитывается средняя длина слова, средняя длина предложения и абзаца, частота знаков препинания, и ещё какие-нибудь тому подобные количественные показатели. Если в качестве текстов брать разные художественные произведения, то позволит ли такой статистический анализ хоть в какой-то мере достоверно определять их авторов?

Занятие 5. Задача на шифровку текста.

Имеется текстовый файл на диске, надо его зашифровать по какому-либо ключу и записать обратно на диск в изменённом виде. Причём, поскольку по формату файл останется текстовым, то интересно, что будет, если его подвергнуть повторной шифровке? Или даже целой серии шифровок с одним и тем же, а может быть и с меняющимся ключом?

Занятие 6. Задача на уплотнение текстового файла.

Цель ясна, – нужно уменьшить размер файла, но так, чтобы ни одна буква, ни один пробел, ни одна запятая не пропали. Конечно, это не PKZIP, не ARJ, и не RAR, но всё-таки, какой никакой, а архиватор! Кстати, файл опять-таки остаётся текстовым, и что же тогда мешает повторять уплотнения раз за разом, доводя исходный размер до предела, до одного байта?

Занятие 7. Задача на управление графическим курсором.

Игра в “теплее - холоднее”. Где-то на экране невидимый клад, а ещё курсор, управляемый с клавиатуры. Расстояние до цели всё время высвечивается, и цель погони – обратить его в ноль. Между тем клад может и сам перемещаться, и тут уже всё будет определяться соотношением двух скоростей.

Занятие 8. Задача об определении числа p “на глазок”.

Один способ известный - Монте-Карло: бросать горошины в круговую мишень. А можно ещё и по-другому: бросать иголки на разлинованную полосами бумагу; итог будет тот же: три и четырнадцать. Впрочем, если поварьировать шаг линий, или, что ещё интереснее, их форму...

Занятие 9. Задача со вторым замечательным числом .

На экране, внутри круга расположено много красных точек. Круг начинают пересекать, одна за одной, подобно пулям, беспорядочные синие линии, перекрашивая всё на своём пути. Остающихся “в живых” красных точек становится всё меньше и меньше, однако именно поэтому и из игры они выходят всё реже и реже. Это есть экспонента: поток времени составляет арифметическую прогрессию, а показания счётчика точек - геометрическую. Можно менять все начальные условия, и число точек, и площадь круга, и густоту линий, закономерность останется той же. Одно только условие нельзя нарушать - хаотичность!