20
ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PL S

ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Embed Size (px)

Citation preview

Page 1: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

ALGO…DOG(giochiamo con l’informatica)

    

Programma Operativo Regionale 2007/2013

PLS

Page 2: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

RISOLUZIONE DI UN PROBLEMA

Vediamo due semplici esempi:

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

2

Page 3: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Cercare un nome e la sua posizione, all’interno di una lista di n nomi ordinati.

I passi necessari alla risoluzione del problema sono:1.Costruire un modello matematico che permetta di risolvere il problema2.Scomporre il modello in passi semplici e direttamente eseguibili3.Costruire l’algoritmo risolutivo4.Tradurlo nel linguaggio di programmazione scelto

ESEMPIO 1

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

3

Page 4: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Il problema chiede di verificare che il nome sia nella lista ed in caso positivo di darne la posizione. Si deve costruire un modello matematico che lo risolva:

Algoritmo 1 (ricerca sequenziale):Si possono confrontare direttamente i nomi in modo sequenziale ma, se il nome cercato è uno degli ultimi e la lista è molto lunga, ciò comporta un gran numero di operazioni. In alternativa

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 4

Algoritmo 2 (ricerca binaria):Confrontando il nome da cercare con il termine centrale della lista, si possono avere tre possibilità:

a) Il nome coincide con l’elemento centrale: si è trovata la posizione ed il problema è risolto

b) Il nome precede l’elemento centrale: si elimina la seconda metà dei nomi e si ripete la procedura

c) Il nome segue l’elemento centrale: si elimina la prima metà dei nomi e si ripete la procedura

d) Si ripetono i punti a), b), c) fino a quando il nome cercato non coincide con l’elemento centrale

Page 5: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

5

ALGORITMO SEQUENZIALE ALGORITMO BINARIO

1. Prende il primo nome e lo confronta con quello cercato: ADA≠MARIA

2. Prende il secondo nome e lo confronta con quello cercato: BARBARA≠MARIA

………………………..

6. Prende il sesto nome e lo confronta con quello cercato: LORENZA≠MARIA

7. Prende il settimo nome e lo confronta con quello cercato: MARIA = MARIA

Comunica che il nome cercato occupa la posizione 7 su 8

IL COMPUTER IL COMPUTER

Calcola la posizione centrale 4

1. Confronta il nome di posto 4 con il nome cercato: DOMENICO≠MARIA e DOMENICO precede MARIA

Elimina i primi quattro nomi ed a partire da 5 a 8 ricalcola la posizione centrale 6

2. Confronta il nome di posto 6 con il nome cercato: LORENZA≠MARIA e LORENZA precede MARIA

Elimina i primi sei nomi ed a partire da 7 a 8 ricalcola la posizione centrale 7

3. Confronta il nome di posto 7 con il nome cercato: MARIA = MARIA

ESEMPIO: Dato il seguente elenco: ADA; BARBARA; CARLO; DOMENICO; ELISA; LORENZA; MARIA; NICOLA , si vuole sapere la posizione relativa al nome MARIA.

Comunica che il nome cercato occupa la posizione 7 su 8

Page 6: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 6

Come si fa a scegliere tra i due algoritmi costruiti?Uno dei parametri che permetterà di scegliere tra i due è l’EFFICIENZA .

L’EFFICIENZA di un algoritmo dipende dal numero di operazioni richieste per ottenere il risultato.

Dall’esempio fatto si può vedere che:

• l’algoritmo sequenziale prevede un numero di confronti della stessa grandezza del numero di elementi dati (per avere la posizione occupata dal nome MARIA sono stati fatti 7 confronti avendo in totale 8 elementi)

•L’algoritmo binario prevede un numero di confronti molto più piccolo (sono stati fatti solo 3 confronti)

Ripetendo l’operazione con l’aumentare dei numeri si vede che l’algoritmo binario ha un numero di confronti pari a log2n. Dalla tabella seguente si evince quanto sia più efficiente l’algoritmo binario

n. elementi 8 16 32 64 128 ….. 1024 2048 4096 8192 16384 n

ALG. SEQ. 8 16 32 64 128 ….. 1024 2048 4096 8192 16384 n

ALG. BIN. 3 4 5 6 7 ….. 10 11 12 13 14 log2n

Page 7: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Si è scelto di utilizzare la seconda tecnica e quindi si passa a costruire l’algoritmo risolutivo, cioè in una serie finita di istruzioni non ambigue.Una volta costruito, l’algoritmo risolverà non solo il problema di partenza ma, al cambiare del nome e del numero di elementi della lista, tutte le ricerche simili Si devono perciò definire gli oggetti matematici da utilizzare:

1. l’elenco dei nomi è definito da una variabile con indice E(i) con i=1,…,n

2. NOME indica l’elemento di cui si deve trovare la posizione3. POS indica la posizione dell’elemento da cercare4. Si ha poi bisogno di una serie di postazioni di memoria necessarie

