Newsgroup: it.comp.lang.c
Titolo: Che linguaggi insegnano a scuola

Salve a tutti. Avrei una domanda da fare per una ricerca personale.
Sapete dirmi che linguaggi (C, C++ o Pascal) insegnano (se l'insegnano!)
nelle scuole medie inferiori e/o superiori (NO universita')?
Vi ringrazio anticipatamente.

nelle scuole medie inferiori e/o superiori (NO universita')?
Al liceo scientifico da me insegnano il Pascal.
All'istituto tecnico dove insegnava mia madre Pascal, C, Assembly.
Ciao,
DjM / Digital Things
aka Mauro Molinari
Internet e-mails: 
=> 
djm...@geocities.com
 (music)
=> 
maur...@tin.it
 (personal/other)
ICQ #: 10379016
Digital Things Home Page:
=> 
http://space.tin.it/musica/gvettora
=> 
http://www.geocities.com//SiliconValley/Bay/8251
=> 
http://members.tripod.com/~DjM_DiT
=> 
http://members.xoom.com/DjM_DiT
*** To send me an e-mail, put the correct address into "to" field.
*** Per mandarmi una e-mail, metti l'indirizzo corretto nel campo "a"..

Vi ringrazio anticipatamente.
Quarda che il linguaggio ha poca importanza. Quello che conta e' che ti
insegnino a programmare, il che e' diverso. Inoltre al giorno d'oggi un solo
linguaggio certo non basta per fare il programmatore, per cui...
Bye.

nelle scuole medie inferiori e/o superiori (NO universita')?
Turbo Pascal e` il linguaggio insegnato al Liceo Scientifico
Fermi di Bologna, nelle sezioni "sperimentali" d'Informatica.
Alex


All'istituto tecnico Fermi di Modena insegnano C e assembly per Z80
(resiste!)
Ciao

Vi ringrazio anticipatamente.
 a Ragioneria(programmatore) a Magenta (MI) mi hanno insegnato(si fa per
dire) il BASIC il COBOL e poco poco RPG su AS/400.
----------------------------------------------
 Questa è l'esplorazione che vi
    attende! Non determinare la
   posizione delle stelle e studiare
   le nebulose, ma scandagliare
le possibilità ignote dell'esistenza
                                  Q.
------------Matteooooo------------------
 
mat...@est.it
 (per risposte togliere NOSPAM)

 nelle scuole medie inferiori e/o superiori (NO universita')?
Io alle ITI (istituto tecnico industriale), telecomunicazioni, studio il C e
C++. Probabilmente faremo anche qualcosa di assembly.
Comunque l'importante è che insegnino a *programmare*, poi il linguaggio è (a
mio parere) indifferente.
-- 
*** Gottardi Matteo / 
goma...@tin.it
 ***
*Linux*, the choice of a _GNU_ generation

linguaggio certo non basta per fare il programmatore, per cui...
Secondo me il linguaggio ha molta importanza. Essendo lo strumento che l'alievo utilizzera` e` molto importante che esso
non lo distragga con dettagli e sfumature semantiche che non si e` ancora in grado di apprezzare e/o criticare e tanto
meno padroneggiare.
Paolo.
P.s.
  Comunque per rispondere alla domanda iniziale, che io sappia il Pascal e` il linguaggio di gran lunga preferito
(secondo me a ragione).
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
-----------------------------------------------

nelle scuole medie inferiori e/o superiori (NO universita')?
Alle medie il Logo.
Al mitico Liceo scientifico Tecnologico di Pc: biennio Pascal,
Triennio C.
'ao!
Paolo Perini
lau...@digibank.it
http://www.digibank.it/kaiohshin/
"Non ho bisogno delle riviste! La mia vista divina mi permette
di vedere chi fa la doccia e chi si cambia!" - il dio KaiohShin

All' ITIS B. Castelli di BS ___            in 1° e 2° qualcosa di Pascal
                                                              in 3° 4° e 5°
C, C++,  PROLOG  , DB3/5 , assembler_
                                                                ciao
dario

..
Il linguaggio ha molta importanza perchè l'importante non è saper
programmare, ma saper programmare bene.
Un linguaggio come il Pascal è didattico nel senso che insegna i concetti
fondamentali della programmazione e permette poi di passare ad altri
linguaggi mutuando concetti già acquisiti (quindi sarà più facile imparare
linguaggi diversi).
Ciao

 Vi ringrazio anticipatamente.
Alle superiori, (ITIS dal 1986 al 1989), mi hanno insegnato pascal,
fortran ed assembler 6502.
All'universita' (Scienze dell'informazione) pascal, C ed assembler Z8000.
-- 
Fabrizio Di Giuseppe
mailto:
fabr...@iride.com
http://www.iride.com/fabrizio/

 (secondo me a ragione).
mah non sono sicuro... penso che il migliore per iniziare sia il Basic.
(forse perchè sono nostalgico del c64???:))))))
ciao!
-- 
Carotino
Member #2 and PR of POTA (founded by Zarkan)
ICQ 19905752
Amiga's Paradise:
www.geocities.com/timessquare/labyrinth/5925/index.htm

nelle scuole medie inferiori e/o superiori (NO universita')?
ITIS A.Meucci di Roma: 	Pascal
			C/C++
			Assembly 80x86
			Java >molto poco!<
ITIS A.Pacinotti di Roma:	Delphi (beati loro!)
			Altri che non so! (forse Assembly)
-- 
Gargamella from Nonsense Delivering Service
remove *dinkyisland* from address to mail me


Chi si rivede... comunque al triennio fanno:
C: benino, pero', date le oggettive difficolta', e' fatto in modo molto
superficiale.
C++: fatto in modo orribile rispetto a quello che poi e' veramente.
Dubito che il prof. conosca la differenza tra C e C++ :-)
Visual Basic: fatto in modo molto blando, nulla di particolarmente
impegnativo, ma comunque si impara (secondo me e' quello che, in 4^ liceo,
funziona meglio: e' semplice e realizzare un prog. e' abbastanza veloce).
Sono arrivato fin qui, comunque si parla anche di
Access: non voglio fare commenti :-)
Html o ToolBook, per vedere gli ipertesti.
^^^^ forse anche con un pochino di Java :-)
P.S: A' Kaio'... e falla bene la pubblicita' del tecnologico :-))))
Ciao
Emanuele Cesena
d.a.m...@iol.it
           Attenti all'antispam NOSPAM
http://www.geocities.com/SiliconValley/Grid/8879
trovate ora l'editor per i livelli di Bubble2000!! :-))
ICQ n° #10570672

 
Il basic (almeno quello che conosco io, ovvero quello del vic20 C16 e C64)
da troppa liberta` "stilistica" che a lungo andare si trasforma in cattive
abitudini... Il rigore del pascal invece impedisce l'acquisizione di
simili abitudini e stimola a pensare prima di scrivere.
Paolo


Non so se ho capito bene cosa intendi per libertà stilistica ma penso
di essere d'accordo con te. Per esempio io ho un odio maniacale per la
GOTO ed ora anche che per la BREAK (inserita nel TP7).
Le considero diseducative al massimo per i novelli programmatori che
spesso hanno imparato con il basic.
La GOTO fa si parte dello standard pascal ma chi la utilizza non ha
imparato a pensare in pascal.
A pensare poi alla BREAK mi viene la pelle d'oca.
PS   Ma tutta questa gente che ha scritto in questo thread da dove
viene? Quando si discute di Pascal siamo sempre i soliti 3 o 4 a
scrivere e adesso cosa e' successo?
Forza ragazzi/e (la 'e' l'ho messa giusto per forma ma mi sembra che
qui donne nisba...) partecipiamo piu vivacemente.
Ciao,  Fabio
fabi...@rocketmail.com

 qui donne nisba...) partecipiamo piu vivacemente.
eheheh avevo messaggiato qualche tempo fa, ora sono
tornato....:))))))))))))



