Newsgroup: it.comp.retrocomputing
Titolo: Vecchi testi didattici di programmi logo o basic "creativi"

Mi ricordo che quando ero bambino mio fratello maggiore possedeva nel
suo PC vari programmi "creativi" che in sostanza erano tutti
accomunati dal fatto che alimentavano un certo sogno o "mito"
fantascientifico (oggi penso un po' in declino) che consisteva che il
futuro di allora era indirizzato verso un computer che doveva il più
possibile imitare le attività umane fino a sostituire l'uomo in quelle
attività, comprese le più creative. In realtà naturalmente le
prestazioni di quei computer erano molto rudimentali e la sola natura
di quei programmi era con tutta probabilità un invito didattico a
imparare la programmazione.
 
Un esempio di programmi di questo genere che ricordo erano i programmi
di "conversazioni" del tipo, compare la frase "Ciao come ti chiami?" e
dopo che l'utente ha digitato il proprio nome come prima parola (ad
esempio "Fabrizio"), se era la prima volta che leggeva questo nome
allora rispondeva "Piacere di conoscerti, Fabrizio", altrimenti
rispondeva "Piacere di rivederti, Fabrizio" poi alla domanda "Stai
bene, Fabrizio?" se la prima parola era rispondevi "Sì" allora
rispondeva "Sono contento che tu stia bene" e così via.
 
Altri programmi leggermente più "creativi" che ricordo erano programmi
che cercavano di comporre poesie molto brevi in stile "haiku" per
intenderci, oppure che creavano brevi situazioni o storie. Di fatto
naturalmente non era una reale creatività, dato che i programmi erano
basati su estrazioni e combinazioni casuali di frammenti di frasi
(ordinati per le poesie nelle categorie di soggetti e predicati e per
le storie nelle categorie "giornalistiche" chi, che cosa, dove,
quando, perchè, come...).
 
Purtroppo non mi tornano in mente altri dettagli di questi programmi,
so soltanto che con buona probabilità dovevano essere stati composti
in basic o nel linguaggio logo (questo linguaggio di programmazione di
sicuro mi ricordo che lo usavamo), peraltro qui:
 
http://www.istituti.vivoscuola.it/istituto-comprensivo-cavalese/offerta-formativa/aggiornamento%20e%20ricerca/InfoRete/_private/Software/poesia.htm
 
 
ho trovato proprio un esempio di programma logo generatore di poesie
alla "Ungaretti", segno che programmi del genere erano relativamente
diffusi ai tempi in cui si tentava di insegnare la programmazione
anche ai bambini.
 
Volevo perciò sapere se potete segnalarmi qualche vecchio manuale che
conteneva esempi di programmi didattici (spesso per bambini ma non
solo) di questo tipo, dato che non conosco manuali recenti con
contenuti simili.
 
Ciao.

Ricordo un qualche cosa di simile
sotto DOS,
era un exe con un nome di donna.
 
Ci potevi chiacchierare (nelle limitate possibilità del sistema)
...ma dopo poco diventava subito noioso...
 
Mi ricordo che ci avevo smanettato un po' di tempo dopo, perchè mi
sarebbe piaciuto
reindirizzare l'output all'utility soundblaster che ti permetteva di
pronunciare i comandi DOS,
...ma non avevo combinato nulla di utile...
 
Dino
comPVter


intendi questo?
http://it.wikipedia.org/wiki/Eliza
 
ricordo di averlo provato all'universit� su un vax/vms ma c'era anche 
per pc/dos.
 
da.
 
 

 
 
 
 
 
 
Non conosco manuali scolastici che riportino programmi didattici del tipo che ti interessa.
Pero' ricordo che in un vecchio numero di "Byte" (Novembre 1984) apparve un articolo
che descriveva un breve programma, denominato "Travesty", (mi pare in Pascal) che consentiva
la generazione di testi con caratteristiche linguistiche che in qualche modo replicavano
quelle di altri testi forniti com "esempio".
Ricordo di avere (molto tempo fa) tradotto il programma originale in "Quick Basic", 
di averlo applicato ad un esempio costituito da alcune poesie di un libro 
di un autore italiano corrente, e di avergli inviato via mail il risultato, 
suscitandone anche qualche interesse. 
 
