Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Примеры работы программы



Обработка файлов средствами языка Turbo Pascal

Цель работы: освоение методики проектирования Pascal-программ с использованием операций с файлами.

 

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

 

1. Получить вариант задания.

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

3. Разработать алгоритм подготовки и обработки данных на основе заданных операций.

4. Подготовить текст программы и отладить программу с использованием среды Turbo Pascal.

5. Устно ответить на контрольные вопросы.

6. Оформить отчет.

 

Варианты заданий

 

Таблица 7.1

№ варианта Тип данных (табл. 7..2) Задание имени файла (табл. 7.3) Сообщение об ошибках (табл. 7.4) Последовательность операций над данными (табл. 7.5)

 

Таблица 7.2

№ варианта Тип данных в файле
Вещественные числа
Записи со структурой табл. 7.8

 

Таблица 7.3Таблица 7.4

№ варианта Вариант задания имени файла   № варианта Вариант вывода сообщений об ошибках
Ввод с клавиатуры   Краткий
Строковая константа в программе   Расширенный

 

Таблица 7.5

№ варианта Вариант цепочки операций над данными
Ввод с клавиатуры и запись в массив, запись из массива в файл, чтение из файла и вывод на экран
Ввод с клавиатуры и запись в файл, чтение из файла и вывод на экран, дополнение файла

Таблица 7.8

 

Студент  
Фамилия Экзаменационные оценки  
  Математика Информатика  
       

 

ОПИСАНИЕ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ

Название переменной Идентификатор Тип Ограничения
i i byte >0
Массив a array[1..30] of real >0
Имя файла f_name string >0
b b real >0
Файл1 F1 file of real >0
Оценка   Otsen   record >0
студент stud record >0
Файл «студенты» FS file of stud >0
Фамилия fio string >0
Количество записей, количество элементов массива kol byte >0
         

 

Таблица 1 - Структура входных и выходных данных программы

А)
Схема программы

Б)

 


Текст программы

А) Program laba7;

Var i,kol:byte;

a:array[1..30] of real;

f_name:string;

b:real;

F1:file of real;

Begin

writeln('Vvedite kolichestvo elementov massiva');

readln(kol);

writeln('Vvedite massiv');

for i:=1 to kol do

begin

write('a',i,'=');

readln(a[i]);

end;

writeln('Vvedite imya faila');

readln(f_name);

assign(F1,f_name);

rewrite(F1);

for i:=1 to kol do

write(F1,a[i]);

close(F1);

assign(F1,f_name);

reset(F1);

for i:=1 to kol do

begin

read(F1,b);

writeln('a',i,'=',b:4:3);

end;

close(F1);

readln;

End.

 

Б) Program laba7_2;

Uses crt;

Const f_name='D:\myfile.txt';

Type otsen = record

mat:0..5;

inf:0..5;

end;

stud = record

fio:string[30];

ot:otsen;

end;

FS = file of stud;

Var kol:byte;

F1:FS;

Procedure vvod;

Var s:stud;

code,i:byte;

Begin

clrscr;

assign(F1,f_name);

{$I-}

rewrite(F1);

code:=ioresult;

if code <> 0 then

begin

write('Oshibka pri otkrytii faila: ');

case code of

1: writeln('Fail ne naiden');

3: writeln('Marshrut ne naiden');

4: writeln('Slishkom mnogo otkrytyh failov');

5: writeln('Dostup k failu zapreshen');

12: writeln('Nekorektniy kod dostupa k failam');

else

writeln('Neizvestniy kod oshibki');

end;

end;

{$I+}

write(' Vvedite kolichestvo zapisey');

readln(kol);

for i:=1 to kol do

begin

write(' Vvedite fio studenta: ');

readln(s.fio);

write(' Vvedite otsenku po matematike: ');

readln(s.ot.mat);

write(' Vvedite otsenku po informatike: ');

readln(s.ot.inf);

write(F1,s);

end;

close(F1);

End;

Procedure vivod;

Var s:stud;

i:byte;

Begin

clrscr;

assign(F1,f_name);

reset(F1);

for i:=1 to kol do

begin

read(F1,s);

write(' FIO studenta: ',s.fio);

write(' Otsenka po matematike: ',s.ot.mat);

write(' Otsenka po informatike: ',s.ot.inf);

writeln;

end;

close(F1);

End;

Procedure dobav;

Var kold,i:byte;

s:stud;

Begin

clrscr;

assign(F1,f_name);

reset(F1);

seek(F1,filesize(F1));

write(' Vvedite kolichestvo dobavlyaemih zapisey');

readln(kold);

for i:=1 to kold do

begin

write(' Vvedite fio studenta: ');

readln(s.fio);

write(' Vvedite otsenku po matematike: ');

readln(s.ot.mat);

write(' Vvedite otsenku po informatike: ');

readln(s.ot.inf);

write(F1,s);

end;

close(F1);

kol:=kol+kold;

End;

Begin

clrscr;

vvod;

vivod;

dobav;

vivod;

readln;

End.

 

Примеры работы программы

Рисунок 1 – Пример работы программы LAB7 (А)

 

Рисунок 2 – Пример работы программы LAB7 (Б)

 

Рисунок 3 – Пример работы программы LAB7 (А)


Рисунок 4 – Пример работы программы LAB7 (А)

 


Рисунок 5 – Пример работы программы LAB7 (А)

 

 

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

1. Что такое «файл»?

Файл – поименованная область памяти на внешнем запоминающем устройстве, предназначенная для хранения данных.

2. Что такое «указатель текущей записи»?Это скрытая переменная (то есть неявно описанная вместе с файловой переменной), которая обозначает («указывает») на некоторый конкретный элемент файла.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.