00000000: 70 72 6F 67 72 61 6D 20 7A 65 69 63 68 65 6E 3B |program zeichen;|
00000010: 0D 28 2A 20 6C 69 65 73 74 20 7A 65 69 63 68 65 |.(* liest zeiche|
00000020: 6E 20 76 6F 6E 20 64 65 72 20 74 61 73 74 61 74 |n von der tastat|
00000030: 75 72 20 75 6E 64 20 7A 61 65 68 6C 74 20 64 69 |ur und zaehlt di|
00000040: 65 0D 20 20 76 6F 72 67 65 66 75 6E 64 65 6E 65 |e. vorgefundene|
00000050: 6E 20 7A 65 69 63 68 65 6E 20 6E 61 63 68 20 6B |n zeichen nach k|
00000060: 61 74 65 67 6F 72 69 65 6E 20 2A 29 0D 76 61 72 |ategorien *).var|
00000070: 20 67 72 6F 73 73 2C 20 6B 6C 65 69 6E 2C 20 7A | gross, klein, z|
00000080: 69 66 66 65 72 2C 20 73 6F 6E 64 65 72 7A 65 69 |iffer, sonderzei|
00000090: 63 68 65 6E 3A 20 73 65 74 20 6F 66 20 63 68 61 |chen: set of cha|
000000A0: 72 3B 0D 20 20 20 20 67 2C 6B 2C 7A 2C 73 3A 69 |r;. g,k,z,s:i|
000000B0: 6E 74 65 67 65 72 3B 0D 20 20 20 20 7A 65 69 63 |nteger;. zeic|
000000C0: 68 65 6E 3A 20 63 68 61 72 3B 0D 28 2A 20 2A 29 |hen: char;.(* *)|
000000D0: 0D 62 65 67 69 6E 0D 28 2A 20 69 6E 69 74 69 61 |.begin.(* initia|
000000E0: 6C 69 73 69 65 72 65 6E 20 2A 29 0D 67 72 6F 73 |lisieren *).gros|
000000F0: 73 3A 3D 5B 27 41 27 2E 2E 27 5A 27 5D 3B 0D 6B |s:=['A'..'Z'];.k|
00000100: 6C 65 69 6E 3A 3D 5B 27 61 27 2E 2E 27 7A 27 5D |lein:=['a'..'z']|
00000110: 3B 0D 7A 69 66 66 65 72 3A 3D 5B 27 30 27 2E 2E |;.ziffer:=['0'..|
00000120: 27 39 27 5D 3B 0D 67 3A 3D 30 3B 0D 6B 3A 3D 30 |'9'];.g:=0;.k:=0|
00000130: 3B 0D 7A 3A 3D 30 3B 0D 73 3A 3D 30 3B 0D 7A 65 |;.z:=0;.s:=0;.ze|
00000140: 69 63 68 65 6E 3A 3D 27 A0 27 3B 0D 28 2A 0D 20 |ichen:='.';.(*. |
00000150: 20 20 74 65 73 74 20 75 65 62 65 72 6E 65 68 6D | test uebernehm|
00000160: 65 6E 20 75 6E 64 20 61 75 73 77 65 72 74 65 6E |en und auswerten|
00000170: 0D 2A 29 0D 77 72 69 74 65 6C 6E 28 27 67 65 62 |.*).writeln('geb|
00000180: 65 6E 20 73 69 65 20 64 65 6E 20 74 65 78 74 20 |en sie den text |
00000190: 65 69 6E 3A 27 29 3B 0D 72 65 61 64 28 7A 65 69 |ein:');.read(zei|
000001A0: 63 68 65 6E 29 3B 0D 77 68 69 6C 65 20 7A 65 69 |chen);.while zei|
000001B0: 63 68 65 6E 20 3C 3E 20 27 23 27 20 64 6F 0D 20 |chen <> '#' do. |
000001C0: 20 62 65 67 69 6E 0D 20 20 20 20 72 65 70 65 61 | begin. repea|
000001D0: 74 0D 20 20 20 20 20 20 20 20 69 66 20 7A 65 69 |t. if zei|
000001E0: 63 68 65 6E 20 69 6E 20 67 72 6F 73 73 20 74 68 |chen in gross th|
000001F0: 65 6E 20 67 3A 3D 73 75 63 63 28 67 29 0D 20 20 |en g:=succ(g). |
00000200: 20 20 20 20 20 20 65 6C 73 65 0D 20 20 20 20 20 | else. |
00000210: 20 20 20 69 66 20 7A 65 69 63 68 65 6E 20 69 6E | if zeichen in|
00000220: 20 6B 6C 65 69 6E 20 74 68 65 6E 20 6B 3A 3D 73 | klein then k:=s|
00000230: 75 63 63 28 6B 29 0D 20 20 20 20 20 20 20 20 65 |ucc(k). e|
00000240: 6C 73 65 0D 20 20 20 20 20 20 20 20 69 66 20 7A |lse. if z|
00000250: 65 69 63 68 65 6E 20 69 6E 20 7A 69 66 66 65 72 |eichen in ziffer|
00000260: 20 74 68 65 6E 20 7A 3A 3D 73 75 63 63 28 7A 29 | then z:=succ(z)|
00000270: 0D 20 20 20 20 20 20 20 20 65 6C 73 65 20 73 3A |. else s:|
00000280: 3D 73 75 63 63 28 73 29 3B 0D 20 20 20 20 72 65 |=succ(s);. re|
00000290: 61 64 28 7A 65 69 63 68 65 6E 29 3B 0D 20 20 20 |ad(zeichen);. |
000002A0: 20 75 6E 74 69 6C 20 65 6F 6C 6E 3B 0D 20 20 20 | until eoln;. |
000002B0: 72 65 61 64 6C 6E 0D 65 6E 64 3B 0D 28 2A 0D 20 |readln.end;.(*. |
000002C0: 20 20 65 72 67 65 62 6E 69 73 20 61 75 73 64 72 | ergebnis ausdr|
000002D0: 75 63 6B 65 6E 0D 2A 29 0D 77 72 69 74 65 6C 6E |ucken.*).writeln|
000002E0: 3B 0D 77 72 69 74 65 6C 6E 28 27 67 65 66 75 6E |;.writeln('gefun|
000002F0: 64 65 6E 20 77 75 72 64 65 6E 27 29 3B 0D 77 72 |den wurden');.wr|
00000300: 69 74 65 6C 6E 28 67 3A 35 2C 27 20 67 72 6F 73 |iteln(g:5,' gros|
00000310: 73 62 75 63 68 73 74 61 62 65 6E 27 29 3B 0D 77 |sbuchstaben');.w|
00000320: 72 69 74 65 6C 6E 28 6B 3A 35 2C 27 20 6B 6C 65 |riteln(k:5,' kle|
00000330: 69 6E 62 75 63 68 73 74 61 62 65 6E 27 29 3B 0D |inbuchstaben');.|
00000340: 77 72 69 74 65 6C 6E 28 7A 3A 35 2C 27 20 7A 69 |writeln(z:5,' zi|
00000350: 66 66 65 72 6E 27 29 3B 0D 77 72 69 74 65 6C 6E |ffern');.writeln|
00000360: 28 73 3A 35 2C 27 20 73 6F 6E 64 65 72 7A 65 69 |(s:5,' sonderzei|
00000370: 63 68 65 6E 27 29 3B 0D 77 72 69 74 65 6C 6E 28 |chen');.writeln(|
00000380: 67 2B 6B 2B 7A 2B 73 3A 35 2C 27 20 7A 65 69 63 |g+k+z+s:5,' zeic|
00000390: 68 65 6E 20 69 6E 73 67 65 73 61 6D 74 27 29 0D |hen insgesamt').|
000003A0: 65 6E 64 2E 20 28 2A 7A 65 69 63 68 65 6E 2A 29 |end. (*zeichen*)|
000003B0: 0D |. |
PROGRAM ZEICHEN;.(* LIEST ZEICHEN VON DE
R TASTATUR UND ZAEHLT DIE. VORGEFUNDENE
N ZEICHEN NACH KATEGORIEN *).VAR GROSS,
KLEIN, ZIFFER, SONDERZEICHEN: SET OF CHA
R;. G,K,Z,S:INTEGER;. ZEICHEN: CHA
R;.(* *).BEGIN.(* INITIALISIEREN *).GROS
S:=['A'..'Z'];.KLEIN:=['A'..'Z'];.ZIFFER
:=['0'..'9'];.G:=0;.K:=0;.Z:=0;.S:=0;.ZE
ICHEN:=' ';.(*. TEST UEBERNEHMEN UND A
USWERTEN.*).WRITELN('GEBEN SIE DEN TEXT
EIN:');.READ(ZEICHEN);.WHILE ZEICHEN <>
'#' DO. BEGIN. REPEAT. IF ZEI
CHEN IN GROSS THEN G:=SUCC(G). EL
SE. IF ZEICHEN IN KLEIN THEN K:=S
UCC(K). ELSE. IF ZEICHEN I
N ZIFFER THEN Z:=SUCC(Z). ELSE S:
=SUCC(S);. READ(ZEICHEN);. UNTIL E
OLN;. READLN.END;.(*. ERGEBNIS AUSDR
UCKEN.*).WRITELN;.WRITELN('GEFUNDEN WURD
EN');.WRITELN(G:5,' GROSSBUCHSTABEN');.W
RITELN(K:5,' KLEINBUCHSTABEN');.WRITELN(
Z:5,' ZIFFERN');.WRITELN(S:5,' SONDERZEI
CHEN');.WRITELN(G+K+Z+S:5,' ZEICHEN INSG
ESAMT').END. (*ZEICHEN*).
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL