- •Первый семестр
- •Дальнейшее обучение программированию (по семестрам)
- •Рекомендуемая литература
- •I семестр Лекция 1
- •1.1 Алгоритм. Понятие алгоритма
- •1.2 Алгоритмические языки
- •1.3 Запись алгоритма
- •1.4 Элементарные структуры
- •Лекция 2
- •2.1. Договоренности о синтаксисе
- •2.2. Текст программы на Turbo Pascal
- •2.3 Элементарные операции
- •2.4. Таблица перевода для структур
- •Алгоритм:
- •Текст программы
- •2.5 Практические рекомендации по решению задач
- •3.2. Частные случаи для структуры цикла
- •3.3 Массивы
- •Лекция 4
- •4.0 Требования к защите бальных задач
- •4.1 Начало систематического изложения Turbo Pascal (tp)
- •Лекция 5
- •5.1 Простые типы данных
- •5.1.1 Перечислимый тип
- •5.1.2 Интервальный тип
- •5.1.3 Целочисленные типы
- •5.1.4 Данные типа char
- •5.1.6 Вещественные типы данных
- •Лекция 6
- •6.1 Структура программы на Паскале
- •6.2 Процедуры для стандартного ввода/вывода
- •6.3 Массивы. Регулярный тип
- •6.4 Для работы с массивами – шаблоны
- •Лекция 7
- •7.1 Строки
- •7.2 Записи
- •Лекция 8
- •8.1 Множества
- •8.2 Файлы
- •8.3 Процедуры открытия и закрытия файлов:
- •8.4 Процедуры ввода/вывода:
- •Лекция 9
- •9.1 Текстовые файлы.
- •9.2 Проект программы:
- •9.3 Простейший сканер.
- •9.4 Копия любого файла
- •Лекция 10
- •10.1 Процедуры и функции
- •10.2 Передача параметров в процедуры и функции
- •10.3 Глобальные переменные. Перекрытие (экранирование)
- •10.4 Процедурные типы
- •10.6 Рекурсия. Косвенная рекурсия
- •Лекция 11
- •11.1 Статическая и динамическая память программы
- •11.2 Динамическая память (куча, heap) с точки зрения тр
- •11.3 Операции над указателями
- •11.4 Пояснения с помощью картинки
- •11.5 Динамическая цепочка
- •Лекция 12
- •12.1 Цикл жизни программы. Проект программы
- •12.2 Характеристики качества программ
- •12.3 Программное окружение
- •12.4 Модули
- •Пример Печать данного перечислимого типа. Вот простой пример модуля (пусть имя файла с представленным ниже текстом My_Unit.Pas):
- •12.5 Обзор модуля System
- •12.5.1 Процедуры и функции, обслуживающие файловую систему
- •Лекция 13
- •13.1 Модуль crt - средства работы с экраном, клавиатурой и др.
- •13.2 Обзор примеров программ
- •13.3 Процедуры и функции модуля Crt
- •Лекция 14
- •14.1 Модуль dos - работа с файловой системой.
- •14.1.1 Прерывания.
- •14.1.2 Процедуры и функции модуля Dos
- •Лекция 15
- •15.1 Модуль Graph.
- •15.1.1 Общие сведения:
1.3 Запись алгоритма
Условимся записывать алгоритм с помощью следующих обозначений:
a). Элементарная операция присваивания. В прямоугольнике записывается сама операция.
b). Элементарная операция ввода. В параллелограмме записывается ключевое слово «Ввод» и список переменных через запятую, значения которых должны быть введены. В данном случае вводится значение единственной переменной X.
c). Элементарная операция вывода. В параллелограмме записывается список переменных и констант, значения которых должны быть выведены. В данном случае выводится значение единственной переменной Y.
Будем считать, если это не оговорено особо, что ввод данных осуществляется с клавиатуры, а вывод – на экран монитора.
d). Подалгоритм, требующий дальнейшей детализации. В прямоугольнике с двойными боковыми ребрами записывается имя подалгоритма. В данном случае имя подалгоритма «Ф».
e). Решение. С помощь этой конструкции можно осуществлять ветвление алгоритма в зависимости от значения логического выражения Усл внутри ромбика. Если значение логического выражения «истина», то осуществляется переход по стрелке «да», в противном случае по стрелке «нет». Условимся всегда стрелку «да» рисовать влево, стрелку «нет» - вправо.
Линиями со стрелками будем показывать последовательность выполнения перечисленных операций.
1.4 Элементарные структуры
Любое, даже очень сложное решение задачи, может быть выражено алгоритмом, представляющим собой композицию следующих трех простых структур:
Структура a) – линейная. Действия выполняются последовательно – сначала выполняется фрагмент Ф1, затем фрагмент Ф2. Структура b) – выбор. В зависимости от истинностного значения логического выражения Усл выполняется либо фрагмент Ф1, либо фрагмент Ф2. Структура с) – цикл. Многократно повторяется фрагмент Ф1 – тело цикла, перед каждым последующим выполнением тела цикла выполняется фрагмент Ф2 – модификатор. Логическое выражение Усл является условием выхода из цикла.
Если Вы хотите записать решение задачи с помощью перечисленных схем, попробуйте изложить решение задачи на бытовом, разговорном языке. В изложении решения неминуемо будут использоваться такие конструкции, как «сначала … затем», «если … то … иначе …», «повторяем … пока …», или на них похожие. Эти конструкции определяют соответствующие элементарные структуры. Попробуйте определить самую внешнюю структуру Вашего алгоритма. Если это удастся, то алгоритм разобьется на два подалгоритма (Ф1 и Ф2), которые можно записывать независимо, как решение двух более простых задач.
Заметим, что элементарные структуры имеют единственный вход и единственный выход. Таким образом, элементарные структуры топологически совместимы, то есть, вместо любого фрагмента можно поместить любую структуру. Поэтому, записав подалгоритмы Ф1 и Ф2, мы можем записать и сам алгоритм, связав решения соответствующей структурой.
Построение алгоритма последовательным выделением самой внешней структуры лежит в основе методики нисходящего метода проектирования алгоритмов (детализация сверху вниз). Используя описанный выше подход, мы получаем решение задачи в виде композиции трех элементарных структур. Если иметь таблицу перевода каждой элементарной структуры на какой-нибудь алгоритмический язык, то легко получить запись всего алгоритма на этом алгоритмическом языке.