- •Лабораторная работа №1,2 Тема: Решение задач на работу с целым и вещественными типами данных.
- •Краткие сведения:
- •Задания:
- •Лабораторная работа №3 Тема:Решение задач на ввод, вывод данных.
- •Краткие сведения: Ввод данных
- •Вывод данных
- •Форматированный вывод
- •Задания:
- •Лабораторная работа №4 Тема: Решение задач на условный оператор и оператор выбора
- •Краткие сведения:
- •Оператор выбора Паскаля
- •Лабораторная работа №5 Тема: Решение задачи на работу с перечисляемым типом
- •Краткие сведения:
- •Лабораторная работа №6,7 Тема: Решение задач с применением операторов цикла
- •Краткие сведения:
- •Контрольные вопросы:
- •Лабораторная работа №8 Тема: Работа с одномерными массивами
- •Краткие сведения:
- •Задания:
- •Лабораторная работа №9 Тема: Работа с двумерными массивами
- •Краткие сведения:
- •Лабораторная работа № 10 Тема: Решение задач на работу с множеством.
- •Краткие сведения:
- •Лабораторная работа №11 Тема: Решение задач на комбинированные типы
- •Краткие сведения:
- •Контрольные вопросы:
- •Лабораторная работа №12 Тема:Решение задач на процедуры и функции
- •Краткие сведения:
- •Задания:
- •Лабораторная работа №14 Тема: Использование библиотеки подпрограмм для решения задач
- •Краткие сведения:
- •Лабораторная работа № 15 Тема: Знакомство со средой Delphi.
- •Краткие сведения:
- •Лабораторная работа № 16,17 Тема: Использование компонентов отображения и редактирования
- •Краткие сведения:
- •Пример написания программы
- •Задание 1:
- •Лабораторная работа №18 Тема: Использование компонентов многострочного редактора для одномерных массивов.
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4.
- •Вариант 5.
- •Лабораторная работа №19,20 Тема: Использование компонентов списков и выпадающих списков
- •Краткие сведения:
- •Лабораторная работа №21 Тема: Использование компонентов таблиц для работа с двумерным массивом.
- •Краткие сведения:
- •Примеры использования компонета StringGrid
- •Задания:
- •Лабораторная работа №22 Тема:Использование компонентов управления. Кнопки, таймер
- •Краткие сведения:
- •Лабораторная работа №23
- •Краткие сведения:
- •Лабораторная работа №25 Тема: Использование контейнеров
- •Краткие сведения:
- •Лабораторная работа №26.27 Тема: Использование диалоговых окон.
- •Краткие сведения:
- •Лабораторная работа №28 Тема: Создание инструментальных панелей
- •Краткие сведения:
- •Лабораторная работа №29 Тема: Использование операторов обработки исключений
- •Краткие сведения:
- •Лабораторная работа №30 Тема: Создание главного и контекстного меню
- •Краткие сведения:
- •Лабораторная работа №31 Тема: Работа с файлами
- •О ткрытие и сохранение файла (OpenDialog, SaveDialog)
- •Выбор шрифта (FontDialog)
- •Лабораторная работа №32,33 Тема: Решение задач на процедуры и функции Краткие сведения:
- •Процедуры и функции, определенные пользователем
- •Лабораторная работа №34 Тема:Создание графика с помощью компонента Chart. Рисование на холсте Canvas Краткие сведения:
- •Лабораторная работа № 35 Тема: Использование компонент Animate, MediaPlayer
- •База данных « Студент»
- •База данных «Эксплуатация автомобилей»
- •Лабораторная работа №37 Тема: Применение фильтрацией данных и методов установки диапазона допустимых значений
- •Краткие сведения:
- •База данных « Студент»
- •База данных «Эксплуатация автомобилей»
- •База данных « Студент»
- •База данных «Эксплуатация автомобилей»
- •Лабораторная работа №39 Тема:Создание отчетов.
- •Краткие сведения:
- •База данных « Студент»
- •База данных «Эксплуатация автомобилей»
- •Контрольные вопросы:
Лабораторная работа №11 Тема: Решение задач на комбинированные типы
Цель: Формирование навыков и умений по составлению программ с использованием комбинированного типа данных — записей
Краткие сведения:
Запись – структура данных, состоящая из фиксированного числа компонент, называемых полями каждая из которых может иметь свой тип.
Структурированные типы в отличие от скалярных состоят из компонент.
Регулярные типы – фиксированное число однотипных компонент.
Комбинированные типы– фиксированное число компонент различных типов.
Записи позволяют в компактной форме описывать различные объекты (списки, каталоги, картотеки, таблицы, ведомости и т.д.). Описание записей в Паскале
При использовании записей они д.б. описаны с использованием раздела описания либо непосредственно в разделе описания переменных
Запись имеет следующую структуру:
IZ = RECORD Где: IZ – имя типа записи; IK1 : T1; IK – имя поля (компоненты); IK2 : T2; T - тип компоненты, м.б. любой стан- . . . дартный либо предварительно IKN :TN; определенный (кроме файлового); END; RECORD – запись; RECORD-END – операторные скобки.
Пример описания записи
Const n=25; Type Date = Record Year : integer; {Год} Month : 1..12; {Число} Day : 1..31; {Месяц} End; Student = Record FIO : String[15]; {ФИО} Dr : Date; {Дата рождения} Str : String[20]; {Страна} b1,b2,b3,b4,b5 : 2..5; {Поле оценок} End; Vec = array[1..n] of Student; Var EMS_43a, EMS_43a, EMS_43a :Vec;
Порядок следования полей в записи не имеет значения.
Поле может иметь несколько имен, при этом они разделяются запятыми. Для наглядности поля следует располагать на отдельных строках и снабжать комментариями. Запись может содержать вариантную часть. Например, для иностранных студентов можно указать страну.
Type x=(Yes, No); Student = Record FIO : String[25]; {ФИО} Mark : 2..5; {Оценки} Variant :x; Case x of Yes : (Str : String[20]); {Страна} No : ( ); End;
Обработка записей в Паскале
При обработке записей все действия выполняются над полями записи в соответствии с их типами. Набор операций, процедур и функций определяется типом поля. Для записи в целом м.б. использован только оператор присваивания. Запись можно передавать в качестве параметров в процедуру и функцию.
Для обращения к полям записи используются составные имена.
Составное имя – совокупность имени переменной типа запись и имен полей разделенных точкой.
Например:
EMS_43a[1].FIO :=’Антонов’; EMS_43a[1].Dr.Day :=13; EMS_43a[1].Dr. Month :=1; EMS_43a[1].Dr. Year :=1986;
Оператор присоединения в Паскале
Оператор присоединения позволяет упростить обращение к элементам записи и имеет следующий формат записи: With <Имя> do OP; Где With - с; <Имя> - имя записи (простое или составное); do - делать; OP - оператор (простой или составной);
Вввод / вывод записей в Паскале
При вводе/выводе записей используются отдельные поля записи
For i:=1 to n do Read (EMS_43a[i].FIO, EMS_43a[i].Str)
При использовании оператора присоединения
For i:=1 to n do With EMS_43a[i] do Begin Read (FIO); Read (Str); End;
Задания:
Вариант 1.
Даны оценки группы студентов на экзаменах по 4 предметам: алгебре, геометрии, философии, информатике. Найти, по какому предмету студенты получили наибольшее количество двоек.
Вариант 2.
Даны оценки группы студентов на экзаменах по 4 предметам: алгебре, геометрии, философии, информатике. Найти и вывести фамилии тех студентов, которые все экзамены сдали на 9.
Вариант 3.
Даны оценки группы студентов на экзаменах по 4 предметам: алгебре, геометрии, философии, информатике. Найти и вывести фамилии тех студентов, которые на экзаменах получили не ниже 7 баллов.
Вариант 4.
Даны оценки группы студентов на экзаменах по 4 предметам: алгебре, геометрии, философии, информатике. Найти, по какому предмету студенты получили наибольшее количество 10 и 9.
Вариант 5.
Известна прибыль предприятий за данный месяц, а также названия предприятий. Вывести список тех предприятий, прибыль которых была меньше указанной, или указать, что таких нет.
Вариант 6.
Даны сведения по областям: название области, количество засеянной земли рожью, собранный урожай. Вывести название области, у которой наибольшая урожайность.
Вариант 7.
Опишите, используя структуру записи, данные о владельце автомобиля (фамилия, марка автомобиля, гос. номер, цвет). Составьте программу, осуществляющую поиск владельца автомобиля «Жигули» белого цвета с фиксированным гос. номером.
Вариант 8.
Опишите, используя структуру записи, сведения о книгах домашней библиотеке (автор, название, год издания, количество страниц). Составить программу, определяющую: авторов, название книг изданных после 1995г.
Вариант 9.
Создать массив записей следующего типа:
Страна |
Территория в км2 |
Население млн.человек |
Столица |
Латвия |
67,7 |
2,6 |
Рига |
Литва |
65,2 |
3,4 |
Вильнюс |
Польша |
313 |
34,8 |
Варшава |
Украина |
603,7 |
50 |
Киев |
Россия |
17075,4 |
139 |
Москва |
Найти и вывести общую площадь перечисленных стран.
Вариант 10.
Опишите, используя структуру записи, сведения о книгах домашней библиотеке (автор, название, год издания, количество страниц). Составить программу, определяющую: авторов, название книг которых начинается на букву
Вариант 11.
Создать массив записей следующего типа:
Страна |
Территория в км2 |
Население млн.человек |
Столица |
Латвия |
67,7 |
2,6 |
Рига |
Литва |
65,2 |
3,4 |
Вильнюс |
Польша |
313 |
34,8 |
Варшава |
Украина |
603,7 |
50 |
Киев |
Россия |
17075,4 |
139 |
Москва |
Найти и вывести для каждой страны плотность населения.
Вариант 12.
Создать массив записей следующего типа:
Страна |
Территория в км2 |
Население млн.человек |
Столица |
Латвия |
67,7 |
2,6 |
Рига |
Литва |
65,2 |
3,4 |
Вильнюс |
Польша |
313 |
34,8 |
Варшава |
Украина |
603,7 |
50 |
Киев |
Россия |
17075,4 |
139 |
Москва |
Найти и вывести страну с наибольшей плотностью населения.
Вариант 13
Известен список сотрудников отдела с указанием окладов. Вывести список тех сотрудников отдела, оклад которых меньше заданного минимального, или указать, что таких нет.
Вариант – 14
Известны фамилии и средний балл за полугодие учеников класса. Напечатать список тех учеников класса, средний балл которых превышает «4» , или указать, что таких нет.
Вариант - 15
Известна информация о хранящемся на складе товаре: наименование товара и его цена. Вывести список тех товаров, цена которых меньше указанной, или указать, что таких нет.
