La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "ALGO…DOG (giochiamo con l’informatica) Programma Operativo Regionale 2007/2013 PLS."— Transcript della presentazione:

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

2 RISOLUZIONE DI UN PROBLEMA Vediamo due semplici esempi: Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 2

3 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 problema 2.Scomporre il modello in passi semplici e direttamente eseguibili 3.Costruire l’algoritmo risolutivo 4.Tradurlo nel linguaggio di programmazione scelto ESEMPIO 1 Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 3

4 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

5 Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 5 ALGORITMO SEQUENZIALEALGORITMO 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 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

6 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 log 2 n. Dalla tabella seguente si evince quanto sia più efficiente l’algoritmo binario n. elementi … n ALG. SEQ … n ALG. BIN.34567… log 2 n

7 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 posizione 3.POS indica la posizione dell’elemento da cercare 4.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

8 Algoritmo Binario leggi NOME, n metti in i il valore 0 Ripeti n volte metti in i il valore i +1 leggi ELENCO( i ) Fino a qua metti in INIZIO il valore 1 metti in FINE il valore n metti in POS il valore 0 Ripeti 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+1 Fino 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

9 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

10 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.

11 Queste sono tutte le categorie presenti in scratch:scratch Ne osserveremo le più importanti. Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 11

12 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. Situazioni Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 12

13 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. Controllo Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 13

14 Movimento Questi 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

15 Questi elementi permettono di modificare l’aspetto degli sprite. Esempio: Questo blocco consente di aumentare la dimensione dello sprite. Aspetto Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 15

16 Definiscono delle condizioni che consentono agli sprite di compiere determinate azioni. Esempio: È una condizione che viene soddisfatta quando lo sprite tocca il bordo. Sensori Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 16

17 Permettono di svolgere diverse operazioni matematiche. Esempio: Questo blocco esegue la somma di due numeri. Operatori Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 17 Video somma

18 Progetti realizzati con Scratch NOME COGNOMENICKNAMEPROGETTO/I Ascione Antonioascio97Star Wars Piscinnis Fisica Liguoro VincenzovizzforzanapoliGattino che fa goal! Pignalosa Camillo19max96The last flight of IVB plane Pinbal01 Planet Maze Labirinto1 AlgoDog Reccia LucalucarecciaMultiplayer race hitTheBat tennis con mario AlgoDog Scognamiglio Mauromauro24fish war MAURO’S FROGGER CATEINSTEIN Filosa VeronicaVeronica35Questionario ;) Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 18

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

20 Partecipanti al PLS Giovanni ACAMPORA Raffaella ACAMPORA Antonio ASCIONE Gennaro COLOMBA Luciana COZZOLINO Maria Rosaria D’AMBROSIO Ilaria FALANGA Veronica FILOSA Francesco FORMISANO Antonio GAMEN Giulia GAMEN Vincenzo LIGUORO Vincenzo MAIELLO Maria MARINO’ Emanuela MASUCCI Camillo PIGNALOSA Luca RECCIA Luisabel ROTONDO Gennaro RUSSO Sergio SANNINO Mauro SCOGNAMIGLIO ALUNNI DOCENTI – Istituto Tilgher: Prof.ssa Norina Di Fiore Prof.ssa Rita Punzo Piano Lauree Scientifiche - Liceo Scientifico "Adriano Tilgher" - Ercolano (NA) 20


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

Presentazioni simili


Annunci Google