Estratto del documento

Applicazioni del QBasic a vari argomenti matematici

E riflessioni per vivere sani e più a lungo…

Guido Carolla

Sunto.

Dopo una breve introduzione che fa riferimento al linguaggio Basic, all’avvento del QBasic, a come scaricarlo dalla rete ed iniziare a programmare sia con l’ausilio della guida on line che mediante manuali cartacei, si entra in argomento con la ‘Didamatica’ e in particolare con l’originaria Digidattica matematica, proponendo nella prima parte questi listati in QBasic con i relativi esempi:

Numeri perfetti, numeri binari, terne pitagoriche (n. 2), numeri primi, massimo comune divisore e minimo comune multiplo, serie armoniche divergenti e convergenti (n. 3), teorema di Fermat, equazioni indeterminate (n. 2), integrale definito.

Nella seconda parte si entra in argomento dapprima con due listati “Salute” e “Quanto vivrai?” che possono in qualche modo… aiutarci a vivere meglio; segue poi la parte relativa alla Digidattica matematica, in cui si propongono i seguenti listati in QBasic (di cui alcuni con i relativi esempi):

Velocità tangenziale di rotazione in qualunque punto del globo terrestre; numeri grandi a partire dal π (con commento); regola di Ruffini; divisione googol; equivalenze aritmetiche; poligoni regolari e di due polinomi; sistema lineare di due equazioni; equazione di II grado con radici reali e complesse; serie geometriche convergenti; radici reali approssimate di un polinomio di grado qualunque; equazione differenziale di qualunque ordine.

Introduzione

Il Basic è stato per lungo tempo il linguaggio più usato dagli aspiranti programmatori, che, in virtù della sua notevole semplicità d’uso, se ne servivano facilmente per operare sui loro home computer.

L’avvento del QBasic, grazie all’accresciuta espressività e all’aumentata ricchezza di costrutti propri della nuova definizione del linguaggio Basic, ha permesso di ampliare notevolmente la rete degli utenti che ne fanno uso, sia in ambiente professionale per applicazioni software, sia in ambienti orientati alla formazione. 1

È possibile scaricare QBasic dalla rete ed iniziare subito a programmare, sia con l’ausilio della 2, sia mediante l’apporto più completo di manuali cartacei come quello pubblicato nel 1991 da David I. Schneider e Peter Norton ed ora anche in traduzione italiana 3, o quello pubblicato nel 1992 da R. Arnson, Ch. Gemmell, H. Henderson per la McGraw-Hill Libri Italia srl nella traduzione in italiano di Laura Saggini con il titolo MS-DOS QBasic. Guida del programmatore (pp. VIII-593, ISBN 88-386-0257-3).

Navigando on line è possibile incontrare siti in italiano che suggeriscono facili utilizzazioni di QBasic 4.

1 Per esempio da http://www.qbasic.com/

http://studio.lacab.roma.it/install/qbasic/

http://web.tiscali.it/paranco/page4.html

http://digilander.iol.it/ebram/download.htm etc.

2 Piccoli accorgimenti sono necessari nell’uso della tastiera per le combinazioni diverse delle funzioni dei tasti per Windows ME.

3 Programmare in QBasic, JacksonLibri ed., pp.392, ISBN 8825604440. Molto utile è anche il più maneggevole (pp. 94) Programmare in QBasic. Teoria ed esercizi svolti, a cura di A. Macii-E. Macii-R. Scarsi, volume adottato presso il Politecnico di Torino come guida per le prove d’esame di programmazione dei vari corsi di Fondamenti di Informatica. Si veda anche Stephen Tory Toupin, È facile QBASIC, Jackson Libri ed., pp. 192, ISBN 8825608179.

4 Ved. ad esempio http://digilander.iol.it/ebram/download.htm

http.//digilander.iol.it/vpisani/forum-scuola/qbasic/intro3-dove.html

http://utenti.tripod.it/LDM/basic.htm. Ved. inoltre

http://calvino.polito.it/~pier/qbasic/siti.html. 5

Già da tempo, infatti, si è diffusa anche in Italia la ‘Didamatica’, didattica dell’Informatica e Matematica, cioè quel complesso di procedure, di artifici e di programmi che consentono un apprendimento nuovo delle stesse discipline, attraverso la risoluzione di numerosi problemi.

Sul tema della Digidattica della Matematica fu già presentata dal sottoscritto una comunicazione nel Convegno Nazionale (“Matematica o Matematica del Calcolatore”, 26-28 Aprile 1984, Cosenza – Università della Calabria), organizzato dalla Sezione di Cosenza, presieduta dal compianto Prof. Vito Costantini, che sollecitò la stesura di un articolo per la pubblicazione degli Atti. Il sottoscritto, suo malgrado, non ne fece mai pervenire il testo scritto, per cui il contenuto è rimasto inedito.

La comunicazione originaria fu condotta sul TI 99/4A Home Computer della Texas Instruments, tuttora funzionante a conferma della bontà tecnologica degli stessi prodotti.

Ora di quei listati (allora presentati in TIBASIC) si ripropongono alcuni, adattabili alle calcolatrici TI89, TI92Plus e ad ogni computer, perché, per questi ultimi, i listati sono redatti in QBasic; se ne propongono anche altri, nuovi e non meno interessanti, fra i quali il n. 9, cioè il secondo sulle serie armoniche convergenti, col quale listato è possibile trovare un numero illimitato di serie, i cui valori di convergenza sono verificabili con l’ultimo listato, il n. 13, sul valore dell’integrale definito da zero ad uno della funzione: F(X)=X^(1/A1-1)/(1+X^(1/D)), nella quale A1, D sono rispettivamente il primo termine e la ragione della relativa progressione armonica, da cui scaturiscono i termini della omonima serie a segni alternati. Detta verifica è possibile anche per i valori di ln2 e 1/4pigreca del n. 8, sostituendo nella F(X), al posto di A1 e D, rispettivamente 1, 1 e 1, 1/2.

Lo stesso discorso di adattabilità vale anche per i listati della seconda parte.

Tutti i programmi riportano nei listati il titolo dell’argomento ed alcuni anche un breve commento che, con l’input ed output relativi ai vari esempi, ne agevolano la comprensione.

Prima parte

1. Programma numeri perfetti

CLS: DEFDBL P

PRINT "NUMERI PERFETTI (somma di tutti i loro divisori, escluso il n.ro stesso)"

PRINT "CON LA FORMULA DI EUCLIDE :"

PRINT "2^(N-1)*(2^N-1),"

PRINT "con N e (2^N-1) che siano NUMERI PRIMI."

PRINT "Attualmente non si sa se il loro insieme sia finito o meno."

DIM N(7)

FOR I = 1 TO 7

READ N(I)

A = 2 ^ (N(I) - 1)

B = 2 * A - 1

P = A * B

PRINT A; "*"; B; "="; P

NEXT I

DATA 2,3,5,7,13,17,19

PRINT

PRINT "Ad esempio, i primi tre NUMERI PERFETTI sono riportati con le somme dei"

PRINT "loro divisori 6=1+2+3; 28=1+2+4+7+14; 496=1+2+4+8+16+31+62+124+248."

END

1.1. L’output risulta:

5 Consultare i siti www.adt.it (dell’Associazione per la Didattica con le Tecnologie), www.AICANET.it (dell’Associazione Italiana per l’Informatica del Calcolo Automatico).

NUMERI PERFETTI (somma di tutti i loro divisori, escluso il n.ro stesso)

CON LA FORMULA DI EUCLIDE :

2^(N-1)*(2^N-1),

con N e (2^N-1) che siano NUMERI PRIMI.

Attualmente non si sa se il loro insieme sia finito o meno.

2 * 3 = 6

4 * 7 = 28

16 * 31 = 496

64 * 127 = 8128

4096 * 8191 = 33550336

65536 * 131071 = 8589869056

262144 * 524287 = 137438691328

