Introduzione al linguaggio C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione al linguaggio C"

Transcript

1 Introduzione al linguaggio C Corso di Informatica di Base Lezione III Riccardo Veraldi Servizio Calcolo e Reti INFN sez Firenze veraldi@fiinfnit Istruzioni di controllo di flusso Sono una categoria di istruzioni che consentono di controllare il flusso logico del programma tramite l utilizzo di espressioni condizionali La valutazione della veridicita o meno delle espressioni condizionali permette di prendere decisioni relativamente al flusso del programma a seconda del verificarsi o meno delle condizioni espresse nelle espressioni condizionali stesse Le istruzioni di controllo di flusso si dividono in tre categorie principali: Istruzioni di selezione; istruzioni di iterazione; istruzioni di salto

2 Istruzioni di selezione - L istruzione if L istruzione if consente di realizzare il controllo di flusso tramite la valutazione dell espressione condizionale tra parentesi La forma di questa istruzione e la seguente: if(espressione) istruzione; else istruzione; In questo caso gli argomenti di if e else sono singole istruzioni La clausola else e facoltativa Gli argomenti sia dell if sia dell else sono solitamente dei blocchi di istruzioni piu che istruzioni singole La forma generale di if quando riferita a blocchi di istruzioni e la seguente: if(espressione) istruzione_1; istruzione_n; else istruzione_1; istruzione_n; L istruzione if Se l espressione condizionale e vera, cioe ha un qualunque valore diverso da 0, sara eseguito l argomento di if; altrimenti, se esiste, sara eseguito largomento di else; non verranno MAI comunque eseguiti entrambi L espressione condizionale che controlla l if e una qualunque espressione C valida che produce un risultato vero o falso Per il C un espressione e vera se il suo valore e diverso da 0, altrimenti e falsa In C puo essere utilizzata qualsiasi espressione valida all interno di un istruzione di controllo Cio significa che il tipo di espressione non deve per forza essere ristretto solo a quelle che contengono operatori logico-relazionali Tutto cio che si richiede e che l espressione abbia valore zero o diverso da zero Il programma che segue legge due numeri interi e visualizza il quoziente Per evitare un errore di divisione per zero viene utilizzata un istruzione if controllata dal secondo numero

3 #include <stdioh> Programma divc main() int a,b; /* variabili dividendo e divisore */ printf(" a/b, scrivi 2 numeri a,b: "); scanf("%d,%d",&a,&b); /* leggi i 2 numeri da tastiera */ if(b) /* controlla se b e zero */ printf("%d\n",a/b); else printf("impossibile dividere per 0\n") Programma divc (2) Si osservi che b (il divisore) viene verificato per vedere se e zero utilizzando la forma if(b) Questo metodo funziona perche quando b e zero, la condizione che controlla l if e falsa e pertanto viene eseguito l else In caso contrario la condizione e vera, cioe diversa da zero, e la divizione viene effettuata La stessa istruzione si potrebbe anche scrivere in questo modo: if(b == 0) printf("impossibile dividere per 0\n"); else printf("%d\n",a/b); Anche se corretta e una mancanza di stile nello scrivere il codice C, una forma ridondante e potenzialmente inefficiente, fortemente sconsigliata, da non utilizzare

4 Istruzioni if annidate Un if annidato e un istruzione if controllata da un altro if o else Gli if annidati sono molto comuni in programmazione La cosa piu importante da ricordare e che un istruzione else si riferisce sempre all istruzione if piu vicina che sia all interno del medesimo blocco dell else e che non sia gia associata a un else Esemio in pseudo-c if(i) if(j) istruzione1; if(k) istruzione2; /* questo if e associato*/ else /* a questo else */ istruzione3; else istruzione 4; /* questo if e associato a if(i) */

5 if-else-if Un costrutto di programmazione a cui si ricorre frequentemente e che si basa sugli if annidati e la sequenza if-else-if La forma e la seguente: if(condizione) istruzione; else if(condizione) istruzione; else if(condizione) istruzione; else istruzione; Le espressioni condizionali vengono valutate dall alto verso il basso Alla prima condizione vera, viene eseguita l istruzione ad essa associata ed il resto della scala if-else-if viene aggirato Se nessuna delle condizioni e vera allora viene eseguita l istruzione else finale Se non c e un else finale e tutte le altre condizioni sono false, allora non viene eseguita nessuna istruzione Istruzioni di Iterazione Fanno parte di questa classe di istruzioni i cicli: for while do-while

