- •Курсовая работа по теме: программирование с использованием записей и файлов
- •Требования к оформлению
- •Требования к теоретической части
- •Требования к практической части
- •Описание объектов, свойств, методов
- •Формы и основные модули текста программы.
- •Результаты тестирования программного продукта.
- •Задачи курсовой работы:
- •Задание 1.
- •Методические указания
- •Задание 2.
- •Методические указания
- •Варианты задания курсовой работы:
- •Требования к курсовой работе Содержание курсовой работы
- •Правила оформления курсовой работы
- •Образцы оформления библиографического описания в списке источников, приводимых в курсовой работе (проекте)
- •Подготовка к защите и защита курсовой работы
- •Список рекомендуемой литературы
- •По программированию на Delphi
- •Приложение а
- •Приложение б
- •Приложение в
Требования к теоретической части
В качестве теоретической части КР должен быть рассмотрены основные аспектов обработки записей и файлов средствами Delphi. Студент должен свободно ориентироваться в представленном теоретическом материале.
Требования к практической части
Практическая часть КР должна содержать следующие разделы:
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
Описание объектов, свойств, методов
Формы и основные модули текста программы.
Результаты тестирования программного продукта.
В практической части работы должны быть применены изложенные теоретические аспекты.
Подробно описать в подразделе 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.