DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦f64c85192⟧

    Length: 5056 (0x13c0)
    Notes: Mikados TextFile, Mikados_K
    Names: »MORSE2«

Derivation

└─⟦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« 

Text

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 // ".--.-"