6 Il ciclo for (1) Viene utilizzato per ripetere un istruzione un numero specificato di volte La sintassi generale per ripetere una singola istruzione e : for(inizializzazione;espressione;incremento) istruzione; Per ripetere un blocco di istruzioni la forma generale e : for(inizializzazione;espressione;incremento) istruzione1; istruzionen; Il ciclo for (2) L inizializzazione e di solito un istruzione di assegnamento che imposta il valore iniziale della variabile di controllo del ciclo, che ha la funzione di contatore che controla il ciclo Per espressione si intende un espressione condizionale che determina se il ciclo continuera oppure no L incremento definisce la quantita di cui la variabile di controllo cambiera ogni volta che il ciclo viene iterato Queste tre sezioni principali del ciclo devono essere separate da punti e virgola Il ciclo for viene eseguito continuamente finche l espressione condizionale risulta verauna volta che la condizione diventa falsa, si esce dal ciclo e l esecuzione del programma riprendera dall istruzione successiva al blocco for

7 Il ciclo for (3) /* programma che stampa i caratteri ASCII dal 33 al 127 */ #include <stdioh> main() unsigned char i; /* definisco la variabile i di iterazione del ciclo */ for(i=33;i<128;i++) /* ciclo for con indice i*/ printf("[ %c ]\n",i);/* stampa un carattere racchiuso tra parentesi quadre, ad ogni ciclo */ Il ciclo while (1) Come il ciclo for serve per ripetere un blocco di istruzioni ciclicamente La sintassi e : while(espressione) istruzione; oppure, while(espressione) istruzione_1; istruzione_n; L espressione definisce la condizione che controlla il ciclo e puo essere una qualsiasi espressione sintatticamente valida L istruzione o il blocco di istruzioni, viene eseguito finche la condizione e vera, quando questa diventa falsa il controllo del programma passa alla linea successiva al blocco del ciclo while

8 Il ciclo while (2) /* programma che stampa i caratteri ASCII dal 33 al 127 */ #include <stdioh> main() unsigned char ch=33; /* inizializzo la variabile al carattere codice ASCII 33*/ while(ch<128) /* ciclo while controllato dall espressione ch<128 */ printf("[ %c ]\n",ch); /* stampa il singolo carattere ch */ ch++; /* incrementa il valore del carattere */ Il ciclo do-while (1) A differenza dei cicli for e while, nei quali le condizioni sono verificate in testa al ciclo, il ciclo do-while verifica la condizione in fondo al ciclo Cio significa che un ciclo dowhile verra sempre eseguito almeno una volta La forma generale e : do istruzioni; while(espressione); Il ciclo viene eseguito fino a che la condizione espressa dall espressione e vera

9 Il ciclo do-while (2) /* stampa I caratteri ascii dal 33 al 128 */ #include <stdioh> main() unsigned char ch=33; /* il ciclo do-while viene sempre eseguito almeno una volta Se ch=128 il ciclo verrebbe eseguito sempre e comunque una volta soltanto perche la condizione ch<128 viene controllata a fine ciclo */ do printf("[ %c ]\n",ch); ch++; while(ch<128); Istruzione di salto break (1) Questa istruzione consente di uscire forzatamente da un ciclo aggirando la verifica condizionale Qundo in un ciclo si incontra l istruzione break, esso termina immediatamente ed il controllo del programma riprende dall istruzione successiva al ciclo

10 Istruzione di salto break (2) /* stampa I caratteri ASCII dal 33 al 127 */ #include <stdioh> main() char i; /* definisce i come char (-127 < i <127) */ for(i=33;i<128;i++) /* questo ciclo for continuerebbe all infinito a causa del wrapping around della variabile i */ printf("[ %c ]\n",i); if(i==127) break; /* si forza il ciclo a terminare quando il valore di i e 127 */ Istruzione di salto continue (1) Serve per ottenere forzatamente l iterazione anticipata di un ciclo aggirando la sua normale struttura di controllo L uso di continue all interno di un ciclo provoca forzatamente il salto alla successiva iterazione del ciclo stesso saltando il codice che si trova tra il continue e l espressione condizionale che controlla il ciclo

