 
        
        Программирование на Pascal / Delphi / Лабораторные работы1 / Лаба№6
.docУфимский государственный авиационный технический университет
Кафедра Информатики
Лабораторная работа №6
Turbo Pascal 7.0
“Процедуры и Функции”
“ Записи и Файлы”
Студент ИНЕК
Группа К-122
Кизка Н.Д.
Проверила:
Филосова Е.И.
Уфа
2006г.
Вариант 3
Записи и Файлы.
Задача № 1
Program ochenka;
uses crt;
type
str=record
fam:string[30];
ots:array[1..10] of integer;
gruppa:1..15;
kurs:1..5;
kolcem:1..10;
godroz:1985..1989;
godpo:1990..1995;
end;
var
tbl:array[1..4] of str;
y:str;
i,j,k,m:integer;
x,r:real;
pr:byte;
begin
clrscr;
for i:=1 to 4 do
with tbl[i] do
begin
writeln('vvedite famili');
readln(fam);
writeln('vvedite kol semestrov');
readln(kolcem);
for j:=1 to kolcem do
begin
writeln('vvedite ocenki');
readln(ots[j]);
end;
writeln('vvedite gruppu');
readln(gruppa);
writeln('vvedite godpostuplenia');
readln(godpo);
writeln('vvedite god rozdenia');
readln(godroz);
writeln('vvedite kurs');
readln(kurs);
end;
for i:=1 to 4 do
with tbl[i] do
begin
k:=0;
for j:=1 to kolcem do
if ots[j]=3 then k:=k+1;
end;
if k:=1 then writeln(fam);
End;
end.
1.Могут ли компоненты записи быть различных типов?
2.Как осуществляется доступ к полям записи?
3.Могут ли записи входить компонентами в состав других переменных?
4.Поясните правила применения оператора CASE.
5.Поясните правила применения оператора WITH.
6.Что такое составной оператор?
7.Как можно сократить длину идентификаторов при обработке нескольких
записей?
8.Приведите пример работы с массивом записей.
9.Какие типы данных могут быть использованы в качестве полей записей?
10.Формат описания данных типа «Запись»?
11.Как присвоить все значения одной переменной типа «Запись» другой пере-
менной типа «Запись»?
12.Как присвоить значения отдельным полям записи?
13.Приведите пример формата записи, в качестве одного из полей которой ис-
пользуются данные типа «Запись».
14.Опишите формат данных для представления следующей информации:
- лекция (предмет, преподаватель, шифр группы, день недели, время про-
Ответы:
1) Да.
2) Record.
3) Да.
4) Оператор case задает особое поле записи – поле признака, определяющее какой из вариантов в данный момент будет активирован.
5) Оператор присоединения with позволяет осуществлять доступ к компонентам записи таким образом как если бы они были обычными переменными.
7) Использовать оператор with.
8) type
str = record
fam: string[35]
end;
var gruppa: array[1..30] of str
9) Массивы и др. записи.
10) type <имя типа> =Record
<индитификатор поля>: <тип компонент>;
end;
var < индитификатор> :<имя типа>;
11) St1:=St2
12) Используется оператор присвоения St1:=’Сидоров’
13)
14)
Файлы.
- 
- 
1) Что такое «типизированный файл»? 
- 
2) Что такое «нетипизированный файл»? 
- 
3) Что такое «текстовый файл»? 
- 
4) Что такое «указатель файла»? 
- 
5) Как установить указатель файла в требуемую позицию? 
- 
6) Для каких типов файлов можно устанавливать позицию указателя файла? 
- 
7) Какие процедуры предназначены для открытия типизированного файла? 
- 
8) Какие процедуры предназначены для открытия текстового файла? 
- 
9) Какие процедуры и в какой последовательности надо вызывать для чтения данных из типизированного файла? 
- 
10) Как задать размер блока для нетипизированного файла? 
- 
11) Какими процедурами выполняется чтение и запись для нетипизированных файлов? 
- 
12) Какие функции позволяют узнать текущее положение указателя в файле? 
- 
13) Как определить возникновение какой-либо ошибки при работе с файлами? 
- 
Это файл содержащий компоненты одного конкретного типа единица обмена информации является один элемент. 
- 
Это файл содержащий любые типы данных. Позволяет производить за одну операцию чтения/записи сразу нескольких элементов. 
- 
Это файл содержащий строки текста различной длинны чтение или запись осуществляется построчно. 
- 
Это маркер показывающий с какой позиции будет производиться чтение/записи в файл. 
- 
File pos 
Seek
- 
Любых. 
- 
ReSet/ReWrite 
- 
ReSet/ReWrite Appened 
- 
Assign->Apend->Write/Writeln->Close 
Assign->ReSet->Read->Close
10) В процедуре ReSet указать размер блока.
11) Чтение BlockRead аналогично для Записи.
12) File Pos Eof
13)
Задание№2
Создать файл, содержащий не более 100 случайных целых чисел. Выполнить сортировку чисел по возрастанию.