Ti riporto di seguito la mia breve versione in BASIC, che ho conservato, ma ti consiglio
di leggere l' articolo su Byte per avere una documentazione dettagliata sul programma.
Ciao, Andrea.
 
  DEFINT F, I-N
    DEFSTR O-Z
 
    DIM LETTER(256)
 
    ON ERROR GOTO 5000
 
    LET 
MAX.IN
 = 30000
    LET MAX.PAT = 9
 
'   LET STRNG = ""
 
    RANDOMIZE
 
    INPUT "Number of characters to be output : "; MAX.OUT
100 PRINT "Scan order  (2 -"; MAX.PAT; ")";
    INPUT N.PAT
    IF N.PAT < 2 OR N.PAT > 9 THEN GOTO 100
    LET N.PAT = N.PAT - 1
200 INPUT "Name of input file : "; SOURCE
    OPEN SOURCE FOR INPUT AS #1
    INPUT "Prose or verse : "; PASS
    IF LEFT$(PASS, 1) = "V" OR LEFT$(PASS, 1) = "v" THEN LET FLAG.V = -1
 
    PRINT
    WHILE NOT EOF(1)
      LET PASS = INPUT$(1, #1)
      IF PASS <> CHR$(13) THEN PRINT PASS;
      IF PASS = CHR$(13) THEN LET PASS = ""
      IF PASS = CHR$(10) THEN LET PASS = " ": IF FLAG.V THEN LET PASS = "|"
      IF PASS = CHR$(9) THEN LET PASS = " "
      IF PASS <> " " AND PASS <> "" THEN LET FLAG.B = 0
      IF NOT FLAG.B THEN LET STRNG = STRNG + PASS
      IF (FLAG.V AND PASS = "|") OR (PASS = " ") THEN LET FLAG.B = -1
      IF LEN(STRNG) >= 
MAX.IN
 THEN GOTO 300
    WEND
300 LET STRNG = STRNG + LEFT$(STRNG, N.PAT)
    PRINT : PRINT
    PRINT "Input string contains "; LEN(STRNG); " bytes"
    PRINT "There are "; FRE(""); " bytes remaining in string space"
    CLOSE #1
    PRINT : PRINT
 
    OPEN "TRAVESTY.TXT" FOR OUTPUT AS #2
    LET PATTERN = LEFT$(STRNG, N.PAT)
    PRINT PATTERN;
    PRINT #2, PATTERN;
    LET N.OUT = N.PAT
 
400
    FOR K = 0 TO 256
      LET LETTER(K) = 0
    NEXT K
    LET I = INSTR(STRNG, PATTERN)
    WHILE I > 0 AND I <= LEN(STRNG) - N.PAT
      LET PASS = MID$(STRNG, I + N.PAT, 1)
      LET LETTER(0) = LETTER(0) + 1
      LET K = ASC(PASS)
      LET LETTER(K) = LETTER(K) + 1
      LET I = INSTR(I + 1, STRNG, PATTERN)
    WEND
    LET L = INT(1 + LETTER(0) * RND)
    FOR K = 32 TO 256
      LET L = L - LETTER(K)
      IF L <= 0 THEN LET OUT.CHAR = CHR$(K): GOTO 500
    NEXT K
500
    LET N.OUT = N.OUT + 1
    IF N.OUT MOD 50 = 0 THEN LET FLAG.E = -1
    LET PATTERN = MID$(PATTERN, 2) + OUT.CHAR
    IF NOT (FLAG.V AND OUT.CHAR = "|") THEN PRINT OUT.CHAR; : PRINT #2, OUT.CHAR;
    IF (FLAG.V AND OUT.CHAR = "|") OR (FLAG.E AND OUT.CHAR = " ") THEN PRINT : PRINT #2, : LET FLAG.E = 0: IF FLAG.V AND OUT.CHAR = " " THEN PRINT SPACE$(5); : PRINT #2, SPACE$(5);
    IF INKEY$ = CHR$(3) THEN END
    IF N.OUT < MAX.OUT OR OUT.CHAR <> " " THEN GOTO 400
    CLOSE
    SYSTEM
5000
    IF ERR = 53 OR ERR = 64 THEN PRINT CHR$(34); SOURCE; CHR$(34); " does not exist. "; : PRINT "Try again": RESUME 200
    ON ERROR GOTO 0
 


 
Grazie della segnalazione in effetti cercando in rete questo programma
"Travesty" ho trovato anche segnalato queste pubblicazioni di "storia
dei software poeti e scrittori": uno è "Prehistoric digital poetry" di
C. T. Funkhouser (una storia di questi software dal 1959 al 1995)
 
http://books.google.it/books?id=BLFTf33jtJEC&printsec=frontcover&hl=it#v=onepage&q&f=false
 
 
Un altro è "Virtual muse: experiments in computer poetry" di Charles
Hartman
 
http://books.google.it/books?id=Io3lrOpdtasC&printsec=frontcover&hl=it#v=onepage&q&f=false
 
 
Mi interesserebbe sapere se magari qualcuno esperto in riviste e
manuali di informatica anni '80 e primi anni '90 può segnalarmi se
alcuni di questi programmi citati nelle due pubblicazioni sopra sono
stati diffusi anche da pubblicazioni italiane. Immagino poi che siano
esistiti anche tentativi di software che creavano musiche o quadri
astratti, sarebbe interessante anche qui compiere qualche ricerca su
tentativi simili di "algoritmicizzare" attività creative tipiche
dell'arte.
 
Ciao.

 contenuti simili.
 
Tim Hartnell - "Il Basic per l'intelligenza artificiale"
 
http://www.digitanto.it/mc-online/PDF/Articoli/053_038_038_0.pdf
 
 
Lo acquistai verso la fine degli anni '80. Ogni tanto lo sfoglio ancora!
 
Ciao,
Gianfranco

 per pc/dos.
 
Ora che mi ci fai pensare,
credo che Elisa.exe sia un nome più che plausibile....
probabilmente una traduzione in italiano !
 
Dino
comPVter

>> I have a family and a full time job, but still have time to get
much hours of Amiga hacking a day :-)  <<< 
 
 

 Vedi su MC Microcomputer.
