Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа ИСТз 21,22.doc
Скачиваний:
32
Добавлен:
28.09.2019
Размер:
321.54 Кб
Скачать

Требования к теоретической части

В качестве теоретической части КР должен быть рассмотрены основные аспектов обработки записей и файлов средствами Delphi. Студент должен свободно ориентироваться в представленном теоретическом материале.

Требования к практической части

Практическая часть КР должна содержать следующие разделы:

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

    1. Описание объектов, свойств, методов

    2. Формы и основные модули текста программы.

    3. Результаты тестирования программного продукта.

В практической части работы должны быть применены изложенные теоретические аспекты.

Подробно описать в подразделе 2.1. объекты, их свойства и методы, используемые при разработке проекта, демонстрирующего решение поставленных задач. В подразделе 2.2 показать основные формы проекта решения задачи и прокомментировать основные фрагменты модулей программы. В подразделе 2.3 показать результаты тестирования программного продукта с помощью подобранных тестов.

Задачи курсовой работы:

  • Изучить способы описания типа запись и файл на языке программирования Object Pascal в среде Delphi.

  • Разработать алгоритм решения в соответствии с заданием.

  • Составить программу решения задачи.

  • Подготовить тест для проверки программы.

Задание 1.

Выполнить на компьютере программу создания файла, содержащего сведения о сдаче студентами сессии. Структура записи содержит поля: индекс группы, фамилию студенты, оценки по 5 экзаменам. Количество записей в файле произвольное.

Методические указания

Так как по условию не требуется выполнять арифметических операций над данными полей записи, то все поля записей файла целесообразно определить как поля символьного типа. Идентификаторы и длины полей приведены в таблице 1.

Таблица1 – Описание идентификаторов и длины полей

Описание поля

Имя переменной

Тип данных

Пример

Индекс группы

INDEX

6 символов

ИУ2-11

Фамилия

FAM

20 символов

ИВАНОВ П.В. 11

Оценки по пяти экзаменам

Массив MARKER (5)

Каждый элемент односимвольный

54323

Для получения текущей записи, организуем в программе запрос на ввод очередной порции информации с терминала в оперативную память ЭВМ, для чего воспользуемся обычными операторами языка для ввода данных. Полученную строку данных запишем в первую запись файла. Для этого, используем оператор записи данных в файл, после чего запросим ввод второй строки данных с терминала в оперативную память ЭВМ. Организуем ее запись в файл. Этот процесс ввода с терминала и записи в файл будем продолжать до тех пор, пока не будет получен с терминала признак окончания ввода данных. Для подсчета количества записей в файле введем счетчик К, значение которого будем увеличивать на 1 при каждой операции записи строки в файл. Для контроля после создания файл организуем чтение записей файла и их вывод на экран.

Программа создания файла в Pascal с именем SESSYA имеют вид:

program lr15;

type

zap=record

index: string[6];

fаm: string[20];

marker: array[1..5] of char

end;

var

sessya: file of zap;

k: integer;

flag: boolean;

x: zap;

begin

k:=0; flag:=true;

rewrite(sessya);

repeat

writeln(‘введите текущую запись: индекс группы, фамилию и’);

writeln (‘5 оценок за экзамены’);

writeln (‘для окончания работы введите вместо индекса’);

writeln(‘группу символов ######’);

read (x.index, x.fam, x.marker[1], x.marker[2], x.marker[3], x.marker[4], x.marker[5]);

if x.index <> ‘######’ then

begin

k:=k+1;

write(sessya,x)

end

else

flag:=false;

until flag;

writeln (‘в файле ’,’ записей’);

assign(sessya,'sessya');

reset(sessya);

while not eof(sessya) do

begin

read(sessya,x);

writeln(x.index, x.fam,x. marker[1],x. marker [2],x. marker [3],x. marker[4],x. marker[5]);

end;

writeln (‘конец файла’)

end.

Тестовый вариант исходных данных для создания файла

РК6-21 СИДОРОВ В. Г. 44323

РК4-21 НИКИФОРОВ П. Д. 55343

РК4-22 ФЕДОРОВ С. Г. 44444

РК7-23 ФОКИН П. А. 55555

РК4-22 ПОДГОРНЫЙ А. А. 55232

РК4-22 СИЛАЕВ Ф. Г. 55555

РК4-22 БЕЛОВ И. Ф. 55455

РК4-22 АНИСОВ Д. Ф. 42323

РК4-22 ЛУКИН В. Д. 33433

РК4-22 ДЕДОВ П. Л. 33333

В качестве индекса группы X ввести значение РК4-22.