Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
42
Task/Pangram-checker/Modula-2/pangram-checker.mod2
Normal file
42
Task/Pangram-checker/Modula-2/pangram-checker.mod2
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
MODULE Pangrams;
|
||||
FROM InOut IMPORT WriteString, WriteLn;
|
||||
FROM Strings IMPORT Length;
|
||||
|
||||
(* Check if a string is a pangram *)
|
||||
PROCEDURE pangram(s: ARRAY OF CHAR): BOOLEAN;
|
||||
VAR letters: ARRAY [0..25] OF BOOLEAN;
|
||||
i: CARDINAL;
|
||||
BEGIN
|
||||
FOR i := 0 TO 25 DO letters[i] := FALSE; END;
|
||||
FOR i := 0 TO Length(s)-1 DO
|
||||
IF (s[i] >= 'A') AND (s[i] <= 'Z') THEN
|
||||
letters[ORD(s[i]) - ORD('A')] := TRUE;
|
||||
ELSIF (s[i] >= 'a') AND (s[i] <= 'z') THEN
|
||||
letters[ORD(s[i]) - ORD('a')] := TRUE;
|
||||
END;
|
||||
END;
|
||||
FOR i := 0 TO 25 DO
|
||||
IF NOT letters[i] THEN
|
||||
RETURN FALSE;
|
||||
END;
|
||||
END;
|
||||
RETURN TRUE;
|
||||
END pangram;
|
||||
|
||||
PROCEDURE example(s: ARRAY OF CHAR);
|
||||
BEGIN
|
||||
WriteString("'");
|
||||
WriteString(s);
|
||||
WriteString("' is ");
|
||||
IF NOT pangram(s) THEN
|
||||
WriteString("not ");
|
||||
END;
|
||||
WriteString("a pangram.");
|
||||
WriteLn();
|
||||
END example;
|
||||
|
||||
BEGIN
|
||||
example("The quick brown fox jumps over the lazy dog");
|
||||
example("The five boxing wizards dump quickly");
|
||||
example("abcdefghijklmnopqrstuvwxyz");
|
||||
END Pangrams.
|
||||
Loading…
Add table
Add a link
Reference in a new issue