Esercitazione 2. Espressioni booleane Il comando if-else

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione 2. Espressioni booleane Il comando if-else"

Transcript

1 Esercitazione 2 Espressioni booleane Il comando if-

2 Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in generale, ciascun valore intero diverso da 0) false = 0 Dunque, i==100 è anche un espressione intera la cui valutazione restituisce 1 quando la variabile i è uguale a 100 e restituisce 0 quando i è diverso da 100.

3 Comando: if- La forma generale dell istruzione if- è la seguente: if (espressione) istruzione; istruzione; dove istruzione può essere una singola istruzione, un blocco di istruzioni o l istruzione nulla. La clausola è opzionale. Se espressione fornisce un risultato vero, viene eseguita l istruzione o il blocco relativo alla parte if; Se espressione fornisce un risultato falso, verrà eseguita, se esiste, l istruzione o il blocco.

4 Comando: if- /* Scrivere un programma che legge due numeri e stampa il maggiore */ #include <stdio.h> int main ( ) { int x, y, max; printf ( Digita due numeri: ); scanf ( %d%d, &x, &y); if (x>y) max = x; max = y; printf ( %d\n, max); }

5 Comando: if- /* Scrivere un programma come prima che non usa la variabile max */ #include <stdio.h> int main ( ) { int x, y; printf ( Digita due numeri: ); scanf ( %d%d, &x, &y); if (x>y) printf ( %d\n, x); printf ( %d\n, y); }

6 Comando: if- /* Scrivere un programma che riceve un numero intero in input, determina se il numero e maggiore o minore di 100 e stampa a video un messaggio corrispondente */ #include <stdio.h> int main( ) { int i; /* dichiarazione di variabile */ printf ( Dammi un intero: ); scanf ( %d, &i); /* inizializzazione della variabile i */ if (i<100) printf ( il numero inserito è minore di 100\n ); printf ( il numero inserito è maggiore o uguale a 100\n ); }

7 Espressioni booleane /* Utilizzo delle espressioni booleane */ #include <stdio.h> int main( ) { int a, i; printf ( Dammi un intero: ); scanf ( %d, &i); a = i<100; if (a!=0) /* equivale a if (i<100) */ printf ( il numero inserito è minore di 100\n ); printf ( il numero inserito è maggiore o uguale a 100\n ); }

8 Espressioni booleane L assegnamento a=i<100 è del tutto lecito, perché viene valutata l espressione logica i<100, che può restituire 1 (true) o 0 (false). Il risultato e dunque un numero intero, che viene assegnato alla variabile, di tipo int, a. Valutare l espressione a!=0 significa chiedersi se il valore di a è diverso da 0. Ma questo equivale a chiedersi se il valore di a è true. Si può dunque modificare il programma precedente come segue.

9 Espressioni booleane /* Un altro esempio di utilizzo delle espressioni booleane */ #include <stdio.h> int main( ) { int a, i; printf ( Dammi un intero: ); scanf ( %d, &i); a = i<100; if (a) /* equivale a if (i<100) */ printf ( il numero inserito è minore di 100\n ); printf ( il numero inserito è maggiore o uguale a 100\n ); }

10 Espressioni booleane Dato che le espressioni booleane restituiscono un risultato numerico, non esistono differenze tra le espressioni booleane e quelle aritmetiche. Un espressione può contenere una combinazione di operatori aritmetici, logici e relazionali. Esempio w = k + numero + (i < 100); l assegnamento viene effettuato alla fine, perché = ha la priorità più bassa.

11 Attenzione Essendo l operatore di assegnamento trattato alla stregua degli altri, sarà lecita anche la seguente espressione: i > n && (x=y) dove i > n è vera se il valore di i è maggiore di n; mentre x=y corrisponde all assegnamento di y alla variabile x: in questo caso, se il valore di y è diverso da zero l espressione (x=y) risulta vera altrimenti è falsa. Queste caratteristiche rendono il C un linguaggio flessibile che consente la scrittura di codice sintetico ed efficiente ma anche difficilmente interpretabile.

