Лабораторная работа №10

Лабораторная работа №10

Разработка программ с использованием структур в Pascal

Цель работы

Приобретение практических навыков разработки программ с использованием структур данных и файлового ввода-вывода в языке Pascal.

Теоретические сведения

Структура в Pascal - это составной тип данных, объединяющий несколько переменных разных типов под одним именем.

Основные элементы работы со структурами:

·         Объявление типа записи (record)

·         Создание переменных

·         Доступ к полям через точку

·         Работа с файлами записей

Задание 1: Работа с файлами личных данных.

Условие: Создать структуру Person с полями: ФИО, дата рождения, адрес, телефон.
Написать программу, которая:

·                     Создает файл с записями о людях

·                     Сохраняет в файл 5 записей

·                     Читает файл и выводит информацию о людях старше 18 лет

Тип записи Person:

pascal

type
  Person = record
    FIO: string[50];
    Date: record
      Day, Month, Year: integer
    end;
    Address: string[100];
    Phone: string[15]
  end;

Алгоритм решения:

1.    Создание файла для записи

2.    Ввод 5 записей

3.    Сохранение в файл

4.    Чтение и фильтрация по возрасту

Задание 2: Обработка данных о студентах.

Условие: Определить структуру Student с полями: номер зачётной книжки, ФИО, средний балл, список оценок.
Написать программу, которая:

·                     Создает бинарный файл для хранения данных о студентах

·                     Добавляет в файл информацию о 10 студентах

·                     Находит и сохраняет в новый файл отличников

·                     Выводит статистику по среднему баллу группы

Тип записи Student:

pascal

type
  Student = record
    Zno: integer;
    FIO: string[50];
    AvgMark: real;
    Marks: array[1..5] of integer
  end;

Основные функции:

·         Создание бинарного файла

·         Добавление записей

·         Поиск отличников

·         Расчет статистики

Задание 3: Работа с базой данных товаров.

Условие: Создать структуру Product с полями: код товара, название, цена, количество на складе.
Написать программу, которая:

·                     Организует работу с файлом товаров

·                     Реализует функции добавления/удаления товара

·                     Осуществляет поиск по названию или коду

·                     Формирует отчёт о товарах с нулевым остатком

Тип записи Product:

pascal

type
  Product = record
    Code: integer;
    Name: string[50];
    Price: real;
    Quantity: integer
  end;

Функционал:

·         Управление базой товаров

·         Поиск по критериям

·         Формирование отчетов

·         Работа с файлом

Задание 4: Обработка результатов экзаменов.

Условие: Определить структуру ExamResult с полями: ФИО студента, предмет, оценка, дата сдачи.
Написать программу, которая:

·                     Создает файл для хранения результатов экзаменов

·                     Реализует добавление новых результатов

·                     Формирует ведомость по каждому предмету

·                     Выводит список отличников

·                     Сохраняет результаты в текстовый файл

Тип записи ExamResult:

pascal

type
  ExamResult = record
    FIO: string[50];
    Subject: string[30];
    Mark: integer;
    Date: record
      Day, Month, Year: integer
    end
  end;

Задание 5: Работа с базой данных книг.

Условие: Создать структуру Book с полями: ISBN, название, автор, год издания, количество экземпляров.
Написать программу, которая:

·                     Организует работу с файлом библиотеки

·                     Реализует функции выдачи/возврата книг

·                     Формирует отчёт о популярных книгах

·                     Сохраняет статистику по годам издания

·                     Осуществляет поиск книг по автору или названию

Тип записи Book:

pascal

type
  Book = record
    ISBN: string[15];
    Title: string[100];
    Author: string[50];
    Year: integer;
    Copies: integer
  end;

Общие требования к реализации

1.    Работа с файлами:

·         Использование файловых переменных

·         Проверка существования файлов

·         Корректное открытие/закрытие

·         Обработка ошибок

2.    Пользовательский интерфейс:

·         Меню программы

·         Валидация ввода

·         Информативные сообщения

3.    Обработка данных:

·         Проверка корректности

·         Сортировка

·         Поиск

·         Фильтрация

Порядок выполнения работы

1.    Подготовительный этап:

·         Изучение задания

·         Проектирование структуры данных

·         Разработка алгоритма

2.    Реализация:

·         Написание кода

·         Отладка программы

·         Тестирование

3.    Оформление отчета:

·         Описание решения

·         Листинг программы

·         Результаты тестирования

Контрольные вопросы

1.    Что такое запись (record) в Pascal?

2.    Как объявляются и используются типы записей?

3.    Какие существуют способы работы с файлами записей?

4.    Как осуществляется доступ к полям записи?

5.    Какие методы сортировки можно использовать для записей?

Пример структуры основной программы

pascal

program LabWork;
uses
  Crt, Dos;
 
type
  // Объявление типов записей
 
var
  // Объявление переменных
 
procedure Menu;
begin
  // Реализация меню
end;
 
procedure WorkWithFile;
begin
  // Работа с файлами
end;
 
begin
  ClrScr;
  // Основная программа
  Menu;
  WorkWithFile;
  ReadLn;
end.

Для каждого задания необходимо:

·                     Продумать структуру данных

·                     Реализовать корректную работу с файлами (создание, чтение, запись)

·                     Обеспечить обработку ошибок

·                     Добавить пользовательский интерфейс

·                     Предусмотреть сохранение изменений в файл


Last modified: Saturday, 25 October 2025, 8:35 AM