Ad esempio, i primi tre NUMERI PERFETTI sono riportati con le somme dei

loro divisori 6=1+2+3; 28=1+2+4+7+14; 496=1+2+4+8+16+31+62+124+248.

2. Numeri binari

10 CLS: PRINT "TRASFORMA I NUMERI A BASE 10 IN BINARI (DIGITA 1) E VICEVERSA (2)"

INPUT W

IF W = 2 THEN 100

INPUT "DIGITA IL NUMERO DECIMALE "; N

PRINT

PRINT ; N; "IN BINARIO E'= "; ;

FOR I = 15 TO 0 STEP -1

B = INT(N / 2 ^ I)

N = N - B * 2 ^ I

A$ = STR$(B)

PRINT A$;

NEXT I

PRINT

GOTO 10

100 INPUT "DIGITA IL NUMERO BINARIO "; C$

IF C$ = "F" THEN 300

N = 1

D = 0

FOR J = 1 TO LEN(C$)

B$ = MID$(C$, LEN(C$) - J + 1, 1)

IF B$ = "0" THEN 200

D = D + N

200 N = N * 2

NEXT J

PRINT ; C$; " IN DECIMALE E'= "; D:

300 END

2.1. Esempi

TRASFORMA I NUMERI A BASE 10 IN BINARI (DIGITA 1) E VICEVERSA (2)

? 1

DIGITA IL NUMERO DECIMALE ? 153

153 IN BINARIO E'= 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1

TRASFORMA I NUMERI A BASE 10 IN BINARI (DIGITA 1) E VICEVERSA (2)

? 2

DIGITA IL NUMERO BINARIO ? 101001

101001 IN DECIMALE E'= 41

3. Terne pitagoriche con metodi Pitagora e Platone

CLS : PRINT "LE TERNE PITAGORICHE DETERMINATE ALTERNATAMENTE"

PRINT "CON I METODI DI PITAGORA E DI PLATONE"

INPUT "DIGITA L'INTERV. DI VARIAZ., DA DISPARI A PARI, DEL CATETO X "; A, B

PRINT

FOR X = A TO B

Y = (X ^ 2 - 1) / 2

IF Y = INT(Y) THEN 10 ELSE 40

10 Z = (X ^ 2 + 1) / 2

PRINT "CON M.PITAGORA"; Z; ";"; X; ";"; Y

X = X + 1

Y = (X / 2) ^ 2 - 1

IF Y = INT(Y) THEN 30 ELSE 40

30 Z = (X / 2) ^ 2 + 1

PRINT "CON M.PLATONE"; Z; ";"; X; ";"; Y

X = X - 1

40 NEXT X

PRINT

END

3.1. Esempi

LE TERNE PITAGORICHE DETERMINATE ALTERNATAMENTE

CON I METODI DI PITAGORA E DI PLATONE

DIGITA L'INTERV. DI VARIAZ., DA DISPARI A PARI, DEL CATETO X ? 3,12

CON M.PITAGORA 5 ; 3 ; 4

CON M.PLATONE 5 ; 4 ; 3

CON M.PITAGORA 13 ; 5 ; 12

CON M.PLATONE 10 ; 6 ; 8

CON M.PITAGORA 25 ; 7 ; 24

CON M.PLATONE 17 ; 8 ; 15

CON M.PITAGORA 41 ; 9 ; 40

CON M.PLATONE 26 ; 10 ; 24

CON M.PITAGORA 61 ; 11 ; 60

CON M.PLATONE 37 ; 12 ; 35

4. Terne pitagoriche con metodi Euclide e Diofanto

CLS : PRINT "LE TERNE PITAGORICHE CON I METODI DI EUCLIDE E DIOFANTO,"

PRINT "PER I QUALI I VALORI RELATIVI AI CATETI E ALL'IPOTENUSA DIPENDONO DAL"

PRINT "PARAMETRO POSITIVO B, COME SI NOTA NEL LISTATO."

INPUT "DIGITA L'INTERV. DI VARIAZ. DEL PARAMETRO B "; G, H