12 Esercizio Dire cosa stampano i seguenti programmi /* esempio di if- */ #include <stdio.h> int main( ) { int x, y; x = 5; y= 4; if (x==y) printf( vero ); printf ( falso ); } stampa falso /* altro esempio di if- */ #include <stdio.h> int main( ) { int x, y; x = 5; y = 4; if (x=y) printf ( vero ); printf ( falso ); } stampa vero

13 Esempio: Tenta l ambo /* Il gioco Tenta l ambo è una semplificazione del gioco del lotto. Il gioco consiste nell indovinare una coppia di numeri estratti casualmente nell intervallo [1,90]. Il programma genera una coppia di numeri usando la funzione rand(), che definisce un valore intero compreso tra 0 e 32767, e usando in seguito l operatore % per ottenere un numero nell intervallo desiderato. La funzione rand() richiede l uso del file header stdlib.h. Se il giocatore indovina la coppia di numeri allora il programma visualizza il messaggio ^^Ambo!^^ altrimenti visualizza il messaggio ^^Peccato^^. */

14 Esempio: Tenta l ambo #include <stdio.h> /* Programma per indovinare l ambo*/ #include <stdlib.h> int main ( ) { int estratto1, estratto2; /* numeri estratti */ int guess1, guess2; /* valori immessi dall utente */ estratto1 = rand( ) % 90 +1; /* estrae il primo numero */ estratto2 = rand( ) % 90 +1; /* estrae il secondo numero */ printf ( Tenta l ambo: ); scanf ( %d %d, &guess1, &guess2); if ( guess1 == estratto1 && guess2==estratto2 guess1 == estratto2 && guess2==estratto1 ) printf( ^^Ambo!^^ ); printf ( ^^Peccato^^ ); }

15 Esercizio Dire qual è il valore delle variabili x e y dopo l esecuzione del seguente frammento di codice. int x, y; x = y = 0; if (x = y++) y *= ++ x; y *= --x; /* FALSE, x = 0, y = 1 */ /* y = y * (-1) */ soluzione: x = -1; y = -1

16 Esercizio Dire qual è il valore delle variabili a e b dopo l esecuzione del seguente frammento di codice. int a, b; a = b = 0; if (a = ++b) b *= ++ a; b *= --a;

17 Soluzione Dire qual è il valore delle variabili a e b dopo l esecuzione del seguente frammento di codice. int a, b; a = b = 0; if (a = ++b) /* TRUE, a = 1, b = 1 */ b *= ++ a; /* b = b * 2 */ b *= --a; soluzione: a = 2; b = 2

18 La morra cinese Vogliamo scrivere un programma che simuli il gioco della morra cinese: REGOLE DEL GIOCO ogni giocatore sceglie un simbolo tra forbici, carta e sasso. I due simboli scelti dai giocatori vengono quindi confrontati: le forbici battono la carta: la carta batte il sasso: il sasso batte le forbici: vince vince vince

19 Programmare un gioco COSA DEVE FARE IL PROGRAMMA Il programma deve leggere due caratteri in input che rappresentano, rispettivamente la scelta del primo e del secondo giocatore: il carattere f indica le forbici il carattere c indica la carta il carattere s indica il sasso Il programma deve quindi scrivere il vincitore, o indicare che il gioco è pari (quando i giocatori scelgono lo stesso simbolo).

20 /* programma del gioco della morra cinese: esempio di if annidati */ #include <stdio.h> int main( ) { char primo_simbolo, secondo_simbolo; printf ( Simbolo primo giocatore: ); scanf ( %c, &primo_simbolo); printf ( Simbolo secondo giocatore: ); scanf ( %c, &secondo_simbolo); if (primo_simbolo == secondo_simbolo) printf ( il gioco e pari ); if ((primo_simbolo == f ) && (secondo_simbolo == c ) (primo_simbolo == c ) && (secondo_simbolo == s ) (primo_simbolo == s ) && (secondo_simbolo == f )) printf ( il vincitore è il giocatore n. 1 ); printf ( il vincitore è il giocatore n. 2 ); }

