Главная / Программирование /
Программирование на языке Pascal / Тест 3
Программирование на языке Pascal - тест 3
Упражнение 1:
Номер 1
Какие значения будет принимать переменная z
, в зависимости от значений переменной а
?
z:= -10;
if a>0
then if a>100
then if a>200
then z:=0
else z:= 20
else z:=100;
Ответ:
 (1) a <= 0 : 100
0 < a <= 100 : 20
100 < a <= 200 : 0
200 < a : -10 
 (2) a <= 0 : -10
0 < a <= 100 : 100
100 < a <= 200 : 20
200 < a : 0 
 (3) a <= 0 : 100
0 < a <= 100 : 0
100 < a <= 200 : -10
200 < a : 20 
Номер 2
Какие значения будет принимать переменная z
, в зависимости от значений переменной а
?
z:= 0;
if a>10
then if a>100
then if a>1000
then z:= 1
else z:= -1
else z:= 10;
Ответ:
 (1) a <= 10 : 10
10 < a <= 100 : 0
100 < a <= 1000 : -1
1000 < a : 1 
 (2) a <= 10 : 10
10 < a <= 100 : -1
100 < a <= 1000 : 1
1000 < a : 0 
 (3) a <= 10 : 0
10 < a <= 100 : 10
100 < a <= 1000 : -1
1000 < a : 1 
Номер 3
Какие значения будет принимать переменная z
, в зависимости от значений переменной а
?
z:= -1;
if a<100
then if a<10
then if a<1
then z:=0
else z:= 10
else z:= 100;
Ответ:
 (1) 1) a < 1 : 0
1 <= a < 10 : 10
10 <= a < 100 : -1
100 <= a : 100 
 (2) 2) a < 1 : 0
1 <= a < 10 : -1
10 <= a < 100 : 10
100 <= a : 100
 
 (3) 3) a < 1 : 0
1 <= a < 10 : 10
10 <= a < 100 : 100
100 <= a : -1 
Упражнение 2:
Номер 1
К каким типам данных может относиться переменная-переключатель, служащая для выбора одной из ветвей оператора case
?
Ответ:
 (1) byte 
 (2) word 
 (3) longint 
 (4) string 
 (5) double 
 (6) boolean 
 (7) array 
 (8) text 
Номер 2
К каким типам данных может относиться переменная-переключатель, служащая для выбора одной из ветвей оператора case
?
Ответ:
 (1) char 
 (2) integer 
 (3) shortint 
 (4) real 
 (5) record 
 (6) file 
Номер 3
К каким типам данных может относиться переменная-переключатель, служащая для выбора одной из ветвей оператора case
?
Ответ:
 (1) byte 
 (2) boolean 
 (3) longint 
 (4) string[2] 
 (5) extended 
 (6) set 
 (7) word 
 (8) file of integer 
Упражнение 3:
Номер 1
Какие описания массивов являются правильными с точки зрения компилятора языка Pascal?
Ответ:
 (1) var a2: array[100..-100] of real
 
 (2) const n: byte = 200;
var a5: array[1..n] of word 
 (3) const m1 = 20; m2 = m1 - 100;
var a6: array[m2..m1] of 'A'..'z' 
 (4) type mass = array[1..100] of boolean;
var a7: array[1..100] of mass 
 (5) var a8: array[integer] of -1..1,10
 
 (6) var a9: array[1.0..20.0] of byte
 
Номер 2
Какие описания массивов являются правильными с точки зрения компилятора языка Pascal?
Ответ:
 (1) var a1: array[-1000..50] of integer;
 
 (2) var a2: array[200..-111] of real;
 
 (3) const n: byte = 0;
var a5: array[-1000..n] of word; 
 (4) const m1 = 20; m2 = m1*100;
var a6: array[m1..m2] of -200..200; 
 (5) type mass = array[1..100] of char;
var a7: array[0..99] of mass; 
 (6) var a9: array[0.0..20000.0] of byte;
 
Номер 3
Какие описания массивов являются правильными с точки зрения компилятора языка Pascal?
Ответ:
 (1) var a1: array[-1..-5000] of integer
 
 (2) var a2: array[-100..0] of char
 
 (3) var a3: array[char,4..5,boolean] of word
 
 (4) const n: byte = -10;
var a5: array[1..-2*n] of byte 
 (5) const m1:= -10; m2:= m1 + 10;
var a6: array[m2..m1] of 'A'..'z' 
 (6) type mass = array[-10..10] of double;
var a7: array[-10..10] of mass 
 (7) var a8: array[longint] of -1..1,10
 
 (8) var a9: array[-100.0..20.0] of char
 
Упражнение 4:
Номер 1
Сколько операций сложения будет произведено при выполнении этого цикла, если k = 10?
for i:= k to k+10 do a:= a+2
Ответ:
 (1) 11 
 (2) 12 
 (3) 23 
 (4) 34 
Номер 2
Сколько операций умножения будет произведено при выполнении этого цикла, если k = 10
?
for i:= 2*k to 5*k do a:= a*2
Ответ:
 (1) 32 
 (2) 33 
 (3) 61 
 (4) 63 
Упражнение 5:
Номер 1
Какие циклы будут работать "бесконечно"?
Ответ:
 (1) while true do k:=k+1 
 (2) while false do k:=k+1 
 (3) repeat k:=k+1 until true 
 (4) repeat k:=k+1 until false 
 (5) k:=0; repeat k:=k+1 until k<0; {k:byte} 
 (6) k:=0; repeat k:=k+1 until k<0; {k:integer} 
 (7) k:=1; while k>=0 do k:=k+1; {k:word} 
 (8) k:=1; while k>=0 do k:=k+1; {k:shortint} 
 (9) for i:=1 to i+1 do k:=k+1 
 (10) for i:='x' downto 'z' do dec(i) 
Номер 2
Какие циклы будут работать "бесконечно"?
Ответ:
 (1) while true do k:=k*2 
 (2) while false do k:=k*2 
 (3) repeat k:=k*2 until true 
 (4) repeat k:=k*2 until false 
 (5) c:='h'; for i:='a' to 'c' do inc(c,2) 
Номер 3
Какие циклы будут работать "бесконечно"?
Ответ:
 (1) while true do k:=k-10
 
 (2) while false do k:=k-10
 
 (3) repeat k:=k-10 until true
 
 (4) repeat k:=k-10 until false
 
 (5) k:=0; repeat k:=k-10 until k<0; {k:byte}
 
 (6) k:=0; repeat k:=k-10 until k<0; {k:longint}
 
 (7) k:=100; while k>=0 do k:=k-10; {k:word}
 
 (8) k:=100; while k>=0 do k:=k-10; {k:shortint}
 
 (9) for i:=1 to 10*n do n:=n+1