INFORMATICA. Strutture condizionali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INFORMATICA. Strutture condizionali"

Transcript

1 INFORMATICA Strutture condizionali

2 Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri linguaggi, è disponibile in tre forme: - if (then) - if (then) else - switch (in altri linguaggi noto come CASE) Piero Demichelis 2

3 L istruzione if Permette di eseguire una istruzione, semplice o composta, in modo condizionato. Sintassi: if (espressione) istruzione ; espressione è di tipo logico (variabile o espressione logica o espressione relazionale con risultato logico) e deve essere sempre racchiusa tra parentesi tonde; istruzione può essere semplice o composta (nel qual caso va racchiusa tra parentesi graffe). Pertanto, più comunemente, la forma è: if ( espressione ) { istruzione semplice o composta ; } Piero Demichelis 3

4 L istruzione if Il significato è: valuta espressione e, se il risultato è vero, esegui istruzione, altrimenti ignorala e prosegui con l'istruzione immediatamente successiva all if. Il fatto che espressione debba fornire un risultato di tipo logico significa solo che deve fornire un risultato intero! Si ricordi che in C89 il tipo logico è simulato dal tipo intero. In definitiva dunque per espressione è accettabile qualsiasi cosa fornisca un risultato intero: sarà interpretata come falsa se il suo valore risulta 0, vera se il suo valore risulta diverso da 0. Piero Demichelis 4

