игра брюс 2048
Главная / Программирование / Программирование на языке 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 




Главная / Программирование / Программирование на языке Pascal / Тест 3