Программирование на 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 случайных целых чисел. Выполнить сортировку чисел по возрастанию.