5 L istruzione if Il fatto che la valutazione della condizione si riduca in definitiva a un test per vedere se vale 0 oppure un valore intero diverso da 0 comporta che, se a è una variabile dichiarata intera (int oppure long int), le seguenti istruzioni: - if ( a!= 0 ) {... - if ( a ) {... siano assolutamente equivalenti. Infatti qualsiasi valore di a diverso da 0 rende la condizione vera in entrambi i casi. Piero Demichelis 5

6 Istruzione if Questo costrutto realizza la struttura IF THEN della programmazione strutturata: l'unica differenza è l'assenza della parola chiave THEN qui sottintesa. Diagramma di flusso: V I espressione F istruzione O Piero Demichelis 6

7 Istruzione if: esempio Realizzare un programma che richieda da tastiera due numeri interi e visualizzi sul monitor il massimo dei due. Il problema si può risolvere con un semplice if: - Legge da tastiera i due numeri chiamandoli x e y; - Ipotizzo che x sia il più grande; - Se y è più grande di x allora scambio tra loro i valori di x e y; - Stampa il valore di x (che contiene sicuramente il valor massimo). Per scambiare tra loro i valori di x e y: - salvo il valore di x in una variabile di appoggio (provv x); - copio y in x (x y); - copio provv in y (y provv). Piero Demichelis 7

8 #include <stdio.h> main() { float x, y, provv; Istruzione if: esempio printf ( \nintroduci due numeri reali: "); scanf ("%f%f", &x, &y); if (y > x) { provv = x; x = y; /* scambia x e y tra loro */ y = provv; } printf ("\nil maggiore è %f il minore è %f", x, y); } Piero Demichelis 8

9 Osservazioni su if Attenzione a scrivere un istruzione di questo tipo: if ( a = 0 ) {... dove quasi certamente si intendeva porre la condizione di a uguale a zero. Purtroppo la sintassi per realizzare quell espressione relazionale è sbagliata (si doveva scrivere a == 0) ma l istruzione in se è formalmente corretta per cui il compilatore non genera errore (al più qualche compilatore segnala un warning). Piero Demichelis 9

10 Istruzione if... else Consente di eseguire una istruzione (semplice o composta) oppure un'altra istruzione (anch essa semplice o composta) a seconda del verificarsi o meno di una certa condizione. Sintassi: if (espressione) istruzione 1; else istruzione 2; espressione è una variabile logica o una espressione con risultato logico racchiusa tra parentesi tonde; istruzione 1 e istruzione 2 possono essere semplici o composte (ovvero un gruppo di istruzioni racchiuse tra parentesi graffe). Piero Demichelis 10

11 Istruzione if... else Più comunemente nei programmi si usa la forma estesa e più leggibile dell istruzione: if (espressione) { istruzione semplice o composta 1 ; } else { istruzione semplice o composta 2 ; } Piero Demichelis 11

12 Istruzione if... else Significato: valuta espressione e, se il risultato è vero, esegui istruzione 1 e ignora istruzione 2, altrimenti ignora istruzione 1 ed esegui istruzione 2. Questo costrutto realizza la struttura IF - THEN ELSE della programmazione strutturata: anche in questo caso se ne differenzia per l assenza della parola chiave THEN qui sottintesa. Poiché non esistono limitazioni a istruzione, queste possono contenere qualsiasi costrutto, compresi altri if (si parla allora di if annidati ). Piero Demichelis 12

13 Istruzione if... else Diagramma di flusso: V I espressione F istruzione 1 istruzione 2 O Piero Demichelis 13

14 Istruzione if... else: esempio 1 Realizzare un programma che richieda da tastiera due numeri interi e visualizzi sul monitor il massimo dei due. Il problema si risolve con un if... else (non considerando il caso x = y): - Legge da tastiera i due numeri chiamandoli x e y; - Se x è più grande di y allora visualizza x ; altrimenti visualizza y. Piero Demichelis 14

15 Istruzione if... else: esempio 1 #include <stdio.h> main() { float x, y; printf ( \nintroduci due numeri reali: "); scanf ("%f%f", &x, &y); if (x > y) printf ( \nil maggiore è: %f, x); else printf ( \nil maggiore è: %f, y); } Piero Demichelis 15

16 Istruzione if... else: esempio 2 Realizzare un programma che calcoli quoziente e resto di due numeri interi positivi letti da tastiera e segnali errore se uno dei due è negativo (attenzione alla divisione per zero!). Pseudocodice: - Legge i due numeri da tastiera e li chiama n1 e n2; - Se n1 e n2 sono entrambi positivi e n2 è diverso da 0: calcola il quoziente ( n1 / n2); calcola il resto (n1 % n2); visualizza quoziente e resto; altrimenti visualizza messaggio d errore. Piero Demichelis 16

17 #include <stdio.h> Istruzione if... else: esempio 2 main() { int n1, n2, quoz, resto; printf ("\nintrodurre due numeri interi: "); scanf ("%d%d", &n1, &n2); if ((n1 >= 0) && (n2 > 0)) { quoz = n1 / n2; resto = n1 % n2; /* oppure resto = n1 - (quoz * n2); */ printf ( \nquoziente= %d, resto= %d\n", quoz, resto); } else printf ( \nerrore nei dati"); } Piero Demichelis 17

18 Istruzione if... else: esempio 3 Leggere due valori A e B, e calcolarne la differenza in valore assoluto : D = A-B Soluzione #include <stdio.h> main() { int a, b, differenza; } printf ( \nintroduci i 2 valori (a e b): ); scanf ( %d%d, &a, &b); if (a >= b) differenza = a - b; else differenza = b - a; printf ( \nvalore assoluto: %d, differenza); Piero Demichelis 18

19 Istruzione if... else: osservazioni L'istruzione che precede l'else deve essere chiusa normalmente con il punto e virgola. L'else infatti fa parte della struttura if... else e non entra in gioco nell'analisi sintattica dell'istruzione che la precede, la quale deve avere quindi una chiusura regolare. Negli if annidati possono sorgere delle ambiguità. Ad esempio nel costrutto: if (espressione 1) if (espressione 2) istruzione 1; else istruzione 2; non è chiaro se l'else appartiene all'if più interno o più esterno. L'uso delle parentesi { e } può dirimere qualsiasi dubbio. Piero Demichelis 19

20 Istruzione if... else: osservazioni La precedente istruzione può essere riscritta come: if (espressione 1) { if (espressione 2) istruzione 1; else istruzione 2; } else appartenente all if interno oppure: if (espressione 1) { if (espressione 2) istruzione 1; } else istruzione 2; else appartenente all if esterno Piero Demichelis 20

21 Istruzione if... else: osservazioni Non conviene usare if annidati su troppi livelli: si introducono difficoltà in fase di test (debugging) e rallentamenti nell'esecuzione del programma. Inoltre sono da evitare istruzioni del tipo: if (dato1 == dato2) flag = VERO; else flag = FALSO; che possono essere sostituite più elegantemente dalle assegnazioni: flag = (dato 1 == dato2); Piero Demichelis 21

22 Esempio: equazione di II grado L applicazione classica della struttura if... else è la soluzione completa dell equazione di II grado. La soluzione è fornita da un costrutto if... else nel quale sono annidati altre strutture di tipo if... else e if che risolvono i vari rami secondari. La soluzione deve tener conto di tutti i possibili casi che possono determinarsi nella soluzione (equazione impossibile, indeterminata, di I grado, ecc.). Piero Demichelis 22

23 Equazione di II grado Legge i coefficienti a, b e c si a = 0? no si Equazione indeterminata c = 0? si no Equazione impossibile b = 0? delta = b*b 4*a*c no w = 2*a w1= -(b / w) Equazione di I grado: x= -(c / b) delta = 0? Radice reali: x 1 = w 1 + w 2 x 2 = w 1 - w 2 delta no w 2 = / w delta < 0? no si si Radice doppia x = w1 Radice complesse coniugate: x = w 1 j w 2 Piero Demichelis 23

24 Istruzione switch Quando la condizione da imporre non è intrinsecamente binaria ma si deve distinguere tra più casi ed eseguire le istruzioni approppriate per ogni singolo caso, l if annidato può non essere più conveniente per complessità, leggibilità e, qualche volta, anche per tempo di esecuzione (valutazione di n condizioni). Per questi casi c è l'istruzione switch. Piero Demichelis 24

25 Istruzione switch Diagramma di flusso: I caso 1 caso 2 espressione caso n caso 3 istr. 1 istr. 2 istr istr. n O Piero Demichelis 25

26 Istruzione switch Sintassi: switch (espressione) { case <costante 1>: <istruzione 1> break; case <costante 2>: <istruzione 2> break; } [ default: < istruzione default> ] Piero Demichelis 26

27 Istruzione switch - espressione : espressione a valore numerico di tipo int o char, ma non float o double. - <costante1>, <costante1>,... sono costanti dello stesso tipo dell'espressione - <istruzione 1>, <istruzione 2>,... sono sequenze di istruzioni (senza graffe!) Significato: - In base al valore di espressione, esegui le istruzioni del case corrispondente. - Nel caso nessun case venga intercettato, esegui le istruzioni corrispondenti al caso default (se esiste). Piero Demichelis 27

28 Istruzione switch: osservazioni I vari case devono rappresentare condizioni MUTUAMENTE ESCLUSIVE! I vari case vengono eseguiti in sequenza, uno dopo l altro: per evitarlo è necessario interrompere il flusso usando l istruzione break alla fine di ogni blocco di istruzioni (il flusso prosegue con la prima istruzione successiva alla switch). Se il blocco di default non è presente e nessun case viene soddisfatto, l esecuzione procede con la prima istruzione che segue la switch. Piero Demichelis 28

29 Istruzione switch: esempio main() { int x; printf ( \nintroduci un numero intero: ); scanf ( %d, &x); switch (x) { case 1: printf( \nhai introdotto 1 ); break; case 2: printf( \nhai introdotto 2 ); break; default: printf( \nhai introdotto un numero diverso da 1 e 2 ); } } Piero Demichelis 29

30 Osservazioni su switch I case possono essere indicati nell ordine che si desidera e non in ordine strettamente crescente o decrescente. main() { int x; printf ( \nintroduci un numero intero: ); scanf ( %d, &x); switch (x) { case 92: printf( \nhai introdotto 92 ); break; case -14: printf( \nhai introdotto -14 ); break; case 36: printf( \nhai introdotto 36 ); } } Piero Demichelis 30

INFORMATICA. Strutture condizionali. Strutture condizionali. L istruzione if. L istruzione if

INFORMATICA. Strutture condizionali. Strutture condizionali. L istruzione if. L istruzione if INFORMATICA Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri linguaggi, è disponibile

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Strutture di controllo

Strutture di controllo Strutture di controllo 73 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: La sequenza, permette di eseguire le istruzioni secondo l ordine

Dettagli

Istruzioni di selezione (if/else/switch)

Istruzioni di selezione (if/else/switch) Istruzioni di selezione (if/else/switch) espressione Lab.Calc. AA2006/07 2 espressione condizione Lab.Calc. AA2006/07 3 espressione condizione successo Lab.Calc. AA2006/07 4 Sintassi di if if (espressione)

Dettagli

Linguaggio C Strutture di controllo

Linguaggio C Strutture di controllo FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide

Dettagli

Esecuzione condizionale. Esecuzione condizionale. Costrutto if. Costrutto if

Esecuzione condizionale. Esecuzione condizionale. Costrutto if. Costrutto if Esecuzione condizionale Esecuzione condizionale Permette l esecuzione di un blocco di codice solo se si verifica una certa condizione SE (condizione è vera) ALLORA esegui istruzioni 2 er. 2.4 also condizione

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Istruzioni Condizionali in C

Istruzioni Condizionali in C Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Istruzioni decisionali

Istruzioni decisionali Istruzioni decionali 1. if 2. if-else 3. switch 91 if-else Sintas if (espresone) istruzione_1 else istruzione_2 92 1 if-else else: : semantica Viene valutata espresone Se l espresone è vera (cioè assume

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Fondamenti di Informatica Effettuare una scelta in un programma Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c",

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Istruzione if/else. Espressioni booleane

Istruzione if/else. Espressioni booleane Istruzione if/else Espressioni booleane Espressioni booleane Possono assumere solo due valori: VERO (TRUE, per il C qualunque valore diverso da 0) FALSO (FALSE, il valore 0) Programmazione 2015/16 Introduzione

Dettagli

Costrutto if. Come utilizzare il costrutto condizionale if

Costrutto if. Come utilizzare il costrutto condizionale if Costrutto if Come utilizzare il costrutto condizionale if Costrutto if (1/2) Il costrutto if permette di effettuare azioni diverse a seconda del valore di una certa condizione booleana. if (condizione)

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

IL COSTRUTTO SELEZIONE

IL COSTRUTTO SELEZIONE IL COSTRUTTO SELEZIONE Il costrutto selezione Permette di effettuare una scelta tra due possibili opzioni. Tale scelta verrà effettuata valutando il valore di verità di una condizione espressa da una proposizione

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Istruzioni di controllo

Istruzioni di controllo Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende

Dettagli

ISTRUZIONI ISTRUZIONI SEMPLICI

ISTRUZIONI ISTRUZIONI SEMPLICI ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Switch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Switch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Istruzioni Condizionali Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio

Dettagli

Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet

Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment esterno Per riferimento

Dettagli

Struttura di un. Struttura dei programmi C

Struttura di un. Struttura dei programmi C Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Linguaggio : Le basi Stefano

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 3, 23 ottobre 2007 versione 3 novembre 2007 Limiti per tipi int #include rende visibili le costanti simboliche SHRT_MIN, SHRT_MAX,

Dettagli

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

Dettagli

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Istruzioni condizionali di diramazione in Fortran 90

Istruzioni condizionali di diramazione in Fortran 90 Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

C espressioni condizionali

C espressioni condizionali C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera

Dettagli

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return

Dettagli

Strutture di controllo decisionali

Strutture di controllo decisionali Capitolo 3 Strutture di controllo decisionali ANDREA GINI Dopo aver introdotto il concetto di variabile e di array, è giunto il momento di analizzare a fondo i restanti costrutti del linguaggio Java. Come

Dettagli

Passaggio dei parametri

Passaggio dei parametri Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

Algoritmi e basi del C

Algoritmi e basi del C Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 5 Controllo del flusso del programma FABIO SCOTTI Indice 1. CONCETTO DI BLOCCO IN C...3 2. DUE

Dettagli

C istruzione di assegnazione

C istruzione di assegnazione C istruzione di assegnazione Forma ntattica della istruzione di assegnazione: variabile = espresone l-value r-value In esecuzione il computer valuta l espresone ed il suo valore è assegnato alla variabile

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

Dettagli

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione

Dettagli

I costrutti del C. Le Strutture del C. Il costrutto if else (I) Il costrutto if else (II) Condizionali. if-else (else if) switch Iterative

I costrutti del C. Le Strutture del C. Il costrutto if else (I) Il costrutto if else (II) Condizionali. if-else (else if) switch Iterative 1 Le Strutture del C I costrutti del C Strutture condizionali Strutture iterative Introduzione alle funzioni Condizionali if- ( if) switch Iterative while for do while break and continue 1 2 Il costrutto

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO

ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE ORNITI DAL LINGUAGGIO C Premessa: STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO Uno ement semplice termina con ; come, ad esempio: ressione;

Dettagli

Istruzioni decisionali

Istruzioni decisionali Istruzioni decionali 1. if 2. if-else 3. switch 115 switch Struttura di scelta plurima che controlla se una espresone assume un valore all interno di un certo ineme di costanti e comporta di conseguenza

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Marco D. Santambrogio Ver. aggiornata al 9 O/obre 2010

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Marco D. Santambrogio Ver. aggiornata al 9 O/obre 2010 Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 9 O/obre 2010 Algoritmi Pseudocodice Diagramma di flusso Una prima introduzione al C Un primo programma Tipi di dato Strutture di controllo

Dettagli

Lab 04 (parte A) Programmazione Strutturata

Lab 04 (parte A) Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 (parte A) Programmazione Strutturata Lab04 1 Valutazione in cortocircuito (1) In C, le espressioni booleane

Dettagli

IL COSTRUTTO ITERAZIONE

IL COSTRUTTO ITERAZIONE IL COSTRUTTO ITERAZIONE Il costrutto iterazione Consente di ripetere una operazione elementare o un blocco di operazioni. Tipologie di iterazione Iterazione definita Iterazione condizionata Tipologie di

Dettagli

Costrutti di Programmazione Strutturata. Informatica 1 / 22

Costrutti di Programmazione Strutturata. Informatica 1 / 22 Costrutti di Programmazione Strutturata Informatica 1 / 22 Costrutti di Base Ricordi? Un algoritmo è detto strutturato se usa solo Sequenze di istruzioni Selezioni (se predicato allora fai istruzioni altrimenti

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Linguaggio C Informatica Grafica

Linguaggio C Informatica Grafica Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Linguaggio C Breve storia Struttura di un programma Variabili

Dettagli

Istruzioni del Linguaggio C

Istruzioni del Linguaggio C Istruzioni del Linguaggio C Programmazione strutturata Si parla di programmazione strutturata se si utilizzano solo le seguenti strutture per alterare il flusso di controllo [Dijkstra, 1969]: concatenazione

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

Strutture di controllo in C

Strutture di controllo in C Strutture di controllo in C Prima parte Introduzione Prima di scrivere un programma è necessario: Avere capito bene il problema (la specifica). Impostare l algoritmo per risolvere il problema: un algoritmo

Dettagli

Programmazione strutturata

Programmazione strutturata Programmazione strutturata C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O

Dettagli

Come va usato il codice dei caratteri

Come va usato il codice dei caratteri Espressioni booleane Come va usato il codice dei caratteri Convertiamo una lettera minuscola in maiuscolo: char lower = k ; char upper = (char) (lower - a + A ); printf("%c", upper); Convertiamo un carattere

Dettagli

Istruzioni di selezione in Java 1

Istruzioni di selezione in Java 1 Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni

Dettagli

7. Strutture di controllo

7. Strutture di controllo Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 7. Ing. Michele Ruta 1 di 17 Indice Istruzioni di selezione Mappate dal costrutto switch Istruzioni cicliche (di iterazione)

Dettagli

Scelte ed alternative

Scelte ed alternative Scelte ed alternative Istruzione if-else Sintassi dell istruzione Operatori di confronto Esercizio proposto di esempio Risoluzione esercizio (parte I) Esecuzione del programma Completamento esercizio Risoluzione

Dettagli

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse. ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning Obiettivi di questa esercitazione Fondamenti di Informatica T-1 Parte 2 Laboratorio 01 1. Input e output in linguaggio i C 2. Espressioni 3. Programmazione strutturata 1 (if, switch, do while) 1 2 Warning

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento

Dettagli

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice

Dettagli

ISTRUZIONI ISTRUZIONI SEMPLICI

ISTRUZIONI ISTRUZIONI SEMPLICI ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono di aggregare

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5

Dettagli