Commodore Computer Club – Anno 3 Numero 9 – Marzo 1983 – Basic V2
Proseguono i contributi di Francesco Sblendorio, che ringraziamo nuovamente per la collaborazione e per la volontá di preservare i listati BASIC per Commodore 64 pubblicati sulla prestigiosa rivista Commodore Computer Club.
Dopo il gioco Canestro, uno dei primi contributi di RetroLiPS, é la volta di un piccolo programma didattico per la suddivisione in sillabe!
Titolo: Divisione in sillabe
Piattaforma: Commodore 64
Linguaggio: Basic
Versione originale: Franco Musso
Pubblicazione: Commodore Computer Club 09
Anno: 1983
Trascrizione: Francesco Sblendorio
Anno: 2021
Download: sillabe
Note: Il codice presentato puó essere testato sul sito di Francesco Sblendorio: sillabe
Scopo del programma
Questa volta ci troviamo di fronte ad un programma didattico. La divisone in sillabe é un concetto che quasi tutti abbiamo imparato alle scuole elementari, ma al giorno d’oggi, con i prgrammi di scrittura super evoluti, probabilmente non la utilizziamo piú…
Qui di seguito trovate il codice da copiare sul vostro Commodore 64.
Il codice originale é modificato per essere copiato su CBM prg Studio. Gli Screen Codes presenti nel listato originale, sono stati manualmente sostituiti da quelli standard utilizzati da CBM prg Studio.
Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘>’ e ‘<’. Nel caso, sostituite questi valori direttamente su CBM prg Studio.
Listato: Sillabe – Commodore 64 – Basic V2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 100 rem ***********************
110 rem divisione in sillabe.
120 rem per qualsiasi computer
130 rem
140 rem di franco musso
150 rem via torino 27
160 rem orio canavese (to)
170 rem tel 011/9838044
180 rem ***********************
200 print"{clear}"
210 s=1:print"{down}"
220 input"{reverse on}vocabolo{reverse off}";a$:print
230 ifa$="0"thenend
240 ifs>len(a$)thenprint"{left} ":goto210
250 x$=mid$(a$,s,1):gosub460
260 ifa=0then430
270 x$=mid$(a$,s+1,1):gosub460
280 ifa=0then360
290 ifx$="i"then320
300 ifmid$(a$,s,1)="i"ormid$(a$,s,1)="u"then430
310 goto440
320 x$=mid$(a$,s+2,1):gosub460
330 ifs>1thenifmid$(a$,s-1,2)="qu"anda=-1thenprintmid$(a$,s,2);:s=s+2:goto240
340 ifa=-1then440
350 goto430
360 ifs+2>len(a$)then450
370 x$=mid$(a$,s+2,1):gosub460
380 ifa=-1then440
390 ifmid$(a$,s+1,1)=mid$(a$,s+2,1)then450
400 a1$=mid$(a$,s+1,1):ifa1$="s"ora1$="g"then440
410 rem a2$=mid$(a$,s+2,1):ifa2$="r"ora2$="l"ora2$="h"then440
420 goto450
430 printmid$(a$,s,1);:s=s+1:goto240
440 printmid$(a$,s,1);"-";:s=s+1:goto240
450 printmid$(a$,s,2);"-";:s=s+2:goto240
460 a=x$="a"orx$="e"orx$="i"orx$="o"orx$="u":return