Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_informatike_bakalavry.doc
Скачиваний:
42
Добавлен:
11.04.2015
Размер:
407.04 Кб
Скачать

Лабораторная работа №9 название: работа с комбинированными типами данных

ЦЕЛЬ РАБОТЫ:

1. Получение навыков в организации ввода/вывода значений комбинированных типов данных.

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

ПОСТАНОВКА ЗАДАЧИ:

Имеется список студентов, содержащий сведения о 25 человек. Для каждого студента указано: фамилия, и., о., дата рождения и оценки двух сессий. Информацию о каждом студенте оформить в программе в виде записи. Совокупность записей объединить в массив.

Составить программу, которая обеспечивает ввод полученной информации из файла B.DAT. Получить распечатку программы, получить распечатку файла результатов работы программы. Файл результата должен содержать исходный файл B.DAT и результаты работы.

СОДЕРЖАНИЕ ОТЧЕТА:

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

2. Блок-схему алгоритма и текст программы.

3. Результаты работы программы.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ:

1. Величина N (количество студентов в группе) должна быть описана в разделе констант.

2. Поля записи, соответствующие оценкам, описать как переменные ограниченного типа.

3. Пример программы:

Программа ZAP вводит из файла B.DAT информацию о пяти студентах:

фамилия, год рождения и оценки последней сессии.

РЕЗУЛЬТАТОМ РАБОТЫ ПРОГРАММЫ ЯВЛЯЕТСЯ СПИСОК ОТЛИЧНИКОВ.

Исходная информация из файла B.DAT

------------------------------------------------------------------

ФАМИЛИЯ ГОД РОЖД. ОЦЕНКИ СЕССИИ

-----------------------------------------------------------------

ВОРОНОВ 1976 3 4 3 3

КАРАТАЕВ 1975 5 5 5 5

КОРОТКОВА 1976 4 5 5 5

РОМАНОВ 1975 5 5 5 5

МАКАРОВ 1975 3 4 5 3

Программа:

PROGRAM ZAP;

CONST N=5; M=15; K=4;

TYPE STUD=RECORD

FAM:ARRAY[1..M] OF CHAR;

GOD: INTEGER;

O:ARRAY[1..4] OF 2..5

END;

VAR B:ARRAY[1..N] OF STUD;

I,J:INTEGER; KEY:BOOLEAN; INF,OUTF:TEXT;

BEGIN

ASSIGN(INF,'B.DAT'); ASSIGN(OUTF,'LAB10.DAT);

REWRITE(OUTF); RESET(INF);

WRITELN(OUTF);WRITELN(OUTF,'АНКЕТНЫЕ ДАННЫЕ И ОЦЕНКИ');

FOR I:=1 TO 4 DO READLN(INF);

FOR I:=1 TO N DO

BEGIN

FOR J:=1 TO M DO

BEGIN

READ(INF,B[I].FAM[J]); WRITE(OUTF,B[I].FAM[J]);

END;

READ(INF,B[I].GOD); WRITE(OUTF,B[I].GOD:5,'Г');

FOR J:=1 TO K DO

BEGIN

READ(INF,B[I].O[J]); WRITE(OUTF,B[I].O[J]:3)

END;

READLN(INF); WRITELN(OUTF);

END;

WRITELN(OUTF); WRITELN(OUTF,'СПИСОК ОТЛИЧНИКОВ');

FOR I:=1 TO N DO

BEGIN

KEY:=TRUE; FOR J:=1 TO K DO

IF B[I].O[J] <> 5 THEN KEY:=FALSE;

IF KEY THEN

BEGIN

FOR J:=1 TO M DO WRITE(OUTF,B[I].FAM[J]);

WRITELN(OUTF,B[I].GOD:5,'Г');

END

END;

CLOSE(OUTF)

END.

Результаты работы программы

АНКЕТНЫЕ ДАННЫЕ И ОЦЕНКИ

ВОРОНОВ 1976г 3 4 3 3

КАРАТАЕВ 1975г 5 5 5 5

КОРОТКОВА 1976г 4 5 5 5

РОМАНОВ 1975г 5 5 5 5

МАКАРОВ 1975г 3 4 5 3

СПИСОК ОТЛИЧНИКОВ

КАРАТАЕВ 1975г

РОМАНОВ 1975г

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

  1. Как описывается комбинированный тип на Паскале?

  2. Как обратиться к полю записи?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]