Главная / Программирование /
Программирование на языке Pascal / Тест 7
Программирование на языке Pascal - тест 7
Упражнение 1:
Номер 1
Сколько полей содержится в записи man
?
type data = record day: 1..31;
month: 1..12;
year: 1900.. 2100;
end;
man = record name: string[20];
date_birth: data;
case citizen: boolean of
true: (birth_place: string[20]);
false: (country: string[20];
date_came: data);
end;
Ответ:
 (1) 5 
 (2) 6 
 (3) 10 
 (4) 3 или 4, в зависимости от значения citizen 
 (5) 4 или 5, в зависимости от значения citizen 
 (6) 6 или 9, в зависимости от значения citizen 
Номер 2
Сколько полей содержится в записи person
?
type data = record day: 1..31;
month: 1..12;
year: 1900.. 2100;
end;
person = record name: string[20];
date_birth: data;
case family_status: char of
'm': (wedding_date: data;
spouse_name: string[20]);
's': (church_celibate: boolean);
'd': (date_divorce: data;);
'w': (date_of_spouse_death: data);
end;
Ответ:
 (1) 4 
 (2) 5 
 (3) 8 
 (4) 3 или 4, в зависимости от значения family_status 
 (5) 4 или 5, в зависимости от значения family_status 
 (6) 8 или 9, в зависимости от значения family_status 
Номер 3
Сколько полей содержится в записи employee
?
type data = record day: 1..31;
month: 1..12;
year: 1900.. 2100;
end;
employee = record name: string[20];
date_entering: data;
case trade_union: boolean of
true: (date_enter: data;
leader: boolean);
false: (manager: boolean);
end;
Ответ:
 (1) 3 
 (2) 4 
 (3) 10 
 (4) 3 или 4, в зависимости от значения trade_union 
 (5) 4 или 5, в зависимости от значения trade_union 
 (6) 5 или 8, в зависимости от значения trade_union 
Упражнение 2:
Номер 1
Какое значение будет храниться в поле a
записи r1
после выполнения следующего блока?
var a: integer;
r1: record a: byte;
...
end;
r2: record a: shortint;
...
end;
begin
a:= 0;
with r1 do
begin
r2.a:= -10;
with r2 do
begin a:= 100;
r1.a:= -a;
end
end;
a:= 100;
end.
Ответ:
 (1) -100 
 (2) -10 
 (3) 0 
 (4) 10 
 (5) 100 
 (6) 156 
 (7) 246 
Номер 2
Какое значение будет храниться в поле a записи r1 после выполнения следующего блока?
var a: longint;
r1: record a: word;
...
end;
r2: record a: integer;
...
end;
begin
a:= 0;
with r1 do
begin
a:= 1000;
with r2 do
begin a:= 1000;
r1.a:= -a;
end;
r2.a:= -100;
end;
a:= 100;
end.
Ответ:
 (1) -1000 
 (2) -100 
 (3) 0 
 (4) 100 
 (5) 1000 
 (6) 64536 
 (7) 65436 
Номер 3
Какое значение будет храниться в поле a записи r2 после выполнения следующего блока?
var a: integer;
r1: record a: longint;
...
end;
r2: record a: byte;
...
end;
begin
a:= 0;
with r2 do
begin
a:= 10;
with r1 do
begin a:= -r2.a;
r2.a:= 100;
end;
a:= r1.a;
end;
a:= -100;
end.
Ответ:
 (1) -100 
 (2) -10 
 (3) 0 
 (4) 10 
 (5) 100 
 (6) 156 
 (7) 246 
Упражнение 3:
Номер 1
С текстовыми файлами могут работать файловые переменные, описанные следующим образом:
Ответ:
 (1) var f: text 
 (2) var f: file of <тип_элементов> 
 (3) var f: file 
Номер 2
С типизированными файлами могут работать файловые переменные, описанные следующим образом:
Ответ:
 (1) var f: text 
 (2) var f: file of <тип_элементов> 
 (3) var f: file 
Номер 3
С бинарными файлами могут работать файловые переменные, описанные следующим образом:
Ответ:
 (1) var f: text 
 (2) var f: file of <тип_элементов> 
 (3) var f: file 
Упражнение 4:
Номер 1
Чтобы иметь возможность считывать информацию из бинарного файла, его нужно открыть при помощи команды
Ответ:
 (1) append(f) 
 (2) close(f) 
 (3) reset(f) 
 (4) rewrite(f) 
Номер 2
Чтобы иметь возможность записывать информацию в бинарный файл, его нужно открыть при помощи команды
Ответ:
 (1) append(f) 
 (2) close(f) 
 (3) rewrite(f) 
Номер 3
Чтобы иметь возможность одновременно считывать информацию из текстового файла и записывать ее туда, файл нужно открыть при помощи команды
Ответ:
 (1) append(f) 
 (2) close(f) 
 (3) reset(f) 
 (4) rewrite(f) 
Упражнение 5:
Номер 1
Какая последовательность символов будет содержаться в файле f: file of char после выполнения следующего отрывка программы:
rewrite(f);
for c:= 'a' to 'p' do write(f,c); {c: char}
seek(f,10);
read(f,c);
write(f,c);
seek(f,15);
truncate(f);
write(f,c);
Ответ:
 (1) abcdefghijklmnop 
 (2) abcdefghijklmno 
 (3) abcdefghijkkmnok 
 (4) abcdefghijklmnopk 
Номер 2
Какая последовательность символов будет содержаться в файле f: file of char после выполнения следующего отрывка программы:
rewrite(f);
for c:= 'а' to 'р' do write(f,c); {c: char}
seek(f,10);
read(f,c);
truncate(f);
seek(f,15);
write(f,c);
Ответ:
 (1) абвгдежзийклмноп 
 (2) абвгдежзийклмнок 
 (3) абвгдежзийлмнопрк 
 (4) абвгдежзийклмнопк 
Номер 3
Какая последовательность символов будет содержаться в файле f: file of char после выполнения следующего отрывка программы:
rewrite(f);
for c:= '0' to '9' do write(f,c); {c: char}
seek(f,5);
read(f,c);
write(f,c);
seek(f,3);
truncate(f);
seek(f,9);
write(f,c);
Ответ:
 (1) 0123456785 
 (2) 0123455789 
 (3) 0123455785 
 (4) 0123456789