PRINT

FOR B = G TO H

FOR C = 1 TO B - 1

X = B * C

Y = (B ^ 2 - C ^ 2) / 2

IF Y = INT(Y) THEN 10 ELSE 20

10 Z = (B ^ 2 + C ^ 2) / 2

PRINT "CON M.EUCLIDE", Z; ";"; X; ";"; Y

20 U = 2 * B * C

V = B ^ 2 - C ^ 2

W = B ^ 2 + C ^ 2

PRINT "CON M.DIOFANTO"; W; ";"; U; ";"; V

NEXT C

NEXT B

END

4.1. Esempi

LE TERNE PITAGORICHE CON I METODI DI EUCLIDE E DIOFANTO,

PER I QUALI I VALORI RELATIVI AI CATETI E ALL'IPOTENUSA DIPENDONO DAL

PARAMETRO POSITIVO B, COME SI NOTA NEL LISTATO.

DIGITA L'INTERV. DI VARIAZ. DEL PARAMETRO B? 3,5

CON M.EUCLIDE 5 ; 3 ; 4

CON M.DIOFANTO 10 ; 6 ; 8

CON M.DIOFANTO 13 ; 12 ; 5

CON M.DIOFANTO 17 ; 8 ; 15

CON M.EUCLIDE 10 ; 8 ; 6

CON M.DIOFANTO 20 ; 16 ; 12

CON M.DIOFANTO 25 ; 24 ; 7

CON M.EUCLIDE 13 ; 5 ; 12

CON M.DIOFANTO 26 ; 10 ; 24

CON M.DIOFANTO 29 ; 20 ; 21

CON M.EUCLIDE 17 ; 15 ; 8

CON M.DIOFANTO 34 ; 30 ; 16

CON M.DIOFANTO 41 ; 40 ; 9

5. Numeri primi

CLS : PRINT "Questo programma produce numeri primi da M (dispari) ad N."

PRINT

INPUT "DIGITA M,N "; M, N

IF M = 1 THEN 200

GOTO 230

200 PRINT

PRINT " I NUMERI PRIMI DA "; M; " A"; N; " SONO: "

PRINT 2

GOTO 250

230 PRINT " I NUMERI PRIMI DA "; M; " A"; N; " SONO: "

PRINT

250 FOR F = M TO N STEP 2

FOR J = 3 TO (F - 1) / 2 STEP 2

Q = F / J

Q1 = INT(Q)

IF Q = Q1 THEN 330

NEXT J: IF F = 1 THEN 330

PRINT " "; F; ;

330 NEXT F

END

5.1. Esempi

Questo programma produce numeri primi da M (dispari) ad N.

DIGITA M,N ? 5,24

I NUMERI PRIMI DA 5 A 24 SONO:

5 7 11 13 17 19 23

6. Massimo comune divisore e minimo comune multiplo

CLS : PRINT "Calcolo del MCD e del mcm di due numeri A, B"

10 INPUT "DIGITA A, B "; A, B

20 PRINT "M.C.D.("; A; ";"; B; "),"

30 PRINT "m.c.m.("; A; ";"; B; ") rispettivamente ="

IF A > B THEN 180

C = A: A = B: B = C

180 P = A * B

190 Q = A / B

R = A - B * INT(Q)

IF R = 0 THEN 250

A = B: B = R: GOTO 190

250 PRINT B

260 PRINT P / B

END

6.1. Esempio

Calcolo del MCD e del mcm di due numeri A, B

DIGITA A, B ? 75,475

M.C.D.( 75 ; 475 ),

m.c.m.( 75 ; 475 ) rispettivamente =

25

1425

7. Serie armoniche divergenti

CLS : PRINT "SERIE ARMONICHE DIVERGENTI (QUELLE IL CUI TERMINE GENERALE"

PRINT "SIA UN INFINITESIMO), PRODOTTE DALLE RELATIVE PROGRESSIONI."

