Letter frequency: Difference between revisions
Content added Content deleted
No edit summary |
No edit summary |
||
Line 1,919: | Line 1,919: | ||
(letter-freq "test.lisp")</lang> |
(letter-freq "test.lisp")</lang> |
||
=={{header|COBOL}}== |
|||
<lang COBOL> |
|||
IDENTIFICATION DIVISION. |
|||
PROGRAM-ID. Letter-Frequency. |
|||
AUTHOR. Bill Gunshannon. |
|||
INSTALLATION. Home. |
|||
DATE-WRITTEN. 12 December 2021. |
|||
************************************************************ |
|||
** Program Abstract: |
|||
** A rather simplistic program to do the kind of thing |
|||
** that COBOL does really well. |
|||
************************************************************ |
|||
ENVIRONMENT DIVISION. |
|||
INPUT-OUTPUT SECTION. |
|||
FILE-CONTROL. |
|||
SELECT Text-File ASSIGN TO "File.txt" |
|||
ORGANIZATION IS LINE SEQUENTIAL. |
|||
DATA DIVISION. |
|||
FILE SECTION. |
|||
FD Text-File |
|||
DATA RECORD IS Record-Name. |
|||
01 Record-Name PIC X(80). |
|||
WORKING-STORAGE SECTION. |
|||
01 Eof PIC X VALUE 'F'. |
|||
01 Letter-cnt. |
|||
05 A-cnt PIC 9(5) VALUE 0. |
|||
05 B-cnt PIC 9(5) VALUE 0. |
|||
05 C-cnt PIC 9(5) VALUE 0. |
|||
05 D-cnt PIC 9(5) VALUE 0. |
|||
05 E-cnt PIC 9(5) VALUE 0. |
|||
05 F-cnt PIC 9(5) VALUE 0. |
|||
05 G-cnt PIC 9(5) VALUE 0. |
|||
05 H-cnt PIC 9(5) VALUE 0. |
|||
05 I-cnt PIC 9(5) VALUE 0. |
|||
05 J-cnt PIC 9(5) VALUE 0. |
|||
05 K-cnt PIC 9(5) VALUE 0. |
|||
05 L-cnt PIC 9(5) VALUE 0. |
|||
05 M-cnt PIC 9(5) VALUE 0. |
|||
05 N-cnt PIC 9(5) VALUE 0. |
|||
05 O-cnt PIC 9(5) VALUE 0. |
|||
05 P-cnt PIC 9(5) VALUE 0. |
|||
05 Q-cnt PIC 9(5) VALUE 0. |
|||
05 R-cnt PIC 9(5) VALUE 0. |
|||
05 S-cnt PIC 9(5) VALUE 0. |
|||
05 T-cnt PIC 9(5) VALUE 0. |
|||
05 U-cnt PIC 9(5) VALUE 0. |
|||
05 V-cnt PIC 9(5) VALUE 0. |
|||
05 W-cnt PIC 9(5) VALUE 0. |
|||
05 X-cnt PIC 9(5) VALUE 0. |
|||
05 Y-cnt PIC 9(5) VALUE 0. |
|||
05 Z-cnt PIC 9(5) VALUE 0. |
|||
01 Letter-disp. |
|||
05 A-cnt PIC ZZZZ9. |
|||
05 B-cnt PIC ZZZZ9. |
|||
05 C-cnt PIC ZZZZ9. |
|||
05 D-cnt PIC ZZZZ9. |
|||
05 E-cnt PIC ZZZZ9. |
|||
05 F-cnt PIC ZZZZ9. |
|||
05 G-cnt PIC ZZZZ9. |
|||
05 H-cnt PIC ZZZZ9. |
|||
05 I-cnt PIC ZZZZ9. |
|||
05 J-cnt PIC ZZZZ9. |
|||
05 K-cnt PIC ZZZZ9. |
|||
05 L-cnt PIC ZZZZ9. |
|||
05 M-cnt PIC ZZZZ9. |
|||
05 N-cnt PIC ZZZZ9. |
|||
05 O-cnt PIC ZZZZ9. |
|||
05 P-cnt PIC ZZZZ9. |
|||
05 Q-cnt PIC ZZZZ9. |
|||
05 R-cnt PIC ZZZZ9. |
|||
05 S-cnt PIC ZZZZ9. |
|||
05 T-cnt PIC ZZZZ9. |
|||
05 U-cnt PIC ZZZZ9. |
|||
05 V-cnt PIC ZZZZ9. |
|||
05 W-cnt PIC ZZZZ9. |
|||
05 X-cnt PIC ZZZZ9. |
|||
05 Y-cnt PIC ZZZZ9. |
|||
05 Z-cnt PIC ZZZZ9. |
|||
PROCEDURE DIVISION. |
|||
Main-Program. |
|||
OPEN INPUT Text-File |
|||
PERFORM UNTIL Eof = 'T' |
|||
READ Text-File |
|||
AT END MOVE 'T' to Eof |
|||
END-READ |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING A-cnt OF Letter-cnt FOR ALL 'A' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING B-cnt OF Letter-cnt FOR ALL 'B' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING C-cnt OF Letter-cnt FOR ALL 'C' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING D-cnt OF Letter-cnt FOR ALL 'D' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING E-cnt OF Letter-cnt FOR ALL 'E' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING F-cnt OF Letter-cnt FOR ALL 'F' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING G-cnt OF Letter-cnt FOR ALL 'G' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING H-cnt OF Letter-cnt FOR ALL 'H' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING I-cnt OF Letter-cnt FOR ALL 'I' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING J-cnt OF Letter-cnt FOR ALL 'J' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING K-cnt OF Letter-cnt FOR ALL 'K' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING L-cnt OF Letter-cnt FOR ALL 'L' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING M-cnt OF Letter-cnt FOR ALL 'M' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING N-cnt OF Letter-cnt FOR ALL 'N' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING O-cnt OF Letter-cnt FOR ALL 'O' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING P-cnt OF Letter-cnt FOR ALL 'P' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING Q-cnt OF Letter-cnt FOR ALL 'Q' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING R-cnt OF Letter-cnt FOR ALL 'R' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING S-cnt OF Letter-cnt FOR ALL 'S' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING T-cnt OF Letter-cnt FOR ALL 'T' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING U-cnt OF Letter-cnt FOR ALL 'U' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING V-cnt OF Letter-cnt FOR ALL 'V' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING W-cnt OF Letter-cnt FOR ALL 'W' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING X-cnt OF Letter-cnt FOR ALL 'X' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING Y-cnt OF Letter-cnt FOR ALL 'Y' |
|||
INSPECT FUNCTION UPPER-CASE(Record-Name) |
|||
TALLYING Z-cnt OF Letter-cnt FOR ALL 'Z' |
|||
END-PERFORM. |
|||
CLOSE Text-File. |
|||
MOVE CORRESPONDING Letter-cnt To Letter-disp. |
|||
DISPLAY 'Letter Frequency Distribution'. |
|||
DISPLAY '-----------------------------'. |
|||
DISPLAY 'A : ' A-cnt OF Letter-disp ' ' |
|||
'N : ' N-cnt OF Letter-disp. |
|||
DISPLAY 'B : ' B-cnt OF Letter-disp ' ' |
|||
'O : ' O-cnt OF Letter-disp. |
|||
DISPLAY 'C : ' C-cnt OF Letter-disp ' ' |
|||
'P : ' P-cnt OF Letter-disp. |
|||
DISPLAY 'D : ' D-cnt OF Letter-disp ' ' |
|||
'Q : ' Q-cnt OF Letter-disp. |
|||
DISPLAY 'E : ' E-cnt OF Letter-disp ' ' |
|||
'R : ' R-cnt OF Letter-disp. |
|||
DISPLAY 'F : ' F-cnt OF Letter-disp ' ' |
|||
'S : ' S-cnt OF Letter-disp. |
|||
DISPLAY 'G : ' G-cnt OF Letter-disp ' ' |
|||
'T : ' T-cnt OF Letter-disp. |
|||
DISPLAY 'H : ' H-cnt OF Letter-disp ' ' |
|||
'U : ' U-cnt OF Letter-disp. |
|||
DISPLAY 'I : ' I-cnt OF Letter-disp ' ' |
|||
'V : ' V-cnt OF Letter-disp. |
|||
DISPLAY 'J : ' J-cnt OF Letter-disp ' ' |
|||
'W : ' W-cnt OF Letter-disp. |
|||
DISPLAY 'K : ' K-cnt OF Letter-disp ' ' |
|||
'X : ' X-cnt OF Letter-disp. |
|||
DISPLAY 'L : ' L-cnt OF Letter-disp ' ' |
|||
'Y : ' Y-cnt OF Letter-disp. |
|||
DISPLAY 'M : ' M-cnt OF Letter-disp ' ' |
|||
'Z : ' Z-cnt OF Letter-disp. |
|||
STOP RUN. |
|||
END-PROGRAM. |
|||
>/lang> |
|||
{{out}} |
|||
<pre> |
|||
Letter Frequency Distribution |
|||
----------------------------- |
|||
A : 416 N : 434 |
|||
B : 120 O : 545 |
|||
C : 316 P : 215 |
|||
D : 267 Q : 12 |
|||
E : 679 R : 436 |
|||
F : 122 S : 432 |
|||
G : 171 T : 493 |
|||
H : 131 U : 180 |
|||
I : 429 V : 57 |
|||
J : 12 W : 97 |
|||
K : 17 X : 35 |
|||
L : 303 Y : 50 |
|||
M : 162 Z : 60 |
|||
</pre> |
|||
=={{header|Component Pascal}}== |
=={{header|Component Pascal}}== |