const al=7; ll=8; sl=30; true = 1; false = 0; scrrow=$d6; flags=$02b1; xreg=$02b3; yreg=$02b4; clrscrline=$e9ff; putrowcol=$e50a; var j, k, sum: integer ; id: array [al] of char ; line: array [ll] of char ; sums: array [sl] of integer ; function getsum; var i, s: integer ; begin s := 0; for i:= 0 to al - 1 do if id[i] >= 65 then s := s + id[i] - 64; getsum:= s; end ; procedure reset; var i: integer ; begin for i:=0 to al - 1 do id[i] := 32; j := 0; end ; procedure add(c); begin id[j] := c; write (chr(c)); j := j + 1; end ; procedure printsum(s); var i: integer; begin for i:= j to al - 1 do write (" "); write (" "); writeln (s); end ; procedure addsum(s); begin sums[k] := s; k := k + 1; end ; procedure input; var i, row: integer ; procedure top; begin row := memc [scrrow]; write (chr (19)); memc [xreg] := 0; call (clrscrline); write (chr (19)); end ; procedure back; begin memc [xreg] := row; memc [yreg] := 0; memc [flags] := 0; call (putrowcol); end ; begin reset; top; read (line); back; i := 0; while line[i] <> 13 do begin id[j] := line[i]; j := j + 1; i := i + 1; end ; for i:= 0 to j - 1 do write (chr(id[i])); end ; function used(s); var i, r: integer ; begin r := false; i := 0; while (i < k) and (r = false) do begin if sums[i] = s then r := true; i := i + 1; end ; used := r; end ; begin writeln (chr(147)); k := 0; (* const *) reset; add("c"); add("o"); add("n"); add("s"); add("t"); sum := getsum; printsum(sum); addsum(sum); (* var *) reset; add("v"); add("a"); add("r"); sum := getsum; printsum(sum); addsum(sum); (* begin *) reset; add("b"); add("e"); add("g"); add("i"); add("n"); sum := getsum; printsum(sum); addsum(sum); (* end *) reset; add("e"); add("n"); add("d"); sum := getsum; printsum(sum); addsum(sum); (* if *) reset; add("i"); add("f"); sum := getsum; printsum(sum); addsum(sum); (* then *) reset; add("t"); add("h"); add("e"); add("n"); sum := getsum; printsum(sum); addsum(sum); (* else *) reset; add("e"); add("l"); add("s"); add("e"); sum := getsum; printsum(sum); addsum(sum); (* while *) reset; add("w"); add("h"); add("i"); add("l"); add("e"); sum := getsum; printsum(sum); addsum(sum); (* do *) reset; add("d"); add("o"); sum := getsum; printsum(sum); addsum(sum); (* repeat *) reset; add("r"); add("e"); add("p"); add("e"); add("a"); add("t"); sum := getsum; printsum(sum); addsum(sum); (* until *) reset; add("u"); add("n"); add("t"); add("i"); add("l"); sum := getsum; printsum(sum); addsum(sum); (* write *) reset; add("w"); add("r"); add("i"); add("t"); add("e"); sum := getsum; printsum(sum); addsum(sum); (* eingabe *) while true do begin input; sum := getsum; printsum(sum); if used(sum) = false then begin writeln ("ok"); addsum(sum); end else writeln ("belegt"); end ; end .