pure al ITC x programmatori (al "Piero")   insieme al Cobol x le
applicazioni commerciali.


Veramente di donne per la rete ne girano pochine... almeno sui
newsgroup dove si discute di programmazione.
Paolo


scrivere e adesso cosa e' successo?
Nota che questo thread e` cross-postato sui gruppi di C e C++,
quindi partecipano alla discussione anche quelli che di Pascal non
si interessano particolarmente, ma solo di C e/o C++ (io ho, a
giudicare dal serial number, la 120a copia di Turbo Pascal 1.0
mai venduta -- lo acquistai prima di possedere un PC personale,
per usarlo, di nascosto, sul computer al lavoro, invece dell'odiato
Microsoft Pascal che, gli hard disk sui PC non esistendo ancora,
costringeva a "fare i disk jockey" fra i floppy per compilare
alcunche`; curai anche, all'epoca, gli "errata corrige" in rete
del suo manuale... ma al giorno d'oggi posto sui gruppi di C,
C++, e Java!-).
Alex

si interessano particolarmente, ma solo di C e/o C++
[cut]
Mi rimangio tutto non avevo notato il cross-post.
Comunque per ritornare sul tema della domanda iniziale, alle superiore
all'ITIS Enrico Fermi di Roma, qualeche hanno fa insegnavano Pascal,
assembler 6502, ad ingegneria all'univeristà la Sapienza di Roma alle
lezioni di  fondamenti 1 insegnano Pascal e ad fondamenti 2 Prolog.
Ciao a tutti,
Fabio
fabi...@rocketmail.com

 Vi ringrazio anticipatamente.
