
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Саратовский государственный технический университет
Балаковский институт техники, технологии и управления
Программирование алгоритмов с использованием записей на языке lazarus
Методические указания к выполнению лабораторной работы
по курсу «Системное программное обеспечение»
для студентов специальности 210100
дневной и вечерней форм обучения
Одобрено
редакционно-издательским советом
Балаковского института техники,
технологии и управления
Балаково 2009
Цель работы: создать приложение, в котором используются данные типа запись.
Основные понятия
Запись – это структурированный тип данных, состоящий из фиксированного числа компонент. Эти компоненты называются полями записи. Запись описывают в разделе type или в разделе var с помощью следующей конструкции:
<имя записи> = record
<имя поля 1> : <тип поля 1>;
…
<имя поля n> : <тип поля n>;
end;
Пример. Информацию об анкетных данных студентов можно представить с помощью таких полей: фамилия, имя, дата рождения и средний балл. Созданную структуру опишем как тип записи gruppa.
Type gruppa = record
name, surname: string[20];
birthday: record
year: 1975..1985;
month: 1..12;
day: 1..31;
end;
sball: real
end;
var
student1, student2: gruppa;
Для того чтобы обратиться к полю записи, необходимо указать имя переменной и через точку – имя поля:
<имя записи>.<имя поля>
Например:
student1.name := ‘Иван’; student2.birtday.month := 5.
Составными именами пользоваться неудобно. Они ведут к громоздким выражениям. Для их упрощения служит команда присоединения with. Общий вид данной команды записывается следующим образом:
with <имя переменной типа запись> do <команда>;
После служебного слова with указывают имя переменной типа запись, а в команде используют только имена полей соответствующей записи (без указания составного имени).
Например:
with student1 do
begin
name:= ‘Иван’;
surname:= ‘Иванов’;
with birthday do
begin
year:= 1990;
month:= 12;
day:= 28;
end;
sball:= 4.9;
end;
Записи часто используются для обработки таблиц. Но запись - это одна строка таблицы. Для того чтобы обработать всю таблицу, необходимо использовать массивы записей. Например:
Type
stud=record
Fio: string[35];
data: TDate;
sball: real;
end;
var gruppa: array [1..20] of stud;
Для обращения к какому-либо полю i-го элемента таблицы необходимо обратиться к этому полю i-го элемента массива gruppa[6].fio.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Порядковый номер студента по списку группы соответствует номеру варианта. По заданию требуется:
Определить порядок реализации вычислений.
Создать форму с необходимыми компонентами.
Записать программу модуля проекта.
Протестировать работу созданного приложения.
Написать отчет по лабораторной работе.
Пример выполнения работы
Задание. Создать Windows-приложение для обработки ведомости об успеваемости учащихся в количестве 9 человек. Каждая запись должна содержать фамилию, инициалы, а также оценки по физике, математике и сочинению. Вывести список учащихся, отсортированный в порядке уменьшения их среднего балла.
Один из возможных вариантов панели интерфейса создаваемого приложения показан на рис.1.
Рис. 1. Окно учебной программы