11 Istruzione di salto continue (2) /* stampa I numeri pari da 0 a 20 */ #include <stdioh> main() unsigned int i; /* definiamo la variabile che contiene i numer ida 1 a 10 */ for(i=0;i<=20;i++) /* iteriamo da 0 a 20 compresi */ if(i%2) continue; /* se il numero e pari salta alla successiva iterazione del ciclo */ printf(" %d \n",i); /* stampa i numeri */ Istruzione goto Permette di effettuare un salto incondizionato all interno del codice E un istruzione DA NON USARE MAI PER NESSUN MOTIVO Introduce disordine nel programma rendendolo illeggibile, un buon programmatore non utilizza MAI l istruzione goto In caso di necessita si possono utilizzare cicli while con istruzioni di salto break e/o continue ottenendo gli stessi risultati goto non e un elemento necessario per rendere completo un linguaggio di programmazione

12 Array (vettori) Un array e una collezione di variabili del medesimo tipo a cui si fa riferimento con un nome comune In C gli array possono avere da una a molte dimensioni, sebbene l array ad una dimensione sia piu comunemente utilizzato In pratica puo essere pensato come un vettore di ampiezza n, che contiene n elementi Array ad una dimensione (1) Un array ad una dimensione e semplicemente una lista di variabili dello stesso tipo collegate fra loro E un vettore di elementi caratterizzati dal fatto di essere tutti delle variabili C dello stesso tipo La forma generale per dichiarare un array monodimensionale e : tipo nome_variabile[dimensione]; Dove tipo dichiara il tipo di base di un array, che determina anche il tipo di dato degli elementi che costituiscono l array, e dimensione definisce quanti elementi conterra l array L esempio seguente dichiara un array intero chiamato vettore che ha dieci elementi: int vettore[10]; E possibile accedere ad un singolo elemento dell array tramite un indice, che descrive la posizione di un dato elemento all interno dell array stessa In C il primo elemento di qualsiasi array ha indice zero; In questo caso dato che vettore ha 10 elementi, ha valori di indice che andranno da 0 a 9 Per accedere ad un elemento dell array bisogna indicizzarlo con il numero dell elemento, che deve essere specificato tra parentesi [ ] Pertanto il primo elemento in vettore e rappresentato da vettore[0] e l ultimo da vettore[9]

13 Array ad una dimensione (2) In C tutti gli array consistono di locazioni di memoria contigue, il che significa che tutti gli elementi di un array stanno uno accanto all altro in memoria L indirizzo piu basso corrisponde al primo elemento e il piu alto all ultimo Per un array monodimensionale la dimensione totale in byte occupata viene calcolata in questo modo: Byte totali = n di byte variabile tipo base X numero di elementi In C non e possibile assegnare un array ad un altro Pertanto scrivere cosi e ILLEGALE: int a[10],b[10]; a=b; /* ERRORE!!! */ Per trasferire il contenuto di un array in un altro e necessario assegnare individualmente ogni valore per esempio utilizzando un ciclo for Inizializzazione di un array Ci sono fondalmentalmente 2 forme per inizializzare un array come per tutte le altre variabili: In fase di dichiarazione ; tipo nome_variabile[]=e1,,en; tramite indicizzazione diretta all interno del programma quando occorre, ad es: int a[2]; /* dichiarazione array*/ A[0]=23; /* inizializzazione array*/ A[1]=100; I programmi arrayc array2c array3c illustrano questi concetti e sono nella sezione esempi sul sito

14 Assenza di controllo dei limiti degli array Il C non effettua alcun controllo sui limiti degli array Non c e nulla che eviti lo sconfinamento alla fine di un array Se cio accade durante un operazione di assegnamento, i valori saranno assegnati ai dati di un altra variabile o persino in una parte del codice del programma In altre parole e possibile indicizzare un array di dimensione N con un valore superiore a N senza avere alcun messaggio di errore in compilazione o in fase di esecuzione, anche se cio provochera il blocco (crash) del programma E compito del programmatore garantire che tutti gli array siano abbastanza grandi da contenere cio che il programma vi mettera e pensare a un controllo di limite ogni volta che serve Accesso illegale in memoria a[]=1,2,3,4,5; a[8]=9; /* errore ho sforato in memoria */ a[8] Stack a[] Heap Data Text 0Indirizzi di memoria

15 Le funzioni C Le funzioni sono i mattoni per la costruzione di un programma C Una funzione e un sottoprogramma che contiene una o piu istruzioni C ed esegue uno o piu compiti Ogni funzione ha un nome che viene utilizzato nella chiamata alla funzione per invocare la funzione stessa In generale una funzione puo avere un nome qualsiasi, pero e importante ricordare che main() e riservato alla funzione che da inizio all esecuzione del programma In C non e possibilie includere una funzione in un altra funzione a differenza di altri linguaggi di programmazione che consentono l annidamenti di funzioni Il C considera tutte le funzioni come entita separate, questo pero non impedisce il fatto che una funzione possa richiamarne un altra Fino ad ora main() era l unica vera funzione definita all interno nei nostri programmi La funzione main() e sempre la prima funzione ad essere eseguita e deve essere presente in tutti I programmi C I programmi possono utilizzare le funzioni principalmente sotto due forme : il primo tipo e scritto direttamente dal programmatore (come nel caso di main()), il secondo tipo si riferisce alle funzioni che sono implementate direttamente all interno del compilatore nella libreria standard La libreria standard e una sorta di collezione di funzioni molto utili che offrono al programmatore la possibilita di accedere all I/O, alla gestione della memoria, delle stringhe etc In generale un programma C contiene funzioni create dal programmatore e funzioni fornite dal compilatore Alcune tra le funzioni fornite dal compilatore che abbiamo utilizzato sono printf() e scanf() Programma con due funzioni (1) #include <stdioh> void mia_funzione(); /* prototipo della funzione mia_funzione */ main() /* funzione main() */ printf("sono in main()\n"); mia_funzione(); /* chiamo la funzione mia_funzione() */ printf("ritorno a main()\n"); /* definizione della funzione mia_funzione() */ void mia_funzione() /* corpo della funzione mia_funzione() */ printf("sono in mia_funzione()\n");

16 Programma con due funzioni (2) Il programma continene 2 funzioni main() e mia_funzione() Per prima cosa inizia la funzione main() ed esegue la prima istruzione printf() A questo punto main() chiama mia_funzione(), l esecuzione del programma passa nel corpo di mia_funzione() che esegue la propria istruzione printf() e ritorna poi a main() alla linea di codice immediatamente seguente alla chiamata Per finire main() esegue la seconda istruzione printf() e poi termina Nel programma e possibile individuare un altra importante istruzione: void mia_funzione(); Questo e il prototipo della funzione mia_funzione() Un prototipo di una funzione ha il compito di dichiarare la funzione prima della sua definizione Consente al compilatore di conoscere quale tipo di valore la funzione restituisce cosi come quanti e quale tipo di parametri la funzione puo accettare Per il compilatore e essenziale che queste informazioni siano note prima della chiamata alla funzione stessa, per questo il prototipo di mia_funzione() deve essere posto prima di main() Generalmente le funzioni C ritornano un valore La parola chiave void sta a indicare che la funzione mia_funzione() non restituisce alcun valore In C le funzioni che non restituiscono alcun valore vengono dichiarate come void Forma generale delle funzioni C Tutte le funzioni C hanno una forma comune del tipo: tipo-di-restituzione nome-di-funzione(lista parametri) corpo della funzione return;

17 Dichiarazione di funzioni C Ogni funzione deve avere un nome che e seguito da una lista di parametri racchiusi tra parentesi e separati da virgole (argomenti della funzione ) Questi argomenti prendono il nome di parametri formali La lista dei parametri specifica i tipi ed i nomi delle variabili a cui saranno passati I dati Pertanto un parametro e una variabile definita da una funzione che riceve un argomento E necessario dichiarare esplicitamente le variabili e il loro tipo all interno delle prentesi tonde In C tutti gli argomenti delle funzioni vengono passati per valore, questo significa che I valori degli argomenti vengono forniti alla funzione chiamata in variabili temporanee piuttosto che in quelle di origine La funzione chiamata non puo alterare direttamente una variabile che le viene passata dalla funzione chiamante, in quanto gli argomenti forniti alla funzione chiamata non sono altro che delle copie delle variabili presenti nella funzione chiamante Una modifica nel valore dei parametri formali della funzione avra effetto solo localmente, in quanto e una modifica a variabili private per la funzione chiamata e temporanee Se una funzione non ha parametri le parentesi tonde sono vuote Il corpo della funzione e un blocco di istruzioni C racchiuso da parentesi graffe, La funzione termina e ritorna alla routine chiamante quando raggiunge la parentesi graffa chiusa oppure quando incontra un istruzione return In C perche una funzione restituisca un valore, si ricorre all istruzione return Il valore restituito deve essere dello stesso tipo dichiarato in tipo-di-restituzione La forma generale e : return valore; Come le variabili possono essere di tipo diverso, anche i valori restituiti possono essere di tipo diverso Il tipo restituito precede il nome di una funzione sia nel prototipo sia nella definizione Nel caso non venga specificato alcun tipo di restituzione si assume che la funzione restituisca un valore intero Tutte le funzioni C restituiscono solitamente un valore Questo pero non e obbligatorio e le funzioni che non restituiscono un valore hanno void come tipo di restituzione (Esempi: powerc power2c) Note sulla funzione main() In virtu di quanto detto prima la funzione main() resitutisce un numero intero e quindi per essere formalmente corretti andrebbe dichiarata come int e andrebbe terminata con un istruzione return 0; Questa istruzione definisce la fine della funzione main() e restituisce il valore 0 al programma chiamante che e il sistema operativo del computer Per la maggior parte dei sistemi operativi la restituzione del valore 0 significa che il programma sta terminando normalmente mentre altri valori indicano che il programma sta terminando a causa di qualche errore In generale tutti I programmi dovrebbero restituire il valore 0 quando terminano normalmente cioe senza errori Da ora in poi scriveremo sempre il corpo della fuznoine main in questo modo: int main() corpo della funzione return 0;

