|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4096 (0x1000) Types: TextFile Names: »MORSE2.PAS«
└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer └─ ⟦this⟧ »MORSE2.PAS«
PROGRAM morse2; TYPE str255 = STRING(.255.); str78 = STRING(.78.); VAR klartekst : str255; tekst, tegn : str78; ch : CHAR; i, istart, islut, l : INTEGER; BEGIN WRITE(CLRHOM); WRITELN('Fra morsetekst til alm. tekst'); WRITELN; WRITELN('Kun prikker, streger og mellemrum er tilladt'); WRITELN('Evt. andre tegn vil blive opfattet som mellemrum'); WRITELN('Ulovlige morsetegn vil blive oversat til ''*'''); WRITELN('Indtast klarteksten (# alene stopper):'); WRITELN; klartekst := ''; REPEAT WRITE(': '); BUFLEN := 78; READLN(tekst); IF tekst <> '#' THEN BEGIN tekst := tekst + ' '; l := LEN(tekst); i := 1; REPEAT istart := i; WHILE (i < l) AND (tekst(.i.) <> '.') AND (tekst(.i.) <> '-') DO i := i + 1; islut := i; IF islut - istart > 1 THEN klartekst := klartekst + ' '; tegn := ''; WHILE (i < l) AND ((tekst(.i.) = '.') OR (tekst(.i.) = '-')) DO BEGIN tegn := tegn + tekst(.i.); i := i + 1; END; IF tegn <> '' THEN BEGIN IF tegn = '.' THEN ch := 'e' ELSE IF tegn = '-' THEN ch := 't' ELSE IF tegn = '..' THEN ch := 'i' ELSE IF tegn = '.-' THEN ch := 'a' ELSE IF tegn = '-.' THEN ch := 'n' ELSE IF tegn = '--' THEN ch := 'm' ELSE IF tegn = '...' THEN ch := 's' ELSE IF tegn = '..-' THEN ch := 'u' ELSE IF tegn = '.-.' THEN ch := 'r' ELSE IF tegn = '-..' THEN ch := 'd' ELSE IF tegn = '.--' THEN ch := 'w' ELSE IF tegn = '-.-' THEN ch := 'k' ELSE IF tegn = '--.' THEN ch := 'g' ELSE IF tegn = '---' THEN ch := 'o' ELSE IF tegn = '....' THEN ch := 'h' ELSE IF tegn = '-...' THEN ch := 'b' ELSE IF tegn = '.-..' THEN ch := 'l' ELSE IF tegn = '..-.' THEN ch := 'f' ELSE IF tegn = '...-' THEN ch := 'v' ELSE IF tegn = '--..' THEN ch := 'z' ELSE IF tegn = '-.-.' THEN ch := 'c' ELSE IF tegn = '-..-' THEN ch := 'x' ELSE IF tegn = '.--.' THEN ch := 'p' ELSE IF tegn = '.-.-' THEN ch := 'æ' ELSE IF tegn = '---.' THEN ch := 'ø' ELSE IF tegn = '--.-' THEN ch := 'q' ELSE IF tegn = '-.--' THEN ch := 'y' ELSE IF tegn = '.---' THEN ch := 'j' ELSE IF tegn = '.--.-' THEN ch := 'å' ELSE ch := '*'; klartekst := klartekst + ch; END; UNTIL i = l; END; (* IF *) klartekst := klartekst + ' '; UNTIL tekst = '#'; WRITELN; WRITELN(klartekst); END. «eof»