• Non ci sono risultati.

Programmi per PC128 OLIVETII PRODEST. Piero T odorovich - Pierina Loddo. GRUPPO EDITORIALE JACKSON Via Rosellin Milano

N/A
N/A
Protected

Academic year: 2022

Condividi "Programmi per PC128 OLIVETII PRODEST. Piero T odorovich - Pierina Loddo. GRUPPO EDITORIALE JACKSON Via Rosellin Milano"

Copied!
133
0
0

Testo completo

(1)
(2)
(3)

Programmi per

PC128

OLIVETII PRODEST

Piero T odorovich - Pierina Loddo

(4)

© Copyright per l'edizione originale:

Gruppo Editoriale Jackson - Maggio 1987 Redattore di collana: Mauro Risani

Videoimpaginazione: Moreno Confalone Copertina: Emiliano Bernasconi

Stampa: Rotolito Lombarda - Cologno Monzese

Tutti i diritti sono riservati. Nessuna parte di questo libro può essere riprodotta memorizzata in sistemi di archivio.o trasmessa tramite qualsiasi

mezzo,elettronico,fotocopia, registrazione o altri senza la preventiva autorizzazione scritta dell'editore.

2

(5)

PREFAZIONE

Possedere un persona! computer, e' forse il mezzo migliore per cominciare a muovere i primi passi nell'immenso, attuale mondo informatico. Infatti, troppo spesso, viviamo da spettatori incantati, piuttosto che da protagonisti partecipi. Il PC 128, per le sue eccezionali doti didattiche e la praticita' d'uso, puo' es- sere considerato il computer piu' adatto all'apprendimento della programmazione, nonche' alla sperimentazione pratica di come puo' effettivamente esserci utile l'elaboratore nella vi- ta quotidianà, nel gioco, nella gestione di dati, ecc .. L'approc- cio, inizialmente frustrante, con una macchina ed un linguag- gio sconosciuto ed all'apparenza incomprensibile come il BA- SIC, rivelera' presto, a chi sapra' superare i primissimi scogli, infinite possibilita', nonche' l'importantissimo feed-back positi- vo sul proprio modo di pensare.

Un'idea confusa puo' talvolta governare le nostre azioni, ma, un progetto poco chiaro non potra' mai trasformarsi in un pro- gramma funzionante. Impariamo quindi ad usare il computer imparando ad essere piu' coincisi, ad analizzare correttamen- te un problema, riducendolo ad un insieme logico di operazio- ni che il computer potra' eseguire senza fallo, utilizzando ap- pieno le proprie capacita'. La difficolta' principale di chi segue la strada dell'autoapprendimento, consiste spesso nella man- canza di documentazione ed esempi pratici di programmazio- ne, da cui ricavare insegnamento ed una migliore padronanza nell'uso delle singole istruzioni o della loro interazione in un programma.

(6)

Con questo libro ci proponiamo di fornire al lettore una compie~

ta raccolta di programmi, che potra' essere una preziosa fonte di esempi, da cui attingere esperienza e sicurezza per i propri lavori. Grazie alle spiegazioni del testo ed ai listati presentati, ciascun programma potra' essere facilmente modificato, studia- to o adattato a diverse applicazioni.

Gli Autori

4

(7)

GUIDA ALL'USO DEI PROGRAMMI

Tutti i programmi presentati possono essere caricati su compu- ter, sia ricopiando il listato pubblicato, sia utilizzando la cas- sett::. allegata al libro. Sul nastro, i programmi, sono registrati in sequenza sul lato A della cassetta, con nome abbreviato simile a quello esposto nell'indice. Per il caricamento si consi- glia di seguire questa semplice procedura:

-premere il tasto di RESET

-selezionare dal menu iniziale il BASIC 128 pre mendo il tasto 1

-battere: LOAD -premere il tasto ENT

-premere PLAY sul registratore ed attendere il caricamento

-a caricamento terminato, premere il tasto STOP sul registratore ed awiare il programma con il comando RUN.

Per poter raggiungere velocemente qualsiasi programma sen- za dover visionare ogni volta quelli che lo precedono sul na- stro, e' consigliabile segnare la posizione d'inizio con il conta- giri per utilizzarla nei successivi caricamenti.

Alcuni programmi del libro (archivio, quiz, ecc.) prevedono la possibilita' di registrare i dati su nastro come file sequenziali, per tale scopo, occorre usare una cassetta diversa da quella del libro. Qualora si intendesse usare frequentemente qualcu- no dei programmi, si consiglia di salvarlo su di una cassetta di lavoro.

(8)

Titoli programmi PC 128

Programmatore Caratteri Grafici Indovina la Parola

Calendario Gioco del Sasso Intervista

Bioritmi Monitor Archivio Libri Dracula Adventure Bilancio Familiare Quiz Master Diagrammi Crittografia Effetti Grafici Anagramma Quiz Animali Business Graphic Numeri Romani Codice Colore Grafico 30 BlackJack

Agenda telefonica

6

(9)

I CALENDARIO I

La misura del tempo ha assillato l'umanita' da data immemora- bile; in mancanza di osservazioni astronomiche precise, l'an- no calcolato dall'uomo ha dovuto subire molti ritocchi prima di poter rappresentare effettivamente l'esatto periodo di rivoluzio- ne della terra intorno al sole. L'anno "Gregoriano" attualmente in vigore, prevede ogni quattro anni il cosiddetto anno bisesti- le, per recuperare con un giorno in piu', l'errore accumulato.

Per ulteriore precisione solo gli anni secolari divisibili per 400 sono bisestili (1600, 2000); ultima correzione (speriamo) intro- dotta da Gregorio Xlii nel 1582.

Il calcolo, tutt'altro che immediato, della durata dell'anno, non- che' della corrispondenza tra giorni del mese e giorni della set- timana, e' realizzato da questo semplice programma "Calenda- rio". Premendo i tasti cursore alto-basso e' possibile incremen- tare o decrementare l'anno visualizzato, premendo i tasti curso- re sinistra-destra e' possibile visualizzare tutti i mesi.

Premendo il tasto "P" si atterra' infine la stampa su carta di quanto visualizzato sullo schermo. Il tasto "O" termina l'esecu- zione del programma.

(10)

Commento alle linee del programma

80-120

preparazione dei vettori contenenti i dati 140

anno e mese visualizzati all'inizio 160-270

calcolo principale 280-420

visualizzazione su schermo 430-510

lettura della tastiera 580-660

subroutine di stampa

8

(11)

10 REM

******************

20 REM

* *

30 REM

*

CALENDARIO

*

40 REM

* *

50 REM

******************

60 l:;:EM

70 DIMMS<12>,D1<12) 80 REM INIZIALIZZAZIONE

