Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
LA PROGRAMMAZIONE: Algoritmi e programmi
2
Obiettivo Imparare a PROGRAMMARE
Imparare a costruire PROGRAMMI che permettano, tramite l’uso di computer, di risolvere problemi di diverso tipo.
3
Algoritmo Sequenza di passi che devono essere eseguiti secondo un ordine prefissato per raggiungere l’obiettivo desiderato Deve essere ben chiaro l’OBIETTIVO da raggiungere (DATI DI OUTPUT) e si devono conoscere i dati disponibili in partenza (DATI DI INPUT) Esempi : Telefonata Ricetta di cucina Indicazione di un percorso stradale Quando si identificano chiaramente i passi da eseguire per risolvere un problema si puo’ costruire l’ALGORITMO risolutivo.
4
ESEMPI Obiettivo : cucinare spaghetti al pomodoro Input : ingredienti
Output : spaghetti al pomodoro Algoritmo: descrizione della preparazione Esecutore dell’Algoritmo : cuoco Obiettivo : calcolo area del quadrato attraverso un programma Dati di Input : lato del quadrato Dati di Output : area del quadrato Algoritmo : procedimento di calcolo: - richiedere all’utente la misura del lato - calcolare l’area ( = lato*lato) - comunicare il risultato Esecutore dell’Algoritmo : computer
5
Caratteristiche di un algoritmo
Finito Deve essere composto da un numero finito di passi che devono essere compiuti un numero finito di volte. Deterministico A fronte degli stessi dati di input deve fornire gli stessi dati di output Non ambiguo I passi dell’algoritmo devono essere interpretabili in modo univoco dall’esecutore Generale Deve fornire la soluzione per tutti i problemi di una certa classe Un ALGORITMO e’ un insieme finito di passi che permette di risolvere tutti i problemi di una determinata classe
6
Metodologie per affrontare i problemi
TOP-DOWN Il problema viene diviso in tanti sottoproblemi piu’ semplici, che avranno quindi minore complessita’ saranno piu’ facilmente risolvibili Si procede dal generale al particolare Esempio. Problema : Organizzare un pranzo. Sottoproblemi: - preparare Antipasti - preparare Primo Piatto - preparare Secondo Piatto - preparare Dessert
7
Metodologie per affrontare i problemi
BOTTOM-UP Si risolvono prima i dettagli caratteristici del problema, che in un secondo momento verranno integrati per ottenere la soluzione del problema. Si procede dal particolare al generale Esempio Problema : Confezionare un maglione. Si preparano i vari “pezzi” (maniche, davanti, dietro), che poi verranno uniti.
8
Componenti di un algoritmo
ALGORITMO = DATI ISTRUZIONI Oggetti su cui operare Passi elementari che devono essere eseguiti
9
DATI
10
DATI Classificazioni possibili:
Ad ogni dato viene associato un Nome (Identificatore) che permetta di identificarlo e che sia significativo Classificazioni possibili: in base all’uso (modo in cui interagiscono con il computer) in base al tipo (alle informazioni che rappresentano) in base alla possibilita’ di cambiare valore
11
DATI Classificazione in base all’interazione con il computer
Dati di INPUT Forniti al computer dall’esterno Dati di OUTPUT Risultati comunicati all’esterno dal computer Dati INTERNI ( di LAVORO) Utilizzati nelle operazioni effettuate dall’algoritmo, ma non visibili all’utente
12
DATI Classificazione in base al TIPO
Dati Numerici INTERI REALI (Numeri con virgola o interi molto grandi) Dati ALFANUMERICI Lettere dell’alfabeto, caratteri speciali
13
DATI Classificazione in base alla possibilita’ di cambiare valore
Costanti Il valore del dato rimane immutato nel corso dell’elaborazione Variabili Il valore del dato puo’ cambiare nel corso dell’elaborazione.
14
Nome = significato (tipo)
DATI VARIABILI Ogni dato variabile (chiamato semplicemente variabile), deve essere documentato, specificandone nome e tipo: Nome = significato (tipo) classificandolo come Dato di Input, Dato di Output o Variabile di Lavoro.
15
DATI Esempio Problema Calcolo area del cerchio di raggio R
Dati di Input: R = raggio del cerchio (numerico reale) (dato variabile) Dati di Output: AREA = area del cerchio (numerico reale) (dato variabile Costanti: 3.14
16
Valore inserito dall’utente da tastiera
DATI Algoritmo risolutivo. Richiedi raggio R all’utente AREA = R * R * 3.14 Comunica il valore di AREA all’utente R Valore inserito dall’utente da tastiera Area R * R *3.14
17
ISTRUZIONI
18
TIPI DI ISTRUZIONI Istruzione di LETTURA (di INPUT)
Permette di attribuire un valore ad una variabile tramite digitazione su tastiera
19
Istruzione di SCRITTURA
TIPI DI ISTRUZIONI Istruzione di SCRITTURA (di OUTPUT) Permette di visualizzare sul video, o stampante, il contenuto di una variabile o un messaggio.
20
TIPI DI ISTRUZIONI Istruzione di ASSEGNAZIONE
Permette di attribuire (assegnare) un valore ad una variabile. Simbolo dell’istruzione: oppure =
21
TIPI DI ISTRUZIONI Modalita’ di utilizzo istruzione di Assegnazione
1^ modo: Identificatore Valore Es.: A 5 NomePersona ‘Anna’ 2^ modo: Identificatore1 Identificatore2 Es.: A B (dove A e B sono variabili) Il valore contenuto in B viene assegnato ad A Il contenuto di B non viene perso Il contenuto di A precedente viene perso 3^ modo: Identificatore Espressione matematica Es.: A ((K+3)/2) Viene calcolata l’espressione a destra ed il risultato viene assegnato ad A
22
TIPI DI ISTRUZIONI Osservazioni
Variabili non inizializzate (alle quali non e’ stato assegnato un valore iniziale) con operazioni di lettura o assegnazione non hanno un valore definito. Una variabile puo’ apparire alla destra in un’istruzione di assegnazione, solo se prima e’ stata inizializzata. Es: TOTALE 0 leggi(PREZZO) TOTALE TOTALE + PREZZO Operatori aritmetici utilizzabili in algoritmi: + , - , * , / (divisione reale), DIV (divisione intera), MOD (resto)
23
Modalita’ di rappresentazione degli algoritmi
24
Modalita’ di rappresentazione algoritmi
Modello grafico DIAGRAMMA A BLOCCHI (FLOW CHART) Le operazioni sono rappresentate con simboli grafici ed il flusso delle operazioni viene indicato da frecce Modello descrittivo PSEUDOCODIFICA Le operazioni sono rappresentate con frasi convenzionali
25
Modalita’ di rappresentazione algoritmi
Operazioni Diagramma Pseudocodifica Inizio algoritmo INIZIO Fine algoritmo FINE Operazione Var espressione Istruzione di Input Leggi(Variabile) o Ricevi(Variabile) Istruzione di output Scrivi(Variabile) Comunica(Variabile)
26
L’ALGORITMO - i simboli del flow chart
27
Modalita’ di rappresentazione algoritmi
Diagramma a blocchi Pseudocodifica Inizio Inizio Leggi(L); A L*L; Scrivi(‘Areaquadrato =‘, A) Fine. L A L*L ‘Area quadrato=’ A Fine
28
Metodologia per la soluzione di problemi
29
Metodologia per la soluzione di problemi
Seguire le seguenti fasi: Analisi del problema Dati di Input Dati di Output 1a. Architettura di progetto scomposizione TOP-DOWN 1b. Analisi di dettaglio (se il problema e’ complesso)
30
Metodologia di lavoro per la soluzione di problemi
2. Stesura del procedimento risolutivo (con opportuna modalita’ di rappresentazione) 3. Codifica in linguaggio di programmazione (IMPLEMENTAZIONE)
31
Metodologia di lavoro per la soluzione di problemi
Viene creato il programma sorgente che verra’ poi eseguito dall’elaboratore Il prodotto ottenuto dalle 3 fasi rappresenta la DOCUMENTAZIONE relativa alla soluzione proposta
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.