per i calcoli e quindi si useranno le variabili: INIZIO, FINE, M.

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 7

Page 8: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Algoritmo Binarioleggi NOME, n

metti in i il valore 0Ripeti n volte metti in i il valore i +1 leggi ELENCO(i)Fino a quametti in INIZIO il valore 1metti in FINE il valore nmetti in POS il valore 0Ripeti metti in M il valore (INIZIO+FINE)/2 Se NOME = ELENCO(M) allora metti in POS il valore M stampa POS fine Altrimenti Se NOME < ELENCO(M) allora metti in FINE il valore M-1 Altrimenti metti in INIZIO il valore M+1Fino a quando INIZIO FINE

• leggi e stampa sono istruzioni di ingresso e uscita dei dati

• metti in è un’istruzione di assegnazione• Ripeti …. Fino a qua è un’istruzione che,

mediante un controllo, permette di rifare le stesse operazioni un certo numero di volte o fino a quando non si verifica una certa condizione

• Se …. Allora …. Altrimenti è una istruzione di scelta che permette di effettuare operazioni diverse al cambiare del verificarsi della condizione

Dopo aver costruito l’algoritmo lo si dovrà provare e poi tradurre in un linguaggio di programmazione per poterlo far eseguire da un computer

Le istruzioni:

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

8

Page 9: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Costruire un gioco che permetta di fare delle somme con un aspetto grafico adatto a dei bambini

Il nostro piccolo animale:•Si muoverà•Ci chiederà i numeri•Ci darà il risultato della somma

Risolviamo tale problema utilizzando il linguaggio di programmazione didattico Scratch

ESEMPIO 2

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 9

Page 10: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

SCRATCH: “immagina, programma, condividi”

Scratch offre diversi sfondi dove ambientare le proprie

creazioni.

Scratch mette a disposizione gli “Sprite”: personaggi che

svolgono le diverse operazioni richieste.

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

10

É una piattaforma virtuale che offre la possibilità di emulare un linguaggio di programmazione e che consente di elaborare storie interattive, giochi, animazioni.

Page 11: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Queste sono tutte le categorie presenti in scratch:

Ne osserveremo le più importanti.

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 11

Page 12: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Questi “mattoncini”, al verificarsi della condizione definita, ci permettono di iniziare una determinata serie di operazioni.

Esempio:

Questo blocco consente di eseguire alcune operazioni dopo aver premuto il tasto spazio.

SituazioniSituazioni

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 12

Page 13: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Queste strutture consentono di controllare e ripetere delle azioni.

Esempio:

Questo blocco permette di compiere un’operazione solo se una determinata condizione è soddisfatta. La condizione andrà inserita nell’esagono vuoto.

ControlloControllo

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 13

Page 14: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

MovimentoMovimentoQuesti elementi permettono il movimento del soggetto (sprite).

Esempio:

Questo blocco consente allo sprite di avanzare di 10 passi.

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 14

Page 15: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Questi elementi permettono di modificare l’aspetto degli sprite.

Esempio:

Questo blocco consente di aumentare la dimensione dello sprite.

AspettoAspetto

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA)

15

Page 16: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Definiscono delle condizioni che consentono agli sprite di compiere determinate azioni.

Esempio:

È una condizione che viene soddisfatta quando lo sprite tocca il bordo.

SensoriSensori

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 16

Page 17: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Permettono di svolgere diverse operazioni matematiche.

Esempio:

Questo blocco esegue la somma di due numeri.

OperatoriOperatori

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 17

Video somma

Page 18: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Progetti realizzati con ScratchNOME COGNOME  NICKNAME PROGETTO/I

Ascione Antonio ascio97 Star WarsPiscinnisFisica

Liguoro Vincenzo vizzforzanapoli Gattino che fa goal!

Pignalosa Camillo 19max96 The last flight of IVB planePinbal01Planet MazeLabirinto1AlgoDog

Reccia Luca lucareccia Multiplayer racehitTheBattennis con marioAlgoDog

Scognamiglio Mauro mauro24 fish warMAURO’S FROGGERCATEINSTEIN

Filosa Veronica Veronica35 Questionario ;)Piano Lauree Scientifiche - Liceo Scientifico

"Adriano Tilgher" - Ercolano (NA)18

Page 19: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 19

Page 20: ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS

Partecipanti al PLSGiovanni ACAMPORARaffaella ACAMPORAAntonio ASCIONEGennaro COLOMBALuciana COZZOLINOMaria Rosaria D’AMBROSIOIlaria FALANGAVeronica FILOSAFrancesco FORMISANOAntonio GAMENGiulia GAMEN

Vincenzo LIGUOROVincenzo MAIELLOMaria MARINO’Emanuela MASUCCICamillo PIGNALOSALuca RECCIALuisabel ROTONDOGennaro RUSSOSergio SANNINOMauro SCOGNAMIGLIO

ALUNNI

DOCENTI – Istituto Tilgher:Prof.ssa Norina Di FioreProf.ssa Rita Punzo

Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 20