9Ci ;.: -.. t,::·c·J·f.:' '[ .:._ J. UC· , F'"lFJ:::::lTfì1':.i.·PF"DM~~'T) •, . ·-- . U , • 1 --r· :: :~;: r\ ::-. .... :,::H(' ···t D.,.., .... .J1·1:., , r' ·,: .. '' J. .! : ... :;, ·t;IE·.:. .. 01 ' l ' ·NFYT ~ 1 .... • ...

1 1 n ... ~ ·.~: ,... :· l DATn e ... '':!° .:., Genn,~o ~, FPbbra~o ~8 M~r-0 ~1 ·~. : : · : ::' ~-·-' ~ ~ [.:.: ~·e ~~ .;.~\ ... , i~: } ·~:· ~:~ ~ :~ ~ , 1-1 ~J 1 1 .. ... ...: ,, ... e ,, 11 c:1 y 1 .. p. u , .... l , _, i u 1,~ n u , ... , L. u q . .1. u , ... 1

0 ~~~~~~~f~~~~~~ 7 ~~~~,~~:o~t:b~=~3~~Novem

J: :::;;:; ~Er!t' :e um, l....ur 1 ., !1<::11 ,, t 1·~·!1 , .. :i.1. u, v .·,!r1 ,, .... ~ .. ::ib

140 YF(:::: 1987: MT:::.,4

150 CLS:SCREEN 1,15.15

160 I FYF: / 4:= I NT ( \if;.· / 4) THEND 1 ( :;:: ) :::::29EU:'ìED l ( :?

) =<?8

170 X=YR:N=MT-3~J=12:GOSUB250:MM=L:IFMM>

9THENX==X-··1

180 N=X:J=400:GOSUB250:X=L

190 X4=INT(X/4l:Xl=INT!X/100>:KY=X+X4-X1

~N=MM:J=5:GOSUB250:K2=1....

200 M5=INT(MM/5l:M2=INTCK2/2)

210 N=K2~J=2:GOSUB250:P=l 220 KM=13*M5+5*M2+3*P

230 N=KY+KM+3:J=7:GOSUB250:B=l+1

240 GClT0280

250 K=INT<NJJ>:L=N-K*J

260 IFL<OTHENL=L+J

270 l:;:ETUF~:N

280 LClCATE6.0:PRINTMSCMT>;TAB<25>;YR

290 PRINT:C~1 . .

:::;/)0 B$ ( B) :::::1~·i$ ( B) +C$+" 1 8 l '.-5 22":: DT::::

29: DD$:=" '.29"

31 O GOE}UB!7:i20 320 GOSl.JB~:i40

330 IF C>7 THEN GOTO 420

:;;.40 B$ !Et):::{~$ <B> +[:'$.+" 2 9 1.6 · 23": DT="' :::;;o: DD$=" :::::o"

350 GOSUB520:GOSUB540

~.::;60 B$<B>=P1$(B)+C$+11 3 10 17 :?4":DT=

:~;1: DD$::::" ::::111

370 GOSUB520:GOSUB540

:::::so B$ !B) =P1$ <B> +C$+" 4 1 l 18 25" ~ GOS

UB~540

::-:~90 fl$(B)=?V:t(B)+C$+" ~s 12 19 :.?6":Gm:;

LJB540

400 B$ ( D) :::f.;$ < D) +Cii+ 11 b l ::;:; 20 27 11 : GOEì UB!'540

41

o

D~f; O:~)~'"(-)$

o:n

+C·:fi+ Il 7 14 2 l 2!3" : GOS LJB540

420 FCJJ=.:I=1TD7:PFUNTTP1BC6)R:fi(J:)" ":PH

INT:F'PINT:MEXT

