UNITY Program Structure 5
Quantified assignment (quant_assign)
quant_assign ? ? || quant assign_stat ?
Quantification (quant)
quant ? variable_list: bool_expr ::
premenné z variable_list sa nazývajú viazané
rozsah quant je daný zátvorkami ? ?
“prípad vyhovujúci quant“ je mnozina hodnôt viazaných premenných pre ktoré platí bool_expr
quant_assign znamená nula alebo viac assign_comp získaných (z assign_stat) nahradením viazaných premenných ich „prípadmi“
„prípadov“ musí byt konecne vela
Príklady
- A[0..N], B[0..N] of int, treba priradit max(A[j], B[j]) do A[j]
? || j: 0 ? j ? N :: A[j] := max(A[j], B[j]) ?
- Priradenie jednotkovej matice do U[0..N, 0..N]
? || j, k: 0 ? j ? N ? 0 ? k ? N :: U[j, k] := 0 if j ? k ~ 1 if j = k ?
? || j, k: 0 ? j ? N ? 0 ? k ? N ? j ? k :: U[j, k] := 0 ? || ? || j: 0 ? j ? N :: U[j, j] := 1 ?
? || j: 0 ? j ? N :: U[j, j] := 1 || ? || k: 0 ? k ? N ? j ? k :: U[j, k] := 0 ??