Opsss, ho letto solo adesso che Gianfranco Zuliani ti aveva risposto citando 
anche dove trovare l'articolo su MC.


 
 
In realtà il link punta ad una recensione del libro del mitico Giustozzi.

 Gianfranco
 
Segnalo che facendo una ricerca nel 
http://catalogostorico.fondazionemondadori.it/
 
ho trovato che nella stessa collana "Edizioni elettroniche. Collana di
intelligenza artificiale" del libro di Hartnell erano stati pubblicati
altri due testi:
 
"Le idee dell'intelligenza artificiale : un'introduzione e una
panoramica aggiornata delle applicazioni" Marco Colombetti e
 
"Verso l'intelligenza artificiale : una guida alla programmazione con
esempi in LISP e LOGO" di Alan Bundy, Rod M. Burstall, Sylvia Weir,
Richard M. Young ; a cura di Alan Bundy, Giovanni Lariccia ;
traduzione di Giovanna Sissa, Serenella Cerrito.
 
Entrambi sono del 1985. Mi sembrano libri molto interessanti,
soprattutto l'ultimo. Se qualcuno li possiede magari mi farebbe un
piacere se può darmi qualche giudizio (ho trovato anche un testo di
Andreoli R.A., "Micromondi linguistici. L'uso di Logo nella didattica
dell'italiano", La Nuova Italia, Firenze 1996, sembra prettamente
didattico ma magari ha qualche risvolto "creativo" relativo all' IA).
 
Ciao.