Учебник Паскаль и КуМир для начинающих
Это полный школьный курс программирования на Паскале — от первой программы до процедур, рекурсии и работы с файлами. Мы используем PascalABC.NET (самую популярную школьную среду) и объясняем каждую тему подробно, с примерами, разбором частых ошибок и заданиями «Попробуй сам». К ключевым алгоритмам мы добавляем запускаемые врезки на Python, чтобы вы могли пощупать логику вживую прямо в браузере. Курс готовит к информатике в школе и к олимпиадам.
Курс «Паскаль и КуМир» состоит из 8 разделов и 35 уроков: Введение и первая программа, Данные и операции, Ветвления и циклы, Массивы и строки, Процедуры, функции и файлы, КуМир: среда и алгоритмический язык, Исполнители КуМира и Алгоритмы и подготовка к ОГЭ (задание 15.1). Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Введение и первая программа
- Что такое Паскаль и зачем его учить
Откуда взялся Паскаль, почему его учат в школе, чем хорош PascalABC.NET и где язык применяется на практике. Честный разговор для новичка.
- Среда PascalABC.NET: установка и первый запуск
Как скачать, установить и запустить PascalABC.NET, из чего состоит окно среды, как набрать и выполнить первую программу и где искать ошибки.
- Структура программы: program, begin, end и точка с запятой
Разбираем устройство паскалевской программы: заголовок program, раздел описаний, тело begin/end, роль точки с запятой и слов-операторов.
- Вывод на экран, комментарии и первая осмысленная программа
Разница write и writeln, вывод нескольких значений через запятую, комментарии в коде и разбор типичных ошибок новичка при первой программе.
- Что такое Паскаль и зачем его учить
2 Данные и операции
- Переменные и оператор присваивания :=
Что такое переменная, как объявить её в разделе var, чем оператор присваивания := отличается от равенства и как переменные меняют значения.
- Типы данных: integer, real, boolean, char, string
Основные типы данных Паскаля: целые integer, дробные real, логические boolean, символы char и строки string — для чего нужен каждый и как их сочетать.
- Ввод данных: read и readln
Как программа получает данные от пользователя через read и readln, ввод нескольких значений, чем команды отличаются и как избежать частых ошибок.
- Арифметика, div и mod, приоритет и функции
Арифметические операции Паскаля, целочисленное деление div и остаток mod, порядок выполнения операций, стандартные функции и форматный вывод чисел.
- Переменные и оператор присваивания :=
3 Ветвления и циклы
- Условный оператор if, then, else и составной оператор
Условный оператор if/then/else в Паскале: как программа принимает решения, составной оператор begin/end, вложенные условия и частые ошибки.
- Оператор выбора case и логические выражения
Оператор выбора case в Паскале для множества вариантов и логические связки and, or, not для составных условий с примерами и приоритетом.
- Цикл for: повторяем известное число раз
Цикл for с to и downto в Паскале: как повторять действия заданное число раз, перебор чисел, накопление суммы и работа со счётчиком цикла.
- Циклы while и repeat, вложенность и досрочный выход
Циклы while и repeat/until в Паскале для повторений по условию, вложенные циклы, защита от зацикливания и досрочный выход break и continue.
- Условный оператор if, then, else и составной оператор
4 Массивы и строки
- Одномерные массивы: объявление, индексы, заполнение
Что такое массив в Паскале, как объявить его через array of, обращение по индексу, заполнение и вывод элементов через цикл for.
- Типовые задачи с массивами: сумма, макс, мин, поиск, реверс
Классические алгоритмы обработки массивов: сумма и среднее, поиск максимума и минимума, линейный поиск элемента, подсчёт и разворот массива.
- Сортировки: пузырёк и выбором наглядно
Сортировка массива пузырьком и выбором: понятное объяснение идеи каждого алгоритма, пошаговый разбор, код и сравнение с частыми ошибками.
- Двумерные массивы и матрицы
Двумерные массивы (матрицы) в Паскале: объявление, обращение по строке и столбцу, заполнение и вывод в виде таблицы, сумма элементов и диагонали.
- Строки: посимвольная обработка, length, copy, pos
Работа со строками в Паскале: тип string, обращение к символам по индексу, функции length, copy, pos и процедуры delete, insert с примерами.
- Одномерные массивы: объявление, индексы, заполнение
5 Процедуры, функции и файлы
- Процедуры: выносим повторяющийся код
Процедуры в Паскале: как объявить подпрограмму, зачем выносить код, параметры процедуры, локальные и глобальные переменные с примерами.
- Функции и передача параметров по ссылке var
Функции в Паскале возвращают значение через Result или имя функции; разница параметров по значению и по ссылке var на наглядных примерах.
- Рекурсия: функция, вызывающая саму себя
Что такое рекурсия в Паскале, базовый и рекурсивный случай, классические примеры — факториал и числа Фибоначчи — и защита от бесконечного вызова.
- Работа с текстовыми файлами: запись и чтение
Работа с текстовыми файлами в Паскале: assign, rewrite, reset, append, запись и чтение данных, проверка eof и обязательное закрытие close.
- Процедуры: выносим повторяющийся код
6 КуМир: среда и алгоритмический язык
- Что такое КуМир и зачем он школьнику
КуМир — Комплект Учебных МИРов от НИИСИ РАН: бесплатная среда с русскоязычным алгоязыком и исполнителями Робот, Черепаха, Чертёжник, Водолей. Зачем он нужен для ОГЭ.
- Структура алгоритма: алг, нач, кон, дано и надо
Разбираем структуру программы КуМира: заголовок алг с именем и типом, тело нач…кон, комментарии дано и надо, типы алгоритмов и первые осмысленные программы.
- Величины и типы: цел, вещ, лог, сим, лит. Ввод и вывод
Типы данных алгоритмического языка КуМир: цел, вещ, лог, сим, лит и табличные. Объявление переменных, команды ввод и вывод, нс, литералы и значения да/нет.
- Присваивание, арифметика и стандартные функции
Оператор присваивания := в КуМире, арифметические операции, целочисленное деление div и остаток mod, степень, стандартные функции sqrt, abs, int, иррациональные значения.
- Алгоритмический язык против Паскаля: ключевые отличия
Сравниваем алгоритмический язык КуМира и Паскаль: русские ключевые слова, синтаксис ветвлений и циклов, присваивание, объявление переменных, исполнители. Таблица соответствий.
- Что такое КуМир и зачем он школьнику
7 Исполнители КуМира
- Исполнитель Робот: поле и команды движения
Знакомство с исполнителем Робот в КуМире: клетчатое поле и стены, команды вверх, вниз, влево, вправо и закрасить, команда «использовать Робот», первые линейные программы.
- Проверки обстановки: стены, закрашенность, измерители
Условия Робота в КуМире: «слева стена/свободно», «справа», «сверху», «снизу», «клетка закрашена/чистая», логические операции и, или, не, функции-измерители температура и радиация.
- Ветвления: если-то-иначе-всё и выбор
Ветвления в КуМире: полная и неполная форма если-то-иначе-всё, вложенные условия, конструкция выбор-при-иначе-всё. Примеры для Робота и для вычислений.
- Циклы: нц…кц, нц пока, нц N раз, нц для
Все циклы алгоритмического языка КуМир: цикл «нц пока» с условием, цикл «нц N раз» с повторами, цикл «нц для i от a до b», цикл с постусловием. Примеры для Робота.
- Черепаха и Чертёжник: рисование в КуМире
Графические исполнители КуМира: Черепаха (вперёд, вправо, влево на градусы, поднять и опустить перо) и Чертёжник (сместиться в точку, сместиться на вектор, перо). Примеры рисования.
- Исполнитель Робот: поле и команды движения
8 Алгоритмы и подготовка к ОГЭ (задание 15.1)
- Вспомогательные алгоритмы: процедуры и функции
Вспомогательные алгоритмы в КуМире: процедуры и функции, аргументы (арг), результаты (рез), аргрез, возврат значения через знач. Декомпозиция задач Робота на подпрограммы.
- Робот глубже: счётчики, обход стен, накопление
Продвинутые приёмы для Робота в КуМире: вложенные циклы, счётчик закрашенных клеток, движение вдоль стены, обход препятствий, сочетание нц пока с проверками. Готовимся к 15.1.
- Разбор задания 15.1 ОГЭ: типовые сюжеты и шаблоны
Полный разбор задания 15.1 ОГЭ для Робота в КуМире: формулировка, требование универсальности, шаблоны решения для лабиринта, периметра и лестницы, цикл «пока не стена».
- Частые ошибки 15.1 и стратегия: 15.1 на КуМире vs 15.2 на Python
Чек-лист частых ошибок в задании 15.1 ОГЭ на Роботе и стратегия выбора: когда решать 15.1 на КуМире, а когда 15.2 на Python. Как готовиться к экзамену эффективно.
- Вспомогательные алгоритмы: процедуры и функции