Unità D3 Costruiamo algoritmi con la programmazione strutturata

Slides:



Advertisements
Presentazioni simili
Metodologia Sperimentale Agronomica / Metodi Statistici per la Ricerca Ambientale Marco Acutis a.a CdS.
Advertisements

I circuiti elettrici.
IL GOLD STANDARD: INTRODUZIONE
XXXII CONVEGNO NAZIONALE Società Italiana di Chimica Agraria
Il problema dello zaino
Campi di gravità e topografia: analisi con QGIS
Regole associative Gianluca Amato
Ciclo di Seminari e Corso
Valutazione dei risultati della classificazione
Generalità Laboratorio Arduino.
Natura e origini della attuale crisi europea
ECONOMIA DELLE ISTITUZIONI FINANZIARIE
Stato di COMPASS Franco Bradamante CSN1 Roma, 16 luglio 2012.
La struttura dei materiali
ESSERE HOMELESS: PERCORSI DI VITA E FATTORI DETERMINANTI
Introduzione a VPN Ing. Gianpiero Ciacci.
Le verifiche empiriche del teorema di Heckscher-Ohlin: il paradosso di Leontief Wassily Leontief realizzò la prima verifica empirica del teorema di HO.
…. modello di Solow?.
Politica economica: che cosa è?
 π BUZZO GIACOMO D’AGOSTINO ALBERTO DE ANGELIS FEDERICA
“BLAISE PASCAL”- Voghera-
La vitamina C è una molecola contenente C,H e O
REDDITO DI CITTADINANZA E OPPORTUNITA’ ECONOMICA: UN CONFRONTO TRA ITALIA E RESTO D’EUROPA Pasquale Tridico Dipartimento di Economia, Università Roma Tre.
Classificazione e Predizione
L’economia monetaria Corso di Economia delle Istituzioni Finanziarie
L’infiltrazione LM-75: 2016/2017
UN NUOVO MODO DI GUARDARE IL MONDO
LA PREVENZIONE INCENDI NELLE STRUTTURE RELIGIOSE APERTE AL PUBBLICO
LE NOVITÀ DEL BILANCIO 2016 …………………………………………………………………………………………………………..
Le unità territoriali per le analisi socio-economiche
Pompe di calore a integrazione geotermica
ISTITUZIONI (regole scritte e nn scritte che governano l’interazione tra individui) → d.p. e contratti → norme sociali con appropriati Δ delle regole.
Università di Roma Tor Vergata
Convegno europeo sui minori
ATIPICITA’ DEL FATTORE UMANO NEL PILOTAGGIO DEI DRONI
CALENDARIO LEZIONI AGGIORNATO
RAEE è l’acronimo di Rifiuti da Apparecchiature Elettriche ed Elettroniche; ogni elettrodomestico ha un ciclo di vita terminato il quale, sia per malfunzionamento.
Appunti per ostetriche e non solo
Ricerca e innovazione:
Pubblica Amministrazione: semplificazione e costi della politica
Il processo di analisi dei fabbisogni
Comunicazioni Assemblea nazionale TTA 1-2 dicembre 2016
Proactive Care e Proactive Care Advanced
Maria Antonietta Volonté Dipartimento di Neurologia
IL CONFLITTO NELLA CHIESA PRIMITIVA
Piano di formazione Docenti neoassunti a.s. 2016/2017
È possibile rendere comprensibile oggi questo termine filosofico, al di fuori della esigua cerchia degli specialisti? Io una volta ci ho provato in una.
ACCORDO AGROAMBIENTALE D’AREA OPPORTUNITA’ PER LA VALDASO
Il secondo principio.
PROGETTO RELAZIONI PREPOTENTI
Vitamine Sono sostanze organiche a basso peso molecolare strutturalmente assai varie indispensabili per lo svolgimento delle funzioni vitali, di origine.
La misurazione e la valutazione della performance
1.2 Nuovi prodotti alimentari
ASSOCIAZIONE ITALIANA GIURISTI DI IMPRESA
L’evoluzione del Diritto delle Assicurazioni Continuità o rottura con il passato? Avv. Giuseppe Ranieri Studio Legale Tributario Ranieri Comitato Esecutivo.
ADOZIONE INTERNAZIONALE
Esame delle modifiche apportate al precedente ordinamento
e l’associazione in partecipazione
Profilo biografico e opere
IL TOTALITARISMO.
L’Imposta sul reddito delle società (IRES)
Asl Vco – Direzione Generale
Assunzioni, Attività, Investimenti
UROLOGIA - RIMINI VISITE UROLOGICHE AMBULATORIALI REGIME RICOVERO
Endometriosi profonda: quando la chirurgia
Nota AIFA 75 Determinazione 18 novembre 2010 (GU 29 novembre 2010, n. 279): modifiche, con riferimento alla nota AIFA 75,  alla determinazione del 4 gennaio.
PIANO DI RIORDINO PRESIDI DI FOLIGNO E SPOLETO
SINTOMI DEL BASSO APPARATO URINARIO 4 MARZO 2017
Con gli occhi di Maxwell
Transcript della presentazione:

Unità D3 Costruiamo algoritmi con la programmazione strutturata 1

Lezione LIM Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di un algoritmo: classificazione per tipo Le istruzioni presenti in un algoritmo possono essere classificate in base al loro tipo o comportamento. In generale possiamo suddividerle in istruzioni di inizio e fine, istruzioni operative e istruzioni di controllo. Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative Un algoritmo deve prevedere un solo inizio e una sola fine che indicano, rispettivamente, quale istruzione dell’algoritmo debba essere eseguita inizialmente e quale determini la fine dell’esecuzione. Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative Le istruzioni operative sono quelle che corrispondono ad azioni direttamente eseguibili dall’esecutore e servono per acquisire i dati iniziali, effettuare le elaborazioni e comunicare i risultati finali. Si classificano in istruzioni di assegnazione, di input e di output. Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative Per attribuire un valore a una variabile facciamo uso dell’istruzione di assegnazione (o assegnamento), caratterizzata dall’operatore binario identificato dal simbolo ←. L’istruzione di assegnazione ha due termini: uno a sinistra e uno a destra del simbolo ←. Dopo aver dichiarato una variabile è utile, assegnarle un valore iniziale utile; tale operazione prende il nome di inizializzazione. Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative Per dichiarare una costante: usare la parola chiave COSTANTI seguita dal nome della costante, dal simbolo ← e dal valore da assegnare: Per dichiarare una variabile occorre utilizzare la parola chiave VARIABILI seguita dall’identificatore della variabile, dal segno di due punti e dal tipo di appartenenza. In una stessa istruzione di dichiarazione è possibile dichiarare più variabili dello stesso tipo (separate da virgola): Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative L’istruzione di input è un particolare tipo di istruzione di assegnazione: consente di assegnare a una variabile un valore fornito dall’esterno, modificando di conseguenza l’ambiente di valutazione della variabile. Costruiamo algoritmi con la programmazione strutturata

Le istruzioni di inizio e fine e le istruzioni operative L’istruzione di output consente di comunicare un valore o un messaggio all’esterno; non modifica in alcun modo l’ambiente di valutazione delle variabili. Costruiamo algoritmi con la programmazione strutturata

Le strutture di controllo Le strutture di controllo (tipiche della programmazione strutturata) consentono di scegliere percorsi differenti durante l’esecuzione in funzione del verificarsi o meno di determinate condizioni. Si suddividono in strutture di sequenza, di selezione e di iterazione. Secondo il Teorema di Böhm-Jacopini, qualunque algoritmo può essere realizzato utilizzando i soli costrutti sintattici fondamentali: sequenza, selezione e iterazione. Costruiamo algoritmi con la programmazione strutturata

La sequenza La sequenza è la più semplice fra le tre strutture di controllo fondamentali. Si utilizza quando le azioni devono essere eseguite ordinatamente una dopo l’altra senza alcuna possibilità di scelta. Le istruzioni vengono scritte una dopo l’altra, e verranno poi eseguite una dopo l’altra nell’ordine con cui sono scritte. Costruiamo algoritmi con la programmazione strutturata

La selezione Il costrutto di selezione binaria permette di effettuare una scelta fra due possibili alternative. Per effettuare la scelta, dobbiamo valutare una condizione. Costruiamo algoritmi con la programmazione strutturata

La selezione Il costrutto di selezione può presentarsi anche con un solo ramo, cioè senza l’alternativa ALTRIMENTI. Questo caso è chiamato di selezione unaria. Per distinguere correttamente le informazioni e identificare la loro dipendenza le istruzioni correlate vengono incolonnate in modo omogeneo. Questa tecnica è conosciuta come indentazione. Costruiamo algoritmi con la programmazione strutturata

La selezione Per risolvere i problemi in cui si opera una scelta tra più di due alternative, in dipendenza del valore assunto da un certo parametro, è molto utile utilizzare il costrutto di selezione multipla. <Selettore> è il nome di una variabile il cui contenuto costituisce l’elemento che discrimina la scelta e <Valore1> è un possibile valore della variabile. Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata All’interno di un costrutto di selezione l’esecutore deve stabilire con esattezza se una condizione risulta vera o falsa e spesso si ritrova davanti a una condizione articolata con operatori logici il cui valore finale è determinato dalle regole dell’algebra di Boole. Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Una proposizione è un costrutto linguistico autonomo di senso compiuto, composto per lo meno da un soggetto e da un predicato. Un enunciato è una particolare proposizione che può assumere solo due stati possibili (Vero/Falso, V/F). La verità o falsità di un enunciato sono i valori di verità dell’enunciato. Gli enunciati per i quali si può immediatamente affermare se sono veri o falsi prendono il nome di enunciati semplici (o atomici). Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Una combinazione di enunciati legati da particolari operatori, detti connettivi logici, prende il nome di enunciato composto (o molecolare). Valutare gli enunciati composti significa associare a ognuno il valore Vero o Falso, partendo dall’analisi degli enunciati semplici che li compongono e applicando semplici regole. Per ciascuno dei connettivi logici AND (congiunzione) OR (disgiunzione) NOT (negazione) costruiremo le tabelle dette tavole di verità, in cui sono illustrate tutte le possibili combinazioni di 2 enunciati semplici in funzione delle quali l’enunciato composto assume un certo valore. Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Il connettivo logico AND è detto prodotto logico, poiché il risultato si può ottenere dal prodotto algebrico delle due variabili che rappresentano gli enunciati in ingresso. p AND q è vero quando sia p che q sono veri. Il connettivo logico OR è detto somma logica, poiché il risultato si può ottenere dalla somma algebrica delle due variabili che rappresentano gli enunciati in ingresso. Perché p OR q sia vero basta che p sia vero, oppure che q sia vero. Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Il connettivo logico NOT è anche detto negazione logica, poiché inverte, cioè “complementa” il valore della variabile in ingresso. Fornisce in uscita il valore “opposto” al valore della variabile in ingresso, che per tale motivo viene detto valore complementato o valore negato. Il connettivo XOR è detto disgiunzione esclusiva ed esclude che la proposizione risultante possa essere vera se entrambe le proposizioni componenti hanno lo stesso valore di verità. Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Nell’ambito della logica booleana è possibile usare gli operatori relazionali (=, ≠, <, >, ≤, ≥). Costruiamo algoritmi con la programmazione strutturata

L’algebra booleana e il suo ruolo nella programmazione strutturata Si possono combinare più operatori logici per ottenere espressioni logiche più complesse. Come nell’algebra tradizionale, anche nell’algebra di Boole sono definite precise regole di precedenza tra gli operatori. Pertanto, è necessario ricordare che: • NOT ha precedenza più alta di AND e OR; ad esempio: NOT a AND NOT b OR NOT c equivale a (NOT a) AND (NOT b) OR (NOT c); • AND ha precedenza più alta di OR, ad esempio: a AND b OR c equivale a (a AND b) OR c. Costruiamo algoritmi con la programmazione strutturata