Resto e algoritmo di Euclide con Excel

Matematica in laboratorio
`1
Unita
` guidate
Attivita
`1
Attivita
Foglio elettronico
Costruisci un foglio di lavoro per determinare se a e` divisibile per b, essendo a e b due numeri naturali, con a > b, inseriti in due celle diverse.
Se hai difficolta` a svolgere
le attivita` guidate,
fai riferimento ai file
di Excel disponibili.
A. COSTRUZIONE DEL FOGLIO
Un foglio che soddisfa le condizioni richieste puo` avere un aspetto simile al seguente:
1. Inserisci il testo che puoi vedere in figura nelle celle A1, A2 e D1.
2. Le celle B1 e B2 sono riservate ad acquisire i due numeri a e b di cui si vuole
controllare la divisibilita`: immetti in esse due numeri a tuo piacere.
3. Nella cella E1 devi porre una formula che agisce cosı`: se il numero a e` divisibile
per b, nella cella E1 viene scritto «Sı`», altrimenti viene scritto «No».
Per costruire tale formula occorre fare preliminarmente alcune considerazioni.
! Per affrontare le situazioni in cui e` necessario operare una scelta condizionata, cioe`
scegliere tra due alternative in base al verificarsi o meno di una certa condizione,
Excel mette a disposizione la funzione SE(), la cui sintassi e`:
Informatica – ALGORITMI / FOGLIO ELETTRONICO
Puoi costruire un foglio di questo tipo seguendo le istruzioni qui riportate.
Matematica in laboratorio
` tra numeri naturali
Divisibilita
Risorse digitali
SE(test;se vero;se falso)
Cio` significa che se la condizione denominata test e` vera, il risultato sara` il valore
se_vero, altrimenti sara` il valore se_falso.
! La condizione di divisibilita` tra due numeri a e b si puo` esprimere tramite il resto
della divisione intera tra a e b: se tale resto e` nullo a e` divisibile per b, altrimenti a
non e` divisibile per b. Excel mette a disposizione la funzione:
RESTO(a;b)
che restituisce il resto della divisione intera tra due numeri a e b.
Tenendo conto di queste considerazioni, puoi capire che la formula da inserire nella
cella E1 e`:
`";"No")
=SE(RESTO(B1;B2)=0;"Sı
B. UTILIZZO DEL FOGLIO COSTRUITO
Considera le seguenti coppie di numeri:
a ¼ 1313
a ¼ 134 572
a ¼ 19 365
a ¼ 19 359
a ¼ 11 111
b¼3
b¼4
b¼5
b¼9
b ¼ 11
In ciascun caso stabilisci, in base alla teoria che hai studiato, se a e` divisibile per b.
Controlla quindi la tua risposta utilizzando il foglio Excel appena costruito.
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
1/6
`1
Unita
`2
Attivita
Numeri naturali e numeri interi
Algoritmi
L’algoritmo di Euclide
A. INTERFACCIA
Imposta un foglio Excel come illustrato nella figura qui sotto.
Ricordando l’algoritmo di Euclide (Unita` 1, Paragrafo 4), completa la seguente pseudocodifica dell’algoritmo.
Variabili
Dichiara a, b, r come numeri interi
Inizio
Acquisisci a
Acquisisci b
Esegui
Assegna r = resto della divisione intera tra a e b
Se r = .....
allora
Comunica "MCD ¼ ....."
altrimenti
Assegna a = b
Assegna b = .....
Fine se
Ripeti finche´ r = .....
Fine
Informatica – ALGORITMI / FOGLIO ELETTRONICO
B. PSEUDOCODIFICA
Matematica in laboratorio
Scrivi un programma in Visual Basic che, immessi in due celle di un foglio Excel due numeri naturali a e b, con a > b, restituisca in un’altra cella il massimo comune divisore di a e b,
calcolato mediante l’algoritmo euclideo.
C. CODICE
Scrivi il codice Visual Basic corrispondente alla pseudocodifica dell’algoritmo.
A tale proposito, ricorda che l’istruzione per calcolare in Visual Basic il resto della divisione intera tra due numeri a e b e` a Mod b.
D. UTILIZZO DEL FOGLIO
Prova a calcolare a mano il massimo comune divisore tra le seguenti coppie di numeri:
a ¼ 432, b ¼ 180
a ¼ 175, b ¼ 108
Controlla quindi, tramite il foglio che hai costruito, i risultati ottenuti.
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
2/6
`1
Unita
`3
Attivita
Numeri naturali e numeri interi
Algoritmi
Ricerca dei divisori di un numero naturale
A. INTERFACCIA
Imposta un foglio Excel come illustrato nella figura qui sotto.
B. PSEUDOCODIFICA
Completa la seguente pseudocodifica di un algoritmo per il calcolo dei divisori di n.
Informatica – ALGORITMI / FOGLIO ELETTRONICO
In particolare, la cella B1 e` quella preposta all’immissione del numero n di cui si
vogliono individuare i divisori, mentre le celle della riga 4 sono preposte alla comunicazione dei divisori da parte del programma. Oltre al pulsante che ha la funzione
di attivare il codice per il calcolo dei divisori, abbiamo previsto un secondo pulsante, Azzera il foglio, avente la funzione di attivare un codice che elimina automaticamente il numero immesso nella cella B1 e i risultati forniti nella riga 4.
Matematica in laboratorio
Scrivi un programma in Visual Basic che, immesso un numero naturale in una cella di un
foglio Excel, restituisca in una riga l’elenco di tutti i suoi divisori.
Variabili
Dichiara n, i come numeri interi
Inizio
Acquisisci n
Per i = 1 a n
Se il resto della divisione intera tra n e i = .....
allora
Comunica .....
Fine Se
Ripeti
Fine
C. CODICE DEL PROGRAMMA «CALCOLA I DIVISORI»
Nella traduzione dell’algoritmo in codice Visual Basic occorre introdurre (oltre alla variabile n e alla variabile contatore i) una nuova variabile (la chiamiamo j) che serve a
definire, per ogni divisore, la colonna della cella in cui si vuole che il programma comunichi il divisore stesso.
Tenendo conto di queste osservazioni, completa il codice riportato qui di seguito.
Private Sub Calcola_i_divisori_Click()
Dim n, i, j As Long
n = Cells(..., ...)
j=1
For i = 1 To ...
If n Mod ... = ... Then
Cells(4, j) = ...
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
3/6
`1
Unita
Numeri naturali e numeri interi
j=j+1
End If
Next i
End Sub
D. CODICE DEL PROGRAMMA «AZZERA IL FOGLIO»
Il codice e` costituito semplicemente dalle due istruzioni:
Range("B1")= ""
Rows(4)= ""
che tolgono i numeri dalla cella B1 e dalla quarta riga.
Matematica in laboratorio
Qual e` il ruolo delle istruzioni j = 1 e, successivamente, j = j + 1?
E. UTILIZZO DEL FOGLIO
8 12 20
24 100
1. Scomponili in fattori primi.
2. Tenendo presente la scomposizione in fattori primi, prevedi, per ciascuno di
essi, il numero complessivo di divisori.
3. Controlla, con il foglio Excel che hai costruito, i risultati ottenuti.
`4
Attivita
Foglio elettronico
Numeri primi e connettivo «o»
Costruisci un foglio di lavoro per determinare tutti i numeri primi di due cifre, cioe` tutti i
numeri primi compresi tra 10 e 99.
Costruiamo un foglio come quello riportato qui sotto, procedendo in due passi: anzitutto realizziamo la tabella dei numeri naturali tra 10 e 99 (colorata in giallo), quindi
costruiamo la tabella sottostante (colorata in verde) che riporta solo quelli primi.
Informatica – ALGORITMI / FOGLIO ELETTRONICO
Considera i seguenti numeri:
A. COSTRUZIONE DELLA TABELLA DEI NUMERI NATURALI TRA 10 E 99
Puoi costruire una tabella come nel foglio qui sopra seguendo queste istruzioni:
1. Inserisci nella cella A1 il numero 10.
2. Inserisci nella cella B1 la formula =A1+1 e copiala sulla riga 1 fino alla colonna J.
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
4/6
`1
Unita
Numeri naturali e numeri interi
3. Inserisci nella cella A2 la formula =J1+1.
4. Inserisci nella cella B2 la formula =A2+1 e copiala sulla riga 2 fino alla colonna J.
5. Copia le celle dell’intervallo A2:J2 nelle righe sottostanti, fino alla riga 9.
Ricorda che per stabilire che un numero n e` primo e` sufficiente considerare tutti i nupffiffiffi
meri primi minori o uguali a n e verificare che nessuno di essi e` un divisore di n. Poipffiffiffiffiffiffi
che´ 99 ’ 9,9 e i numeri primi minori di 9,9 sono soltanto 2, 3, 5 e 7, per stabilire
che un numero compreso tra 10 e 99 e` primo e` sufficiente verificare che non e` divisibile ne´ per 2, ne´ per 3, ne´ per 5, ne´ per 7.
Tenendo conto di queste osservazioni, per costruire la tabella dei numeri primi colorata in verde puoi precedere come segue.
O(valore1;valore2;...)
Essa restituisce vero se almeno uno degli argomenti e` vero, restituisce falso se
gli argomenti sono tutti falsi.
Tenendo conto di queste considerazioni, completa la formula suggerita qui
sotto e inseriscila nella cella A12.
=SE(O(RESTO(A1;2)=0;RESTO(A1; 3)=...;RESTO(A1;...)=0;
RESTO(A1;...)=...);"";A1)
2. Copia la formula inserita nella cella A12 sulla riga 12, fino alla cella J12.
3. Copia le formule dell’intervallo A12:J12 nelle righe sottostanti, fino alla riga
20.
Informatica – ALGORITMI / FOGLIO ELETTRONICO
1. Predisponi anzitutto una formula, da inserire nella cella A12, che agisca in questo modo: «se il numero contenuto nella cella A1 e` divisibile per 2, 3, 5 o 7, la cella
A12 resta vuota, altrimenti il numero contenuto in A1 (che risulta primo per quanto
detto sopra) viene scritto nella cella A12 stessa». Per costruire tale formula, oltre a
utilizzare la funzione SE e la funzione RESTO gia` introdotte nell’Attivita` guidata 1 del Tema A, dobbiamo utilizzare la funzione O, che agisce come il connettivo «o» (introdotto nell’Unita` 3) e ha la seguente sintassi:
Matematica in laboratorio
B. COSTRUZIONE DELLA TABELLA DEI NUMERI PRIMI
Ottieni cosı` la tabella dei numeri primi di due cifre riportata in figura.
Puoi ora rispondere alla seguente domanda: quanti sono i numeri primi di due cifre? Puoi contarli direttamente dalla tabella oppure, se vuoi fare eseguire il calcolo
a Excel, puoi utilizzare la funzione predefinita CONTA.SE, la quale ha la seguente
sintassi:
CONTA.SE(intervallo;criteri)
Essa conta il numero di celle dell’intervallo specificato che soddisfano i criteri indicati. Per esempio, con riferimento al foglio precedente, per contare i numeri primi
di due cifre possiamo immettere in una delle celle vuote l’istruzione:
=CONTA.SE(A12:J20;">9")
` proposte
Attivita
1 Costruisci un foglio Excel (senza utilizzare applicazioni in Visual Basic) per determinare tutti i divisori di 360. Crea in una colonna l’elenco dei possibili divisori di 360. Per
ciascun numero dell’elenco fai in modo che compaia a fianco la scritta «divisore» o «non
divisore», a seconda che esso sia o meno divisore di 360.
2 Algoritmi/1. Scrivi, in linguaggio di pseudocodifica, un algoritmo per calcolare la
somma dei quadrati dei primi n numeri naturali, a partire da 1. Traduci quindi tale algoritmo in un programma Visual Basic che, immesso in una cella di un foglio Excel il numero
n, restituisca in un’altra cella la somma dei quadrati dei primi n numeri naturali.
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
5/6
`1
Unita
Numeri naturali e numeri interi
3 Algoritmi/2. Esiste un algoritmo alternativo a quello di Euclide per il calcolo del
M.C.D. Tale algoritmo e` detto algoritmo delle sottrazioni successive e puo` essere cosı` descritto:
Matematica in laboratorio
1) Assegna a e b
2) Calcola il valore assoluto d della differenza tra a e b
3) Se d = 0 allora
Comunica ‘‘MCD = b’’
altrimenti
Poni b al posto di a
Poni d al posto di b
Ritorna al punto 2)
Informatica – ALGORITMI / FOGLIO ELETTRONICO
a. Prova a calcolare, mediante l’algoritmo delle sottrazioni successive, il massimo
comune divisore tra i due numeri a ¼ 48 e b ¼ 18.
b. Scrivi un programma in Visual Basic che, immessi i due numeri a e b in due celle di un foglio Excel, restituisca in un’altra cella il massimo comune divisore
tra a e b, calcolato mediante l’algoritmo delle sottrazioni successive.
Riprendi il foglio realizzato nell’attivita` guidata 4. Invece di costruire la tabella dei
numeri primi di due cifre, costruisci la tabella dei numeri di due cifre che sono multipli di
3 ma non sono multipli ne´ di 5 ne´ di 7. Dovrai scrivere nella cella A12 una formula che
agisce in questo modo: «se il numero contenuto nella cella A1 e` divisibile per 3 e non e` divisibile
ne´ per 5 ne´ per 7,il numero contenuto in A1 viene scritto nella cella A12 stessa, altrimenti la cella
A12 resta vuota». A tale scopo, occorre utilizzare la funzione E che agisce come il connettivo «e» e ha la seguente sintassi:
4
E(valore 1;valore 2;...)
Essa restituisce vero se tutti gli argomenti sono veri, restituisce falso se almeno uno
degli argomenti e` falso.
Quanti sono i numeri di due cifre che soddisfano le condizioni date?
5 La seguente tabella contiene i voti ottenuti in due verifiche, una di Fisica e una di
Matematica, da un gruppo di quindici studenti di una stessa classe (indicati con i nomi generici: S1 , S2 , ...):
Studente
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
Fisica
4,5
6
5
6
8
8
7,5
5
7
6
6
7,5
9
7
5
Matematica
5
7
7,5
6
6
8
8,5
4
5
4,5
5
6
6,5
7
5,5
Dopo aver riportato i dati su tre colonne (nome, voto di fisica, voto di Matematica) di
un foglio Excel, completa il foglio stesso con:
! una colonna che segnali tutti gli studenti che hanno riportato un voto insufficiente (minore di 6) in Fisica;
! una colonna che segnali tutti gli studenti che hanno riportato un voto insufficiente in Matematica;
! una colonna che segnali tutti gli studenti che hanno riportato un voto insufficiente in Fisica o in Matematica;
! una colonna che segnali tutti gli studenti che hanno riportato un voto insufficiente in entrambe le verifiche.
La matematica a colori – Volume 1 azzurro – Petrini f 2014 – De Agostini Scuola SpA – Novara
6/6