Главная / Программирование /
Программирование на языке Pascal / Тест 15
Программирование на языке Pascal - тест 15
Упражнение 1:
Номер 1
Какие имена переменных являются наиболее предпочтительными с точки зрения надежного программирования?
Ответ:
 (1) z1, z2 
 (2) rasst, cena1 
 (3) rasstojanie, cena_za_1_kilometr 
Номер 2
Какие имена переменных являются наиболее предпочтительными с точки зрения надежного программирования?
Ответ:
 (1) dl, sh 
 (2) dlina, shirina 
 (3) dlina_priamougolnika, shirina_priamougolnika 
Номер 3
Какие имена переменных являются наиболее предпочтительными с точки зрения надежного программирования?
Ответ:
 (1) k,v 
 (2) kol, ves 
 (3) kolichestvo, obshij_ves 
Упражнение 2:
Номер 1
Какие из приведенных ниже отрывков программ хорошо структурированы?1)
procedure step(v,k: byte; r: longint);
var j: byte;
begin
if r < min then
if k = N-1
then min:= r
else for j:= 1 to N do
if (sm[v,j]<>0)and(mark[j]=0)
then begin
mark[j]:= 1;
step(j,k+1,r+sm[v,j]);
mark[j]:= 0
end;
end;
2)
for i:= 1 to N-1 do
begin
for x:= 1 to N do
if (sm[last,x]<>0)and(not done[x])
then dist[x]:= min(dist[x],dist[last]+sm[last,x]);
min_dist:= MaxLongInt;
for x:= 1 to N do
if (not done[x])and(min>dist[x])
then begin min_dist:= dist[x];
last:= x; end;
done[last]:= true;
end;
3)
while head<>nil do begin
with head^.e^ do
if from^.dist+len < toward^.dist then begin
toward^.dist:= from^.dist + len;
enqueue(toward,queue,head);
end;
next_head:= head ^.next;
dispose(head);
head:= next_head
end;
4)
procedure infix(var p: ukaz);
begin
read(c);
case c of
'(' : begin new(p); infix(p^.left) end;
'+','-',*','/' : begin p^.symbol:= c;
infix(p^.right)
end;
')' : {ничего не делаем};
else begin p^.symbol:= c;
p^.right:= nil;
p^.left:= nil;
end;
end;
end;
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 3
Какие из приведенных ниже отрывков программ хорошо структурированы?1)
while not eof(f) do
begin inc(n);
read(f,a[n]);
inc(obsh_ves,a[n]);
end;
close(f);
min:= MaxLongInt;
2)
while head<>nil do begin
with head^.e^ do
if from^.dist+len < toward^.dist
then begin
toward^.dist:= from^.dist + len;
enqueue(toward,queue,head);
end;
next_head:= head ^.next;
dispose(head);
head:= next_head
end;
3)
while left<=right do
begin
sred:= (left+right)div 2;
if a[sred]<x then left:= sred+1
else begin right:= sred-1;
inc(k);
end;
end;
for j:= i-1 downto left do a[j+1]:= a[j];
4)
while p<>nil do begin
j:=p^.v;
a[j]:=k;
if (head[j]<>nil) and (i<>j) then begin
q:=p;
while q^.next<>nil do q:=q^.next;
q^.next:=head[j];
head[j]:=nil;
end;
p:=p^.next;
end;
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Упражнение 3:
Номер 1
Полный тестовый набор для переменной целого типа, значение которой по условию решаемой задачи лежит в диапазоне [0..100], может включать тесты со следующими значениями этой переменной:
Ответ:
 (1) -1 
 (2) 0 
 (3) 20 
 (4) 100 
 (5) 1000 
 (6) 10.0 
 (7) ‘c’ 
Номер 3
Полный тестовый набор для переменной вещественного типа, значение которой по условиям решаемой задачи лежит в диапазоне [0..100], может включать тесты со следующими значениями этой переменной:
Ответ:
 (1) -1.09 
 (2) 0.0 
 (3) 10.54 
 (4) 50 
 (5) 100.0 
 (6) 1000 
 (7) ‘c’ 
Упражнение 4:
Номер 1
Процесс поиска и исправления синтаксических и логических ошибок в программе называется
Ответ:
 (1) отладкой 
 (2) тестированием 
 (3) оптимизацией 
Номер 2
Процесс изменения текста программы с целью повышения ее эффективности называется
Ответ:
 (1) отладкой 
 (2) тестированием 
 (3) оптимизацией 
Номер 3
Процесс выполнения программы на специально подобранных входных данных и сравнения полученных результатов с эталонными называется
Ответ:
 (1) отладкой 
 (2) тестированием 
 (3) оптимизацией