PRINT "DUE ESEMPI DI CONVERGENZA APPARENTE A1=4,D=3;A1=1,D=1 E PER ENTRAMBI"

PRINT "U=100 e POI U=10000 O PIU'."

INPUT "DIGITA A1 (PRIMO TERMINE), D (RAGIONE), U (INDICE ULT. TERM.) "; A1, D, U

PRINT

PRINT "TERMINI DELLA SUCCESSIONE DA ", "SOMME PARZIALI DELLA SERIE DIVERGENTE"

PRINT "CUI PROVIENE LA SERIE", " O RIDOTTE"

B = A1: PRINT B, , , A1

FOR I = 2 TO U

A = D * A1 / (D + (I - 1) * A1)

B = B + A

PRINT A, , , B

NEXT I

END

7.1. Esempio

SERIE ARMONICHE DIVERGENTI (QUELLE IL CUI TERMINE GENERALE

SIA UN INFINITESIMO), PRODOTTE DALLE RELATIVE PROGRESSIONI.

DUE ESEMPI DI CONVERGENZA APPARENTE A1=4,D=3;A1=1,D=1 E PER ENTRAMBI

U=100 e POI U=10000 O PIU'.

DIGITA A1 (PRIMO TERMINE), D (RAGIONE), U (INDICE ULT. TERM.) ? 4,3,100

……………………

3.858521E-02 16.33733

3.809524E-02 16.37543

3.761755E-02 16.41304

.0371517 16.4502

3.669725E-02 16.48689

3.625378E-02 16.52315

3.582089E-02 16.55897

3.539823E-02 16.59436

3.498542E-02 16.62935

3.458213E-02 16.66393

3.418804E-02 16.69812

3.380282E-02 16.73192

3.342618E-02 16.76535

3.305785E-02 16.7984

3.269755E-02 16.8311

3.234501E-02 16.86345

.032 16.89545

3.166227E-02 16.92711

3.133159E-02 16.95844

3.100775E-02 16.98945

3.069054E-02 17.02014

3.037975E-02 17.05052

3.007519E-02 17.0806

8. Serie armoniche convergenti: due casi notevoli

CLS

PRINT "SERIE ARMONICHE CONVERGENTI A: ln(2)=.6931471...;1/4PIGRECA=.7853981..."

PRINT "PROVENIENTI DA SUCCESSIONI CON TERMINI A SEGNI ALTERNATI: PER OTTENERE"

PRINT "ANCHE LA SECONDA TOGLIERE L'ISTRUZIONE 100 END."

INPUT "DIGITA N (N.RO TERMINI) "; N

PRINT

PRINT "TERMINI DELLA SUCCESSIONE", "SOMMA TERMINI SERIE CHE PER N ALL'INFINITO"

PRINT "DI PROVENIENZA DELLA SERIE", "E' IL LIMITE <SOMMA> DELLA SERIE"

N = N - 1

B = 1: PRINT B, , 1

FOR I = 1 TO N

A = (-1) ^ I / (I + 1)

B = B + A

PRINT A, , B

NEXT I: PRINT

100 END

PRINT "TERMINI SERIE CONVERGENTE", "SOMMA TERMINI SERIE CHE PER N ALL'INFINITO"

PRINT " ", "E' IL LIMITE <SOMMA> DELLA SERIE"

D = 1: PRINT D, , 1

FOR L = 1 TO N

C = (-1) ^ L / (2 * L + 1)

D = D + C

PRINT C, , D

NEXT L

END

8.1. Esempi

SERIE ARMONICHE CONVERGENTI A: ln(2)=.6931471...;1/4PIGRECA=.7853981...

PROVENIENTI DA SUCCESSIONI CON TERMINI A SEGNI ALTERNATI: PER OTTENERE

ANCHE LA SECONDA TOGLIERE L'ISTRUZIONE 100 END.

DIGITA N (N.RO TERMINI) ? 6

TERMINI DELLA SUCCESSIONE SOMMA TERMINI SERIE CHE PER N ALL'INFINITO