lJ.:30 C$== 11• 11 : S::::ASC ( I NKE\'~i+CHF:$ <O) )

(12)

10

440 J F"Eìc:: 1 OTHEl.,J'YR:::::YP· 1.: GOTO l é)O

450 IFS=9THENMT=MT+1:IFMT>12THENMT=1:YR=

YR~1:GOf0160ELSE160

4L,o I FEì::::: :I. :i. Tl··IENYh'.="-YF(t· l : GOTO l 60

470 IFS=8THENMT=MT-l:lFMT<1THENMT=12:YR=

YR-1:GOT0160ELBE160

·-:'.!HO ''

490 IFS=81 OR 8=113 THENCLS:END

500 JFS=BO OR 8=112 THEN580

:=:-i 1 O bClHJ,~.:30

520 IFDl CMTl>=DT THEN 8$CBJ=B$(Bl·~DD$

~'i>) RETUPN

~540 P:"""B+ 1 ~ C=;:;;C ., .. :!.

~.=.i~SO I FB >7THl::J\!Bc-:: 1. ~ C$::::: 11 '."'160 PETUn1··J

~Y/'O F~:EM

~=:iElO F'.EM HTP1MPP1

~:.·:;-o HFr·1

,<.oo UPFl'J Il(} Il • :n 1 • 111....1=-RT :: Il 610 FOR Y=O TO 24

Il

{::.::?1:)

f.:.)~:;()

h40

6~50 é)é:,f)

FCìR >>==O TCl ~=;;9

PRINT#l.CHRS<SCREENCX.Y>>=

NEXT X . . .

~·IFXT \'

Cl ... DSE :: GOTO :i. ~so

(13)

I EFFETTI GRAFICI I

Una delle applicazioni piu' interessanti dell'elaboratore e' cer- tamente la "computer-Art", ossia la generazione di effetti grafici

spettacolari, con il computer. .

In questi ultimi tempi possiamo osservare in televisione, sulle riviste specializzate e al cinema, delle sigle e scenari fanta- scientifici, realizzati completamente da computer, in cui effetti di digitalizzazione d'immagine e animazioni tridimensionali, accompagnano trattazioni di argomenti scientifici e non. Poten- ti calcolatori sono persino in grado di creare paesaggi reali- stici utilizzando la geometria dei frattali, una nuova scienza che inquadra, in ottica matematica, le forme apparentemente casuali e indescrivibili della natura. Per risolvere in scala piu' ridotta, l'esigenza di dimostrare le notevoli capacita' grafiche del PC 128, abbiamo creato questo programma, che genera su schermo effetti di vario tipo.

Il programma potra' essere usato cosi' com'e' a scopo dimo- strativo, oppure per studiare il funzionamento dei comandi gra- fici Basic.

Dal listato, inoltre, potranno essere tratte routine grafiche per vi- vacizzare i vostri programmi.

(14)

Commento alle linee del programma

12

70

carica in "PI" la costante pi-greco 30-190

primo effetto grafico 210-290

secondo effetto grafico 310-400

terzo effetto grafico 420-530

quarto effetto grafico 550-660

quinto effetto grafico 680-770

sesto effetto grafico 790-880

settimo effetto grafico 900-1060

ottavo effetto grafico 1070-1200

nono effetto grafico 1210-1340

decimo effetto grafico 1370-1400

subroutine cancellazione

(15)

10 REM

20 REM 30 REM 40 REM 50 REM 60 REM

*******************

i

*

*

EFFETTI GRAFICI t

' *

*******************

70 PI=3.1416

80 REM 1

90 C2=1:C1=5 100 GOSLJB 1360

110 FOR R%=90 TO 10 STEP -20 120 C%=RND<1>*15

130 FOR 1%=0 TO 360 STEP 5 140 A=<<I%-R%/10>*2*PI/360) 150 X%=CR%*CDS<A>>*3!4+128 160 Y%=R%*SIN(A)+96

170 LINE <128.96>-<X%.Y%>.C%

180 NEXT . . .

190 NEXT 200 REM 2 210 C2=1:C1=5 220 GOSUB 1360

230 FOR 1%=0 TO 360 STEP 5 240 C%=RNDC1>*15

250 A=<CI%-R%/10)*2*Pl/360) 260 X%=(90*COS<A>>*314+128 270 Y%=90*SIN<A)+96

280 BOX <12B.96>-<X%.Y%>.C%

290 NEXT . . .

300 REM 3 310 320

330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570

C2=15

GOSUB 1360 R=10

FOR 1%=1 TO 300

X%=RND<1>*C255-2tR>+R Y%=RNDC1>t(191-2*R>+R C%=RNDC1>*15

CIRCLECX%.Y%>.R.C%

PAINT<X%.V%>.t%·

NEXT . . REM 4

C1=15 C2=0

GOSUB 1360

FOR 8%=1 TO 2000 C%=RND<1>*15 X%=RNDC1>*128 Y%=RNDC1>*96

PSETC128-X%.96-Y%1.C%

PSETC128+X%~96+Y%)~C%

PSETC128+X%~96-Y%l~C%

PSETC128-X%~96+Y%>~C%

NEXT . .

REM 5 C1=15 C1=1

GOSUB 1360

(16)

14

~~;j8()

'."590 600 <S :t ()

6~,;·~c>

\':)-~)\}

640 /.i::-····

.. :) ,,J•._J

~'J{"J() (~)'?()

bBO é:~·~()

700 710 7?0 ·731:) /40

FOH I:~::: l TO :;-;oo

X :=RND ( 1 )

*

'.2~.'i:'i

V:=RND ( 1)

*

191

Z :::RND ( 1 ) ~C::30

X X ===RND ( 1 ) li< l ~.:.

YY=RND ( 1) #.2:+:P I Z Z=F;:ND ( l) *2::t.P I

CIRCLE<X,Y>Z,2,XX;YY,ZZ t,1E: X T

F:El'1 6 C2:::f'::,

GCJSUB :t :::.60

FOR D>=1 TD 250 Xl =RND ( 1) :!<:2~'.'i!S

X2=RND ( 1) *z.=;:::·.;

Y j =RND ( :t ) :t. ~ 9 l Y2:::PND ( l ,.. ~, 1 9 l 7:"'i0 C::::F::f'·.ll.1 ' 1. )

*

:l ~.~

/60 :r::ox (Xl" V l) ···· ( X2. Y:2) • C::

77( NEXT . . .

780 PEM l

790 C?=B

800 GO SUB 1 :3(:.J)

810 FOR 1%=1 TO ?50 820 X1=RND<1>*255 830 X2=RND<1>*255 840 Yl=RND<1>*191 850 Y2=RND<1>*191 BbO C==PND ( 1)

*

15

870 BOYF'Xl Yl>-lX? Y?l C

8BO NE~XT' . ' . . . .... , ... :•

B90 REM 8

1?00 C1==l5 9 J. O C:'.?c"::(I

'·?:20 GOSUEc l :::.60

930 FOR 8%=1 TO 2000 940 C~::.":RND ( l )

*

l 5

950 COl...Of~ e~.;.

960 xx~INT(RND<1>*39)

970 Y%=INT<RND<1>*24)

<;)so L.OCPrTEX~.;.. Y~·~

990 PF:::!:NT "#it 1000 LOCATE X:-~. y~.;,

:l.010 PRINT"#".

1020 L.OCATE::o~. ·y~~

:l o:::;.o F'F: INT "#;, 1040 L..DCf.nEc~. y~.;, 10~50 PF:INT"#".

1060 NEXT

:1070 REM ci 1080 C2=1 1 090 X 1::::128 1100 Y1=96

11 l O GOSUB 1 :360

1120 FOR 1%=1 TO 300 1130 X=RNDC1>*255 1140 Y=RND<1>*191

(17)

l. 3:2() 1 :;::::;o l ~:40

l ::~;~::.:_,()

1. ::::;r:::,()

C>:::F:ND ( 1 ) :t 1 '.'."i

LJNE <X,Y)-IX1,Y1l,C

Xl:=<;\

...,. .. J.:::y NFXT

PEM :I.O

RFM

Cl"'-'l~';

e:::~·

.. ::::::

:I.

GD'.3UD :! :::::(::.0 FUF: '/:=(i TU :I 9 :L C>=F~:ND ( l )

*

J ~.:;

~~~~<O,YJ-(255,YJ,C FTlH E:::: :L TU l 2

FOR X=O TO 255 STEP 8

C:::::f~:ND ( l l *-l :.)

I J N1:: i Y +i::· ;··, ì ···· > Y +F 1 q 1 ì C ,:.;i E:· X

T ·. ... . ... ' · .. • - . .. . ... ' ' . , ,

hll:~X T UCITO :I. O

F~EM

(18)
(19)

BUSINESS GRAPHIC

Prendere una decisione, richiede sempre una attenta valuta- zione dei dati reali, al fine di poter calcolare, soppesare e pre- vedere con cognizione, in un qualsiasi campo. Benche' possa sembrare possibile ridurre qualsiasi decisione ad una serie di operazioni eseguibili con un computer, (perlomeno nei casi piu' semplici) nessuna macchina puo' pienamente sostituire l'elemento umano.

Il computer, comunque, puo' esserci molto utile nell'esposizio- ne dei dati, aiutandoci in qualsiasi decisione. Il programma di queste pagine, permette di visualizzare un grafico a barre di dodici dati mensili, rappresentanti qualsiasi tipo di dati numeri- ci: spese, introiti, ecc. La scala di rappresentazione e' scelta automaticamente in funzione del dato di valore piu' elevato in- serito. Un menu consente di inserire e stampare sia l'elenco dei dati che la rappresentazione grafica finale.

(20)

Commento alle linee del programma

18

90

prepara i vettori N(), K(), M$() 100

carica in M$() i mesi 130-180

fase di immissione dati 190

pone in K(I) il valore relativo a ciascun dato 220-290

menu e selezione 330-410

visualizzazione dati 440-520

stampa dei dati 540-620

visualizzazione del grafico 650-680

stampa grafico 730

dati intestazioni

(21)

10 REM

**********************

20 REM

* *

30 REM

*

BUSINESS GRAPHIC

*

40 REM

* *

50 REM 60 F:EM

**********************

70 F:F1··1I

80 SCREEN 1.0,0:CLS

90 CLEAR 50ù:bIM NC12>:DIM KC12>:DIM MS(

:i:~)

100 FOR 1=1 TO 12:READ M$(l):NEX1 l 1 O REM

120 F:EM

1 :-::;n L.OC?HE 9 ~o: PF: :r NT Il cm~: J CP1MFl'-.l"TO DE I Dr~

TI"

140 PR I NT: F'F: I NT

150 MA=O:FOR I=l TO 12

l60 PF:INT "D<:Hnnd i dati d:i "~M~;(J)

170 INPUT N<I>:IF <N<I>>>MA tHEN MA=N<I>

180 NEXT

190 FOR 1=1 TO 12:K(l)=C160*N<l)l/MA:NEX T

200 REM

210 !:;:FM :220 FL,,::O

230 SCREEN 2.0,0~CLS

,..,+- ····1 ,-, I 'WAIF. '"3 ·~ Pr"HJT "!""! FIJfT ClP7 IntlT

~;J. (J o l::;\~ :_ ·-·'·., -·· ·:; .~· ~ ~:::: ~ Yt, .. ~~~ "'' .. : •• ' .. 1 . .J. H . : I. .• • -:) \~' ·:~.

: UJLt··I I E: fa. 4: E .rn r ###### J#~~·##### : L.L LH TE 8. l O: PI:~ l NT "l .. 'v1EDERE I DATI"~ l ... CJCP1TF B, l'..?:Pt=::INT "2. STAMP?)PF I D?ffI":l ... OCP1TF 8 .'l4:PF:INT ''3. './EDEF:E IL Gr;:AFICO''~L.DCf')1TE

i3 ., l t.1 ~ 1--::·p I NT "4. ST P1MF'{..)F<F IL Gl:;:t:ìF I CO"

')•~·n ! ne:~ TF q 18" p1--;· I NT lll:::i F T 1\1 I p~-::· Il

:-..;'·~' .:: f,.M f--. ····' .' ... ·::: ;:.: !' · - l ' " i . \ .· . - Il~;;. H · : •• ' ' " "

~60 LuLAfE ~.~~~PPINl Premi 11 numero e

nrT i :-;pnndentÉ>"

:·.;no

F$=::JNKEY$:IF F$<"l" OP F~ti>"5" THEN '.,;"~

7"0 280 290 300 :31 ()

ON 1./f'.)L \F$)

GOTO 230

F:EM

:•

.:::::::~o PEM

GOSUB

330 SCREEN O:COLOR 1,15:CLS

~~40 L.OC?HE l.2, ::::.: PPINl "DIHI CAF-UCP1TI"

350 PR I NT: PF-: I f.JT 360 FOR 1=1 TO 12

::~;70 PF: I NT M$ ( I ) = " "; N ( I ) 380 NEXT .

:~:80 LClCffTE 3,'.20:PF:INT "Pr·f?mi un ti)!:'.to pe r c::cint j_ nua1r·€:- 1'

400 I F I r\l~:::Ev~;'":: Il Il THEN -400 410 PETURN

4-20 1:;:EM 4:30 , 440 RFM

4!'."iO OPEN"rl" :tl:J "I PPT·"

460 ~RfNTi1:c~~S~lci>"

(22)

470 FOR 1=1 TO 12

-4HO PI~ I ~·H# l .. M+ ( T ;. , " " ; n i'. I ) 490 hlEXT

500 PRINT #1,CHRSll9)

'.j l O RETL.il::;:N: CL..D3E

~.'.'.i',?O F'.EM

~:) ::~; (> :•

'.'.'\40 r::E:M

550 SCREEN 7.4.4:CLS

~'51:/::0 i::~on U==:O lU. 1 c.;o::? ~3TET' :~:::,::: ! .... T MF \O" i' .i ··· ; 2'.'',

~5. O) ~ !\!E X T :: L.. I l\IF ( U ,, O) .. (O., 1 9 l ) ~ L.. Ti IF ( :· '':-:'''j. I• ì ( ~?5:.; .. :1. ~:l l ) .

!:_::_;·7(; !•

580 FDR E=S 10 225 STEP 20:FOR J=t ro 3:

I):::: (E ... ~=.;) /'.?O+ .l: LUCP1TE \E +h > / B :• ::?O+J ~ F'F:: I NT M

IDS<MSCDl,J,l>:NEXT J.E

!':)90 FOR I ;::'.':i. TD 22::'i '.:ìTi::T· :?O: S::::: (I -·~5) /'.'::'CH .! : FDF: lJ::::l TO 16: Lil\IF ( I+l.J., 160) ···· ( J+U., J6C• +: ·:

~3) ) " l : l\IE I< T U. I . . 600' J F FL:::: l lHEJ·l r;:ETur::r.1

h 1 O I F I l'-.JKF\'·:f:::" " T! .. IL'.:l\i h :I. O 620 i:::ETUP!\I

6::::.o h:EM

.b.l:J.() ~ .s~.5(> F~~E:t--1

660 FL=l:GOSUB 530 S70 t::cm:::ENPFi'.lNT 6Ei0 F:ETUF<l\I

/::_. r:;• O h: E M

}"()i)

20

(23)

BIORITMI

L'ansia o la paura che affliggono da sempre l'umanita', hanno spinto la ricerca anche negli ambiti pseudo-scientifici dell'astro- logia e dello studio di presunti ritmi o cicli biologici, detti biori- tmi. Secondo quest'ultima teoria, la nostra efficienza fisica, in- tellettiva ed emotiva, seguono dei cicli con periodicita' diversa, che si susseguono dal momento della nascita.

Senza entrare nel merito, della correttezza o meno, di una simi- le teoria, questo programma permette di calcolare e visualizza- re in grafici, i diversi andamenti nel mese dei tre ritmi princi- pali.

Il programma domanda in "input" la vostra data di nascita (an- no, mese, giorno separati da virgola) e, in seguito, l'anno e il mese di cui volete visualizzare i bioritmi (anno, mese separati da virgola).

Possedendo la stampante e' possibile ottenere grafici su carta aggiungendo le linee:

275 SCREENPRINT 345 SCREENPRINT 415 SCREENPRINT

(24)

Commento alle linee del programma

22

10

carica nella variabile "PI" la costante pi-greco 20-40

carica nel vettore DM() i giorni dei mesi 50-80

input dati 90-210

routine principale di calcolo 220-280

disegno grafico curva Fisica 290-350

disegno grafico curva Emotiva 360-420

disegno grafico curva Intellettiva 430-510

subroutine disegno quadrante 520-530

subroutine di attesa

(25)

1 REM

*******************

2 REM

* *

3 REM

*

BIORITMI

*

4 REM

* *

5 REM

*******************

6 REM

10 PI=3.14159:CLS 20 DIMM \ 12)

30 FOR1=1T012:READM<Il~NEXT

40 DATA31,28,31,30,31,30,31,31,30,31,30,

::::: 1

::'jO pp IN

r

~ pi:;: I NT Il #i*##:J:l:*~#:~t#:J:t BI o~-::: I TM I #:J:HHt#

#i*##:J:I:"

60 PRINT

70 INP!.Jf''DAT/::i DI 1\11:)'.:JCITt:i (fiNl\iCl,MEE-ì E. E1 I ORND ! " ; Y l • Ml • D l

El!) J NPUT" PF:E\.! '.!:SI t:lN I ((i

NND,MESE)"::Y2.M2 90 !~\::::.M (Ml ) . --:O l

100 IF<Y1=Y2>AND<M1=M2>THENS=O 110 IFY1=Y2 THEN GOT0170

120 IFM1<>12THENFORI=M1+1T012:8=S+M(l>:N EXT 130 IF<Y1MOD4=0>AND<M1<=2)THENS=8+1

140 FDRI=Y1+1TOY2-1 .

150 IFY1MOD4<>0ANDM2>2THENS=S+1 160 NEXT

170 IF Y1=Y2 THEN N=Ml:ELSE N=1

. 180 IF N<M2 THEN FORI=N TO M2-1:S=S+MCI>

:NEXT

190 IF Y2 MOD 4+0 AND M2>2 THEN S=S~l

2(H) E:::::M ( M2)

210 IF (Y2 MOD 4l=O AND M?=2 THEN E=E~l

220 CLS:F'F:INT:PF:H.fr"Pr·i:::~vi.sinn:i:"

'.?:30 PFUNT:F'F:JNT"{)1ridt::1mE>ntn dF·11a cur··'/E1 F

ISI C(1"

240 FOR TEM=1 TD lOOO:NEXT TEM

:::~~.)(> Cf._.~3:: FClF.'.D= :1. TC11::

260 PH=SINC((S+D-1>MOD23)/23*2*Pl) 270 Y=PHr.GOSUB430:NEXT

2!:10 f30SUB520: CLS

:~s·o pp I NT r. p1:< I NT "Pr-E•vi ~.;i on i~ "

:soo Pl:;:INT:PPINT''{.~ndiii•mPnt.c:i df·:·'lla cur-·viiii F

MOTI \lA"

310 FOR TEM=1 TO lOOO~NEXT TEM 320 CLS:FORD=1TOE

330 SE=SINC<<S+D-1>MOD28>!28*2*PI>

340 Y=SE=GOSUB430:NEXT :::;,50 GUSUB5::?0: CLS

:::;;.1::>0 pf;:INT:PF:INT''Pr-c~vi!:;jc;nj.: ''

~_:::70 PI:;: I NT: PH I NT" tw1di:•.1TH:~nt.o ch:~J l :=\ cti:···,·0·:l J

l\ITELLETT I \i(~''

380 FOR TEM=1 TO 1000:NEXT TEM 390 CLS:FDRD=lTOE

400 IT=SIN<<<S+D-1>MDD33)/33*2*Pil 410 Y=IT:GOSUB430:NEXT

420 UOUUB~'.'i:;;~o: END

(26)

24

<j. ··:~; (.)

.I.O

l"·.IF:x·)·

e u x ( ::::, :,-:: ,,

1

u :; .... {

1:::

*

.~,

..

J •. =: .,., j ... , ; ' ) 1 il

. . .. '.·,;_:r.; __ :·_.'. .. · •• ·.,:,_.,:,,· .. ·,·.·.·.·.~_~;-.. ~.·~···.·.·.·.~.· .•. 1·.·.=.·.• . . · .. ,·,'.:,·~

LI !··IF \::~:H., 90 ·, • - _ --

r:::r::: n .. n:c.:i 1 ·

T r: T t·!i<F\-:f:;::=:" I l T! !F:n ~.<?i) h'.E:TUFl'J

(27)

DIAGRAMMI

Molte delle grandezze fisiche quali: la temperatura, la pressio- ne atmosferica, ecc, come in altro campo: gli andamenti del cambio con le monete estere, i valori delle azioni ecc, richie- dono per essere valutati utilmente, di un particolare sistema di rappresentazione chiamato diagramma.

Nella sua presentazione piu' semplice, esso e' costituito da una spezzata in un sistema di assi cartesiani, dove in oriz- zontale (sull'asse delle ascisse) si valuta il numero delle misu- razioni in un dato intervallo di tempo, e in verticale (sull'asse delle ordinate) il valore effettivo della grandezza in osserva- zione.

Con una rapida occhiata ad un diagramma, e' immediatamen- te valutabile qualsiasi variazione tendenziale, al di fuori delle normali variazioni dovute ai cicli giornalieri, errori di lettura dei dati ecc. Con il programma "Diagrammi", potrete ottenere su vi- deo un preciso diagramma capace di contenere fino a 319 dati numerici. Il computer effettua automaticamente sia il calcolo della scala di rappresentazione verticale, in base al massimo valore introdotto, che quella orizzontale, in base al numero dei dati caricati.

L'unica operazione necessaria alla creazione del diagramma si riduce quindi alla sola immissione dei dati, siano essi valori di temperatura, che gli alterni andamenti del dollaro, ecc.

(28)

Commento alle linee del programma

70

prepara la matrice contenente i dati 220

immissione numero dati 260-300

immissione dei dati e ricerca del maggiore (K) 380

calcolo della scala orizzontale 390-460

disegno diagramma 470-480

pausa e restart

26

(29)

J C• F:Fl·1I

* * *

;t

* * *

:+: 'f

* *

:+: ;t

*::li

20 REM

*

t

30 REM

*

DIAGRAMMI t

40 prM

* *

50 REM

***************

hO PE:M

-:::·o nr1..,i N r::31 (:;i)

Bo scnEEt"J 4. 7. :.' 70 CL .. ~::; . .

J C•O L.OCP:TE l 4 ., ~.'5

:! :l. O PF: I !\IT 11 DI /.::iGFU·1!·1IM I "

l :::~o L.OCP1TE l 4. 6

:I :~;o PF;: :;: NT "#tH~##~.t###"

J..q.() LOc,:::1TE ::'i.20

:l ~:5c> r::·F~ :r r~JT ,, f::·F;:Ei-?·i 1 Llt· .. t .. rPff;·rcJ t='t:r:~ c:Cll\l·r :r 1\1t1Ar;:E

I l

t <S() F'l....f~-~\/ Il !)(JF:~i::::!'"1 I ti

1. 70 I F I r·ll<E"y"t;=::: 11 11 THEN l 70 1 HO r-::i:.:1·-·1

190 nFM 20(• CL~~;

210 !....OCP1TE o.?

220 INPUT "Ot~.ti:\nt.i dat.:i vucd. C:i:Hr·1 c:arf:? ? ( m;:,;: :~; l 9) 11 ; T

'..?:::~:o IF T<=(i OR T>:::qc;> THEN PL.?~V "DOMIF<E":

FìiJTO 200 240 T="INT (T)

:~~ ~:.:~ () J< ::: (i

'?60 FOR I=1 TD T

270 F'F:INT: PPINT "Dato 11 ; I; 11

'..::'.80 INPUT 1\1 ( I )

290 IF N<I>>K THEN K=NCI>

::;.uo NEXT I

310 PRINT:PRINT:PRINT

Il •

'

T~~O F'HINT "PREMI UN TM3TO PEF~ CClN"T INUP1F:E

I l

:::;.:50 I F I t\ll<E--Y'·:f;::o:: 11 11 THEN 3::')0

::::AO F:EM :::;. '.~i O l:;:E M

::;bo SCREEN 7, O, O

S?O CL.!:ì

:~;130 [)::::3:~~0/ CT··-· l)

:::;.:;io FOR I:::: 1 TO T

400 IF K<>O THEN Y<I>=INT<<190/K>*N<I>>

ELSE Y(J)::=O 410 NEXT I

420 FOR 1=1 TO T-1

430 LINE <<I-l>*D,190-Y<I>>-<I*D,190-Y(

I+ 1 ) )

440 NEXT I

450 PAINT (1,191>.6

460 PLAY "DQj!:::EMI 11 •

470 IF INKEY$:::"" THEf\I 470

4BO RUN

(30)
(31)

GRAFIC03D

Il PC 128 possiede ottime capacita' grafiche, in particolare so- no gestibili due modi principali: il primo (disponibile all'accen- sione) consente una risoluzione grafica di 320x200 punti con possibilita' di gestire la visualizzazione del colore, il secondo attivabile con il comando CONSOLE,,,, 1 permette di visualiz- zare grafica con 640x200 punti di risoluzione. Il programma presentato e' un esempio di grafica tridimensionale, che potra' girare utilmente sia nel modo standard, che in quello 640x200 pixel.

Nel primo caso, dopo il RUN, apparira' lentamente una figura tridimensionale al centro dello schermo, nel secondo (bat- tendo CONSOLE,,,, 1: RUN) apparira' la stessa figura con riso- luzione doppia. Nel secondo caso, la figura risultera' molto piu' precisa nel disegno, in quanto i pixel che la compongono hanno dimensioni minori, ma molto allungata, poiche' la risolu- zione verticale e' uguale alla precedente.

(32)

Commento alle linee del programma

30

80

fissa i colori (nel modo grafico 640x200 non ha effetto)

110

inizio ciclo principale 120

ciclo secondario 130-140

calcolo valore z 170

disegno parte sinistra della figura 180

disegno parte destra della figura 210-220

fine disegno e pausa

(33)

l ()

~2 ~.)

::.<)

4(>

~j(:1 é)()

·7i.)

F:EM ni:::1·'!

PE!"i i:;:EM r:;:EM REM F:EM

****************

* *

*

GF:m-:· r cn

::::.n

::ii

* *****i~********** *

HO SC:i:;:EEH7 ., C1. O (;;e, c:t....~J · ·

100 FOR X%=-l00 TO O l lo Er\,o:::(i

120 V%=(SQR(10000-X%*X%l/10>*10 130 FOR Y%=V% TO -V% STEP -10

140 Z%=C80+30*CDSC (8QRCABSCX%*X%+Y%*Y%>>

) / l 2 ) -·· • 7 ;j('·(i·: )

150 IF Z%<B% THEN 190

160 B~~===z·;~

170 PSET<X%+130,176-Z%>

180 PSET<125-X%~176-Z%>

190 NEXT .

200 NEXT

210 F'LAY ''DOPE''

220 I F H·~l-:::EY $:::" " THEl\I 220

(34)
(35)

PROGRAMMATORE DI CARATTERI

GRAFICI

Il BASIC del PC 128, ci permette l'uso di numerosi caratteri gra- fici programmabili in modo molto pratico e semplice. Con

"DEFGR$= " noi possiamo definire un carattere grafico con qualsiasi disegno realizzato su di un quadrato di 8x8 pixel. La corrispondenza tra gli 8 numeri del comando, rappresentano ciascuno 8 pixel (dall'alto in basso) del carattere. Il manuale accenna chiaramente a come ottenere, a partire da un qualsia- si disegno, dapprima il numero binario e poi gli otto numeri de- cimali rappresentanti la forma del carattere, ciononostante tale procedura non e' molto semplice ne' comoda. Con questo pro- gramma, potrete facilmente disegnare su schermo la forma del carattere grafico e ottenere immediatamente gli otto numeri che lo codificano.

Dopo il RUN, appare una scacchiera di 64 caselle in cui potre- te muovere il cursore usando i tasti di direzione. Premendo contemporaneamente la barra spazio lascerete occupata la ca- sella con un asterisco; viceversa (se la casella risulta gia' oc- cupata) tornera' ad essere vuota. Disegnando la figura deside- rata sulla scacchiera, e premendo "ENTER", si otterra' la visua- lizzazione dei valori di codifica, premendo F1 , i dati verranno ri- portati su stampante.

(36)

Commento alle linee del programma

70

prepara una matrice 8x8 e il vettore contenente i dati finali

80-170

visualizzazione dei comandi principali 120-300

controllo della tastiera 330-360

subroutine attesa 370-440

subroutine movimento coordinate del cursore 450-470

subroutine set-reset quadrato del cursore 480-490

calcolo dei codici e visualizzazione 520-530

calcolo dei codici e stampa 540-580

disegno del quadrato di lavoro

34

(37)

lU REM

***********************

20 REM

* *

30 REM

*

PROGRAMMATORE GR$

*

40 REM

* *

50 REM 60 REM

***********************

70 DIMW(7.7).S(7) 80 SCREEN1.7~7:CLS 90 G!J'.::ìUff32!) .

1 (H) \.1$::: ":j:!::l:J:#"

1.10 UJCATE1.:''.i:PRil\IT":+:t** L.:ista CDl"'i?'.iNDI :t:

***Il .

120 LClCf'.HE t ' 7: PF: I NT "cup~;cm I +'.~ìPACE' d :i !:;!,~•;)

n.:,:.. "

:i::;;o p1:::: I NT" i::::ETUF:hl., e al e o J a i v Ed ur-:i "

140 PFUNT" Fl' E:.tampa"

l~'.'iO PF:INT" F2. fint::::·"

:l t:)O GDSUK:.30 .

:! 70 GOSLJB3:::;o l E3() t:l...S

J c;io GOtìUB320

200 pr-;: I h!T: PF: I NT: PF: I NT "Us;c:, i t ,::1 ~,; t. :i e: u1·· •;:;cw i e l.:':ì b;:(r-r·a":GOSUB 540

2 :! O I X::: l : I \1:::::7

220 LDCATEIX.IY:GOSUB340

230 IFA=13TH~NGOSUB480:GOT0220

240 IFA=llTHENGOSUB370:GOT0220

250 IFA=10THENGOSUB390:GOT0220

260 IFA=8THENGOSUB410~GOT0220

270 IFA=9THENGOSUB430:GOT0220

280 IFA=32THENGOSUB450:GOTD220

290 IFA=193THENGOSUB520:GOT0220

300 IFA=194THENSCREENO:CLS~END

::; 1 O GOTU220

3?0 CL~3: I.... DC ATE 1. O: PF: I NT" 12B ED I TOR C1::.)Hf.:1T TEI:::: I GF:1'.:1F ICI " : PF: I NT: PFTURN

:::;;:::;;o LIJC~iTE'.?.2'.2:PF-:INT''PPr c:ominc:iarc· pr·r.~m

i 1 a l:iar-r-a 5.p.::1;:::'. i o"

340 frf;="INKE"l$: IFf~'»~-:::" 11THEN:::;:40

~~;50 ~):::."ASC ( ?%$) :360 1:;:ETUF:l\I

370 IY=IY-2:IFIY<7THENIY=21 380 F:ETUl:;:l\I

390 IY=IY+2:IFIY>21THENIY=7 400 F:FTUHN

410 IX=IX-2:IFIX<1THENIX=15 420 RETURN

430 IX=IX+2:IFIX>15THENIX=l 4·•1-0 F~ETUF:N

450 X=INT(IX/2)~Y=INT<IY/2)-3:IFW(X.Y>=O

THEN470 .

460 l•J (X. Y >=O: LDCATE I X. I Y = PR I NT" ":: : PETI.JR

N . . .

470 l1J (X. Y) :::::1: LOCf.HEI X, IY: COLOF: 2: PRINT"

*

" :; : COLOR O: F:ETUHN .

490 X=17:FOF:L=OT07:S(L)=O:FORL1=0T07:N~7

-L1:S(L)=S(L)+W(L1,L>*2AN:NEXTLl:V=L*2+7

(38)

:fÌ';;

~.::.~ ··..r

c..

!\i i::::

x ·r (::,

''''iF'.') FE T! ... !FN

36

(39)

INDOVINA LA PAROLA

Un gioco molto semplice e divertente, che consiste nell'indovi- nare una parola "pensata" dal computer di cui conoscete sol- tanto il numero dei caratteri.

Una routine di estrazione casuale, utilizzante la funzione RND, sceglie la parola tra le 60 disponibili, visualizzando una se- quenza di trattini che rappresentano i caratteri d~ indovinare.

Premendo un tasto sulla tastiera, assisteremo alla comparsa di un carattere sulla riga di trattini, nella posizione effettivamen- te occupata all'interno della parola da indovinare. Se invece ta- le carattere non e' contenuto nella parola, apparira', scartato, su di una piattaforma, spostando di una posizione il sasso di colore rosso.

Piu' risulteranno tentativi a vuoto e piu' il sasso verra' spostato verso il piano inclinato, fino alla caduta e alla rivelazione della parola non indovinata. Sostituendo i numeri 60 alle linee 120, 620 e 630, con valori superiori, potrete aumentare anche note- volmente il numero di parole disponibili, owiamente aggiun- gendole in linee "data" oltre la 101 O.

(40)

Commento alle linee del programma

38

90-100

rende casuale l'inizio della sequenza ANO 120

estrazione del numero-della parola 130

pone in W$ la parola estratta 170

controlla se la parola battuta e' corretta 180

controlla se si sono superati i 1 O tentativi errati 200-250

routine partita persa 260-390

routine partita vinta 400-580

disegno schermo 590-640

caricamento vettore parole 650-780

subroutine sasso caduto 790-930

subroutine input caratteri 940-1010

dati parole

(41)

10 REM

**********************

20 REM

*

I

30 REM

*

INDOVINA LA PAROLA

*

40 REM

* *

50 REM

**********************

60 F~EM

70 i:::EM

9;-1 CL..Et1R 2000

90 PPINT"PPEMI UN n.;~:;nJ .... I l

1 CH":i I F I Nl<E\ .. $==" "THEl\I A=-'=R!\ID ( l ) ~ GOTO 100

11 O GDf.ìUB61 O

120 W=INT<PND<1>*60)+1

1 :::;:o l>H.;==D$ (l.J)

140 GOSUB420 1 '.".)0 DDSUB81 O 160 Fl....P1G=-"O

170 IFTS=WSTHENGDT0280

180 IFLEN(G$)=10THENGOTD220

:! 90 GOTO 1 ~:'iO

200 REM PARTITA PERSA

210 REM

220 GD~;UB670

Z'.:.O COLOFC: LOCATE 1 • l 9: PR INT "L.;:1 pi:."lt,..ol a Pt"

a "

240 L..OCATE1.20:PRINTWS 250 GDTff!.80.

260 REM PARTITA VINTA 270 F::EM

:;;:so 1:::EM

'.?90 I FG$=" "THENGDT0:360 300 FORN=LEN<GS>TOlSTEP-1 310 GS=RIGHTSCGS.N-1>

320 M$=" DDF:EDOF:EDDREM IMI MI": Pl ... l."i'{!"I'.~

:::;;:30 GC!Sl..JB900: F·F~: I NT" "

340 FORW=1T0250:NEXTW 350 NEXTN

:::;;60 L.CJCf."ifE 14, :~:;: PF: I l\IT "CClMPI .... J MENTI "

:~:70 L.DCATE l 4 ~ 4 ~ PF: I r\IT 11 -··----··--··-·-··-···-····-·-- 11

:~:so .,:::;$==:i: NKEY ~fi: 1FA$:::::1' 1' THEN:38o ::::s·o BEEF':: GCJTD 120

400 PEM SCHEF:MD 410 F::EM

420 SCREEN2.o.o~CLS '+30 COLJJf;'. :::;; ! CLS

440 L..ClUìTE 12, O: PnINT" INDOVINA LA FAl=<OU-~

":COLOR 4 .

450 A·$== 11######t~####=!:t###H####11

460 LOCATE11,1:PRINTAS

4 70 LCJCA.TE3. "'7: CCJUJF: l : Pr-i I NT ";J:l"

480 BOXFC128,100>-C208,160),4 490 L.INEC120~88)-(128,Ì00>.4

500 LINEC216~88)-(208~100}~4

510 LINEC0,65>-C104,65),14.

520LINE-StEPC20.28).14.

53() c:C)L~(JF: 11: l._ClcA·rE 1 ~ 1 () ~ F1F: I f\ff Il F:·AF~CtL.A: ,_,.Il

'.:i-40L.DCATE5,14:T$=1111:G$'-'="11 550 COLOR 5~FORN=1TOLENCWS>

560 PF: I NT" ···· 11 < : T!f;:::T$+ 11 "

570 NEXTN .

(42)

::'..iBO 1::::ETUPN

590 REM INIZIALIZZAZIONE 6C10 REM

h 1 O REST!JF:E960 h20 DIMD$ ((SO)

630 FORN=lT060:READDt<N>:NEXTN

éllj.(i HFTURI\~

6 ~~;o RE 1"·1

e{', m nr1

h6() 1=::EM

670 FDF'N:= 1 ::::.TO :! D

680 COLOR 1:LOCATEN.N-6 6':,il() i:::·;:;: I l\IT 11 ;il" . 700 FOR A=l TD 100:NEXTA

71

o

CDLDF

o:

LDC?YTFN 'I N··6: Pn I

1·rr

I l I l

720 NEXTN .

1~v PSFT(20*8.13*B>:LINE-STEP<-8.0),4 740 FORI=1T015:J=-RND<1>*20:K=RND<1)*40-

n::~;o I F~ {:r~:;< Il (:i Il rn=a:1<f.; > I l l. I l THENGiJTDEl 1. o 840 FLAG=O:COLOR 9

850 FORN=lTDLEN<WS>

860 IFMIDS<WS.N,1>=ASTHENLOCATEN+4 RINTAS:MIDS<Tt.N.l>=AS:FLAG=l

870 NEXTN . .

!380 I FFL.P1G"-'" l. THENPLP1Y Il DDDD 11 ~ RETUF;:hl 8 <ji

o

G'$ :=: p, ·:j; +!:i$

910 LOCATE3.7:COLOR 13

920 D'ii==G-$: pf:( I l\ITO$:; : crn .. OR l :: F'F'. I l\!T Il ;;j) Il

930 RETURN .

940 HE~M DP1TP1

?:'.!O FEl"·1

!I i::;,: F'

960 DATA ICONA. ACUTD.AVVERBID,ALBERO.AL

TERD.AMERICA.FACILE.CERVELLO.CASSETTA~DI

sco . . . . .

970 DATA VIZIO.MELONE.DPERA.PITONE.GIRAF FA,VOLANTE.PIAlTO.ENERG!A,RlPOSO,SOSPIRO 98() :Oi:::iT?'1 NE:GCJZ I O. !JMBRELl .... O ~ CP1l'"I ICI t1 •1 EìC(iRF'E'..

.ANIMALE.COMPUTER,MONITOR~PERTICA~SCUOLA

~BRADIPO. . . .

990 DATA CIPOLLA.ESTREMO.FOSFORO.FORMICA , Gtil.L. I NPr" Ci I U:O I :Z I (J. e; I UD I et, T i~1E1CPr, F'OPDLD. F~

AMAZZA . . . . .

1000 DATA CANTINA.SATELLITE.SCIROCCD.SAP

ONE.CHITARRA,COMMtDIA.COMPilO,MUSICA~CAS

SETTD.CAFRELLD . . .

40

1010 DATA PIGIAMA.QUADRD.CDRNICE,OROLOGI O.ANTENNA,SEGGIOLA.TAPPETO.POLTRONA.CEST

IND,GIARDINO . . .

(43)

INTERVISTA

Sovente, forse a causa della diffusa cinematografia fantascien- tifica, siamo portati ad immaginare il computer come ad una fa- volosa macchina "pensante", capace, all'occorrenza, di ri- sponderci a tono come fosse un vero interlocutore umano. Chi ha studiato realmente questo problema, cioe' la comprensione del linguaggio naturale da parte di un computer e le applicazio- ni avanzate dell'Intelligenza Artificiale, sa come sia praticamen- te impossibile creare un computer capace di interpretare e ri- spondere in modo sensato e pertinente ad una qualsiasi do- manda. Forse anche chi legge e' capace di scrivere un pro- gramma che risponda alla domanda: <<Ouanto fa 1 Ox8?>> e ad altre similari.

Molto piu' difficile, o addirittura impossibile, far rispondere i computer su argomenti piu' vasti: <<Scalda molto la CPU?>>,

<<Ouale marca di cassette preferisci?>> oppure <<Chi era Na- poleone?>>. Rimanendo in un ambito molto ristretto, o addirit- tura dove l'ambiguita' e' permessa, potremo creare ottimi pro- grammi pseudo-intelligenti capaci di predirci il futuro oppure di comporre poesie, ecc. Il programma "Intervista" fornisce delle risposte abbastanza pertinenti ad una qualsiasi vostra doman- da su argomenti politico-sociali. Il segreto e' semplice: le rispo- ste sono create combinando casualmente soggetti, verbi e complementi, in modo grammaticalmente logico, per formare una infinita' di frasi di significato ambiguo.

(44)

Commento alle linee del programma

42

70-80

rende casuale l'inizio della sequenza RND 130

INPUT {la domanda e' puramente opzionale) 140-190

estrae 7 sequenze casualmente dalle aree data corrispondenti

220-310

area dati n.1 330-420

area dati n.2 440-530

area dati n.3 550-640

area dati n.4 660-750

area dati n.5 770-860

area dati n.6 880-970

area dati

n.

7

Riferimenti

Documenti correlati

Il tampone vaginale consiste in un esame diagnostico finalizzato alla ricerca di microrganismi responsabili di infezioni della vagina o della cervice uterina. A

PER QUANTO NON PROIBITO DALLA LEGGE, NÈ AMAZON NÈ I SUOI FORNITORI O LICENZIANTI SARANNO RESPONSABILI NEI VOSTRI CONFRONTI PER ALCUN DANNO FORTUITO O CONSEGUENTE PER

Durante il primo anno dalla data di acquisto, su questo PC Workstation è disponibile il servizio di assistenza telefonica gratuita HP Free, che fornisce inoltre assistenza

Vengono estratti dalla biblioteca BIM/CAD Hilti speciali attributi dei prodotti Hilti, quali il codice articolo Hilti, il nome ed il tipo di prodotto.. Ulteriori informazioni

La cosa viene inoltre ottenuta in modo completamente d iverso da come accade con il joystick:' lo spostamento della manopola provoca infatti non più..

- il registro di stato che contiene un certo numero di bit, posizionati a O o a l a seconda dello stato delle comunicazioni con le periferiche (richiesta di interru- zione

In realtà que- sto comando presuppone la memorizzazione da parte della memoria tampone dei dieci caratteri inseriti prima di premere il tasto ENTER.. spaz

Grazie alla compatibilità di liaguaggio (M&amp;DOS' IRM'* compatibile) è infatti possibile utilizzare pro- grammi professionali delle principali software house del