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

Лабораторная работа № 8. Файлы

Задание 1. Определите, что выполняется в программе. В фигурных скобках укажите назначение команд.

Program Example15;

Uses crt;

Var f: text;

st: string;

Begin

Assign(f, 'C:\Example.txt'); {Связывает файловую переменнуюfс текстовым файлом}

Rewrite(f); {Создает файл для записи}

Writeln('Введите текст ');

Read(st);

Write(f, st); {Записывает значение переменнойstв файл}

Close(f);{Закрывает файл}

End.

Программа записывает введенный текст в текстовый файл.

Задание 2. Определите, что выполняется в программе и для чего предназначена командаAppend?

Program Example16;

Uses crt;

Var f: text;

i, n, x: integer;

Begin

Assign(f, 'C:\Example.txt');

Append(f); {Открывает файл для записи в конец файла}

Writeln('Введите количество чисел');

Readln(n);

Writeln('Введите числа');

for i:= 1 to n do Begin

Readln(x);

Write(f, x:4);

End;

Close(f);

End.

Программа задает числа и добавляет их в конец текстового файла.

Задание 3. Определите, что выполняется в программе. В фигурных скобках запишите назначение команд.

Program Example17;

Uses crt;

Var f: text;

st: string;

Begin

Clrscr;

Assign(f, 'C:\Example.txt');

Reset(f); {Открывает существующий файл для чтения}

While not EOF(f) do { Выполняет пока нет конца файла}

Begin

Readln(f, st);{Чтение из файла в переменнуюst}

Writeln(st);{Запись значенияstв файл}

End;

Close(f);

Readln

End.

Программа выводит текст из текстового файла.

Задание 4. Разработайте программу, которая создает файлdate.txtи записывает в негоnслучайных чисел в диапазоне от 5 до 30.

Листинг программы:

Program z84;

Uses crt;

Var f: text;

i, n, x: integer;

Begin

Assign(f,'date.txt');

Rewrite(f);

Writeln('Vvedite kolichestvo chisel');

Readln(n);

Randomize;

for i:=1 to n do Begin

x:=5+Random(26);

Write(f,x:4);

End;

Close(f);

Readln;

End.

Протокол выполнения программы:

Vveditekolichestvochisel

10

date.txt

29 29 8 18 20 14 18 23 17 7

Задание 5. Разработайте программу, которая считывает информацию из файлаdate.txt, находит максимальное число и общую сумму. Результат запишите в файлresult.txt.

Листинг программы:

Program z85;

Uses crt;

Var f1, f2: text;

x, S: integer;

Begin

Clrscr;

Assign(f1,'date2.txt');

Assign(f2,'result.txt');

Reset(f1);

Rewrite(f2);

S:=0;

While not EOF(f1) do

Begin

Readln(f1,x);

Write(x:5);

S:=S+x;

End;

Writeln;

Writeln('S=',S);

Writeln(f2,S);

Close(f1);

Close(f2);

Readln;

End.

Протокол выполнения программы:

date2.txt

1

2

3

4

5

result.txt

15

Лабораторная работа № 9. Записи

Задание 1. Наберите текст программы и познакомьтесь с типом данныхRecord. Определите, что выполняется в программе.

Program Example18;

Type STR= Record

Fam: string;

B1, B2, B3, B4, B5: 2..5;

SB: real;

End;

Var Tbl: array[1..50] of str;

i,n: integer;

Begin

Write('n=');

Readln(n);

For i:=1 to n do

Begin

Write('FIO:'); Readln (Tbl[i].FAM);

Write('Ozenki: ');Readln(Tbl[i].B1, Tbl[i].B2,Tbl[i].B3, Tbl[i].B4, Tbl[i].B5);

End;

Writeln('Sredniy ball');

For i:=1 to n do

Begin

Tbl[i].SB:=(Tbl[i].B1+Tbl[i].B2+Tbl[i].B3+ Tbl[i].B4+Tbl[i].B5)/5;

Writeln(Tbl[i].FAM,' – ', Tbl[i].SB:5:2);

End;

End.

В программе содержится много повторяющихся данных. Для её упрощения воспользуйтесь оператором присоединения With.

For i:= 1 to n do Begin

With Tbl[i] do Begin

Write('FIO:'); Readln (FAM);

Write('Ozenki: ');

Readln(B1, B2, B3, B4, B5);

End;

End;

Writeln('Sredniy ball');

For i:= 1 to n do Begin

With Tbl[i] do Begin

SB:= (B1+B2+B3+B4+B5)/5;

Writeln(FAM,' ',SB:5:2);

End;

End;

Программа вводит ФИО, оценки студентов и вычисляет средний балл.

Задание 2. Доработайте программу, чтобы данные о студентах и их средние баллы записывались в файл.

Листинг программы:

Program z92;

Type STR=Record

Fam: string;

B1, B2, B3, B4, B5: 2..5;

SB: real;

End;

Var Tbl: array[1..50] of str;

i, n: integer;

f: text;

Begin

Write('n=');

Readln(n);

Assign(f,'date.txt');

Rewrite(f);

For i:=1 to n do

With Tbl[i] do Begin

Write('FIO: '); Readln(Fam);

Write('Ozenki: ');

Readln(B1, B2, B3, B4, B5);

End;

Writeln('Sredniy ball');

For i:=1 to n do

With Tbl[i] do Begin

SB:=(B1+B2+B3+B4+B5)/5;

Writeln(Fam,' -',SB:5:2);

Writeln(f,Fam,' -',SB:5:2)

End;

Close(f);

Readln;

End.

Протокол выполнения программы:

n=3

FIO: IvanovPeterStepanovich

Ozenki: 3 4 4 4 5

FIO: Sidorov Oleg Sergeevich

Ozenki: 4 4 5 5 5

FIO: Mihailova Nina Yuryevna

Ozenki: 4 4 4 4 5

date.txt

Ivanov Peter Stepanovich - 4.00

Sidorov Oleg Sergeevich - 4.60

Mihailova Nina Yuryevna - 4.20

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