- •Министерство образования Российской Федерации Ярославский государственный педагогический университет имени к.Д. Ушинского Лабораторный практикум по языку программирования Pascal Ярославль 2004
- •Лабораторные работы Лабораторная работа №1Знакомство с клавиатурой. Организация работы в среде Турбопаскаль.
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №2Команды присваивания, ввода и вывода. Составление простейших программ на языке Турбопаскаль.
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №3Команды ветвления и выбора на языке Турбопаскаль
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №4Команды ветвления и повторения на языке Паскаль
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №6Циклы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задания
- •Лабораторная работа №7Одномерные массивы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задачи.
- •Лабораторная работа №8Двумерные массивы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задачи.
- •Лабораторная работа №9Работа со строковыми величинами
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задания
- •Лабораторная работа №10Обработка литерных величин на языке Турбопаскаль
- •Дополнительные задания
- •Задание 5
- •Лабораторная работа №12Работа с одномерными и двумерными массивами
- •Задание 1
- •Задание 2
- •Лабораторная работа №13Многочлены
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №14Линейная комбинация векторов
- •Задание 1
- •Задания повышенной трудности
- •Лабораторная работа №15Скалярное произведение векторов
- •Лабораторная работа №16 Простейшие графические операторы
- •Задание 5
- •Задание 6
- •Дополнительные задания.
- •Лабораторная работа n 19 Работа с множествами Задание 1
- •Задание 2-3
- •Задание 4
- •Задание 5
- •Лабораторная работа № 20 Работа с записями
- •Дополнительные залания
- •Задание 3
- •Задание 5
- •Задание 6 (дополнительный балл)
- •Дополнительное задание (до 3 баллов)
- •Задание 5
- •Примерные вопросы к собеседованиям Величина. Команды присваивания, ветвления и выбора.
- •Массивы
- •Литерные переменные
- •Процедуры и функции
- •Графика
- •Датчик случайных величин
- •Множества
- •Динамическая память
- •Деревья
- •Тексты программ для выполнения лабораторных работ Файл primer1.Pas
- •Файл lab10.Pas
- •Файл lab11.Pas
- •Файл List1.Pas
- •Файл List2.Pas
- •Файл lab5.Pas
- •Файл lab6.Pas
- •Примерный список индивидуальных задач
Дополнительное задание (до 3 баллов)
Составить программу вычисления значения вещественного выражения, записанного в обычной форме, и содержащего константы, знаки операций, скобки и функции. Ввод выражения предусмотреть из файла, имя которого вводится с клавиатуры, вывод значения – на экран.
Лабораторная работа №28 Работа с бинарными деревьями
Задание 1
Составьте процедуру создания Вашего генеалогического дерева. Запишите в него всех своих прямых предков, про которых Вы хоть что-нибудь знаете, указав их номер, ФИО, степень родства, годы жизни, профессию. При отсутствии соответствующих сведений в данной графе заносится какая-нибудь метка типа «-».
Задание 2
Составьте процедуру печати в виде таблицы информации о своих предках при обходе дерева «в глубину».
Задание 3
Составьте функции или процедуры для решения одной из следующих задач:
Посчитать количество элементов данного дерева;
Посчитать глубину данного дерева;
Найти данный элемент в данном дереве (ответ – указатель);
Найти данный элемент в данном дереве (ответ – логический);
Удалить данный элемент из данного дерева (удалить его, если он крайний и стереть информацию о нем, если он не является крайним);
Вставить данный элемент в нужное место генеалогического дерева.
Задание 4
Кроме вывода информации в виде таблицы, составьте процедуру вывода информации в виде дерева предков (т.е. снизу вверх).
Задание 5
Реализуйте в виде процедуры обход дерева «в ширину».
Лабораторная работа №29 Работа с деревьями поиска
Задание 1
Загрузите Вашу программу с предыдущей лабораторной работы. Составьте процедуру перенумерации вершин произвольного дерева таким образом, чтобы оно стало деревом поиска. Опробуйте ее работу на примере своего генеалогического дерева.
Задание 2
Сохраните программу. Смените у нее имя и в новой программе удалите все лишнее, оставив только описание (в новом дереве у каждого элемента будут только ключи-целые числа) и процедуры печати. Дополните программу процедурой ввода массива целых чисел, по которому будет строиться дерево с ключами, равными значениям элементов массива.
Задание 3-4
1. Составьте процедуру добавления одного элемента в дерево поиска и с ее помощью создайте процедуру, которая по массиву ключей создает дерево поиска с этими ключами. Опробуйте ее работу.
2. Составьте функции или процедуры для решения одной из следующих задач:
Найти данный элемент в дереве поиска (ответ – указатель);
Найти данный элемент в дереве поиска (ответ – логический);
Посчитать глубину данного дерева;
Посчитать количество элементов в данном дереве;
*Удалить элемент с данным ключом из дерева поиска
Задание 5
Модифицируйте предыдущую программу так, чтобы с помощью дерева поиска решалась задача о частоте вхождения всех чисел в данный массив (аналог задачи о частотном словаре в тексте).
Дополнительные задания
Составьте программу для:
создания сбалансированного дерева поиска по данному массиву (при этом создать и использовать процедуры левого и правого поворотов) (до 2 баллов);
создания частотного словаря по данному текстовому файлу (1 балл).
Лабораторная работа №30 Создание деревьев разбора выражений
Задание 1
Составьте программу построения дерева разбора арифметического выражения, содержащего только вещественные числа и знаки четырех арифметических операций.
Задание 2-3
Составьте процедуры печати дерева в инфиксной, постфиксной форме и в виде дерева.
Задание 4
Составьте процедуру или функцию вычисления значения выражения по дереву его разбора. Проверьте ее на различных выражениях.
Задание 5
Измените программу так, чтобы она корректно обрабатывала выражения со скобками.
Дополнительные задания.
Дополните программу разбора арифметического выражения диагностикой ошибок (1 балл);
Модифицируйте программу так, чтобы можно было работать с выражениями, содержащими функции. При этом предусмотреть для тестирования ввод выражения из текстового файла, состоящего из одной строки (до 3 баллов);
Создайте другую программу, с помощью которой можно разбирать логические выражения, содержащие константы, переменные, скобки и 3 операции: and, or, not (до 2 баллов);
Составьте программу разбора выражения со строковыми и арифметическими операциями (до 3 баллов).