Впервые за много лет преподавания информатики в профильных классах я начал изучение программирования не с «серьезного языка», а со среды исполнителя. А все дело в том, что я нашел замечательный исполнитель, который совмещает в себе простоту задачи (робот перемещается по прямоугольному полю и сажает «картошку») и замечательные языковые возможности. Исполнитель, а также методические рекомендации к нему созданы питерским учителем Константином Поляковым.

Attachments:
Download this file (robot.zip)robot.zip[исполнитель Робот (скопируйте, разверните, запустите)]599 kB
Download this file (Алгоритмы и исполнители.docx)Алгоритмы и исполнители.docx[Методические рекомендации. Автор К. Поляков.]1740 kB
Download this file (примеры программ.zip)примеры программ.zip[поле исполнителя и программа для задач этого материала]0.8 kB

В одном посте, конечно, не расскажешь о приемах обучения языка программирования Pascal. расставим только основные вехи, наиболее интересные моменты будут рассмотрены позже подробней.

В качестве среды программирования используется Pascal ABC. Среда разрабатывалась специально  для обучения учеников и студентов. В среде нет компилятора, т.е. вы не сможете создать запускаемый файл. Зато есть русский интерфейс, совместимость с стандартными средами TurboPascal, Delphi, среда web-программирования, встроенный задачник, модули расширения и многое другое.

Существует класс задач, в которых нужно написать программу, в которой определяется попадает ли точка с заданными координатами (z,y) в заданную область. Программа должна выводить true если точка попадает в область и false, в противном случае.


Рисунок из «Информатика. Задачник-практикум» под ред. И.Г. Семакина и др. 2006 г.

 Для решения подобных задач рассмотрим несколько частных случаев.

Все знают, что «счастливым» называется билет, у которого сумма первых трех цифр равно сумме вторых трех цифр. Рассмотрим, как решается задача определения счастья в MS Excel и в среде программирования.

Без долгих объяснений приведем пример программы, обработки двумерного массива.

Задача: «Написать программу,в которой в двумерном массиве заполненными случайными числами поменять элементы строки и столбца,находящиеся на пересечении максимального элемента главной диагонале массива.»

Что такое Lazarus? Среда для объектно-ориентированного программирования на языке Free Pascal. Визуально очень напоминает Delphi, но в отличии от нее Lazarus – свободная программа, используя ее вы не нарушаете ни чьих прав. Существует версия для Windows-систем, а также версии для MacOS и Linux. Как у любого программного средства имеет свои недостатки, в частности достаточно большой размер получаемых файлов, нестабильная работа на некоторых системах. Но в целом, для изучения ООП Lazarus подходит замечательно.

Attachments:
Download this file (Lazarus.pdf)Lazarus.pdf[Учебник «Самоучитель по программированию...» авторы Алексеев Е.Р., и др.]4678 kB
Download this file (Монте-Карло программа.zip)Монте-Карло программа.zip[Скомпилированная программа для проекта метод Монте-Карло]3371 kB
Download this file (Монте-Карто проект.zip)Монте-Карто проект.zip[Пример проекта в среде Lazarus. Метод Монте-Карло.]475 kB

Этот материал посвящен построению графика функции в «Lasarus». Он показывает принцип перевода декартовых координат в экранные, а также способ построения приложения, программирования в визуальной среде.

Attachments:
Download this file (gragh-project.zip)gragh-project.zip[действующий проект]480 kB
Download this file (graph.zip)graph.zip[скомпилированный проект (в архиве .exe-файл)]3451 kB

Эта статья покажем как можно вычислить число Пи с произвольной точностью методом Монте-Карло.

Attachments:
Download this file (pi-project.zip)pi-project.zip[действующий проект]473 kB
Download this file (pi.zip)pi.zip[скомпилированный проект (в архиве .exe-файл)]3375 kB

Необходимо написать программу для решения уравнения, например, этого:

Геометрический смысл решения любого уравнения - найти точку пересечения графика функции с осью x.


график исследуемой функции, построенный в MS Excel, на интервале [-15; 10]

В случае если функция на выбранном интервале [a,b]: непрерывна (имеет значения в любой точке) и имеет только одно решение, возможно использовать численный метод решения уравнения методом деления отрезков пополам.

Получение случайных чисел - интересная теоретическая и одновременно важная практическая задача. От того насколько случайные числа «случайны» зависит, например, стойкость крипто-алгоритмов. Изучения случайных чисел в школе ограничивается в лучшем случае двумя функциями random() и randomize. Исправим эту ситуацию.

Attachments:
Download this file (random.zip)random.zip[лекция о формировании случайных чисел]59 kB

В тексте задачи C4 ЕГЭ по информатике стоит требование: «Напишите эффективную программу…». Здесь требование эффективности не является синонимом рабочая, правильная. Даже правильно работающая программа может быть неэффективной и как следствие вы можете потерять далеко не лишние баллы. Давайте разбираться...