21 Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if (C1) if (C2) S1; if (C2) S1; S2; S2; Soluzione: In entrambi i casi il ramo si riferisce al secondo if

22 Esercizio Se si vuole che il ramo si riferisca al primo if dobbiamo usare le parentesi: if (C1) {if(c2) S1; } S2; che corrisponde a if (C1) { if (C2) S1; } S2;

23 Esercizio Scrivere un algoritmo che legge tre numeri in ingresso, quindi verifica se questi possono essere la lunghezza dei tre lati di un triangolo (la lunghezza di ogni lato deve essere minore della somma degli altri due), infine determina se il triangolo avente come lati le lunghezze indicate è scaleno, isoscele oppure equilatero.

24 Algoritmo 1. Leggi i tre dati, x, y e z. 2. Verifica che ognuno dei tre dati sia minore della somma degli altri due: in caso contrario stampa il messaggio I dati letti non corrispondono ad alcun triangolo ; in caso positivo procedi come segue: 2.1 verifica se x, y e z sono tutti e tre uguali: in tal caso stampa il messaggio I dati letti corrispondono a un triangolo equilatero ; 2.2 altrimenti, se almeno due di essi sono tra loro uguali, stampa il messaggio I dati letti corrispondono a un triangolo isoscele ; 2.3 altrimenti, stampa il messaggio I dati letti corrispondono a un triangolo scaleno.

25 /* programma Triangolo */ #include <stdio.h> int main( ) { int x, y, z; printf ( Inserisci i valori dei tre lati: ); scanf ( %d%d%d, &x, &y, &z); if ((x<y+z) && (y<x+z) && (z<x+y)) if (x==y && y==z) printf ( I dati letti corrispondono a un triangolo equilatero ); if (x==y y==z x==z) printf ( I dati letti corrispondono a un triangolo isoscele ); printf ( I dati letti corrispondono a un triangolo scaleno ); printf ( I dati letti non corrispondono ad alcun triangolo ); }

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

Esercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else

Esercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else Esercitazione 2 Variabili e Tipi Input e Output Assegnamenti Il comando if-else Espressioni aritmetiche /* Scrivere un programma che calcola l area e la circonferenza di un cerchio di raggio 20 cm */ #include

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

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

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ; 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

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

ISTRUZIONI ISTRUZIONI SEMPLICI

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

Dettagli

Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013

Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare

Dettagli

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ; 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

Strutture di Controllo IF-ELSE

Strutture di Controllo IF-ELSE Strutture di Controllo IF-ELSE Come viene eseguito un programma? Un programma viene eseguito rispettando l ordine in cui le istruzioni vengono scritte dal programmatore: Si parte dalla prima istruzione

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione

Dettagli

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case

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

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

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

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

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

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

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

FONDAMENTI DI PROGRAMMAZIONE ESERCITAZIONI Corso di Laurea in MATEMATICA a.a. 2018/19

FONDAMENTI DI PROGRAMMAZIONE ESERCITAZIONI Corso di Laurea in MATEMATICA a.a. 2018/19 FONDAMENTI DI PROGRAMMAZIONE ESERCITAZIONI Corso di Laurea in MATEMATICA a.a. 2018/19 Chiara Bodei 1 Dipartimento di Informatica email: chiara.bodei@unipi.it C. Bodei Dip.to Informatica FONDAMENTI DI PROGRAMMAZIONE

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

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

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

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

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

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

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I. Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione

Dettagli

ISTRUZIONI ISTRUZIONI

ISTRUZIONI ISTRUZIONI 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

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

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

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case

Dettagli

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Introduzione al C. Lez. 1 Elementi. Rossano Venturini Introduzione al C Lez. 1 Elementi Rossano Venturini rossano@di.unipi.it Pagine del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start http://algoritmica.spox.spoj.pl/alglab2013 Lezioni

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

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 / 34 Ringraziamenti prof. Mirko Viroli, Università

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

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

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

Strutture di Controllo Iterative: Istruzioni While e Do

Strutture di Controllo Iterative: Istruzioni While e Do Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante

Dettagli

Struttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C.

Struttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C. Struttura programmi C Struttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C. /* DIRETTIVE DI COMPILAZIONE */ #include

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

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, possono comportare una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono

Dettagli

Dichiarazione di variabili

Dichiarazione di variabili Dichiarazione di variabili ESEMPIO: somma di due numeri

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. Strutture condizionali

INFORMATICA. Strutture condizionali INFORMATICA Strutture condizionali 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

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutti iterativi. Utilizzo dei costrutti iterativi Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

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

Espressioni in Linguaggio C

Espressioni in Linguaggio C Concetti chiave Espressioni in Linguaggio C Espressioni Conversioni Implicite Operatori aritmetici Operatore di assegnamento Operatori relazionali Operatori logici Gerarchia e associatività degli operatori

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Espressioni semplici e condizionali

Espressioni semplici e condizionali LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Espressioni semplici e condizionali Esercizio 1 Progettare

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante

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

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Linguaggio C. Condizioni composte (operatori logici)

Linguaggio C. Condizioni composte (operatori logici) Linguaggio C Condizioni composte (operatori logici) Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Condizioni composte Talvolta

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

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

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione

Dettagli

Scelte ed alternative

Scelte ed alternative Scelte ed alternative Istruzioni if- annidate Annidamento di istruzioni if- Opzionalità del ramo Catene if- if-...- Esercizio proposto erifica della soluzione 2 Istruzioni if- annidate Scelte annidate

Dettagli

Il linguaggio C La programmazione strutturata

Il linguaggio C La programmazione strutturata 1 Il linguaggio C La programmazione strutturata espressione di selezione caso A istruzioni1 break condizione falsa caso B istruzioni2 break vera break istruzione default istruzioni Programmazione strutturata

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 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

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

Il linguaggio C La programmazione strutturata

Il linguaggio C La programmazione strutturata 1 Il linguaggio C La programmazione strutturata espressione di selezione caso A istruzioni1 break condizione falsa caso B istruzioni2 break vera break istruzione default istruzioni Programmazione strutturata

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

Lab 04 Programmazione Strutturata"

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

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

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

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del

Dettagli

$QDOLVLGHOSURJUDPPDTXDGUDWR

$QDOLVLGHOSURJUDPPDTXDGUDWR $QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =

Dettagli

Dichiarazioni e tipi predefiniti nel linguaggio C

Dichiarazioni e tipi predefiniti nel linguaggio C Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Scelte ed alternative

Scelte ed alternative Istruzioni if- annidate Scelte ed alternative Istruzioni if- annidate Annidamento di istruzioni if- Opzionalità del ramo Catene if- if-...- Esercizio proposto erifica della soluzione 2 2006 Politecnico

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

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

Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere ESERCITAZIONE N.2 LINGUAGGIO C In preparazione alla prova in Itinere ORDINARE UN ARRAY INVERTIRE IL VALORE DI DUE VARIABILI Le due operazioni di assegnamento non possono essere contemporanee (deve esserci

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

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Linguaggio C Struttura dei programmi

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

Dettagli

Esercizio. Esercizi. semplici. memoria. y 12. Determinare il valore di x e y. #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x;

Esercizio. Esercizi. semplici. memoria. y 12. Determinare il valore di x e y. #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x; Esercizi semplici 31 Esercizio Determinare il valore di x e y #include int x,y; x=2; y=4; y=3*y; x=y+x; printf("%d\n", x); printf("%d\n", y); memoria x 14 y 12 32 1 Esercizio Determinare i valori

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

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del

Dettagli

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni Programmazione in C La struttura del programma Variabili, espressioni, operazioni Struttura del programma // Area quadrato circoscritto // circonferenza /* Author: Lorenzo Course: info */ #include

Dettagli

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Introduzione al C. Lez. 1 Elementi. Rossano Venturini Introduzione al C Lez. 1 Elementi Rossano Venturini rossano.venturini@isti.cnr.it URL del corso http://www.cli.di.unipi.it/doku/doku.php/informatica/all-b/start Lezioni - Lunedì 16-18 Aula M - Martedì

Dettagli