|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5056 (0x13c0) Notes: Mikados TextFile, Mikados_K Names: »MORSE2«
└─⟦92e6f589c⟧ Bits:30003895/4xCOMAL3b.imd 4 * COMAL - SPC/1 - Disketter til bogen └─⟦this⟧ »MORSE2« └─⟦faca42ef2⟧ Bits:30003895/4xCOMAL1.imd 4 * COMAL - SPC/1 - Disketter til bogen └─⟦this⟧ »MORSE2«
0010 // ------------------------ morse_2 ---------------------- 0020 // Programmet omsætter en morsetekst til alm. tekst. 0030 DIM TEKST$ OF 80,TEGN$ OF 30,KLARTEKST$ OF 200,B$ OF 1 0040 // 0050 CLEAR 0060 CURSOR 30,4 0070 PRINT " M O R S E ." 0080 CURSOR 30,5 0090 PRINT "------------" 0100 CURSOR 10,8 0110 PRINT "Kun prikker, streger og mellemrum er tilladt." 0120 CURSOR 10,9 0130 PRINT "Evt. andre tegn vil blive opfattet som mellemrum." 0140 CURSOR 10,10 0150 PRINT "Ulovlige morsetegn vil blive udskrevet som '*'" 0160 CURSOR 10,11 0170 PRINT "Indtast morseteksten ( 2 gange 'return' stopper):" 0180 PRINT 0190 TÆLLER:=0 0200 TEKST$:="" 0210 WHILE TEKST$<>"*" DO 0220 INPUT TEKST$ 0230 L:=LEN(TEKST$) 0240 TEKST$(L+1:1):="*" 0250 I:=1 0260 WHILE TEKST$(I:1)<>"." AND TEKST$(I:1)<>"-" AND I<LEN(TEKST$) DO 0270 I:=I+1 0280 ENDWHILE 0290 WHILE I<LEN(TEKST$) DO 0300 TEGN$:="" 0310 J:=1 0320 WHILE I<LEN(TEKST$) AND (TEKST$(I:1)="." OR TEKST$(I:1)="-") DO 0330 TEGN$(J:1):=TEKST$(I:1) 0340 I:=I+1;J:=J+1 0350 ENDWHILE 0360 TÆLLER:=TÆLLER+1 0370 IF LEN(TEGN$)>5 THEN 0380 KLARTEKST$(TÆLLER:1):="*" 0390 ELSE // nyt bogstav fundet 0400 EXEC BOGSTAV(TEGN$) 0410 ENDIF 0420 ISTART:=I 0430 WHILE I<LEN(TEKST$) AND TEKST$(I:1)<>"." AND TEKST$(I:1)<>"-" DO 0440 I:=I+1 0450 ENDWHILE 0460 ISLUT:=I 0470 IF ISLUT-ISTART>1 THEN // nyt ord starter 0480 TÆLLER:=TÆLLER+1 0490 KLARTEKST$(TÆLLER:1):=" " 0510 ENDWHILE 0520 TÆLLER:=TÆLLER+1 0530 KLARTEKST$(TÆLLER:1):=" " 0540 ENDWHILE 0550 PRINT KLARTEKST$ 0560 // 0570 PROC BOGSTAV(TGN$) 0580 CASE TGN$ OF 0590 WHEN "." 0600 B$:="e" 0610 WHEN "-" 0620 B$:="t" 0630 WHEN ".." 0640 B$:="i" 0650 WHEN ".-" 0660 B$:="a" 0670 WHEN "-." 0680 B$:="n" 0690 WHEN "--" 0700 B$:="m" 0710 WHEN "..." 0720 B$:="s" 0730 WHEN "..-" 0740 B$:="u" 0750 WHEN ".-." 0760 B$:="r" 0770 WHEN "-.." 0780 B$:="d" 0790 WHEN ".--" 0800 B$:="w" 0810 WHEN "-.-" 0820 B$:="k" 0830 WHEN "--." 0840 B$:="g" 0850 WHEN "---" 0860 B$:="o" 0870 WHEN "-..." 0880 B$:="b" 0890 WHEN "-.-." 0900 B$:="c" 0910 WHEN "..-." 0920 B$:="f" 0930 WHEN "...." 0940 B$:="h" 0950 WHEN ".---" 0960 B$:="j" 0970 WHEN ".-.." 0980 B$:="l" 0990 WHEN ".--." 1000 B$:="p" 1010 WHEN "--.-" 1020 B$:="q" 1030 WHEN "...-" 1040 B$:="v" 1050 WHEN "-..-" 1060 B$:="x" 1070 WHEN "-.--" 1080 B$:="y" 1090 WHEN "--.." 1100 B$:="z" 1110 WHEN ".-.-" 1120 B$:="æ" 1130 WHEN "---." 1140 B$:="ø" 1150 WHEN ".--.-" 1160 B$:="å" 1170 OTHERWISE 1180 B$:="*" 1190 ENDCASE 1200 KLARTEKST$(TÆLLER):=B$ 1210 ENDPROC BOGSTAV =057 // ".--.-"