nextupprevious

Next:3.2 Построение ветвящихся программ
Up:3.1 Средства для организации
Previous:3.1.4 Доказательство свойств ветвящихся


3.1.5 Упражнения

1. Указать, какое из приведенных ниже значений будет у переменной $Z$ после исполнения условного оператора

if$>$ 0 then if$>$ 0 then Z := 1 else Z := 2 end end,

если до его выполнения $X,Y$ и $Z$ имели значениями 1, 1 и 0 соответственно:

(1) 0;
(2) 1;
(3) 2.

2. Пусть $A,B,C,D$ -- переменные целого, вещественного, логического и литерного типа соответственно. Указать, какие из приведенных ниже операторов выбора не содержат ошибок:

(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$>$ 0 then X := Y end { X = B },

(2) { Z = C } if$>$ 0 then if$>$ 0 then Z := 1 else Z := 2 end end { ((X $>$ 0) $\wedge$ (Y $>$ 0) $\wedge$ (Z = 1)) $\vee$ (( X $>$ 0) $\wedge$ ( Y $\leq$ 0 ) $\wedge$ (Z = 2)) $\vee$ ((X $\leq$ 0) $\wedge$ (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) $\wedge$ (X $>$ Y)) $\vee$ (((X + Y = 2) $\vee$ (X + Y = 3)) $\wedge$ (Z $>$ Y)) $\vee$ (( X + Y = 4) $\wedge$ (X $>$ Z) }.

4. Пусть $В1$ и $В2$ обозначают некоторые выражения, $S1, S2, S3$ и $S4$ -- операторы,  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 обозначают некоторые логические выражения, а $S$ -- оператор. Выразить выражение 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. Записать условный оператор $S$, для которого при любых вещественных $А$ и $В$ справедливо свойство {x = A, y = B} S { x = A, y = F(A)},
где $F$ обозначает следующую функцию:

7. Записать оператор выбора $S$, для которого при любых целых A, B и C, таких, что $F(A,B,C)$ определено, справедливо свойство { x = A, y = B, z = C} S { x = A, y = B, z = F(A,B,C) },
где $F$ обозначает следующую функцию:

8. Сформулировать правило вывода свойств для условного оператора в сокращенной форме, т.е. условного оператора вида if B then S end.

9. Сформулировать правило вывода свойств для оператора выбора case B of 1,3: S1; 2,4:S2 else S3 end.

10. Доказать справедливость следующего свойства:
{ True } if$>$ Y then if$>$ X then W := Z else W := X end else case$<$ Y of
True: W := Y; False: W := Z end end{ W $\geq$ X, W $\geq$ Y, W $\geq$ Z }.
 

Next:3.2 Построение ветвящихся программ
Up:3.1 Средства для организации
Previous:3.1.4 Доказательство свойств ветвящихся



© В.Н. Касьянов, Е.В.Касьянова, 2004