--
-------------------------------------
-      Marchesi Maximiliano         -
-     "
mmar...@cs.unibo.it
"        -
-------------------------------------

 Alex
--


testo fondamentale in merito, ed e` datato 1974).  
Personalmente, non credo di pontificare su alcunche`, negli ultimi
8 anni non ho mai dovuto fare ricorso al goto. Da questa esperienza, ogni
qual volta mi capita di intravederne un possibile caso in cui possa servire, cerco di
pensare bene a come strutturare il codice e fin'ora ho sempre trovato una alternativa
migliore e piu` elegante. Tutto questo mi porta a pensare che se si fa uso della goto,
molto probabilmente quel codice non e` stato pensato bene.
Diverso e` invece il discorso per break, continue e return... vero e` che altro non sono che dei goto,
ma la loro semantica e` assai piu` chiara (perche` piu` limitato e specializzato e` il loro campo di azione).
Cerco sempre di evitarne l'uso la dove si puo` evitare (la continue e` sempre evitabile, il break invece
in C++ non lo e` sempre), tuttavia esse non comportano necessariamente gli stessi effetti ed un loro
uso ragionevole puo` rendere il codice piu` comprensibile. Tipico esempio e` la return del C++ che
terminando l'esecuzione di una funzione, ti permette una piu` ragionevole strutturazione del codice:
   if (cond)  {
     // calcoli
     return valore;
  }
  if (cond2) {
   // calcoli
   return valore 2
  }
  ....
  return valore n;
e` molto meglio di una serie di if-else annidati, specie se la natura delle varie condizioni non
consente l'uso della case del pascal (la switch in C++).
Anche la break in pascal e` sempre evitabile, in C++ invece la semantica della switch-case
ti costringe spesso ad utilizzarla. Comunque sai sempre dove porta...


Triennio C.
Dimenticavo... in 4^ il VisualBasic
In 5^ boh!



Nell'I.T.Commerciale per Programmatori, qualche anno fa, abbiamo usato
Turbo Pascal, GWBasic, DB III, Cobol....
Ovviamente non e' possibile fare un confronto fra i quattro... ma presi due
a due...
Al Liceo Linguistico, dove va mia sorella, hanno fatto finta di insegnare il
TPascal...
Ah ! ho visto di sfuggita anche il Clipper...
max

una Repeat od una While (discorso un po' contorto ma ci siamo capiti).
Questione di "interpretazioni"; se da un For posso uscire con Break,
allora significa che l'istruzione, in quel dato Pascal esteso, NON e`
limitata a "ripetere N volte", ma puo` anche "ripetere N _o meno_
volte", ovvero "al _massimo_ N volte" che dir si voglia; se cosi` non
fosse, il Break non sarebbe ammesso in quel contesto (cioe` For
forzerebbe esattamente-N ripetizioni del corpo del ciclo).
Il problema fondamentale e` quello che Knuth chiama "il loop N-volte-
e-mezza", che si puo` esprimere ad esempio come:
    while(true) DO BEGIN
        /* blocco A di istruzioni */
        IF(test_di_terminazione) THEN BREAK;
        /* blocco B di istruzioni */
    END /* WHILE */
E` un caso molto comune, e il effetti i "normali" WHILE e REPEAT
sono solo dei casi particolari in cui il blocco A o il blocco B capita
che siano nulli; e` dunque una grave mancanza dei comuni
linguaggi di programmazione non avere QUESTO come costrutto
fondamentale di ciclo, invece dei "casi specializzati" WHILE e
REPEAT (o while e do-while in C/C++, stessa storia).
Certo, questo si puo` riscrivere in termini, ad esempio, di while,
per esempio duplicando uno dei blocchi, o introducendo un flag
booleano "artificiale" (rispetto alla "vera" logica del programma),
eccetera; ma, se e` per questo, e` facile dimostrare che qualsiasi
espressione booleana si puo` esprimere con il solo NAND -- cio`
non giustifica un linguaggio che per questo omettesse di fornire gli
operatori AND, OR, NOT, "tanto si possono emulare"...!-)
La "soluzione" che adottavo di solito, quando dovevo scrivere in
"Pascal portatile" (per modo di dire... ma, comunque, col minimo
di incompatibilita` fra Turbo Pascal, Microsoft Pascal, Pascal/VS, e
come diavolo si chiamavano quelli della Digital Equipmente e
dell'HP), era analoga all'introduzione di un flag booleano "extra",
e consisteva nell'introduzione di una variabile di stato che era un
tipo-enumerato:
    stato := inizio;
    while(!finito(stato)) DO BEGIN
        /* blocco A */
        if(qualcosa) stato := trovato;
        else if(qualcosaltro) stato := mancante;
        else if(ancoraroba) stato := cosastrana;
        /* blocco B */
    END /* WHILE */
A posteriori, non vado particolarmente orgoglioso di questo
idioma, perche`, a pensarci, con una variabile di stato in un
bel loop, e un case su di essa, si implementa, in pratica, nel
modo piu` diretto e immediato, il _meno_ strutturato dei
programmi... un "diagramma di flusso" all'antica!  Si usano
le _FORME_ della programmazione strutturata -- e se ne
viola drasticamente lo _SPIRITO_.  No, grazie... MOLTO
meglio il BREAK... almeno e` *leggibile*!
L'altra ottima ragione per cui salta fuori il GOTO, o altra forma
di trasferimento di controllo non-locale, e` la diagnostica
degli errori.  Un programma reale, a seconda del campo di
applicazione, deve spendere fra il 30% e il 70% del suo codice
a diagnosticare possibili errori, e gestirli se succedono.  Se si
pone tutto questo codice di diagnosi e gestione *in linea*, cioe`
"mescolato" con il codice del flusso logico principale del
programma, si ottiene solo un polpettone ingestibile.
La soluzione ideale, naturalmente, e` un costrutto del linguaggio
_appositamente dedicato_ a interrompere il flusso in caso di
errore, come, ad esempio, il "throw" del C++ (e relativi try e
catch).  Il flusso logico principale del programma viene, cosi`,
ragionevolmente pulito e manutenibile; apposite funzioni di
controllo d'errore lo interrompono, se del caso, "lanciando"
una eccezione, e altre, "a monte", ``catturano'' e gestiscono
l'eccezione stessa.
Se il linguaggio un costrutto del genere non lo offre, o si fa un
gran miscuglio come sacrificio sull'altare della "programmazione
strutturata" (strutturata _a chiacchiere_...), o si ricorre ai goto
(non soddisfacenti per tante ragioni, fra cui non ultima quella di
dovere restare locali alla funzione che diagnostica l'errore, ma
pur sempre meno peggio dell'alternativa di "mischiare tutto").
Il segno ineluttabile di "questo e`, o un principiante, o uno
zelota", e` una logica della forma:
    /* blocco A *./
    if nessun-errore-finora then begin
        /* blocco B */
        if nessun-errore-finora then begin
            /* blocco C */
            if nessun-errore-finora then begin
                /* blocco D */
                /* ecc, ecc */
            end else begin
                /* gestisce alcuni errori */
            end
        end else begin
            /* gestisce altri errori */
        end
    end else begin
        /* gestisce altri errori ancora */
    end
Non sara` scritto in nessun "sacro testo", ma una
funzione con una struttura eccessivamente annidata
porta i suoi grossi problemi di comprensione, di
gestione, di manutenzione -- quando questo codice
potrebbe essere "lineare", purche` si ricorresse a
trasferimenti di controllo non-lineare nei casi d'errore.
Alex

corretto, come dire : Prima la teoria e poi la pratica...
Se cosi` fosse, allora sarebbe meglio cominciare con TAoCP, visto
che, proprio in termini di teoria, non e` secondo a nessuno...!
Il problema principale e` che TAoCP e` un testo di grosso "spessore"
matematico; chi non sia pienamente a suo agio con strumenti come
la trasformata Z (o "di Riemann"), o _almeno_ la piu` semplice
trasformata di Laplace, fara` una fatica bestiale, per quanta ottima
pratica abbia.
Alex

qui donne nisba...) partecipiamo piu vivacemente.
Magari e' meglio discutere di pascal  su it.comp.lang.pascal, troverete 
senz'altro persone piu' interessate.
Grazie.
Ciao.
-- 
Warning!
Don't send any mail for me at my from: or replayto: addresses ;
I just kill the mail over there without reading!

 all'università.
Avrebbe fatto meglio a dire: prima pensate a cosa dovete fare, a fare un
progetto, e poi potete codificare. Ma programmare sulla carta mi pare
eccessivo, se vuol dire scriversi il programma per intero a mano e poi
riportarlo su computer. Avevo professori che la pensavano cosi', ma
francamente questo lavoro mi pare una perdita di tempo. Tanto piu' che
gli strumenti su computer per la progettazione del software non sono
considerati un'eresia.


switch-case ti costringe spesso ad utilizzarla. 
Ho come l'impressione che lo switch del C altri non sia che un banale 
goto. Se tu potessi fare una cosa del genere :
#define switch(n) goto n
#define case
cambierebbe qualcosa?!?! Credo proprio di no, o sbaglio??



E per quale motivo non dovresti utilizzare delle chiamate di procedure...
il try-catch non fanno in ultima analisi questo?
Ripeto, a mio avviso break, continue etc. etc. sono istruzioni comode, ma
non per questo vanno utilizzate selvaggiamente. Spesso una maggiore
riflessione su quello che si vuole fare porta a trovare soluzioni buone che
non ne facciano uso (o comunque un abuso).
Paolo



http://www.iride.com/fabrizio/
Ciao
                                            Bart...

tornato....:))))))))))))
Bravo... meno male... sempre a giocare con gli emulatori eh?
;-)

non ne facciano uso (o comunque un abuso).
Ma, a giudicare dagli esempi che hai fornito sinora, spesso
una qualche insuficienza in questa riflessione porta anche
ad adottare soluzioni inferiori, per chiarezza ecc ecc, a quelle
che permetterebbe il linguaggio di programmazione usato: ad
esempio, l'uso del costrutto piu` generico e meno esplicito
"while", in un linguaggio che permetterebbe invece di usare
for+break, per esprimere il concetto di "ciclo eseguito non
piu` di N volte, ma potenzialmente anche meno di N".  Ancora
piu` problematica, simile insufficiente riflessione, specie se
accoppiata alla sicumera indicata da "quel che dici non ha
senso / sicuramente piu` gestibile", su problemi privi di una
soluzione "ideale" (come, invece, e` _ideale_ l'accoppiata
FOR+BREAK, che tu rigetti a favore del generico WHILE!),
tipo la gestione degli errori.
Alex

 
Quello di soluzione ideale rispetto a for+break lo e` solo
per te, per quanto mi riguarda non mi hai ancora dimostrato
l'effettiva validita` tale "ideale" soluzione.
Paolo

in luogo di qualcosa di meno specializzato.
correzione: intendevo dire "non c'e` motivo per non utilizzare tale
potere..."
Paolo
----------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------

Al Liceo Scientifico quasi solo il Pascal. Ai tecnici commerciali anche C,
cobol e Basic
Al Classico fanno finta di usare il Pascal
Enrico ha scritto:


Qui ad Agrigento hanno messo qualcosa come 20 P200 nuovi nuovi, mai usati
xché appena si accendono tutti salta la corrente a tutto l'istituto.
Riguardo all'insegnamento, in un istituto vengono sparati VB e Java a tutta
forza, al liceo scientifico (dove studio io) i professori dicono Pascal
(quello di TP6 x dos, s'intende), mentre gli elenchi dei libri dicono ->
Word 95 <-. Tra i miei compagni, molti hanno comprato tale libro senza
sapere che quasi certamente non lo useranno mai, mentre la mia prof di
matematica insegna, tramite gessetto & lavagna, il Pascal a forza di Readlin
e Writlen (avrete notato gli errori di grammatica, sono di proprietà della
prof). Non per niente stiamo protestando come cani contro i fondi ai
privati.
E.G. er Cicca
er_c...@usa.net

Al Classico fanno finta di usare il Pascal
e' proprio vero....
al liceo classico Ugo Foscolo (pavia) abbiamo fatto in teoria 2 anni
di turbo pascal su computer SENZA HD (!!) e col mitico dos 4 su
dischetto.
in aula di informatica (almeno c'e' l'aula...) ci siamo andati non
piu' di 15 volte e siamo arrivati agli if.
le mie compagne non capiscono cosa vuol dire a=a+1 perche' dicono che
qualcosa non puo' essere uguale a se stesso +1 
poi pero' i prof chiedono agli studenti (io) di fare la home page da
mettere on-line...
giuro che e' tutto vero
Francesco Mapelli ( 
mape...@tin.it
 )
il contakm per il mouse:
http://members.xoom.com/mousestats
sito comune programmatori vb
http://members.xoom.com/it_lang_vb


In effetti matematicamente parlando quella scrittura e` un oggetto molto difficile da
maneggiare. Tant'e` che in linguaggi come prolog, basati sui meccanismi della logica,
non si parla di assegnamenti, ma di unificazione (una specie di pattern matching per intenderci) e
si programma in modo assai diverso.
Paolo
----------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------------

 (una specie di pattern matching per intenderci) 
hem... temo che il concetto di "pattern matching" mi sfugga...


hem... temo che il concetto di "pattern matching" mi sfugga...
La sua versione piu` astratta e generale: io asserisco
un certo predicato, contenente variabili "libere" (cioe`,
il cui valore non e` determinato in questo punto) e
altre "fissate" (il cui valore e`, cioe`, tentativamente
determinato a questo punto); il "motore" che fa girare
il mio codice basato su pattern-matching sceglie un
certo insieme di "fissaggi", per le variabili libere, tale
da rendere vero il predicato che ho asserito; e si
procede.  Specificamente, procedo asserendo un altro
predicato in tot variabili; alcune di esse saranno state
fissate (magari per soddisfare un predicato da me
asserito), altre no; ancora, il "motore" e` responsabile
di scegliere fissaggi che soddisfano questo predicato.
E` possibile che a un certo punto un predicato, tenendo
fisse le variabili gia` fissate, sia contradditorio, cioe`
nessun fissaggio lo rende vero; allora inizia la "marcia
all'indietro" ("backtracking"); il motore sceglie uno dei
predicati che aveva gia` "risolto", assegna un _altro_
insieme di fissaggi (ancora mai provato in questo stesso
contesto), e riprova; se anche per l'altro predicato non
c'e` nessun insieme di fissaggi (non gia` tentato) che
puo` soddisfarlo, il back-tracking procede.
Ci sono mille trucchi e algoritmi furbi per rendere certi
casi di questo schema piu` efficienti di quanto non sia
la semplice "ricerca esaustiva" qui esemplificata, mille
piccole modifiche (effetti collaterali di predicati) e altre
meno piccole (come i "tagli", che dicono al motore: mai
spingere il backtracking all'indietro di questo punto) per
rendere praticamente usabile il paradigma.  Un tempo,
pareva che Prolog, basato su questo approccio, fosse il
linguaggio del futuro; i Giapponesi, apparentemente, ci
hanno investito non pochi yen, come parte del "progetto
5a generazione" (ricadute, poche).
Alex

 
Il pattern matching, in poche parole, e` l'operazione che si compie quando
si vuole fare coincidere (o solo verificare se possono coincidere) due
stringhe a meno di sostituzioni di parametri di una con parti dell'altra
Ad esempio se hai:
madre(pippo, clarabella)
ed esegui il pattern matching con
madre(x, clarabella)
ottieni successo sostituendo ad x il valore pippo
Spero che questo esempio sia sufficiente...
Paolo
 


A quanto asseriva un mio docente, con opportuni algoritmi si e` riuscito a rendere
prolog abbastanza efficiente, lui asseriva di prestazione paragonabile a quelle
ottenute con altri (non specificati) linguaggi, comunque dubito fortemente di cio`
anche per via di esperienze fatte nel campo della AI.
So comunque di una ditta a Milano che utilizza prolog, probabilmente per la
prototipazione rapida in quanto permette di risolvere in modo semplice molti
problemi.


5a generazione" (ricadute, poche).
Ed Io mi sono beccato l'unica bocciatura in programmazione della mia vita,
insieme ad un insanabile odio verso il prolog
Ale

...


Concordo.
A me hanno insegnato (si fa per dire) il COBOL. E non mi è servito a
niente. Per fortuna dopo mi sono messo a studiare, anche su UNIX,  il
C (ed ho trovato lavoro) ed adesso il C++. ALTRA COSA !!!
Il fatto è che quello che mi hanno insegnato a scuola mi è servito il
giusto. Magari mi avessero insegnato il C - che è sì molto difficile
ma anche molto "stuzzichevole" ed appassionante.
Tutto qui.
Ciao
Gabriele

Io, all'ITIS, ho imparato il Pascal.
A quei livelli comunque e` bene imparare la filosofia
della programmazione, piu` che i dettagli tecnici.
Ciao, Michele.

Io adesso, a fine 1998, sto facendo il Pascal. Più che facendo sto facendo
finta di fare, poichè abbiamo un tecnico di laboratorio che viene da un ITIS
e non conosce questo linguaggio. Tenete conto che faccio il Liceo
scientifico con SPERIMENTAZIONE INFORMATICA. Di informatica ne faccio un'ora
alla settimana e i risultati sono pochi. Bella fregata!!!


In prima ed in seconda ITIS ho fatto, come laboratorio di matematica, il Pascal;
il prof sapeva qualcosa (_qualosa_), e l'assistente di laboratorio ci diceva che
per uscire dal Turbo Pascal bisognava spegnere e riaccendere il computer...
In terza, nell'indirizzo Elettronica e Telecomunicazioni, abbiamo fatto il C.
Ok, il prof ne sapeva abbastanza, ma non sapeva insegnare.
Abbiamo anche fatto, in quarta, un po' di assembler, giusto per programmare i
microprocessori da montare sui nostri circuiti.
Ciao.
-- 
Gabriele Biffi
gbi...@usa.net
 - ICQ: 5169491
http://www.rete039.it/civis/gbiffi/
"Il Pensiero genera l'Eresia; l'Eresia genera il Castigo." - WarHammer

...

Pienamente daccordo, ma la filosofia della programmazione l'ho dovuta
imparare da me, e non ho ancora finito di impararla...
L'unica cosa di cui mi rammarico è di non aver avuto la possibilità di
imparare qualche linguaggio o la creazione degli algoritmi guidato da un
buon professore. Ho dovuto fare tutto da me, con due risultati: 1) penso di
dover imparare ancora molto; 2) Ora che sono iscritto al corso di laurea in
Informatica capisco e imparo facilmente la sintassi del Pascal (al primo
anno facciamo solo pascal e un po' di assembler) e riesco ad impostare
facilmente gli algoritmi per risolvere vari problemi.
Penso che uno che frequenti un corso sperimentale di Informatica al Liceo
abbia il diritto di essere guidato da uno che conosce un minimo di
programmazione ma, a quanto pare, a me non è stato concesso.


della programmazione, piu` che i dettagli tecnici.
Giusto, e` una considerazione importante.  La "filosofia"
che sta dietro al Pascal e` una buona cosa da imparare
anche se uno non dovesse poi far uso "reale" del
linguaggio; forse un termine ancora migliore e` "stile" --
il Pascal, linguaggio abbastanza rigido e preciso, ha un
suo "stile" naturale, cui non e` affatto una brutta idea
ispirarsi anche (forse "soprattutto") nell'uso di vari altri
linguaggi piu` flessibili/laschi.
Alex

...


facilmente gli algoritmi per risolvere vari problemi.
In che città studi Informatica?? Percaso Bologna?
......scausate l'OT 
______________________________
e-mail:  
Aur...@hotmail.com
ICQ:     16005054
Dark reign,Total annhilation,Age of Empires,Dune2K,C&C2
http://www.geocities.com/TimesSquare/Maze/3856/


Al biennio ITIS ho fatto finta di fare il Pascal, poi nell'indirizzo
informatica fai Pascal, C++ , HTML ed Assembly come linguaggio per hardware.

I faccio un itis di novara, perito informatico e facciamo c, c++, pascal,
visual basic e assembly. Per fortuna tutti i professori sono più o meno
competenti, quindi devo dire che otteniamo risultati piuttosto buoni.
Andando in dietro con gil anni.... alle medie ci hanno insegnato le basi del
pascal e del basic, tutte cose molto semplici, ma utili...
tornando sempre più indietro.... in quarta elementare ci spiegarono cosa
sono le variabili con qualche esempio di operazione su variabili in basic.

programmazione ma, a quanto pare, a me non è stato concesso.
Consolati. Io faccio il Liceo classico (ora sto al quarto anno) con
indirizzo di matematica-informatica. A scuola, nonostante i fondi, abbiamo
dei favolosi 8086 che ormai non vanno più, ma quando facevo il ginnasio sì e
li *usavamo*. Il professore era però abbastanza capra. I mie compagni
chiedevano aiuto a me e non a lui. Un giorno un mio amico chiese aiuto al
prof (programmavamo in Pascal), il quale ebbe la brillante idea di togliere
un punto e virgola, e il programma non funzionava ancora con suo grande
imbarazzo. Mi sono avvicinato, gli ho indicato un punto e virgola di troppo
in un altro posto e da allora non abbiamo più fatto informatica.
Rick
http://users.iol.it/scozzoalto
Tutte le stupidaggini sparate nella mia scuola negli ultim anni!

in un altro posto e da allora non abbiamo piů fatto informatica.
Che scandalo,
noi abbiamo quasi tutti Pentium II e come programmazione usiamo il c++
anche se non facciamo grandi cose...
Ah... che scuola faccio?
ITIS indirizzo elettrotecnica ed automazione.
Il c++ lo usiamo soprattutto per interfacciarci con hardware fatti in casa
tipo plotter
bracci meccanici fatti con i lego.
Non mi posso lamentare, pero' devo dire che di c++ ne so di piu' io che il
professore,
che lo insegna solo per tirarsela, e penso, lo abbia imparato da autodidatta
( come del resto anch'io )
saluti
Lerda Marco
IRC NickName: MLProg
IRC Channel :   #lerda
E-mail : 
mle...@tin.it
Web Site 1: 
http://marcolerda.home.ml.org
Web Site 2: 
http://fly.to/mlprog

...


 bracci meccanici fatti con i lego.
Belloooo :)
Voglio il lego !
Dove si trovano interfaccie e un braccio lego ?
Mi sembra ci siano in commercio.

anche all'itis j. Von Neumann a roma insegnano il c e c++ sia sotto dos che
sotto windows,inoltre ci hanno fattostudiare anche l'assembler e l'html
ciao Roberto Di Battista

Mi sembra ci siano in commercio.
Noi le abbiamo fatte da noi con alcune interfacce per motori passo-passo
riciclate
ma so che esiste un kit per comandare i motori lego tramite seriale
Prenditi il catalogo lego

, 
mle...@tin.it
 says...

Conosco il kit di cui stai parlando ma credo sia ormai fuori produzione 
(anche se non ci posso giurare). 
A ottobre pero' e' uscito LEGO Mindstorms - Robotics Invention System, 
che e' _molto_ meglio. Si tratta di un vero e proprio microcomputer (CPU 
8 bit, 4kb RAM mi pare) inserito in un "mattoncione" giallo chiamato RCX, 
e che puoi programmare da PC tramite un trasmettitore a infrarossi 
collegato alla porta seriale. All'RCX puoi collegare fino a tre motori + 
tre sensori (sensibili alla luce, al contatto, ecc.), piu' ovviamente 
tutti i mattoncini che vuoi. 
Il linguaggio di programmazione incluso nel pacchetto e' proprietario, di 
tipo grafico-intuitivo e molto semplice da usare. In giro per la rete si 
trova anche uno pseudo-compilatore che supporta un subset del linguaggio 
C (NQC, per Not Quite C).
Purtroppo Mindstorms e' in vendita solamente in USA, Canada e GB. Il kit 
base costa l'equivalente di circa 300mila ed include un RCX, 
trasmettitore IR, 2 motori, 3 sensori, software + circa 700 mattoncini di 
vario tipo (prevalentemente della serie technic). Ci sono anche due 
espansioni vendute separatamente.
Per maggiori informazioni: 
http://www.lego.com
 
http://www.legomindstorms.com
. 
newsgroup rec.toys.lego
Ciao e scusate per il parziale OT,
Antonello
-- 
// ---------------------------------------------------
// Antonello Salvatucci
// Software Engineer, LEGO Media International
// Kloevermarken 120, Billund 7190 DENMARK
//
// antonello at digi. lego. com    
http://www.lego.com


Aspetto l'uscita del mindsorms in Italia da più di un anno!!! In
America e GB è uscito da un pezzo e tra pochi mesi lo vedremo anche ad
noi! Lo comprero' assolutamente, sia perchè sono un fan dei lego sia
perchè mi piace programmare a bassi livelli! ciauz!
¨¨°º©o¿,,¿o©º°¨¨°º©  Mr. GiMa ©º°¨¨°º©o¿,,¿o©º°¨
------------------------------------------------------------------------------
             WEB: 
http://come.to/gima
            MAIL: 
gim...@freemail.it
             UIN: 2685398
------------------------------------------------------------------------------
Togliere NOSPAM dal mio indirizzo per rispondere

 perchè mi piace programmare a bassi livelli! ciauz!
Arrivera' in italia a 600000 circa quindi :(
Ci daro' un occhiata, mi 'ciappa' :)
Grazie delle info !