Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
48
Task/Pangram-checker/Component-Pascal/pangram-checker.pas
Normal file
48
Task/Pangram-checker/Component-Pascal/pangram-checker.pas
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
MODULE BbtPangramChecker;
|
||||
IMPORT StdLog,DevCommanders,TextMappers;
|
||||
|
||||
PROCEDURE Check(str: ARRAY OF CHAR): BOOLEAN;
|
||||
CONST
|
||||
letters = 26;
|
||||
VAR
|
||||
i,j: INTEGER;
|
||||
status: ARRAY letters OF BOOLEAN;
|
||||
resp : BOOLEAN;
|
||||
BEGIN
|
||||
FOR i := 0 TO LEN(status) -1 DO status[i] := FALSE END;
|
||||
|
||||
FOR i := 0 TO LEN(str) - 1 DO
|
||||
j := ORD(CAP(str[i])) - ORD('A');
|
||||
IF (0 <= j) & (25 >= j) & ~status[j] THEN status[j] := TRUE END
|
||||
END;
|
||||
|
||||
resp := TRUE;
|
||||
FOR i := 0 TO LEN(status) - 1 DO;
|
||||
resp := resp & status[i]
|
||||
END;
|
||||
RETURN resp;
|
||||
END Check;
|
||||
|
||||
PROCEDURE Do*;
|
||||
VAR
|
||||
params: DevCommanders.Par;
|
||||
s: TextMappers.Scanner;
|
||||
BEGIN
|
||||
params := DevCommanders.par;
|
||||
s.ConnectTo(params.text);
|
||||
s.SetPos(params.beg);
|
||||
s.Scan;
|
||||
WHILE (~s.rider.eot) DO
|
||||
IF (s.type = TextMappers.char) & (s.char = '~') THEN
|
||||
RETURN
|
||||
ELSIF (s.type # TextMappers.string) THEN
|
||||
StdLog.String("Invalid parameter");StdLog.Ln
|
||||
ELSE
|
||||
StdLog.Char("'");StdLog.String(s.string + "' is pangram?:> ");
|
||||
StdLog.Bool(Check(s.string));StdLog.Ln
|
||||
END;
|
||||
s.Scan
|
||||
END
|
||||
END Do;
|
||||
|
||||
END BbtPangramChecker.
|
||||
Loading…
Add table
Add a link
Reference in a new issue