DI PROVENIENZA DELLA SERIE E' IL LIMITE <SOMMA> DELLA SERIE

1 1

-.5 .5

.3333333 .8333334

-.25 .5833334

.2 .7833334

-.1666667 .6166667

TERMINI SERIE CONVERGENTE SOMMA TERMINI SERIE CHE PER N ALL'INFINITO

E' IL LIMITE <SOMMA> DELLA SERIE

1 1

-.3333333 .6666666

.2 .8666666

-.1428571 .7238095

.1111111 .8349206

-9.090909E-02 .7440115

9. Serie armoniche convergenti: illimitati casi

CLS : PRINT "SERIE ARMONICHE CONVERGENTI (QUELLE IL CUI TERMINE GENERALE"

PRINT "SIA UN INFINITESIMO), PRODOTTE DALLE RELATIVE PROGRESSIONI,"

PRINT "I CUI TERMINI SI SUCCEDONO A SEGNI ALTERNATI. PER TALI CONVERGENZE "

PRINT "POSSONO OTTENERSI RISCONTRI CON IL LISTATO RELATIVO ALL'INTEGRALE "

PRINT "DEFINITO DA 0 AD 1 DELLA F(X)=X^(1/A1-1)/(1+X^(1/D)), CON A1,D DA"

PRINT "USARE NEL PRESENTE LISTATO."

INPUT "DIGITA A1 (PRIMO TERMINE), D (RAGIONE), U (INDICE ULT. TERM.) "; A1, D, U

PRINT

PRINT "TERMINI DELLA SUCCESSIONE ", "SOMME PARZIALI DELLA SERIE CONVERGENTE"

PRINT "DA CUI PROVIENE LA SERIE", "CHE PER U ALL'INFINITO E' <SOMMA> DELLA SERIE"

B = A1: PRINT B, , , A1

FOR I = 2 TO U

A = (-1) ^ (I - 1) * D * A1 / (D + (I - 1) * A1)

B = B + A

PRINT A, , , B

NEXT I

END

9.1. Esempio

SERIE ARMONICHE CONVERGENTI (QUELLE IL CUI TERMINE GENERALE

SIA UN INFINITESIMO), PRODOTTE DALLE RELATIVE PROGRESSIONI,

I CUI TERMINI SI SUCCEDONO A SEGNI ALTERNATI. PER TALI CONVERGENZE

POSSONO OTTENERSI RISCONTRI CON IL LISTATO RELATIVO ALL'INTEGRALE

DEFINITO DA 0 AD 1 DELLA F(X)=X^(1/A1-1)/(1+X^(1/D)), CON A1,D DA

USARE NEL PRESENTE LISTATO.

DIGITA A1 (PRIMO TERMINE), D (RAGIONE), U (INDICE ULT. TERM.) ? .5,2,13

TERMINI DELLA SUCCESSIONE SOMME PARZIALI DELLA SERIE CONVERGENTE

DA CUI PROVIENE LA SERIE CHE PER U ALL'INFINITO E' <SOMMA> DELLA SERIE

.5 .5

-.4 9.999999E-02

.3333333 .4333333

-.2857143 .147619

.25 .397619

-.2222222 .1753968

.2 .3753968

-.1818182 .1935786

.1666667 .3602453

-.1538462 .2063991

.1428571 .3492563

-.1333333 .2159229

.125 .340923

Nella seconda colonna, dalle somme 12.esima e 13.esima è già evidente la convergenza che si avrà per infinite somme e che può riscontrarsi nell’esempio del programma 13).

10. Teorema di Fermat

CLS : PRINT "TEOREMA O CONGETTURA DI FERMAT, DIMOSTRATA DA ANDREW WILES,"

PRINT "NEL 1995, DOPO CIRCA 350 ANNI!"

Anteprima
Vedrai una selezione di 8 pagine su 33
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 1 Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 2
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 6
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 11
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 16
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 21
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 26
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Applicazioni matematiche con QBasic: Esplorazione di numeri perfetti, equazioni e serie armoniche. Pag. 31
1 su 33
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi