La automazione
Dalle macchine semplici alle macchine programmabili
Considerazioni generali (da rivedere)
scheda 1
scheda 2
La
scheda 3 e la
scheda 4
sono versioni riviste per Gli Oggetti Matematici;
guide alle vecchie versioni:
scheda 3 (da rivedere);
scheda 4 (da rivedere)
Indice guide
Finalità
L'unità
didattica ha la finalità di introdurre la riflessione sugli
algoritmi e sull'uso del calcolatore inquadrandola culturalmente
nell'ambito del tema più generale dell'automazione. Con questa
scelta si vuole motivare in modo serio e significativo per gli alunni
lo studio degli aspetti computazionali e mettere in luce il ruolo
decisivo che la matematica ha avuto e assume nei cambiamenti
tecnologici e sociali collegati allo sviluppo e alla diffusione delle
tecniche informatiche.
L'analisi del
funzionamento delle macchine offre, per altro, l'occasione per
schematizzare e descrivere formalmente procedimenti automatici,
avviando in modo generale alla programmazione e fornendo esempi
significativi su cui si potranno poi svolgere attività con uno
o più specifici linguaggi di programmazione.
L'uso delle
calcolatrici e dei calcolatori verrà ripreso sistematicamente
in tutte le successive uu. dd.; in varie forme, era già
presente nella prima u.d. e è presente nell'u.d. Le
statistiche, che viene svolta in parallelo. La riflessione sui
numeri-macchina verrà approfondita nell'ambito dell'u.d. I
numeri. L'uso della grafica del calcolatore (finora usata a
"scatola nera") e il problema della rappresentazione
digitale di immagini e di suoni verrà affrontato
successivamente; nel contesto della descrizione dell'impiego di
procedure grafiche verrà anche introdotto l'uso dei
sottoprogrammi (il concetto di sottoprogramma viene comunque
sviluppato già a partire dalla prima scheda di La
automazione).
Per quanto
riguarda gli aspetti "pratici" relativi all'uso dei
calcolatori, si rimanda alle considerazioni svolte poco sotto
e nella parte iniziale della guida di Le statistiche
. In caso di difficoltà ad usare l'aula computer
(poche macchine, impossibilità di lasciar usare l'aula agli
studenti da soli o con l'assistenza di personale non docente), si
possono trovare soluzioni che tengano anche conto delle disponibilità
personali di mezzi di calcolo da parte degli alunni (vedi nota 2.2.4
alla guida di La matematica e i suoi modelli), ad esempio
dedicando più tempo a chi non è dotato di un proprio
PC, cercando di formare gruppi di lavoro che, con consegne precise,
impieghino i PC degli alunni che ne sono dotati,
Qui e in
futuro la presentazione degli aspetti informatici generali sarà
per quanto possibile indipendente da specifici sistemi operativi e
linguaggi di programmazione, in modo da lasciare spazio a scelte
diverse, da evitare che il materiale invecchi troppo precocemente e,
soprattutto, da non sopravvalutare aspetti di tecnica informatica
fine a se stessi. Si cercherà, comunque, attraverso la guida e
attraverso schede e materiale, di dare indicazioni per la traduzione
in attività al calcolatore (in laboratorio o in classe) degli
spunti e degli esempi proposti nelle unità didattiche.
Gestione - Contenuti - Tempi
Vedi la guida all'u.d. Le statistiche. Ricordiamo solamente che le parti più "discorsive", ma per vari aspetti più importanti, è bene che siano presentate dall'insegnante (commentandone la lettura e lasciando agli studenti il compito della lettura per esteso della scheda); gli studenti devono leggere direttamente illustrazioni, diagrammi e quesiti.
Scheda 1 (Che cosa trasformano le macchine?)
Questa scheda può
essere avviata dopo una prima esperienza di attività in aula
computer, in cui si sia usato il gioco d'avventura o il
programma per elaborazioni statistiche a cui si riferisce il §1.
Le prime informazioni di base sull'uso delle macchine (come si
accende il computer, come si introducono gli eventuali dischetti,
come si usa la tastiera,
) possono essere fornite
contestualmente all'uso di questi due programmi, che sono stati
predisposti in modo da non richiedere particolari conoscenze
preliminari. In scuole in cui sia possibile fare solo un uso molto
limitato dei personal computer, si può affiancare l'uso
dimostrativo "collettivo" con i PC di cui si dispone
all'utilizzo in classe di programmi (ad es. statistici) incorporati
(o già registrati dall'insegnante) nei mezzi di calcolo
tascabili di cui si dispone (vedi Guide - Le statistiche).
I due programmi
sono memorizzati in forma compilata come
file di nomi GAME(.exe) e STAT(.exe).
Per l'uso di
game si consiglia di schiacciare il tasto blocca-maiuscole.
1.1.1 Tra i due programmi a cui si riferisce il paragrafo 1, la scelta di quello da impiegare per primo in aula computer dipende anche dallo stato dello svolgimento della scheda 1 dell'u.d. Le statistiche: stat può essere impiegato durante lo svolgimento di tale u.d.
1.1.2 Il
"gioco" de Il castello stregato può
essere affrontato a gruppi (possibilmente due studenti per computer,
con l'indicazione che, nei vari tentativi, si alternino alla
tastiera). Prima di far affrontare il quesito 1 è bene
lasciare che gli alunni annotino nel modo preferito le scelte e gli
esiti dei vari tentativi.
A proposito
del quesito 1 osserviamo che il diagramma completato è
riportato nel quesito 17, con le risposte "sì" e
"no" in uscita dal test "Hai T (la tuta)?" (dopo
il messaggio 12) invertite. Gli alunni, attraverso un organico
procedimento per tentativi, devono gradualmente completare il
diagramma. Possono poi, seguendo (a ritroso, ma non solo) il
diagramma, individuare le condizioni necessarie per uscire dal
castello:
l'OK dopo 18-"Hai M?" è raggiungibile se si ha M e
si ha T, [non si ha P] si ha B e
si è scelta A come uscita iniziale
o si è scelta la porta B dopo il messaggio 7 e si è scelta l'uscita iniziale B
o si ha C e
si è scelta la porta A dopo il messaggio 7, [non si ha F], e si ha B in modo da avere potuto prendere B come porta iniziale B
o [non si ha T, non si ha P] si ha B e si proviene dalla porta iniziale B [l'unica prendibile con questi 3 oggetti] avendo scelto la porta B dopo il messaggio 7
l'OK dopo 14-"Hai C?" è raggiungibile se si ha C, si
ha P [e non si è perde C dopo il messaggio 11], si ha B e si
proviene dalla porta iniziale B [l'unica prendibile con questi 3
oggetti] avendo scelto la porta B dopo il messaggio 7.
In breve si può
arrivare al successo (se non si è troppo lenti) con:
- oggetti: MBT, scelte: 1-A
- oggetti: MBT, scelte: 1-B, 7-B
- oggetti: MCB, scelte: 1-B, 7-A o 7-B
- oggetti: CPB, scelte: 1-B, 7-B (in corsivo sono indicati i due percorsi più veloci)
1.1.3 Stat contiene un help. E` bene che gli alunni lo consultino, inizialmente solo per quel che riguarda la voce "distribuzione", poi anche per la voce "media". Per il quesito 2 l'insegnante può prendere a piacere esempi di calcolo tratti dalla scheda 1 de Le statistiche. L'uso del sottoprogramma "media" si presta a confronti con il funzionamento delle CT (vedi q. 80 e q. 81 della scheda 1 de Le statistiche). In alternativa è presente un link a uno "script" molto semplice che calcola e rappresenta graficamente le distribuzioni percentuali.
1.2.1 Sul funzionamento del cavatappi (figura 1) la spiegazione è bene che si fermi a un livello intuitivo; eventualmente si possono fare altri esempi (ad es.: se muovo una porta spingendola con un dito vicino ai cardini faccio più sforzo che spingendola dalla parte della maniglia: in questo secondo modo infatti distribuisco la fatica su uno spostamento maggiore; se affronto una salita per un percorso meno ripido ripartisco la fatica per superare il dislivello in un numero di passi maggiore, facendo man mano meno sforzo). L'idea verrà ripresa e "quantificata" nell'u.d. Per strada in relazione al ruolo del cambio dei rapporti di trasmissione. Per l'insegnante, osserviamo che se, ad esempio, la forza F2 per vincere la resistenza del tappo è di 30 kg e se allo spostamento rettilineo s2 di 1 cm corrisponde uno spostamento s1 dell'impugnatura dei bracci di 10 cm, il lavoro di 30 kg·cm (30 kg per cm) viene distribuito su 10 cm, per cui la forza F1 da esercitare è di soli 30/10=3 kg.
1.2.2 Quesito 3. Cric e serratura sono del primo tipo, telecomando e calcolatrice del secondo, stufa e distributrice di nessuno dei due (una trasforma energia elettrica in calore, l'altra soldi, informazioni e materie prime in bevande, anche se al suo interno ha degli automatismi che trasformano movimenti e informazioni).
1.3.1 A proposito del cambio della bicicletta, osserviamo che cambiare il rapporto di trasmissione è come se si cambiassero le ruote dentate del cavatappi di figura 1: mettendo ruote più piccole il lavoro per alzare il tappo di un certo tratto s2 viene distribuito su uno spostamento s1 maggiore, e quindi diventa minore la forza da esercitare sui bracci del cavatappi.
1.3.2 Quesito 4. Sportello: informazioni in informazioni. Automobilina: informazioni in movimenti. Contachilometri: movimento in informazioni.
1.3.3 Quesito 5. Sono evidentemente presenti sia nel contachilometri (che automatizza un'attività di conteggio: senza intervento dell'uomo, ma solo in base al numero di giri compiuto dalle ruote, fa avanzare il numero visualizzato) che nello sportello di informazioni automatico (che automatizza un'attività di consultazione: in base alle richieste dell'utente ricerca e visualizza le informazioni opportune). Nel caso dell'automobilina telecomandata siamo di fronte a un mezzo semovente che modifica i suoi movimenti seguendo le informazioni che gli provengono dal telecomando; però si tratta di un comportamento direttamente guidato dall'utente: non possiamo parlare di un'automazione delle scelte (nel caso dello sportello automatico l'utente condiziona, ma non guida il comportamento: dà degli input in base ai quali lo sportello modifica il suo comportamento).
1.4.1 A proposito della carica del carillon si possono ricordare altri oggetti che funzionano a corda: sveglie non elettriche, giocattoli, . Come macchine programmate simili al carillon si possono ricordare le pianole a manovella in grado di suonare più brani musicali, che gli alunni hanno sicuramente visto in qualche film (sono dotate di più cilindri o di un dispositivo che permette di far scorrere il cilindro in posizioni diverse: a seconda della posizione fissata cambiano i pioli che entrano in contatto con le lamelle), o le loro versioni elettroniche (le pianole elettroniche che sono programmate per riprodurre alcuni ritmi o alcuni pezzi).
1.4.2 La logica di funzionamento del termostato verrà ripresa nel quesito 18.
1.4.3 Il quesito 6 (occorre mettere delle bandierine in corrispondenza di tutte e 6 le ore indicate e posizionare l'interruttore su OFF poiché alle 15 la caldaia deve essere spenta) e il quesito 7 (di giorno in giorno la stessa fascia oraria sarebbe una volta di accensione, una volta di spegnimento) non sono altro che esercizi di programmazione.
1.4.4 Quesito 8. La macchina-statistica è il computer+Stat(+altro software di base), cioè il computer già predisposto per le elaborazioni statistiche. Sono del primo tipo le scelte e i dati introdotti dall'utente; sono del secondo tipo le informazioni che indicano al calcolatore come svolgere i calcoli (non sono altro che descrizioni opportune dei procedimenti che gli alunni hanno usato nell'u.d. Le statistiche, oltre a descrizioni dei procedimenti con cui fare le quattro operazioni, descrizioni, queste, che sono incorporate anche nelle CT). Analogamente si può osservare che la macchina-da-gioco è il computer già predisposto per il gioco. Le informazioni del primo tipo sono le scelte, i dati, battuti dal giocatore durante la sua avventura. Quelle del secondo tipo sono tutte le informazioni incorporate nel computer e nei dischi in esso introdotti.
1.4.5 Quesito 9. In tutti entrano dati (messaggi sonori o elettrici, numeri e altri segni battuti da tastiera, domande, informazioni sul livello dell'acqua ), tutti hanno programmi fissi (per trasformare messaggi, per trasformare informazioni battute in segnali via onde, per calcolare operazioni, per dare risposte, per cambiare comportamento in base alle informazioni ricevute dall'esterno), alcuni sono programmabili (telecomando, attraverso la scelta dei canali da associare ai tasti; sportello automatico, modificando le risposte che deve dare; lavatrice, predisponendo il programma di lavaggio).
1.4.6 Quesito 10. Le monete da cambiare sono 2, 5 e 10. Possiamo fare i cambi che corrispondono alle equazioni 2=1+1, 5=2+2+1, 10=5+5 (conviene cambiare nei pezzi più grossi possibili: se avessi fatto, ad esempio, 10=5+2+2+1 avrei escluso la possibilità di avere 2 monete da 5, mentre in questo modo le monete da 2 le posso ottenere con un successivo cambio di una moneta da 5).
1.4.7 La nota sulla difficoltà di distinguere dati e programmi è abbastanza importante e sarà ricorrente. Per un aspetto più generale si pensi al fatto che i programmi che fa l'utente sono dati per il programma traduttore che li trasforma in programmi eseguibili dalla CPU; a sua volta questi programmi tradotti in linguaggio-macchina possono essere intesi come dati per la CPU. Per aspetti più particolari si pensi alla possibilità di inserire "dati" all'interno di un programma invece che sotto forma di input.
1.5.1 Quesito 11. Può contare 99 giri; al 100° giro ritorna a 00.
1.5.2 Quesito
12. Si possono impiegare: un contatore, che inizialmente
l'utente posiziona sul 1° addendo e su cui alla fine dovrà
comparire il risultato; un secondo contatore (inizialmente
posizionato su 0), collegato al primo, che ne conti gli scatti; e una
valvola di controllo, su cui viene impostato il 2° addendo, che
arresti il secondo contatore (e quindi anche il primo) quando esso
raggiunge il numero impostato.
In
alternativa il 2° addendo potrebbe essere impostato sul secondo
contatore, che potrebbe essere collegato al primo in modo da ruotare
in verso opposto, cioè in modo da funzionare come count-down.
La valvola di controllo avrebbe il compito di arrestare il secondo
contatore quando questo arriva a 0.
1.6.1 Quesito 13. La freccia-2 in uscita dal primo riquadro (vedi colonna 2 della tabella che descrive i programmi della lavastoviglie) salta il prelavaggio, cioè i riquadri che vanno dal 1° "FAI ENTRARE " al 2°; e in quest'ultimo che la freccia deve arrivare. Il programma 1 e il programma 2 dopo il prelavaggio devono procedere avanti fino in fondo, senza saltare il risciacquo caldo. Quindi nel riquadro "la manopola è sul numero ?" che precede il risciacquo caldo va messo 3 e la freccia in uscita da "sì" deve andare fino al riquadro finale "POSIZIONA su 0". Il tasto A è quello che fa saltare l'asciugatura, quindi la freccia che va in "SCALDA l'aria" è "no".
1.6.2 Quesito 14. Il ddf è del tutto analogo a quello soprastante. Basta mettere apri/chiudi il rubinetto al posto di attiva/disattiva il riscaldamento e "l'acqua ha raggiunto il livello massimo?" al posto di "la temperatura ?".
1.6.3 Quesito 15. La discussione (collettiva) del quesito dovrebbe condurre a precisare il passo 2: dico N che stia a metà tra N1 e N2 (a seconda dei casi di N ce n'è 1 o ce ne sono 2). Si può poi chiedere agli alunni: se vi trovate di fronte a un avversario che sceglie questa strategia, quale numero vi conviene pensare? (ad esempio 0, 100, 49, , che comportano il massimo numero di tentativi).
1.7.1 Pagina 16: i temi segnali digitali e segnali analogici verranno approfonditi in una successiva u.d..
1.7.2 La seconda colonna della tabella (7.1) si riferisce a un comune metodo per tenere il conto (ad esempio durante lo spoglio delle schede in una votazione).
1.9.1 Soluzioni del quesito 17:
- oggetti: MBC o MBF, scelte: 1-A
- oggetti: MBF, scelte: 1-B
- oggetti: MCB, scelte: 1-B, 7-A o 7-B
- oggetti: CPB, scelte: 1-B, 7-B
1.9.2 Quesito 18. Dal primo test il "sì" va in giù, dal secondo test il "sì" va in giù, la freccia che esce da SPEGNI va al primo RILEVA .
1.9.4 Quesito
19. Può essere utile descrivere il flusso
dell'esecuzione mediante una tabella come quella a lato. Il diagramma va completato così:
"leggi m" "leggi n" "leggi n" "poni n=0 " "poni n=0 " "i=n?" "i=n?" [sì] "scrivi p" "i=n?" [no] "poni p=p+m " "poni p=p+m " "i=n?" |
|
Scheda 2 (Le calcolatrici tascabili)
In
questa scheda si affronta una riflessione sul funzionamento delle CT.
L'obiettivo è sia quello di acquisire una maggiore
padronanza di questo mezzo di calcolo, comprenderne i limiti al fine
di interpretare i risultati che fornisce,
, sia quello
di introdurre e/o consolidare (a un primo livello) alcune conoscenze
matematiche: sui numeri (approssimazioni, numeri reali,
),
sulle funzioni (funzioni a più input e più
output, composizione di funzioni, funzioni inverse, insieme di
definizione,
),
, sia di preparare il terreno per
la comprensione del funzionamento dei calcolatori (che, come
"conoscenze" matematiche e possibilità di calcolo
aritmetico non si discostano essen-zialmente da una CT: vedi scheda
3 ).
Negli
Esercizi (quesito 41) è presentato il programma calcol
(memorizzato nel dischetto distribuito e azionabile con la semplice
battitura del suo nome) che permette di simulare il funzionamento di
alcune CT. Volendo il suo uso può essere intrecciato allo
svolgimento della scheda (si può andare in aula computer
con scheda e CT).
In
ogni caso è bene che l'insegnante utilizzi la scheda come
traccia con cui guidare il lavoro degli alunni: questi, con la CT
sottomano, svolgono e riflettono (individualmente e collettivamente)
sulle attività che vengono loro proposte e inizialmente
potrebbero utilizzare la scheda solo per comprendere meglio
(osservando/leggendo le illustrazioni, le tabelle e alcune parti di
testo che l'insegnante indica loro) le "consegne" o le
spiegazioni. La lettura completa della scheda (o dei paragrafi svolti
durante la lezione) potrebbe essere assegnata come "ripasso".
Forse solo il §4 (sui numeri macchina e sul funzionamento
elettronico della CT) si presta meglio a una lettura (commentata) in
classe.
Volendo,
la scheda può essere affrontata in 3 blocchi (§1-§3,
§4, §5), eventualmente alternando lezioni in cui si lavora
con Le statistiche, tenendo conto che la sua collocazione
naturale è dopo la scheda 2 di Le statistiche (dopo una
prima introduzione al concetto di funzione); la scheda 4 di Le
statistiche poi sfrutterà gli approfondimenti del concetto
di funzione e sull'uso delle CT svolti in questa scheda. Alcuni
quesiti di §7 (49, 50) in classi particolarmente "difficili"
possono essere rinviati a momenti successivi.
2.1.1 Inizio §1: alcune CT come uscita di 12 1/x danno 0.0833333 invece di 8.3333e02; in alcune si può passare dalla rappresentazione esponenziale a quella per esteso con il tasto <EE; usando il tasto EE si può ritornare alla rappresentazione esponenziale.
Si noti che tendenzialmente parliamo di "premere un tasto" e di "battere un numero" (a meno che si tratti di singole cifre, introducibili con un solo tasto). Analogamente, impiegando programmi, parleremo, in genere, di premere un tasto o un carattere (ad esempio premere "a capo") e di battere un dato (sottointendendo, spesso, che alla fine sia da premere anche il tasto "a capo", o il tasto "invio").
2.1.2 I quesiti 1-6 servono anche per facilitare le attività di manipolazione algebrica da affrontare in §3, consolidando riflessioni e concetti già affrontati a un primo livello in Le statistiche, in particolare nella scheda 1 (a/b·c equivale a a·(c/b), che per c=1 ; moltiplicare per 1/k equivale a dividere per k, ).
2.1.3 Risposta al quesito 1: 3 ± + 5 =.
2.1.4 Sulla
scrittura di 3·8 e 75 (nel quesito 2)
si veda anche il punto 1.7.9 della guida alla scheda 1 di Le
statistiche; in aggiunta osserviamo che non è ovviamente
sbagliato chiudere tra parentesi i termini preceduti dal segno di
negazione, così come non è "sbagliato"
scrivere ((3)+((4))) invece di 3+4; in qualche situazione può
anzi essere utile abbondare in parentesi, se ciò serve a
rendere più leggibile un termine o a evidenziarne alcune
componenti; l'uso delle parentesi per racchiudere un termine
preceduto dal segno di negazione è necessario solamente se si
sostituisce tale termine al secondo termine di una moltiplicazione
tra variabili scritte senza esplicitare il simbolo della
moltiplicazione: se ax è una abbreviazione di a·x
e si opera la sostituzione x=4 occorre scrivere a(4),
a meno che non si scriva a·4 o direttamente 4a.
E` da considerare, invece, sbagliata, una scrittura come 3·/5
poiché "/" non può essere interpretato come
operazione unaria.
La
risposta al quesito è, ovviamente: ()3·8
()38
3·()8
7()5
()9/3
2.1.5 Risposta al quesito 3: 123 + 56 ± =. Nel successivo commento si parla di opportuna composizione; non possiamo però dire che la sottrazione è equivalente alla "funzione composta" che ha come componenti la negazione e la addizione in quanto la prima componente dovrebbe avere tanti output quanti sono gli input della seconda.
2.1.6 Risposta al quesito 4: 432 x 3 1/x =.
2.1.7 Quesito
7: il tasto di elevamento alla potenza nelle CT è
quasi sempre indicato con yx
invece che con xy,
come potremmo aspettarci pensandolo come funzione a 2 input x,y
xy, in cui in genere il primo input viene indicato
con x. In queste CT (fra queste: le Casio, le Sharp e le Texas) il
dato sul visore (introdotto dall'utente o calcolato dalla CT) viene
sempre registrato su un particolare registro, in genere chiamato X;
man mano che vengono introdotte operazioni e altri numeri, i dati che
devono essere tenuti in sospeso vengono spostati su altri registri,
in genere chiamati Y, Z, W,
Ad
esempio durante il calcolo di 1+2*5 abbiamo man mano:
X=1
X=2 Y=1
X=5 Y=2 Z=1
X=10 Y=1
X=11
Nella
scheda (§2) abbiamo evitato la descrizione di come vengono
impiegati i registri di lavoro non solo perché vi sono CT che
si comportano diversamente dal modo qui descritto, ma perché
non ci sembra aggiungano nulla di significativo alla comprensione del
funzionamento. Eventualmente, se degli alunni chiedessero spiegazioni
sul tasto xy
eventualmente presente su qualche CT, si può dire che su
queste CT si conviene di indicare l'ultimo dato introdotto con X e il
dato precedentemente introdotto con Y, e che quindi il tasto in
questione consente di invertire i termini di un'operazione. La cosa
può essere facilmente verificata: battendo 3 + 6 xy
xy
xy
sul visore si alternano 6 e 3. Usando questo tasto il
calcolo di a/(b+c) può essere effettuato
così: b + c = ÷
a xy
=.
In
molte CT esiste anche un tasto exc ("exchange"="scambio"),
a volte indicato xm,
che scambia il contenuto del visore con quello della memoria-utente.
2.2.1 Quesito 8: sulla gerarchia delle operazioni e sulla costruzione dei termini numerici si ritornerà, oltre che in §3, più diffusamente nella scheda 4 di Le statistiche.
2.2.2 Dopo il quesito 8: abbiamo raffigurato vuoto il visore durante il completamento dei calcoli; in effetti, se il calcolo comprende varie operazioni che erano state tenute in sospeso (o, anche, se consiste solo di un elevamento a potenza o del calcolo di una funzione trigonometrica), può trascorrere qualche decimo di secondo prima della comparsa del risultato.
2.2.3 Prima
del quesito 10 è bene fare notare che una CT con
due soli registri di lavoro è una CT che non ha incorporato un
programma per la gestione della gerarchia delle operazioni in quanto
non può tenere in sospeso operazioni (memorizza solo due dati
e il tasto di operazione battuto in mezzo); quindi è l'utente
che deve cercare di riscrivere i termini in modo da mettere in testa
le operazioni da eseguire per prime. Le osservazioni degli alunni
dovrebbero essere guidate dall'insegnante fino a conclusioni simili a
quelle presentate all'inizio di §3, ma formulate riferite ai
dati del quesito, non in generale. Per il calcolo di 4·3+2·5
si può ricordare che si è già incontrata una
difficoltà simile nella scheda 1 di Le statistiche
(quesito 54).
Qualche
alunno potrebbe osservare giustamente che il calcolo di 5-8/4 può
essere eseguito anche facendo 8 ÷ 4
5 = ±, cioè calcolando (8/45).
Si
ricorda (vedi punto 1.4.6 della guida alla scheda 1 di Le
statistiche) che vi sono CT dotate anche di tasti per la
memorizzazione di "operazioni" (e secondo operando);
qualche alunno potrebbe suggerire l'impiego di questi tasti; ad
esempio con una CT con due tasti op1
e op2 4·3+2·5
può essere calcolato con x 3 op1 x 5 op2 4 op1 + 2 op2 =.
La discussione di questa possibilità potrebbe eventualmente
essere rinviata al §3, nell'ambito del discorso sull'uso delle
"memorie-utente".
Con
una CT dotata del tasto xy
si potrebbe ricorrere a questo per effettuare il calcolo del secondo
termine (vedi il precedente punto 2.1.7), ma difficilmente qualche
alunno proporrà questa strada.
L'osservazione
tra parentesi quadre è importante per dare un senso ai calcoli
proposti nella scheda (può anche dar modo, all'insegnante, di
sottolineare che spesso può essere utile controllare una
proprietà di cui non si è sicuri su numeri semplici,
che consentano un rapido controllo con il calcolo mentale).
2.3.1 L'inizio
di §3 dovrebbe costituire una sintesi e una
generalizzazione di quanto l'insegnante dovrebbe aver già
spiegato riferendosi ai casi particolari del quesito 8.
Non
è il caso, per ora, di affiancare questi usi delle lettere con
attività ripetitive ed astratte sul calcolo letterale:
l'obiettivo prioritario è al momento quello di far comprendere
come usando variabili si possano descrivere in forma generalizzata
dei procedimenti di calcolo e si possano esprimere in forma sintetica
delle proprietà e di far cogliere i collegamenti tra singoli
esempi e formulazioni generali.
Per
adesso è bene fare sempre esplicitare il segno di
moltiplicazione tra due variabili (eventualmente si può
usare 2x come abbreviazione di x·2: 2 volte x), per evitare
l'insorgere di confusioni (tra quando l'affiancamento di due lettere
rappresenta il concatenamento di due caratteri che formano lo stesso
nome di variabile e quando sottointende un simbolo di
moltiplicazione) in questa fase, in cui si vuole consolidare l'uso
dei termini con variabili. Per altro un uso precoce del
sottointendere "·" a volte comporta che qualche
alunno perda la percezione del "·" sottointeso
(questo è, in parte, dietro ad alcuni errori che qualche
alunno fa nelle "semplificazioni" o nei "trasporti"
da un membro all'altro di un'equazione). Anche nell'uso di GRAFUN
(che consente queste abbreviazioni) è bene, per i primi tempi,
far esplicitare "*".
2.3.2 Quesito
11; Se le CT sono dotate di priorità (come lo sono, in
genere, quelle dotate di yx)
i risultati sono: 80, 300 e 1000000: prima viene eseguito
l'elevamento a potenza, e di fronte a due elevamenti a potenza
consecutivi viene eseguito prima quello introdotto per primo (cioè
quello più a sinistra). Si possono anche far fare altri
calcoli; ad esempio far calcolare 5+3·2^4 e far osservare che
(per eseguire correttamente il calcolo) la CT deve essere in grado di
tenere in sospeso due operazioni, 5+ e 3x.
Volendo,
si può far osservare la regola che permette di calcolare
l'esponente di una composizione di elevamenti a potenza,
facendola congetturare/comprendere piuttosto che farla memorizzare
(al momento non serve una padronanza "meccanica" di questa
regola: non ci sono occasioni in cui applicarla).
Osserviamo
che, nell'usuale linguaggio matematico e nei linguaggi di
programmazione, l'elevamento a potenza ha priorità sulla
negazione, cioè 2^6 è da intendere come (2^6),
non come (2)^6. Nelle CT, invece, le operazioni unarie sono
tutte prioritarie poiché vengono eseguite non appena se ne
batte il tasto. Per calcolare 26
occorre quindi battere: 2 yx
6 = ±. Questi problemi, naturalmente, non si
pongono per i pocket programmabili in Basic, con i quali si può
battere 2^6 exe. Su questi aspetti della
priorità delle operazione torneremo nella scheda 4 di Le
statistiche.
2.3.3 Nell'illustrazione a fianco del quesito 12, non è un errore la scrittura di 5÷(1+3 invece di 5÷(1+3). Infatti la CT non deve registrare le "parentesi chiuse": non appena incontra una parentesi chiusa completa il calcolo impostato fino alla precedente parentesi aperta. Il quesito 12 ha come risposta: 24 ÷ ( 8 + 4 ) 14 ÷ 7 =. Non si sono battute parentesi prima di 14 e dopo 7 ipotizzando che la CT abbia incorporata la priorità delle operazioni.
2.3.4 Le CT che di fronte al calcolo considerato nel quesito 14 (2·(1+2·(1+1))) danno il risultato 10 che ci si attende devono tenere in sospeso 2x, 1+, 2x, cioè tre operazioni, per poi eseguire il calcolo 1+1 della parentesi più interna.
2.4.1 Risposte al quesito 15: 1234.1234 e 1234.1235. E` propedeutico al quesito successivo far osservare che nel fare l'addizione si perdono le cifre finali del 2° addendo: il risultato completo per esteso occuperebbe più delle 8 cifre di cui può disporre la CT.
2.4.2 Quesito 16: si può suggerire agli alunni di annotare man mano i risultati intermedi che compaiono sul visore e di ricordarsi di quanto osservato nel quesito precedente. Non deve essere scritta una risposta: la discussione collettiva dovrebbe trovare sbocco nella spiegazione dell'insegnante, fatta sulla falsa riga dei commenti che seguono il quesito 16.
2.4.3 Quesito
17: (4): registri di 11 cifre e opera con 11 cifre, (5):
registri di 10 cifre e opera con più cifre (infatti per
arrotondare tiene conto di una cifra in più).
La
comprensione del fenomeno messo in luce da questo esempio (detto
cancellazione delle cifre) è di fondamentale
importanza per la padronanza dei mezzi di calcolo. Infatti è
esso che è all'origine di quasi tutti gli "errori"
di maggiore entità da cui vengono affetti i risultati dei più
vari procedimenti di calcolo eseguiti con una macchina. Per dare
un'idea si pensi al calcolo di 10÷6+12345678-12345678=x7:
una CT del tipo (1) (o un calcolatore che stia operando in questo
modo) darebbe come risultato 7, una del tipo (2) darebbe 14 e una del
tipo (3) darebbe 11.62 (invece di 11.666
).
La
cosa è ancora più complessa se si usa un linguaggio di
programmazione in cui le mantisse non vengono registrate in forma
decimale ma in forma binaria. Ad esempio con alcuni linguaggi la
stampa del risultato di 843.27-843.23 dà luogo a 0.04003906.
Questo è uno dei motivi per cui ci è sembrato
opportuno affrontare lo studio dei numeri macchina a partire dalle
CT; esse infatti impiegano tutte la codifica BCD.
2.4.4 Quesito 18: in alcune CT si ottiene 1.5242e00, cioè si rimane in notazione scientifica; per passare alla scrittura per esteso (1.5241577) occorre premere il tasto <EE: vedi il precedente punto 2.1.1.
2.4.5 Quesito 19: alcune CT segnalano anche gli errori di underflow, cioè non danno 0 come risultato del secondo calcolo ma fanno comparire un messaggio di errore.
2.4.6 Quesito 20: max neg.: 1.0000000·1099; min: 9.9999999·1099.
2.4.7 Dopo il quesito 20: l'osservazione che i numeri-macchina sono in quantità finita può essere spiegata dicendo che posso elencare tutte le possibili mantisse: esse vanno da "1.000 0" a "9.999 9", con o senza "" davanti; si tratta di un tot fissato di espressioni che posso combinare con un altro tot fissato di esponenti (da 99 a 99). La questione viene affrontata in termini più precisi nel quesito 39.
2.4.8 Il
quesito 21 mette in luce che i numeri sono in quantità
infinita (operando con "·2" o con "/2"
ottengo man mano un numero che è diverso da tutti i numeri che
ho generato in precedenza). Con una CT eseguendo ripetutamente "·2"
dopo un po' arrivo all'overflow. Si può chiedere agli alunni
che cosa accadrebbe se si battesse ripetutamente "+1"
(prima o poi la CT si stabilizzerebbe su un numero; ad es. se ha 8
cifre e si parte da 0, arrivati a 99999999 poi si passa a 1.0000000e8
e da qui non ci si sposta più, infatti si andrebbe a
incrementare la nona cifra, che la CT perde; se si partisse, ad es.,
da 1e25 non cambierebbe numero neanche una volta).
Dividendo
ripetutamente per 2 invece prima o poi arrivo a un underflow, cioè
a 0 o a un messaggio
d'errore: arrivata a un risultato che sarebbe compreso tra 0 e
10-99, cioè che avrebbe ordine di grandezza
inferiore a -99 (ad es. 1e-99/2 farebbe 5e-100), la CT, poiché
non può tenere più di 2 cifre di esponente, lo registra
come 0 o segnala l'underflow.
2.4.9 Quesito 22. E` bene che gli alunni, prima di esporre oralmente il procedimento pensato, provino ad applicarlo per completare la tabella (anzi, pensare come completare la tabella dovrebbero aiutarli a individuare il procedimento: se per 8 si è "scattati" a "1000" vuol dire che prima, per 7, si era arrivati a "111"). Un procedimento possibile è il seguente, che l'insegnante può costruire alla lavagna con gli alunni, ricordando l'analogia con il contatore meccanico a ruote dentate (non è il caso che gli alunni lo trascrivano sulla scheda):
(1) scrivo "0000"
(2) considero l'espressione appena scritta e ne cambio l'ultimo carattere (se era "0" lo sostituisco con "1", se era 1 lo sostituisco con "0")
(3) se la cifra cambiata era "1" cambio anche la cifra successiva e ritorno a (3)
(4) scrivo il numero così ottenuto
(5) se ho scritto "1001" mi fermo, altrimenti ritorno a (2)
Si può riprendere e provare a descrivere a parole anche la codifica considerata nella seconda colonna della tabella (7.1), cui si riferisce il quesito 16 della scheda 1 di La automazione (o si può dare come compito a casa la descrizione verbale di come vengono generati i numeri usando questa codifica).
Una
descrizione più sintetica può essere: si considera
l'alfabeto avente per caratteri solo "0" e "1" e
si generano in ordine alfabetico le parole di lunghezza 4 che con
esso si possono costruire, fino ad arrivare a "1001" (se
invece di "0" e "1" si usassero "a" e
"b" avremmo: aaaa, aaab, aaba, aabb,
; se si
scegliesse questa descrizione, l'esempio con "a" e "b"
può utile per agevolare la comprensione).
Non
è necessario, al momento, un approfondimento sulla scrittura
dei numeri in base 2 (ora, a che cosa servirebbe, se non a fare
qualche giochino?).
2.4.10 Quesito 23: impiega 4·10+2=42 bit. Quesito 24: 1 0001 0000 0000 0 0000 0001
2.5.1 Quesito 25: 29523/137=215.49635; 29523137·215=68.
2.5.2 Dopo quesito 22: a proposito della radice quadrata notiamo che in qualche libro di testo viene chiamata radice quadrata di 4 anche -2, mentre si tratta di una delle soluzioni (o radici) dell'equazione x2=4. A volte vengono anche fatte confuse distinzioni tra radici e radicali e tra radicali algebrici e radicali aritmetici, rispolverando vecchie terminologie di quando non era ancora diffuso o ben precisato il concetto di equazione. A volte si arriva a scrivere 4 = 2 e 4 = 2 , alla faccia del concetto di eguaglianza. E` bene evitare simili confusioni nella testa degli alunni: la funzione radice quadrata è definita per input non negativi e ha solo output non negativi.
2.5.3 Sempre dopo ques. 22: durante la discussione degli esempi possono sorgere o si possono far sorgere vari problemi relativi ai termini indefiniti. Ad esempio perché x/y non è definito se y=0. Solo perché la CT dà Error o c'è un motivo più profondo? ( /y è l'operazione inversa di ·y, cioè il risultato è quel numero R che moltiplicato per y deve dare x: R·y=x; se y=0 R·y fa 0 comunque prenda x; la spiegazione è più semplice se al posto di x si prende un valore costante: 4/0 deve essere un numero R tale che R·0 faccia 4 . Analogamente si può discutere il caso 0/0: non si può identificare un particolare numero tale che R·0 faccia 0: tutti i numeri si comportano così).
2.5.4 Quesito 28: 3.16227766·3.16227766 ha risultato con una parte frazionaria che termina con 6 (l'ultima cifra del risultato è 6 poiché nel fare 6·6 si ottiene 36).
Osserviamo a livello adulto che a rigore finora nulla ci assicura che esista un numero che al quadrato faccia 10 o che faccia 5. E` solo l'algoritmo (5.1) o, meglio, (5.2), che ci permette di dare una definizione della radice quadrata di un numero: radice di A è il numero che si ottiene con (5.2). Per precisare che questo numero al quadrato fa effettivamente A occorrerebbe aver definito la moltiplicazione tra numeri illimitati. La cosa non sarebbe difficile da capire: è il numero che viene man ma-no approssimato operando su approssimazioni con man mano più cifre significative. E` però opportuno rinviare questi approfondimenti ad una fase successiva di riflessione più generale sui numeri.
2.5.5 dopo ques. 28: la descrizione verbale degli algoritmi per il calcolo della radice quadrata contenuta nella scheda non è facilmente comprensibile con una lettura diretta. Per questa parte della scheda vale ancor più che per le altre l'indicazione di gestirla "alla lavagna". Costituisce un avvio alla introduzione dei numeri reali.
2.5.6 Quesito 31: l'arrotondamento 2.2361 (2.2361 m = 2236.1 mm).
2.6.1 Quesito 37. Domanda (2): H(x)=x, K(x)=x. Domanda (4): le due pendenze sono una la reciproca dell'altra; vedi anche: Le statistiche - Guide - nota 2.5.4. Si può far osservare (in scioltezza) la "simmetria" dei due grafici rispetto al grafico di y=x e collegarlo al fatto che due funzioni inverse hanno input e output scambiati.
2.6.2 Quesito
38. La domanda (1) serve a consolidare visivamente il fatto
che un numero e il suo opposto hanno uguale quadrato.
La
domanda (2) richiede che gli alunni calcolino la radice quadrata di
2.25 (o la ricavino direttamente dal fatto, ricordato sul grafico,
che 1.5 al quadrato fa 2.25) e traccino tale punto. Si può,
poi, far osservare agli alunni che tutti i punti del grafico di G
sono ottenibili da punti del grafico di F scambiando le coordinate
(infatti vengono invertiti i ruoli di input e di output; vedi anche
nota precedente).
Domanda
(3): H(x)=x, però per x³0; K(x)=|x|.
Domanda
(4): gli alunni, tracciando i due grafici "a mano"
(servendosi di quanto hanno stabilito in (3)), dovrebbero consolidare
i concetti introdotti alle pagine 9 e 10.
La
domanda (5), che, volendo, può essere far fatta affrontare in
aula-computer, serve a "collegare" l'uso consapevole di
grafun con i concetti introdotti nella scheda.
2.7.1 Quesito 40. 7 è codificato con 111, quindi il filo orizzontale attivato elettricamente dal tasto 7 deve raccordarsi con i fili verticali collegati ai primi 3 flip-flop da destra.
2.7.2 Il quesito 45 offre spunti per chi voglia avviare un primo sviluppo delle considerazioni accennate dopo il quesito 26. Volendo si possono svolgere considerazioni anche sul tasto della funzione inversa di yx (tasto "radice x-esima di y"). Si può poi proporre agli alunni di ideare un algoritmo per calcolare le radici cubiche (idea che dovrebbero avere: basta prendere quello per le radici quadrate e mettere x·x·x al posto di x·x).
2.7.3 Quesito 47: si devono usare F: x > Rx e G: x > Rx. Il quesito può essere affrontato anche "teoricamente", senza necessariamente usare il PC.
2.7.4 Quesito 51. Il quesito riprende considerazioni già svolte nella scheda 1 di Le statistiche: il reciproco del reciproco di un numero è il numero stesso, . La spiegazione potrebbe riferirsi anche ai grafici di quesito 48: se (x,y) sta sul grafico anche (y,x) ci sta.
2.7.5 Quesito 50: i grafici possono essere realizzati anche su carta millimetrata e, poi, controllati con grafun: ciò è utile per rafforzare l'uso di entrambe le "tecniche", che impiegano gli stessi concetti matematici, ma in modi differenti. Il quesito ha la finalità di introdurre all'uso delle rappresentazioni grafiche per verificare l'equivalenza di due termini.
2.7.6 Quesito 51: da collegare ai quesiti 37 e 38.
Scheda
3 (Il calcolatore)
E`
una scheda da gestire "a pezzi", intrecciata con attività
di laboratorio (assegnando per la lettura a casa "pezzi"
che siano già stati affrontati operativamente), e comprendente
parti (sui linguaggi di programmazione) che possono essere usate
anche successivamente a mo' di manuale.
Se
qualche scuola non ha ancora un'aula attrezzata ma è dotata di
almeno un PC, alcune attività possono essere fatte in forma
"dimostrativa"; per attività operative si può
ricorrere a pocket computer programmabili in Basic (preferibilmente)
o in linguaggio macchina (questi secondi pocket in genere vengono
chiamati "calcolatrici scientifiche programmabili").
L'uso
di pocket computer può essere fatto anche nelle scuole dotate
di aula attrezzata: ha il vantaggio di poter essere usato in classe,
intrecciandosi al normale insegnamento, nei compiti in classe,
Molti
esercizi sono comunque affrontabili con "carta e penna" (e
assegnabili per casa, discutendone poi in classe la soluzione); vedi,
ad esempio, i quesiti o parte dei quesiti relativi ai programmi
(5.1)-(5.4), (5.8)-(5.9),
.
Nella
scheda come linguaggio si è usato il QuickBasic,
per i motivi che sono elencati nella scheda stessa. Anche chi volesse
usare un Pascal è bene che affronti una riflessione e alcune
attività con il Basic, quanto meno perché è il
linguaggio che gli alunni possono aver già usato nelle scuole
precedenti.
Per
altre considerazioni vedi la guida "Installazione e uso del
software".
3.1.1 pag.1: la scelta di riferirsi nel primo esempio alle versioni più elementari, da pocket computer, del Basic, è la coincidenza tra variabili e registri (memorie-utente) che facilita la descrizione del "funzionamento" del linguaggio di programmazione (vedi pag. 3).
3.1.2 pag.2: l'esecuzione passo per passo potrà essere poi realizzata in aula computer usando il menu Debug di QB (i comandi Trace All e Step nel caso dei Mac).
3.1.3 quesito 1: soluzione:
|
|
Il computer memorizza la costante 2 nella memoria B |
|
? |
Il computer attende l'introduzione di un dato |
|
? 3 |
L'utente batte il numero 3 seguito da "a capo". Il computer memorizza il dato nella memoria E. |
|
?
3
|
Il computer calcola il numero che è nella memoria B elevato al numero che è nella memoria E Poi visualizza il risultato. |
|
?
3
|
Il computer trasferisce l'esecuzione alla riga che inizia con "20" |
|
? 3 9
|
Il computer fa comparire il prompt "?" per segnalare che attende l'introduzione di un dato. |
3.2.1 Quesito 3. Ovviamente CLS va messa in testa al programma.
3.3.1 Pag.8. Nel dischetto è presente anche l'applicazione CODASCII che consente di stampare file in formato ascii e ottenere uscite come (3.1).
3.3.2 Pag.9. Abbiamo parlato di programmi traduttori senza approfondire la distinzione tra interpreti (programmi traduttori che non memorizzano, neanche temporaneamente, la traduzione in linguaggio macchina del programma sorgente ma man mano traducono e mandano in esecuzione ogni singola istruzione) e compilatori (che traducono in un colpo tutto il programma sorgente), anche perché la distinzione, nei nuovi ambienti di programmazione, non è più netta: si tratta di compilatori che mantengono riferimenti con il programma sorgente, consentendo così di eseguire il programma in linguaggio macchina vedendo man mano la posizione corrispondente del programma sorgente, come si può fare con gli interpreti).
3.4.1 Quesito 5. Si possono proporre molti altri esercizi simili a questo. Sono assai utili per consolidare la comprensione della struttura dei termini (vedi scheda 4 di "Le statistiche", §1).
3.4.2 Quesito 6. Il quesito offre l'occasione di riprendere considerazioni svolte nell'ambito della scheda 4 di "Le statistiche". La risposta è: sono entrambe sintatticamente corrette; la seconda dà luogo a un errore in corso di esecuzione. Nota: il successivo quesito 6 è in realtà il quesito 7.
3.5.1 Quesito 8. [2] INPUT x,y [3] PRINT x*y [4] GOTO Via
3.5.2 Quesito 9. Ad es.: [1] Via: [2] INPUT p [3] PRINT p*75/100 [4] GOTO Via
3.5.3 Quesito 10. I numeri interi positivi minori o uguali a 10
3.5.4 Quesito 11. Mancano: dato, Introduzione e n.dati
3.5.5 Quesito 12. GOTO e IF-THEN
3.5.6 Pag.17. Per consolidare la differenza tra numeri e stringhe (e il significato del concetto di numero) si possono fare domande del tipo: che cosa visualizza il programma PRINT 1+1,"1+1" ?
3.5.7 Quesito 13. Dopo [9] si passa a [10], come se si fosse battuto n. (più avanti si vedrà che si potrebbe usare la funzione ucase$ per trasformare le lettere in maiuscolo e fare il test su S).
3.5.8 Quesito 15. Al posto dei puntini si possono mettere, ad es., in [1]: n in [2]: n\2 in [3] q*2=n e a$="pari" e a$="dispari"
3.5.9 Quesito 16. Non stampa solo i divisori di 96, ma tutti i numeri interi positivi minori o eguali a 96: non deve funzionare qualcosa in [5] o in [6]; in effetti in [5] c'è la divisione normale invece che la divisione intera. Non accetta come numero di cui cercare i divisori 9216 nonostante che sia minore di 10 mila: non deve funzionare qualcosa in [2]: in effetti c'è 1000 invece di 10000.
3.5.10 Quesito 17. Il quesito serve a riprendere e consolidare il significato del m.c.d. tra numeri interi (spesso gli alunni hanno imparato trucchi per trovare il m.c.d. ma non ne hanno compreso il significato: scordato il trucco non sanno più trovarlo). Più avanti (in seconda) estenderemo il concetto ai termini contenenti variabili.
3.5.11 Quesito 19. Il quesito è introduttivo al commento successivo. Successivamente, oltre alle istruzioni-riga, introdurremo anche le istruzioni a più righe (per prima, nella scheda 1 di "Per Strada", verrà introdotta l'istruzione select caseend select). La soluzione è: no, poiché dopo il confronto tra risp$ e ">" il programma tornerebbe a Tentativo senza confrontare risp$ con "<" (N2 rimarrebbe quindi sempre uguale a 100).
3.5.12 Quesito 20. Se il numero y di cui cerco la radice quadrata è maggiore di 1, posso prendere (parte "then" della riga [4]) come approssimazione per difetto 1 (un numero maggiore di 1 ha quadrato maggiore di 1) e come approssimazione per eccesso y stesso (un numero maggiore di 1 ha quadrato maggiore di sé stesso). Analogamente, se il numero y di cui cerco la radice quadrata è minore di 1, posso prendere (parte "else" della riga [4]) come approssimazione per eccesso 1 (un numero positivo minore di 1 ha quadrato minore di 1) e come approssimazione per difetto y stesso (un numero positivo minore di 1 ha quadrato minore di sé stesso).
3.5.13 Quesito 21. Basta mettere x*x*x al posto di x*x in [7]. Si faccia notare (e si chieda il perché) il programma non funziona se y è negativo.
3.6.1 Pag.22. Si faccia notare che i chilobyte vengono notati con la "K" maiuscola, per distinguerli dal "k" minuscolo che deve essere usato per rappresentare il fattore moltiplicativo 1000.
3.6.2 Quesito 22. Circa 50 righe da 80 caratteri per pagina, 35 pagine: 50·80·35=140 mila caratteri, cioè circa 140 K.
3.7.1 Quesito 24. |
|
A |
B |
|
1 |
1 |
1 |
|
2 |
2 |
1 |
|
3 |
0.2 |
1.2 |
3.7.2 Quesito 25. =D1/C1*100: stessa percentuale, ma riferita al 1989/90.
3.7.3 Quesito 26. In D6 appare: =Sum(D1:D5). Occorre mettere, in E6: =D6/C6*100 e in E1: =C1/C$6*100.
3.8.1 Quesito 27. Al punto 5 non cambia l'evidenziazione in quanto r è il sottotermine più a sinistra di r2. Per passare dallo stato finale all'evidenziazione di PI devo azionare freccia-su e freccia-sinistra. E` utile svolgere (in aula computer e su carta) esercizi simili a questo (per consolidare la comprensione della struttura di termini ed equazioni).
3.8.2 Quesito 28. Volendo, si può far vedere agli alunni che questa verifica può essere realizzata direttamente con Derive, usando il menu Manage (manipolazione).
3.8.3 Quesito 29. E` possibile evidenziare solo bc2; gli altri non sono sottotermini. Per commentare la correzione si può ricorrere a grafi come quelli di pag. 27.
3.8.4 Quesito 31. Il primo ha un errore sintattico (>> non è un simbolo relazionale), il secondo dà luogo a un errore semantico (sqr(12) è indefinito). Si può riprendere anche il quesito 6.
3.9.1 Quesito
32. Ad esempio:
INPUT
DatoBase k=100/DatoBase
10 INPUT Dato : PRINT
Dato*k GOTO 10
3.9.2 Quesito 33. (1): x |x| (2): x x (3): x (arrotondamento agli interi di x); modi-fica del programma (vedi precedente nota): PRINT Dato*k diventa PRINT FIX(Dato*k+1/2)
3.9.3 Quesito 34. (3) "Non elencare tutti i numeri di codice" vuol dire dare una risposta del tipo: "A" viene codificata con 65 e le successive lettere man mano con i numeri successivi, fino a "Z" che è codificata con 90; "a" viene (4) il programma simula un orologio digitale: quando cambia l'ora (in ore:minuti:secondi) scrive la nuova ora.
3.9.4 Quesiti 36-37. Dopo questi esercizi (risposta al 36: =B2/D$2*100 o: =B2/B$2*100 o, abbon-dando: =B2/$D$2*100) si possono introdurre altre funzioni del foglio elettronico. Ad esempio la funzione per calcolare la media (che può avere diversi nomi, a seconda del modello: Media, Average, ). Si può vedere anche come impiegare il foglio di calcolo per automatizzare alcuni dei procedimenti svolti da statfile (usando le funzioni Max e Min per trovare il massimo e il minimo tra i dati presenti in un rettangolo di celle; usando la possibilità di realizzare istogrammi; usando la possibilità di memorizzare in colonne diverse dati che - usando statfile - occorreva registrare come file differenti; ). Ricordiamo che per riprodurre una formula, oltre ai Copia (Copy) e Incolla (Paste) o simili, i fogli elettronici offrono l'opportunità di riprodurre una formula (verso destra o verso il basso) con un unico comando (Fill down, Fill right o simili), dopo aver selezionato le celle in cui effettuare la riproduzione.
3.9.5 Quesito 38. Per [5] vedi il corrispondente riquadro nel diagramma; in [10] ci va "TO a"; in [12] "PRINT 50".
3.9.6 Quesito 40. Trasforma le maiuscole in minuscole, compiendo l'operazione inversa di UCASE$.
3.9.7 Quesito
41. E` corretta la prima descrizione.
Scheda 4
(Suoni e immagini al calcolatore - Sottoprogrammi)
E`
una scheda che:
contiene
considerazioni generali (sui segnali, in §1; sui suoni, in §2;
sulla grafica, all'inizio di §3), che sviluppano tematiche
introdotte nella scheda 1,
introduce
alcuni aspetti generali sulla gestione dei file e sull'uso delle
applicazioni grafiche (fine di §3, fine di §6),
affronta
argomenti di programmazione (istruzioni grafiche, in §3 e §6;
variabili indiciate, in §4; sottoprogrammi, in §5;
costruzione/lettura di file, in §7).
Come
indicato nello "schema del 2° volume" questa scheda
dovrebbe essere svolta in parallelo alla scheda 2 di La matematica
e lo spazio e alla scheda Modelli matematici per l'economia;
la gestione dovrebbe diversificarsi seconda della natura dei
paragrafi. In particolare:
i
primi due paragrafi (che dovrebbero essere preceduti da una "ripresa"
della scheda 1, in particolare dei §§2,7,8) si prestano a
momenti di lavoro interdisciplinare (su tematiche fisiche), a
discussioni/interazioni con gli alunni su argomenti di loro interesse
(digitalizzazione, musica,
),
e dovrebbero essere svolti
prima o contestualmente al §1 di Modelli matematici per
l'economia;
il
§3, e i quesiti 32 e 33, sono stati pensati per essere collegati
al §7 della scheda 2 di La matema-tica e lo spazio
(trasformazioni geometriche) e per una gestione in aula computer;
questo paragrafo e il successivo §6 si prestano a collegamenti
interdisciplinari con "disegno";
il
§4 introduce l'uso delle variabili indiciate, che vengono
impiegate nei paragrafi successivi e, poi, nella scheda La
matematica tra gioco e realtà; questo paragrafo, che
volendo può essere svolto successivamente (ma comunque prima
di La matematica tra gioco e realtà), è
importante non solo dal punto di vista informatico, ma, soprattutto,
per i suoi collegamenti con il concetto di successione e, più
in generale, di funzione a (uno o più) input in IN;
il
§5 introduce l'argomento dei sottoprogrammi e può essere
considerato facoltativo (in partico-lare per le scuole con programma
"debole"); nel seguito l'uso dei sottoprogrammi è
indispensabile solo per alcune attività proposte in La
matematica tra gioco e realtà (programma fa_rnd in §6),
ma a livello elementare, per il quale sono sufficienti alcune
indicazioni che l'insegnante può estrarre da questo paragrafo;
la
prima parte di §6 contiene approfondimenti "facoltativi"
sulle istruzioni grafiche (che possono essere utili per stimolare la
creatività e interessare gli alunni ad attività di
programmazione che l'inse-gnante può indirizzare verso
contenuti matematicamente significativi); la seconda parte,
indipendente dalla prima, fornisce informazioni generali sulle
applicazioni grafiche e può introdurre attività
geometriche al calcolatore con applicazioni di tipo paint/draw (<>Ƨ7
di La matematica e lo spazio);
il
paragrafo "esercizi" (§7) contiene anche, come già
osservato, alcuni approfondimenti infor-matici sulle variabili
indiciate, sui sottoprogrammi e sui file (per il seguito è
indispensabile solo la conoscenza delle istruzioni per costruire
file, utilizzate nel programma fa_rnd sopra citato, ma sono
sufficienti alcune indicazioni che l'insegnante può estrarre
dal quesito 30).
Le
parti "facoltative" che vengono saltate possono essere
lette autonomamente dagli alunni più interessati alle attività
di programmazione.
4.1.1 Quesito 1. Il grafico a sinistra si riferisce al contagiri D1, quello a destra al contagiri D2. La spiegazione è contenuta nella frase che precede il quesito.
4.1.2 Quesito 2. Esempi (oltre a quelli presenti nella scheda): bilancia, tachimetro, tester, seleziona-tore/indicatore di frequenza di una radio, "contatori" (acqua, gas, ), sono presenti sia in versio-ne digitale che in versione "ad ago". Gli indicatori della benzina erogata dai distributori attualmente sono quasi tutti digitali. Gli indicatori del livello della benzina nel serbatoio sono quasi tutti ad ago.
4.2.1 Quesito 3. Nel caso del grafico A la frequenza (n. di cicli al secondo) man mano aumenta e quindi il suono diventa più acuto.
4.2.2 A
proposito della scala musicale (prima del quesito 4)
osserviamo (a "livello adulto") che non solo i successivi
do (o i successivi re,
) hanno frequenza che varia
esponenzialmente (da un do al successivo la frequenza si moltiplica
per 2, da un do a n do dopo la frequenza si moltiplica per
2n), ma anche tra una nota e la seguente vale una
relazione analoga. Possiamo osservare che i rapporti 293.7/261.6,
329.6/293.7, 349.2/329.6, 392/349.2, 440/392, 493.9/440, 523.2/493.9
valgono, circa, 1.12, 1.12, 1.06, 1.12, 1.12, 1.12, 1.06 e che 1.12 è
circa 1.06·1.06. Quindi attraverso 12 successive
moltiplicazioni per (circa) 1.06 si passa dalla frequenza di un do a
quella del successivo, passando man mano per le frequenze delle altre
note. In effetti le note sono definite in questo modo.
Poiché
la frequenza nel corso di un'ottava deve raddoppiare, abbiamo che il
moltiplicatore k, che abbiamo approssimato a 1.06, è tale che
k12=2, cioè
k=21/12=1.05946
.
La
cosa può essere visualizzata bene rappresentando le
frequenze in scala (se-mi)logaritmica, ad esempio con gra-fun
(<>Æfigura
a lato).
|
|
4.2.3 A proposito dell'istruzione SOUND osserviamo che con il QuickBasic per Mac è possibile produrre note non solo ad onda quadra (vedi quanto osservato alla fine di §2), che l'istruzione può contenere parametri per regolare il volume del suono e sincronizzare suoni prodotto da più istruzioni sound, in modo da simulare un'orchestra.
4.2.4 Quesito
4. A) SOUND 261.6, 18.2
SOUND
293.7, 18.2
SOUND
329.6, 18.2
SOUND
349.2, 18.2
SOUND
392.0, 18.2
SOUND
440.0, 18.2
SOUND
493.9, 18.2
SOUND
523.2, 18.2
Volendo produrre la scala temperata
(vedi nota 4.2.2), potevamo usare il programma:
k=2^(1/12)
for i=0 to 12
SOUND 261.6*k^i,18.2
next
B) Ad esempio: 10
INPUT F : SOUND F,20 : GOTO 10
La banda dell'udibile di una persona
in genere ha valore minimo intorno ai 20 Hz e valore massimo intorno
ai 20000 Hz. La ricerca della banda dell'udibile con un programma è
soggetta ad alcuni limiti, che è bene, durante la prova,
esplicitare agli alunni:
in QB per dos si possono
assegnare all'istruzione sound solo frequenze comprese tra 37 e 32767
Hz
in ogni caso assegnando
frequenze estreme (ordine di grandezza delle decine e delle decine di
mi-gliaia) i suoni prodotti da un computer possono avere frequenze
diverse da quelle assegnate (in par-ticolare si possono sentire suoni
a cui si è assegnata una frequenza esterna alla banda
dell'udibile).
4.2.5 Quesito 5. Per trovare il periodo si può rilevare la "distanza" tra due "picchi" o, ad es., tra le intersezioni del grafico con la retta di ordinata 4. Si ottiene: periodo=29·104 sec (circa), frequenza=1/29·104=345 Hz (circa). Quindi la nota è un fa.
4.3.1 Quesito 6. Si sono codificati con 0 i quadretti vuoti, con 1 quelli occupati dal disegno, scan-dendo il disegno per righe. Le cifre mancanti (relative all'ultima riga) sono: 1 1 1 1 1 1 1 1 1 1 0 0.
4.3.2 Quesito 7. Il programma a sinistra traccia la V raffigurata poco sotto; il programma a destra traccia il triangolo di vertici (5, 5), (2, 30), (20, 30).
4.4.1 Quesito 9. (A) Occorre inserire dopo la riga [4]: x(3)=17:y(3)=15 e mettere "3" al posto di "2" nelle righe [7], [8] e [10]. (B) Ricorrere a variabili indiciate è utile quando si deve tradurre sotto forma di programma un procedimento che contiene la descrizione di alcune "operazioni" (grafiche, di calcolo, di confronto, ) che devono essere ripetute in modo analogo su più dati di un elenco o di una tabella.
4.4.2 Quesito 10. Il programma disegna un poligono di 12 lati e quelli che si ottengono da esso mediante successive traslazioni di 20 pixel verso destra e di 9 pixel verso il basso.
4.4.3 Quesito
11. [16] min = x(1) [18] IF x(i) < min THEN min =
x(i) [24] s = s + x(i)
[26]
PRINT s/n.
4.5.1 Ulteriori informazioni sui sottoprogrammi sub (altre sono presenti nel quesito 28):
A. Nella chiamata di un
sottoprogramma si possono utilizzare non solo variabili, ma più
in generale termini. Ad esempio la chiamata CALL
Distanza(xA,yA, (xA+xB)/2, (yA+yB)/2, dist) (del
sottoprogramma SUB Distanza(x1, y1, x2,
y2, d) di p.12) ai parametri x2 e y2 non sosti-tuisce
variabili, ma i valori che i termini (xA+xB)/2 e (yA+yB)/2 hanno al
momento della chiamata.
Quando
si effettua una sostituzione di un dato parametro con un
valore o quando la si effettua con una variabile si dice,
rispettivamente, che il sottoprogramma, rispetto a quel parametro, è
stato chiamato per valore o per indirizzo.
L'espressione "per indirizzo" sta a ricordare il fatto che
durante l'esecuzione del sottoprogramma i valori del parametro
vengono man mano memorizzati allo stesso indirizzo (cioè nella
stessa cella di memoria) assegnato alla variabile impiegata come
argomento effettivo. Nel caso, invece, della chiamata per valore al
parametro viene associata una nuova cella di memoria.
Si
usa anche dire che l'argomento è stato passato,
rispettivamente, per valore o per indirizzo.
Consideriamo
ad esempio la funzione fattoriale Essa può essere calcolata
con il sub:
SUB FATT(n,f)
f=1 : WHILE n>1 : f=f*n
: n=n-1 : WEND
END SUB
Se calcolo 4! con x=4 : CALL FATT (x,y) : PRINT y ottengo il valore cercato 24, ma se batto PRINT x non ho più 4, ma 1; cioè si è perso il valore iniziale di x. Per evitare ciò devo far sì che la chiamata relativa al parametro n avvenga per valore. A tal fine basta che effettui la chiamata con CALL FATT((x),y). Infatti in tal modo l'argomento (x) non è una variabile e quindi il programma traduttore sostituisce al parametro n il valore di esso, cioè il valore della variabile x, invece che la variabile x stessa. Analogamente avrei potuto impiegare CALL FATT(x+0,y).
Non avrei avuto questi problemi se avessi impiegato il sub:
SUB FATT(n,f)
f=1 : m=n : WHILE m>1 :
f=f*m : m=m-1 : WEND
END SUB
o:
SUB FATT(n,f)
f=1 : FOR i=2 TO n :
f=f*i : NEXT
END SUB
Nel primo caso il valore di n non viene modificato in nessun caso poiché i decrementi vengono effettuati sulla variabile m; nel secondo caso invece si effettuano incrementi sulla variabile i.
B. La presenza di una
istruzione SHARED lista-di-variabili
all'inizio di un sub fa sì che le variabili elencate
vengano "condivise" dal sottoprogramma con il programma
principale, cioè con-siderate non variabili locali
(<>Æp.14
della scheda), ma variabili globali: si veda il programma
sotto a sinistra. Invece l'istruzione DIM SHARED
lista-di-variabili messa nel programma prin-cipale fa
sì che le variabili elencate vengano successivamente condivise
da tutti i sottoprogrammi: si veda il programma sotto a destra (si
noti che se in questo programma scambiamo le prime due righe non
otteniamo più gli output attesi: l'istruzione dim shared
azzera le variabili elencate).
pi=ATN(1)*4 : duepi=ATN(1)*8
10 INPUT raggio
CALL CIRC(raggio,c)
CALL AREA(raggio,A)
PRINT c,A : GOTO 10
SUB CIRC(r,c)
SHARED duepi
c=r*duepi
END SUB
SUB AREA(r,A)
SHARED pi
A=r*r*pi
END SUB
DIM SHARED duepi, pi
pi=ATN(1)*4 : duepi=ATN(1)*8
10 INPUT raggio
CALL CIRC(raggio,c)
CALL AREA(raggio,A)
PRINT c,A : GOTO 10
SUB CIRC(r,c)
c=r*duepi
END SUB
SUB AREA(r,A)
A=r*r*pi
END SUB
C. La parola STATIC (vedi p.13 della scheda) fa sì che le variabili locali del sottoprogramma, all'inizio di una chiamata di esso, abbiano ancora i valori che avevano alla fine dell'esecuzione di una eventuale precedente chiamata; in altre parole, l'uso di STATIC evita l'azzeramento automatico delle variabili locali alla fine di ogni chiamata (ciò rende più leggermente più veloce l'esecuzione del programma). Se non si mette STATIC le variabili locali non sono "statiche" nel senso ora precisato. È possibile rendere statiche solo alcune variabili locali impiegando un'istruzione STATIC lista di variabili analoga all'istruzione "shared".
D. L'istruzione EXIT SUB consente di "uscire" dal sub chiamato prima di arrivare all'istruzione finale END SUB. Si veda ad esempio il seguente programma che calcola in modo ricorsivo la funzione fattoriale.
10 INPUT n
CALL FATT(n,f)
PRINT f
GOTO 10
SUB FATT(n,f)
f=1
IF n<2 THEN EXIT
SUB
CALL FATT(n-1,g)
f=g*n
END SUB
E. Le variabili indiciate usate come parametri non necessitano di dichiarazione (devono essere invece dichiarate le variabili indiciate usate come variabili locali nel casi in cui si preveda di usare indici di valore superiore a 10). L'istruzione dim shared applicata alle variabili indiciate serve sia per dimensionarle che per renderle globali; naturalmente, dopo il nome della variabile occorre metterne tra parentesi la/e dimensione/i.
4.5.2 Quesito 12. Errata corrige: mettere 1, 2, 3 come indici invece di 0, 1, 2 nelle righe [3]-[5] del programma. I programma scambia man mano le x con le y, ossia (se la rappresentazione è monometrica) ribalta il triangolo attorno all'ipotenusa.
4.6.1 Quesito 13. Il ciclo tabula la funzione (e traccia i corrispondenti punti del grafico) utilizzando una partizione di [x1,x2] in n sottointervalli uguali (di ampiezza h).
4.6.2 Quesito 14. (1) Basta modificare i valori di x1, x2 e y2 (= 400) nella istruzione 3 (2) occorre inserire una riga 10-bis con PSET (x1, x1* x1) e modificare le righe 11 e 13 come segue:
[11] FOR i=1 TO n [13] LINE -(x(i), y(i))
4.7.1 Quesito 15. T = 30 ms, f = 1/30 giri/ms = 1/30·1000·60 giri/min = 2000 giri/min (nota: 30 non è il periodo esatto: potrebbe essere ad esempio 29.5 ; di più non possiamo sapere dal grafico; di conseguenza 2000 è da intendere come valore approssimato: <>ÆGli oggetti matematici, p.49.
4.7.2 Quesito 16. È una relazione di inversa proporzionalità in quanto f·T=costante.
4.7.3 Quesito
18:
INPUT "numero dati ( >0)";
n
DIM dat(n)
FOR i = 1 TO n
PRINT "dato"; i; : INPUT
dat(i) : s = s + dat(i)
NEXT
FOR i = 1 TO n
PRINT "dato"; i; ":",
dat(i)/s*100; "%"
NEXT
oppure:
10 INPUT "numero dati ( >0)";
n
DIM dat(n) : s=0
...
ERASE dat : goto 10
Si
noti che si è dovuto aggiungere l'azzeramento della variabile
s e, mediante l'istruzione ERASE, la liberazione dello
spazio di memoria che il precedente DIM aveva riservato alla
variabile dat() (altrimenti durante
l'esecuzione comparirebbe un messaggio d'errore che segnala il
tentativo di "dichiarare" una variabile indiciata già
dichiarata).
4.7.4 Quesito
19: FOR i = 1 to n
IF
voto(i)>=6 then print i;
next
4.7.5 Quesito 20: IF pag (i) = 0 THEN ...
4.7.6 Quesito 21: PRINT nome$(graduatoria (i))
4.7.7 Quesito
22:
4.7.8 Quesito 23.
Basta aggiungere prima di goto 10:
ok=0
for i=1 to 3 : for j=1 to 3
if x$(i,j)="-" then ok=1
next : next
if ok=0 then end
4.7.9 Quesito 24: CALL (n, x(), 100/s, z( )) CALL (n, x(), 360/s, w( ))
4.7.10 Quesito 25: Riferirsi alla configurazioni sottostanti (o a loro "traslazioni")
4.7.11 Quesito 26. Disegna un poligono regolare di N lati inscritto in un cerchio di centro C e raggio R (N, C, e R dati in input)
4.7.12 Quesito
27.
10 INPUT "reddito in milioni";
reddito
IF reddito <= 15.5 THEN
imposta = 0
ELSEIF reddito <= 30 THEN
imposta = (reddito - 15.5)*0.1
ELSE
imposta = 1.45 +(reddito - 30)*0.2
END IF
PRINT "l'imposta da pagare è
di"; imposta; "milioni di lire"
GOTO 10
4.7.13 Quesito
28.
IF x < 3 THEN y = 4 ELSE y = x +
1
IF x < 5 THEN y = 0 ELSE y = x *
2
4.7.14 Quesito
29.
INPUT n : SCREEN n
10 CLS : INPUT c : LINE
(10,10)-(50,10), c : GOTO 10
4.7.15 Quesito
30.
n=4
OPEN "pagamento" FOR INPUT
AS #1
FOR i=1 TO n : INPUT #1,nome$(i),
pag(i) : NEXT
CLOSE #1
FOR i=1 TO n
...
4.7.16 Quesito
31.
OPEN "dati" FOR INPUT AS
#1
INPUT #1, n
...
INPUT #1, x(i)
...
CLOSE #1
...
4.7.17 Quesito
32. Il pesce C si ottiene dal pesce A scegliendo "3:molt"
e assegnando i valori 1 e 2 rispettivamente al moltiplicatore di x e
di y.