Next:3.2
Построение ветвящихся программ
Up:3.1
Средства для организации
Previous:3.1.4
Доказательство свойств ветвящихся
if X 0 then if Y 0 then Z := 1 else Z := 2 end end,
если до его выполнения и имели значениями 1, 1 и 0 соответственно:
(1) 0;
(2) 1;
(3) 2.
2. Пусть -- переменные целого, вещественного, логического и литерного типа соответственно. Указать, какие из приведенных ниже операторов выбора не содержат ошибок:
(1) case A of 1,2:B := 3.14; 3:; 5,4:C := B
2.0 end;
(2) case C of True: C := D + 'C' | False: else end;
(3) case A mod 6 of 2..5:B := 2.3| 0:B:= 0| 1:B:=-1.2
end;
(4) case chr(abs(A) mod 15) of '+', '-': case
D of '',
'+', '/', '-','!' :A := 1| '=', ':':A := 2| 'A':A := 3 end| '*','/'
:D := '1' end;
(5) case B of 1.2 : A := 1| 5.4 : A := 2 end;
(6) case B of 1:A := A+1| 2 : A := 15 end.
3. Указать, какие из приведенных ниже свойств имеют место для любых целых чисел A, B и C:
(1) { X = A, Y = B } if X 0 then X := Y end { X = B },
(2) { Z = C } if X 0 then if Y 0 then Z := 1 else Z := 2 end end { ((X 0) (Y 0) (Z = 1)) (( X 0) ( Y 0 ) (Z = 2)) ((X 0) (Z = C))},
(3) { X Y, Z = C, X = A, Y = B } case X + Y of 1:; 2,3: Z :=A; 4 : Z := B end { ((X + Y = 1) (X Y)) (((X + Y = 2) (X + Y = 3)) (Z Y)) (( X + Y = 4) (X Z) }.
4. Пусть и обозначают некоторые выражения, и -- операторы, K1, K2, K3, K4 и K5 -- некоторые константы. Записать операторы выбора, эквивалентные условным операторам
if B1 then S1 else S2 end и if B1 then S1 end ,
а также условный оператор, эквивалентный оператору выбора
case B2 of K1:S1| K2,K3:S2| K4,K5:S3 end.
5. Пусть B1, B2 и B3 обозначают некоторые логические выражения, а -- оператор. Выразить выражение B3 через выражения B1 и B2, если оператор if B3 then S end эквивалентен оператору
(1) if B1 then if B2 then S end;
(2) if B1 then S else if B2 then
S end end.
6. Записать условный оператор ,
для которого при любых вещественных
и
справедливо свойство {x = A, y = B} S { x = A, y = F(A)},
где
обозначает следующую функцию:
7. Записать оператор выбора ,
для которого при любых целых A, B и C, таких, что
определено, справедливо свойство { x = A, y = B, z = C} S { x = A, y =
B, z = F(A,B,C) },
где
обозначает следующую функцию:
8. Сформулировать правило вывода свойств для условного оператора в сокращенной форме, т.е. условного оператора вида if B then S end.
9. Сформулировать правило вывода свойств для оператора выбора case B of 1,3: S1; 2,4:S2 else S3 end.
10. Доказать справедливость следующего свойства:
{ True } if X
Y then if Z
X then W := Z else W := X end else case Z
Y of
True: W := Y; False: W := Z end end{ W
X, W
Y, W
Z }.
Next:3.2
Построение ветвящихся программ
Up:3.1
Средства для организации
Previous:3.1.4
Доказательство свойств ветвящихся