problemi algoritmi e programmazionegiovannigulli.altervista.org/problemi, algoritmi e... ·...
TRANSCRIPT
![Page 1: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/1.jpg)
PROBLEMI ALGORITMI
E PROGRAMMAZIONE
SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D
![Page 2: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/2.jpg)
PROGRAMMARE =
SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL FINE DI RAGGIUNGERE IL RISULTATO FINALE PREFISSATO TALE PROCEDIMENTO PRENDE IL NOME DI ALGORITMO. L’ALGORITMO VIENE SCRITTO IN FORMA DI PROGRAMMA.
![Page 3: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/3.jpg)
PROBLEMA PROCEDIMENTO (ALGORITMO)
PROGRAMMA
RISULTATI
![Page 4: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/4.jpg)
COMUNICARE
• LINGUAGGI NATURALI
• LINGUAGGI ARTIFICIALI
– LINGUAGGI DI PROGRAMMAZIONE
![Page 5: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/5.jpg)
LINGUAGGI DI PROGRAMMAZIONE
• AD ALTO LIVELLO (PIU’ VICINI AL MODO DI RAGIONARE DELL’UOMO)
• A BASSO LIVELLO (PIU’ VICINI AL MODO DI RAGIONARE DELLA MACCHINA)
• LINGUAGGIO MACCHINA (E’ IL LINGUAGGIO COMPRESO DAL COMPUTER)
![Page 6: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/6.jpg)
COMPILATORI
• SONO PROGRAMMI CHE PERMETTONO DI TRADURRE UN PROGRAMMA SCRITTO IN LINGUAGGIO AD ALTO LIVELLO, IN UN PROGRAMMA IN LINGUAGGIO MACCHINA
PROGRAMMA IN LINGUAGGIO AD
ALTO LIVELLO
COMPILATORE PROGRAMMA IN LINGUAGGIO MACCHINA
![Page 7: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/7.jpg)
LE FASI DI REALIZZAZIONE DI UN PROGRAMMA
• CAPIRE IL PROBLEMA ED INDIVIDUARE LA SOLUZIONE (ALGORITMO)
• PROGETTARE E CODIFICARE IL PROGRAMMA
• CREARE IL PROGRAMMA IN LINGUAGGIO MACCHINA (ESEGUIBILE)
• ESEGUIRE E PROVARE IL PROGRAMMA SUL PC
• DOCUMENTARE IL PROGRAMMA
![Page 8: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/8.jpg)
PRINCIPALI LINGUAGGI DI PROGRAMMAZIONE
• ASSEMBLY
• BASIC
• COBOL
• FORTRAN
• PASCAL
• C ++, C#
• JAVA
![Page 9: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/9.jpg)
TROVARE L’ALGORITMO
PRIMA DI TUTTO OCCORRE CAPIRE BENE :
• COSA VIENE CHIESTO NEL PROBLEMA
• QUALI SONO I DATI DI INPUT
• QUALI SONO I RISULTATI ATTESI (DATI DI OUTPUT)
![Page 10: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/10.jpg)
QUINDI IN DEFINITIVA….
UN ALGORITMO E’ UNA SEQUENZA DI PASSI ELEMENTARI CHE DEVONO ESSERE
ESEGUITI SECONDO UN ORDINE PREFISSATO PER RAGGIUNGERE IL
RISULTATO VOLUTO
![Page 11: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/11.jpg)
ALGORITMO PER IL CALCOLO DELL’AREA DI UN QUADRATO
• RICEVI IN INPUT LA LUNGHEZZA DEL LATO
• CALCOLA AREA USANDO LA FORMULA LATO*LATO
• COMUNICA IL RISULTATO IN USCITA (AREA)
![Page 12: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/12.jpg)
CARATTERISTICHE DI UN ALGORITMO
• FINITO – DEVE ESSERE COMPOSTO DA UN NUMERO FINITO DI PASSI, ESEGUITI
IN UN NUMERO FINITO DI VOLTE
• DETERMINISTICO – FORNENDO SEMPRE GLI STESSI DATI IN INPUT, L’ALGORITMO DEVE
FORNIRE SEMPRE LO STESSO RISULTATO
• NON AMBIGUO – I PASSI DA ESEGUIRE DEVONO POTER ESSERE
INTERPRETATI IN MODO UNIVOCO DAL COMPUTER
• GENERALE – DEVE POTER ESSERE APPLICABILE A QUALUNQUE VALORE
DEI DATI DI INPUT APPARTENENTI AD UN CERTO INSIEME
![Page 13: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/13.jpg)
RAPPRESENTAZIONE DEGLI ALGORITMI
IL FLOW CHART O DIAGRAMMA DI FLUSSO
CONSISTE NELLA RAPPRESENTAZIONE DELLE VARIE OPERAZIONI DELL’ALGORITMO MEDIANTE UNA SERIE DI SIMBOLI
![Page 14: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/14.jpg)
INIZIO DELL’ALGORITMO
INIZIO
![Page 15: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/15.jpg)
FINE DELL’ALGORITMO
FINE
![Page 16: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/16.jpg)
GENERICA OPERAZIONE DI CALCOLO
<<OPERAZIONE>>
![Page 17: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/17.jpg)
LETTURA DI UN DATO IN INGRESSO
I
![Page 18: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/18.jpg)
SCRITTURA DI UN DATO IN USCITA
O
![Page 19: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/19.jpg)
DIAGRAMMA DI FLUSSO PER IL CALCOLO DELL’AREA DI UN QUADRATO
INIZIO
LATO I
AREA = LATO * LATO
FINE
AREA O
![Page 20: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/20.jpg)
PSEUDOCODIFICA
PROGRAMMA area_del_quadrato
INIZIO
LEGGI (lato)
area lato * lato
SCRIVI (area)
FINE.
![Page 21: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/21.jpg)
CHE COSA SONO I DATI ? Per dato si intende un qualunque fatto o elemento fornito da qualcuno, oppure raccolto tramite osservazioni o misurazioni.
Un dato è, per esempio, il numero 5, oppure il nome «Andrea".
Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il lato e l’area.
Esistono diversi modi per classificare i dati, in funzione per esempio del tipo (cioè di come vengono rappresentati nell'elaboratore) o in base all'uso che se ne deve fare.
A ogni dato è sempre associato un nome che lo identifica in modo univoco, come AREA, LATO, COGNOME, ed è sempre buona norma assegnare ai dati nomi significativi che permettano di comprenderne immediatamente il significato.
![Page 22: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/22.jpg)
Rappresentazione dei dati I dati, in base agli oggetti che rappresentano, possono essere classificati come segue:
• Numerici: sono i dati che contengono numeri, sui quali è possibile effettuare Ie
operazioni aritmetiche (somma, sottrazione, divisione e così via).
I numeri si suddividono in :
interi: dati numerici che non prevedono cifre decimali;
reali: dati numerici che prevedono cifre decimali.
Per esempio, il numero di allievi di una classe è rappresentato da un dato numerico
intero, la temperatura media registrata a ottobre e un dato numerico decimale.
• Alfanumerici (detti anche stringhe): sono i dati che contengono caratteri alfabetici
(A, B, C,,,. Z), caratteri speciali ($, %, !, 7, &".) e cifre (1, 2, 3".) sulle quali non
è possibile effettuare Ie operazioni aritmetiche.
Per esempio il nome di un abbonato, l’indirizzo, il codice fiscale sono dati di
tipo alfanumerico .
Anche il numero di un autobus, o il numero di telefono, seppur formati da cifre,
sono in genere da considerare di tipo alfanumerico, in quanto qualsiasi operazione
aritmetica su di essi sarebbe priva di significato.
![Page 23: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/23.jpg)
Dati di input, di output, di lavoro Un altro modo di considerare i dati è quello di classificarli in base al modo in cui sono utilizzati prevalentemente nell'algoritmo:
• Dati di input: sono i dati forniti dall'esterno dell'elaboratore, necessari all'elaborazione e che devono essere noti al momento dell'esecuzione (per esempio la base e I'altezza di un triangolo).
• Dati di output: sono i risultati calcolati dall'elaboratore e comunicati all'esterno
(per esempio l'area di un triangolo).
• Dati di lavoro o Interni: sono dati temporanei utilizzati per gestire risultati intermedi.
Si tratta di dati di lavoro che non vengono forniti in output.
• Dati di input/output: sono dati forniti per l'elaborazione e che vengono successivamente forniti anche in output. Possono essere restituiti in output così come sono stati introdotti (per esempio il nome di una persona mantenuto inalterato), oppure possono essere modificati durante l'elaborazione (per esempio un prezzo da pagare che viene scontato dal programma).
![Page 24: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/24.jpg)
VARIABILI
Si può pensare ad una variabile come
ad un CONTENITORE identificato da
un nome a cui si possono introdurre
dei valori.
Per esempio RAGGIO è una variabile che contiene la
misura del raggio di un cerchio.
![Page 25: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/25.jpg)
COSTANTI
Le costanti sono particolari dati il cui valore non cambia mai durante l’esecuzione dell’algoritmo.
Per esempio, se si deve calcolare l’area di un cerchio di cui si conosce il raggio, i dati su cui opera l’algoritmo sono: RAGGIO, AREA, PIGRECO utilizzando la seguente formula:
AREA = RAGGIO*RAGGIO*PIGRECO
AREA e RAGGIO sono variabili.
PIGRECO è invece una costante.
![Page 26: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/26.jpg)
Definizioni dei dati per gli algoritmi
La prima cosa da fare per creare un algoritmo è:
• individuare quali sono le variabili di input, quelle di output e quelle usate per i valori intermedi.
• Definire il TIPO per ognuna della variabili
• Verificare se esistono delle costanti ed indicarle
![Page 27: PROBLEMI ALGORITMI E PROGRAMMAZIONEgiovannigulli.altervista.org/PROBLEMI, ALGORITMI E... · Nell'algoritmo per il calcolo dell’area di un quadrato, i dati dell'algoritmo sono il](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f07d8407e708231d41f09b7/html5/thumbnails/27.jpg)
Per comodità, si può usare la seguente tabella:
• Variabili:
• Costanti:
NOME TIPO UTILIZZO DESCRIZIONE
A INTERO OUTPUT VARIABILE DA INCREMENTARE
NOME VALORE DESCRIZIONE
PIGRECO 3,14 COSTANTE DA USARE PER LE CIRCONFERENZE