Programmazione strutturata

Programmazione strutturata Programmazione strutturata Controllo del flusso 1 Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite Salvo contrordini, è in sequenza Il flusso sequenziale è specificato da

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

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

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

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

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

Le strutture di controllo

Le strutture di controllo INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo

Dettagli

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente

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

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

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

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

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

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

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

1 PANORAMICA SUL LINGUAGGIO C

1 PANORAMICA SUL LINGUAGGIO C 1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa

Dettagli

Il linguaggio Java Istruzioni di Controllo

Il linguaggio Java Istruzioni di Controllo Il linguaggio Java Istruzioni di Controllo Istruzioni per il controllo di flusso Istruzioni di selezione if switch Istruzioni di iterazione while do-while for Istruzioni di salto break continue return

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

Cicli annidati ed Array multidimensionali

Cicli annidati ed Array multidimensionali Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

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

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

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

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3) Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

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

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni

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

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Istruzioni semplici e strutturate

Istruzioni semplici e strutturate Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

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

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

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

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

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

Array k-dimensionali

Array k-dimensionali Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Array k-dimensionali In C è possibile definire array con più dimensioni (ANSI C massimo k=12), per

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

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012 Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

Fondamenti di Programmazione. Strutture di controllo

Fondamenti di Programmazione. Strutture di controllo Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due

Dettagli

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Linguaggio C 1! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Oggetti dello stesso tipo Identificazione univoca degli oggetti! Il tipo più semplice ha una sola

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

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

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

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C 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

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi). Operatori di incremento e decremento: ++ e -- ++ e -- sono operatori unari con la stessa priorità del meno unario e associatività da destra a sinistra. Si possono applicare solo a variabili (di tipi interi,

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

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

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

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

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE

Dettagli

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

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

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

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

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

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

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 2

Dettagli

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali

Dettagli

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

Dettagli

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano Scope delle variabili e passaggio parametri Danilo Ardagna Politecnico di Milano 1-4-2014 Introduzione! Con le funzioni è stato introdotto un meccanismo per definire dei piccoli programmi all interno di

Dettagli

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x) Funzioni di libreria Richiedono tutte #include x x a x fabs(x) sqrt(x) pow(x,a) x e ln(x) exp(x) log(x) log 10 ( x ) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x)

Dettagli

Istruzioni di ripetizione in Java 1

Istruzioni di ripetizione in Java 1 in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE. ALLA PROGRAMMAZIONEColonna 1. in linguaggio C

INTRODUZIONE. ALLA PROGRAMMAZIONEColonna 1. in linguaggio C 12 10 8 INTRODUZIONE 6 4 ALLA PROGRAMMAZIONEColonna 1 Colonna 2 Colonna 3 in linguaggio C 2 0 Riga 1 Riga 2 Riga 3 Riga 4 di Mauro Casula { Scopi del seminario Essere chiaro ed esauriente; Spiegare nei

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

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

Un esempio di if annidati

Un esempio di if annidati Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di

Dettagli

Strutture di Controllo

Strutture di Controllo Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

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

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