Главная страница

Отчёт к лаботаторной работе 4-5 по ОАиП на темц Списки. отчёт. ФАйлы списки


Скачать 346.5 Kb.
НазваниеФАйлы списки
АнкорОтчёт к лаботаторной работе 4-5 по ОАиП на темц Списки
Дата23.09.2021
Размер346.5 Kb.
Формат файлаdoc
Имя файлаотчёт.doc
ТипДокументы
#235699

Министерство образования Республики Беларусь
Учреждение образования

БелорусскиЙ государственный университет

информатики и радиоэлектроники

Факультет компьютерных систем и сетей
Кафедра программного обеспечения информационных технологий









оТЧЕТ


по лабораторной работе
на тему:

ФАйлы. списки


Выполнил

Студент гр. 051001





А.Г. Сидорович


Проверил





Асс. Е.Е. Фадеева

































































Минск, 2021



  1. Задание на лабораторную работу

Разработать программу («электронную сваху») для службы знакомств. Имеется 2 списка: список женихов и список невест. В каждом списке кандидат (жених или невеста) характеризуются записью, содержащей следующие поля: порядковый номер кандидата, данные о кандидате (имя, возраст, рост, вес), требования к партнеру (в виде диапазона Min-Max). Требуется:

• Выявить все возможные пары с учетом требований кандидатов;

• При согласии сторон пара считается сформированной и кандидаты из списка удаляются автоматически;

Предусмотреть возможность добавлять, удалять и корректировать записи из списков, а так же просматривать каждый список целиком.




Выполнение

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

Таблица 2.1(а) Используемые идентификаторы

Имя идентификатора

назначение

Тип идентификатора

Начальное значение

Закон изменения

MaleListHead

Указатель на первый элемент списка, содержащего анкеты мужчин

TSP

NIL

-

FemaleListHead

Указатель на первый элемент списка, содержащего анкеты женщин

TSP

NIL

-

MaleFile

Файл, содержащий анкеты мужчин

TPartnersFile

-

-

FemaleFile

Файл, содержащий анкеты женщин

TPartnersFile

-

-

CouplesFile

Файл, содержащий сформированные пары

TextFile

-

-

InpNum

Номер выбранного пункта меню

Integer

Ввод с клавиатуры

-

UserAnswer

Строка, содержащая ответ пользователя в формате да/нет

String

Ввод с клавиатуры

-

CurrP

Указатель на текущий элемент списка

TSP

-

-

PrevP

Указатель на предыдущий элемент списка

TSP

-

-

Couples

Массив сформированных пар

TCouples

-

-

Husband

Запись, содержащая в себе указатели на анкету мужа из сформированной пары и на предыдущую в списки анкету

TResPointers

-

-

Wife

Запись, содержащая в себе указатели на анкету жены из сформированной пары и на предыдущую в списки анкету

TResPointers

-

-

ExitMenu

Флаг, определяющий, следует ли выйти из текущего меню

boolean

false

-

Filter

Запись, задающая фильтр для поиска записей, соответствующих данному фильтру

TFilter

-

-



Таблица 2.2(б) Используемые подпрограммы

Имя подпрограммы

Назначение

Передаваемые параметры и их тип

Возвращаемый тип(если функции)

getMaxId

Возвращает максимальное значение ID в списке, указатель на первый элемент которого передаётся в функцию

HeadP: TSP

integer

disposeList

Освобождает память, выделенную под список, на первый элемент которого указывает передаваемый указатель, а сам указатель устанавливает в значение NIL

HeadP: TSp

-

addPartners

Добавляет анкету в конец списка, на первый элемент которого указывает передаваемый указатель

HeadP: TSp




saveToFile

Сохраняет список, указатель на первый элемент которого передаётся в процедуру, в файл

HeadP: TSP; PartnersFile: TPartnersFile

-

readFromFile

Читает список, указатель на первый элемент которого передаётся в процедуру, из файла

HeadP: TSP; PartnersFile: TPartnersFile

-

printPartnersList

Выводит в консоль список, указатель на первый элемент которого передаётся в процедуру

CurrP: TSp; PartnerPrinting: TPartnerPrinting

-

extendLists

Позволяет добавить анкету в конец списка мужских либо женских анкет

MaleListHead, FemaleListHead: TSP

-

BubbleSort

Сортирует (по возрастанию) список по выбранному полю

HeadP: TSP; FirstIsBigger: TFieldsCompare

-

setFilterStartSettings

Устанавливает начальные значения фильтра

Filter: TFilter

-

useFilter

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

HeadP: TSp; Filter: TFilter

TResultArr

deleteRecord

Удаляет из списка выбранную запись

HeadP, CurrP, PrevP: TSP

-

modifyRecord

Изменяет выбранную запись

CurrP: TSp

-

findInOneList

Производит поиск анкет в выбранном списке по заданному фильтру

HeadP: TSP; PartnersFile: TPartnersFile

-

findCouples

Производит поиск подходящих для формирования пары анкет

MaleListHead, FemaleListHead: TSP

TCouples


2.2 Тестирование и отладка программы

Таблица 2.2 Прохождение тестов программы

Специфика тестирования

Номер теста

Вводимые данные

Ожидаемый результат

Полученный результат

Загрузка из пустого файла

1

-

Сообщение о том, что файл пуст, и предложение заполнить список вручную

Тест пройден

Вывод пустого списка

2

-

Список пуст

Тест пройден

Сортировка пустого списка, удаление/редактирование элементов в пустом списке, поиск в пустом списке по фильтрам

3

-

Сообщение о том, что список пуст, и предложение заполнить список вручную либо загрузить его из файла

Тест пройден







написать администратору сайта