- •Московский государственный технический университет
- •Содержание.
- •Предисловие
- •Лабораторная работа №1 Процедурные типы
- •1. Теоретические сведения
- •Var X: real; I: integer;
- •X, y : byte;
- •VarFunc : FuncType;
- •I : integer;
- •2.Задачи для самостоятельного решения
- •Лабораторная работа №2 Модули
- •Теоретическая часть
- •Структура модулей
- •Связь модулей друг с другом
- •ISwap(a,b);
- •Var I, y :integer;
- •2.2. Практическая часть
- •Interface
- •Implementation
- •I: Integer;
- •3. Задачи, для самостоятельного решения
- •Лабораторная работа №3 Меню
- •1. Теоретическая часть
- •Var X,y,I: byte;
- •XUpLeft;
- •Var npos,I: integer;
- •Case npos of
- •Лабораторная работа №4.
- •2.Задачи, для самостоятельного решения:
- •Лабораторная работа № 5 Указатели. Связанные списки
- •1. Теоретические сведения
- •1.1. Указатели
- •1.2. Связные списки записей
- •1.3. Управление связанным списком записей (на примере)
- •1.3.1. Построение списка
- •Var ListOfChecks, CurrentCheck: pCheck;
- •1.3.2. Перемещение по списку
- •Var p: Pint;
- •2. Демонстрационные примеры
- •X1,y1,x2,y2: word;
- •Var npos,I,n,j :integer;
- •3: Begin
- •Interface
- •Задачи 1..4. Создать типизированный файл записей, содержащих сведения о багаже пассажира. Структура записи имеет следующий вид:
- •Var rec, beg, endd, current: pnt;
- •Задача 5. Создать типизированный файл записей, содержащих сведения об автомобиле. Структура записи имеет следующий вид:
- •Var rec, beg, endd, current : pnt;
- •Задача 22. Создать типизированный файл записей, содержащих сведения о книгах. Структура записи имеет следующий вид:
- •1.2.Объект и инкапсуляция
- •1.3. Иерархия объектов и наследование
- •Visible: Boolean;
- •Init(x1,y1);
- •Interface
- •Interface
- •X,y : Integer;
- •Visible : Boolean;
- •Implementation
- •Var Temp : Word;
- •Var Temp : Word;
- •Var gm,gd:Integer;
- •Xp:Point;
- •Xs:Square;
- •Xps:PaintSquare;
- •InitGraph(Gd,Gm,'');
- •2. Демонстрационные примеры
- •X,y:integer;
- •Inherited init(ax,ay);
- •Задача 12. Простые объекты.
- •Задача 14. Простые объекты.
- •Задача 15. Простые объекты.
- •Задача 20. Простые объекты.
- •Задача 21. Простые объекты.
- •Задача 22. Простые объекты.
- •Задача 23. Простые объекты.
- •Задача 25. Простые объекты.
- •Лабораторная работа №8 Статические объекты
- •Теоретическая часть
- •1.1.Вывод точек и линий
- •1.2.Вывод многоугольников
- •Виды закраски определяется константами.
- •1.3.Вывод дуг, окружностей, эллипсов
- •1.4.Вывод текста
- •Демонстрационные примеры
- •Лабораторная работа №9
- •2. Задачи, для самостоятельного решения
- •Лабораторная работа №10
- •1.2. Перенос изображения
- •1.3. Масштабирование изображения
- •1.4. Масштабирование рисунка
- •1.5. Поворот изображения
- •1.5.1.Поворот точки
- •1.5.2. Поворот рисунка
- •1.6. Композиция преобразований
- •2. Демонстрационные примеры
- •X,y:integer;
- •1: CloseGraph;
- •3.Задачи, для самостоятельного решения
- •Лабораторная работа №12 Рубежный контроль №2
- •Задачи, для самостоятельного решения
Case npos of
1: begin
Write (‘выполнен пункт ’, menu[npos].text);
Readln;
End;
2: begin
Write (‘выполнен пункт ’, menu[npos].text);
Readln;
End;
3: begin
Write (‘выполнен пункт ’, menu[npos].text);
Readln;
End;
End; {case}
DrawMenu (npos); {выводим меню}
End;
End; {case}
Until (ch1=#27) or (ch1=#13) and (npos=4));{код 27 соответствует клавише Esc}
Window(1,1,80,25); {код 13 соответствует клавише Enter}
TextAttr:=7;
ClrScr; {очищает экран}
End.
3.Задачи, для самостоятельного решения
Задача 1. Разработать программу исследования элементарных функций (y=sin x, y=cos x, e = tg x, e = ln x, e = eх), задаваемых пользователем. Обеспечить для каждой функции вывод таблицы значений на заданном интервале с заданным шагом, поиск корней и определение максимума и минимума. Взаимодействие пользователя и программы организуйте с использованием меню.
Задача 2. Разработать программу тестирования студентов обучающихся по теме «системы исчисления». Тестируемому предлагаться 6 вопросов по данной теме, включая обычные вопросы с выбором ответа из нескольких и задачи на выполнение арифметических операций, когда необходимо ввести результат указанной операции. Вопросы должны случайным образом выбираться из списка, хранящегося в файле, и не повторяться. Для ответа на каждый вопрос дается две попытки. Предусмотреть, чтобы тестирующийся мог по желанию отказаться отвечать на данный вопрос и получить правильный вопрос. Оценку проводить по соотношению правильных и неправильных ответов.
Задача 3. Разработать вертикальное меню из четырех пунктов: new, open, save, exit. Окно меню синего цвета, названия пунктов должны быть выведены желтым цветом. Выделение пункта выполнить фиолетовым цветом фона. Реализовать выход по выбору пункта «exit».
Задача 4. Разработать вертикальное меню из четырех пунктов: new, open, save, exit. Окно меню желтого цвета, названия пунктов должны быть выведены красным цветом. Выделение пункта выполнить фиолетовым цветом фона. Реализовать выход по выбору пункта «exit».
Задача 5. Разработать программу, анализирующую файл, в котором размещены данные о пассажирах. Запись о пассажирах содержит следующие поля: Фамилия, количество вещей (мест), общий вес багажа. Программа позволяет сортировать пассажиров с максимальным весом багажа и максимальным количеством вещей. Создать меню со следующими пунктами: F1 =ввод данных, F2 – просмотр данных, F3 - выход.
Задача 6. Разработать вертикальное меню из 4-х пунктов: создать, открыть, сохранить, выход. Окна меню синего цвета, названия пунктов должны быть выделены желтым цветом фона. Реализовать выход по выбору пункта «Выход» или по нажатию клавиши «Esc».
При разработке алгоритмов программы выделить 2 подпрограммы:
рисования пункта меню как окна с текстом внутри,
рисования меню с выделенным пунктом.
В процессе работы основная программа вводит коды клавиш и организует работу с меню. После завершения работы такая программа должна восстановить стандартное окно 25х80 и стандартные цвета символа и фона MS DOS.
Задача 7. Разработать программу по выводу в выделенном окне нажатие специальных клавиш (Home, End, Delete, Insert, PageUp, PageDown, CapsLock, NumLock, ScrollLock, Esc, Break, F1,F2,F3..F12) , используя меню. Обеспечить наглядность решаемых задач с помощью пользовательского интерфейса, оконный интерфейс (опции меню, окна ответов, значение нажатых клавиш).
Задача 8. Разработать программу исследования элементарных функций: sin x, cos x, tg x, ln x, eх, arcsin x, ctg x, задаваемых пользователем. Обеспечить для каждой функции вывод таблицы значений на заданном интервале [0..1] с заданным шагом, поиск корней и определение максимума и минимума. Взаимодействие пользователя и программы организуйте с использованием 2-хуровнего меню (исследование функций, список операций).
Задача 9. Создать базу данных об учениках старших классов школы. Записи должны содержать следующие поля: класс, фамилия, имя, отечество, 4 предмета обучения, средний балл, оценка за поведение. Создать меню со следующими пунктами: F1 – ввод данных, F2 - просмотр, F3 - поиск, F4 – выход. База данных позволяет вывод данных в табличной форме (оконной форме). Пункты меню расположены горизонтально, на одной линии в верхней части экрана. При выводе, вводе, поиске, меню присутствует.
Задача 10. Разработать программу проигрывания 3-х простейших мелодий с помощью управления встроенным динамиком, используя меню выбора мелодий и их прерывания клавишей «Esc».