UN PERCORSO DI PROGRAMMAZIONE IN GEOMETRIA ANALITICA Ipotesi, anno by kellena89

VIEWS: 0 PAGES: 4

									UN PERCORSO DI PROGRAMMAZIONE                          calcoli con matrici, non ancora studiate dai
IN GEOMETRIA ANALITICA                                 ragazzi.
Ipotesi, anno 2, n. 3/1999                             Vediamo quali sono le funzioni che occorre
Cristiano Dané
                                                       implementare per poi utilizzarle nel programma
                                                       principale:
In questo articolo si intende presentare parte di
                                                       1) DISTANZA TRA DUE PUNTI
un percorso effettivamente sperimentato in una
                                                       Eccone il listato:
classe terza di un indirizzo scientifico P.N.I.
                                                       :dist(a,b)
Nell’ambito dello studio delle coniche, le TI92
                                                       :Func
si sono dimostrate utili per creare e sviluppare
                                                       :√(a[1]-b[1])^2+(a[2]-b[2])^2)
algoritmi      risolutivi   di   problemi   che   si
                                                       :EndFunc
incontrano frequentemente.
                                                       2) ASSE DI UN SEGMENTO
Abbiamo sfruttato la possibilità di costruire
                                                       :assef(a,b)
programmi e funzioni utilizzabili in successive
                                                       :Func
applicazioni, generando così una sorta di
                                                       :Local m,coef,q
magazzino di funzioni al quale accedere per la
                                                       :If a[2]=b[2] Then
soluzione di più problemi e la creazione di
                                                       :       (a[1]+b[1])/2→m
nuovi programmi.
In   particolare      analizziamo    ora      come     :       {1,0,m}
                                                       :Else
determinare la circonferenza per tre punti e la
tangente ad una parabola in un suo punto.              :{(a[1]+b[1])/2,(a[2]+b[2])/2}→
                                                       m

Circonferenza per tre punti:                           : (a[1]-b[1])/(b[2]-a[2])→coef
                                                       : m[2]-m[1]*coef→q
La procedura utilizzata è la seguente:
dati tre punti, si determinano gli assi di due dei     : {-coef,1,q}

segmenti che li hanno come estremi, si                 :EndIf

intersecano tali assi per trovare il centro e          :EndFunc

quindi il raggio della circonferenza passante per      La funzione restituisce la terna dei coefficienti
i tre punti.                                           della retta asse del segmento di estremi a e b. In
Abbiamo preferito questo metodo a quello ben           particolare il primo elemento è il coefficiente di
noto che richiede la soluzione del sistema di tre      x, il secondo quello di y e il terzo è l’opposto
equazioni e tre incognite, perché consente di          del termine noto della retta in forma implicita.
recuperare programmi già studiati e scritti in         Questa scelta (forse un po’ laboriosa) è
classe (alcuni nel biennio) e non necessita            motivata dal programma che in precedenza era
stato scritto per risolvere sistemi 2x2 e che qui   :If a[1]=b[1] and a[2]=b[2] or
di seguito viene presentato come funzione.          a[1]=c[1]          and    a[2]=c[2]        or
3) SISTEMI 2x2                                      c[1]=b[1] and c[2]=b[2] Then
:siste(a,b)                                         : Text "Due punti coincidono"
:Func                                               :ElseIf              (b[2]-a[2])/(b[1]-
:Local d                                            a[1])=(c[2]-a[2])/(c[1]-a[1])
:a[1]*b[2]-a[2]*b[1] →d                             :Then
:{(a[3]*b[2]-a[2]*b[3])/d,                          : Text "Punti allineati"
(a[1]*b[3]-a[3]*b[1])/d}                            :Else
:EndFunc                                            : assef(a,b)→r

4) EQUAZIONE DELLA CIRCONFERENZA                    : assef(a,c)→t

:circo(a,b)                                         : siste(r,t)→cc
:Func                                               : dist(cc,a)→rr
:(x-a[1])^2+(y-a[2])^2-b^2=0                        : Circle cc[1],cc[2],rr
:EndFunc                                            : Pause
                                                    : Dialog
PROGRAMMA PRINCIPALE
                                                    :            Title    "Equazione        della
È ora possibile scrivere il programma finale che
                                                    circonferenza:"
utilizzerà le precedenti funzioni:
                                                    :    Text string(circo(cc,rr))
:circo3p()
                                                    : EndDlog
:Prgm
                                                    :EndIf
