
- •Основы программирования на языке паскаль
- •1. Простейшие программы Структура Паскаль-программы
- •Данные и тип данных
- •Стандартные функции
- •Выражения
- •Организация простейших программ
- •Модуль crt
- •Задания для самостоятельной работы
- •2. Ветвления
- •Задания для самостоятельной работы
- •3. Циклы
- •Оператор цикла с постусловием используется, когда известно условие, при котором цикл будет прекращать свою. Формат оператора:
- •Задания для самостоятельной работы
- •4. Массивы
- •Сортировка
- •Задания для самостоятельной работы
- •5. Строки
- •Задания для самостоятельной работы
- •6. Процедуры и функции
- •Параметры
- •Локальные и глобальные переменные
- •Функции
- •Задания для самостоятельной работы
- •7. Записи
- •Задания для самостоятельной работы
- •8. Множества
- •Операции над множествами
- •Задания для самостоятельной работы
- •9. Файлы
- •Стандартные процедуры и функции для работы с файлами всех типов
- •Стандартные процедуры и функции для работы с типизированными файлами
- •Задания для самостоятельной работы
- •10. Модуль graph
- •Процедуры и функции модуля graph
- •Задания для самостоятельной работы
- •11. Модули, определяемые пользователем
- •Задания для самостоятельной работы
- •12. Линейные однонаправленные списки Указатели
- •Линейные однонаправленные списки
- •Задания для самостоятельной работы
- •13. Двунаправленные списки.
- •Задания для самостоятельной работы
- •14. Кольцевые списки
- •Задания для самостоятельной работы
- •15. Стеки и очереди
- •Задания для самостоятельной работы
- •16. Деревья
- •Задания для самостоятельной работы
- •Простейшие программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •Бадмаева Энгельсина Сергеевна, Тонхоноева Антонида Антоновна
- •670000, Г. Улан-Удэ, ул. Смолина, 24-а.
Задания для самостоятельной работы
Используя двоичное дерево поиска, составить программы для решения следующих задач:
Варианты заданий:
Определить число вхождений заданного элемента в дерево.
Вычислить сумму элементов непустого вещественного дерева.
Найти сумму наибольшего и наименьшего элементов непустого вещественного дерева.
Напечатать элементы из всех листьев дерева.
Определить максимальную глубину непустого дерева, т. е. число ветвей в самом длинном из путей от корня дерева до листьев.
Подсчитать число вершин на N–ом уровне непустого дерева (
).
Проверить на равенство два заданных дерева.
Построить копию дерева.
Определить, есть ли в дереве хотя бы два одинаковых элемента.
Определить, является ли дерево сбалансированным.
В текстовом файле записана без ошибок некоторая программа на языке Паскаль. Известно, что в этой программе каждый идентификатор (служебное слово или имя) содержит не более 9 латинских букв и/или цифр. Напечатать в алфавитном порядке все различные идентификаторы этой программы, указав для каждого из них число его вхождений в текст программы. (Учесть, что в идентификаторах одноименные прописные и строчные буквы – отождествляются, что внутри символьных значений, строк-констант и комментариев последовательности из букв и цифр не являются идентификаторами и что в записи вещественных чисел может встретиться буква E или e.) Для хранения идентификаторов использовать дерево поиска, элементами которого являются пары – идентификатор и число его вхождений в текст программы.
СПИСОК ЛИТЕРАТУРЫ
Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. – М.: ДИАЛОГ-МИФИ, 1997.
Емелина Е.И. Основы программирования на языке Паскаль. – М.:Финансы и статистика, 1997.
Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. – М.: Нолидж, 1997.
Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. – М.: Нолидж, 1997.
Немнюгин С.А. Turbo Pascal. – С.-Пб.: Изд-во ”Питер”, 2000.
Пильщиков В.Н. Сборник упражнений по языку Паскаль. – М.: Наука, 1989.
Абрамов С.А., Зима Е.В. Начала информатики. – М.: Наука, 1989.
ОГЛАВЛЕНИЕ
Простейшие программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Ветвления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Процедуры и функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Записи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Множества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Модуль Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Модули, определяемые пользователем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
Линейные однонаправленные списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Двунаправленные списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Кольцевые списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Стеки и очереди . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Деревья . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73