diff options
Diffstat (limited to 'THT/B/QG-2014/dic.pp')
-rw-r--r-- | THT/B/QG-2014/dic.pp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/THT/B/QG-2014/dic.pp b/THT/B/QG-2014/dic.pp deleted file mode 100644 index 716249d..0000000 --- a/THT/B/QG-2014/dic.pp +++ /dev/null @@ -1,96 +0,0 @@ -unit dic; -interface - function count_char(c: char): longint; - function get_char_at_pos(x: longint): char; - procedure answer(s: string); - -implementation -var - secret_word: string; - words: array [1..1000000] of string; - total_cost, n: longint; - -procedure answer(s: string); -begin - if s = secret_word then - begin - writeln('Chuc mung ban da tim ra dap an chinh xac la "', s, '"'); - writeln('Chi phi ban da su dung la ', total_cost); - end - else - begin - writeln('Dap an ban dua ra la "', s, '"'); - writeln('Dap an chinh xac la "', secret_word, '"'); - end; - halt; -end; - -procedure cost_limit_exceed; -begin - writeln('Chi phi ban da su dung vuot qua chi phi toi da cho phep'); - halt; -end; - -function count_char(c: char): longint; -var - i, res: longint; -begin - total_cost := total_cost + 1; - if (total_cost > 1000) then - cost_limit_exceed; - res := 0; - for i := 1 to length(secret_word) do - if secret_word[i] = c then - inc(res); - exit(res); -end; - -function get_char_at_pos(x: longint): char; -begin - total_cost := total_cost + 10; - if (total_cost > 1000) then - cost_limit_exceed; - if (x < 1) or (x > length(secret_word)) then - exit('#'); - exit(secret_word[x]); -end; - -procedure check_secret_word; -var - f: text; - i: longint; - ok: boolean; -begin - assign(f, 'DIC.DAT'); - reset(f); - while not seekeof(f) do - begin - inc(n); - readln(f, words[n]); - end; - close(f); - ok := false; - for i := 1 to n do - if words[i] = secret_word then ok := true; - if not ok then - begin - writeln('Du lieu duoc khoi tao khong chinh xac. Dap an can tim khong nam trong tu dien'); - halt; - end; -end; - -procedure init; -begin - writeln; - writeln(' TU DIEN '); - writeln('*****************'); - writeln; - - secret_word := 'cat'; - total_cost := 0; - check_secret_word; -end; - -initialization - init; -end. |