:Local a,b,c,cc,rr,r,t
                                                    :EndPrgm
:ClrIO
:Disp "determino la                                 Mandando      in   esecuzione   il   programma
circonferenza per A,B,C"                            dall’Home:
:Input "A?",a                                       - vengono richiesti i tre punti nel PrgmIo (le
:Input "B?",b                                       coordinate vanno inserite tra parentesi graffe
:Input "C?",c                                       perché i punti sono trattati come liste di due
:ClrDraw                                            elementi):
:PtOn a[1],a[2]
:PtOn b[1],b[2]
:PtOn c[1],c[2]
:Pause
- dopo aver tracciato i tre punti, si passa al    :   Disp     "Data   y=ax^2+bx+c    e
grafico della circonferenza nel Graph:            l’ascissa Xp di un suo punto P"
                                                  :   Disp   "determino   la   tangente
                                                  alla funzione in P"
                                                  : Input "a",a
                                                  :EndWhile
                                                  :Input "b",b
                                                  :Input "c",c
- e infine alla sua equazione:
                                                  :ClrDraw
                                                  :DrawFunc a*x^2+b*x+c
                                                  :Pause
                                                  :Lbl ciao
                                                  :Dialog
                                                  :Text "dammi la x del punto di
                                                  :tangenza"
Tangente ad una parabola in un suo                :Request "Xp",p
punto:                                            :EndDlog
Data l’equazione della parabola e l’ascissa del   :If ok=0: Return
punto appartenente ad essa e da cui si vuole      :(b^2-4*a*c)/(4*a)→dd
condurre la tangente, si determina l’asse del     :{-b/(2*a),1/(4*a)-dd}→v
segmento avente per estremi il fuoco e la         :{expr(p),-1/(4*a)-dd}→w
proiezione del punto stesso sulla direttrice.     :assef(v,w)→r
Questo metodo non utilizza i sistemi, ma
                                                  :DrawFunc -r[1]*x+r[3]
consente di sfruttare una importante proprietà
                                                  :Pause
geometrica delle tangenti alla parabola e di
                                                  :Dialog
utilizzare      la      funzione       assef()    : Text "Parabola
precedentemente memorizzata sulla TI92:           y="&string(a*x^2+b*x+c)
:partg()
                                                  : Text "Tangente        y="&string(-
:Prgm
                                                  r[1]*x+r[3])
:Local a,b,c,dd,v,w,r
                                                  : Text "ALTRA TANGENTE?"
:ClrDraw
                                                  :EndDlog
:0→a                                              :If ok=0: Return
:While a=0                                        :Goto ciao
: ClrIO                                           :EndPrgm
- dati i coefficienti della parabola (qui ad es.
a=1, b=0 e c=-4), ne sarà disegnato il grafico:     Considerazioni finali:

                                                    Con questi esempi vorrei evidenziare come
                                                    l’utilizzo regolare della calcolatrice permetta di
                                                    sfruttare le funzioni generate in classe in più
                                                    programmi (ma anche direttamente in calcoli
                                                    nell’ambiente Home) con indubbi vantaggi
- sarà poi richiesta la x del punto di tangenza:    didattici       sia      nell’introduzione          della
                                                    programmazione strutturata sia nello sviluppo
                                                    logico della trattazione matematica.
                                                    I programmi qui presentati sono strettamente
                                                    legati agli argomenti affrontati in terza, anche in
                                                    un corso tradizionale; farli elaborare dagli

- verrà disegnata la tangente:                      studenti permette di focalizzare l’attenzione
                                                    sulla      ricerca    delle     procedure      risolutive,
                                                    mettendo un freno alla generalizzata tendenza a
                                                    risolvere il caso specifico senza un’analisi
                                                    preventiva del problema. Consentono poi di
                                                    discutere differenti metodi e di effettuare scelte
                                                    nelle soluzioni a volte diverse rispetto a quelle
- e saranno infine visualizzate le equazioni:       usualmente operate nello svolgimento degli
                                                    analoghi esercizi con carta, penna e calcolatrice
                                                    non programmabile.
                                                    Il risultato complessivo è stato sicuramente
                                                    gratificante per i ragazzi, anche perché abbiamo
                                                    costantemente         accostato        alla    soluzione
Si può continuare l’esecuzione chiedendo di         algebrica il grafico relativo, e ciò permette una
calcolare ulteriori tangenti, ottenendo risultati   evidente      conferma        visiva   della   soluzione
come quello che segue:                              trovata.

								
To top