Funzioni di Ingresso e Uscita

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Funzioni di Ingresso e Uscita"

Transcript

1 Funzioni di Ingresso e Uscita In C, l ingresso e l uscita avviene tramite chiamate (attivazioni) di funzioni (sottoprogrammi) disponibili nella Standard Library Standard Library: collezione di funzioni disponibili nell ambiente C e utilizzabili dai programmi applicativi Funzioni di input e output da terminale e da file gestione di stringhe matematiche La Standard Library è costituita da: una collezione di header file (stdio.h, string.h, math.h) un header file contiene la dichiarazione di tipi, costanti simboliche predefinite e prototipi di funzione #include permette a qualsiasi programma di utilizzare questi identificatori che non sono stati dichiarati all interno del programma e da un insieme di file; ciascun file costituisce il codice oggetto eseguito dalla funzione

2 Stampa su video printf(stringa di controllo, elementi da stampare); printf () è l identificatore riservato alla funzione stringa di controllo (racchiusa tra ), contiene: caratteri alfanumerici da stampare a video caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi da stampare. Es. d, f, c, caratteri di controllo della stampa: caratteri ASCII a cui non corrisponde alcun simbolo stampabile, hanno effetti di formato di stampa, come linea nuova (\n), tabulazione (\t), ecc. SEMANTICA e FUNZIONAMENTO: printf (stringa di controllo, elementi da stampare); è la chiamata alla funzione, che fa partire l attivazione del sottoprogramma associato stampa i caratteri alfanumerici tra doppi apici e al posto dei caratteri di conversioni stampa il valore dell identificatore corrispondente nella lista da stampare I caratteri di controllo stampa posizionano il cursore nella posizione opportuna

3 Ingresso da Tastiera scanf(stringa controllo, lista di variabili) scanf() è l identificatore riservato alla funzione stringa di controllo (racchiusa tra ), contiene: caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi letti da tastiera, che devono essere memorizzati nelle variabili. Es. d, f, c, variabili a cui associare il valore letto: lista di identificatori di variabili. Le variabili devono essere indicate tramite il loro indirizzo (&nome_var). La lista è ordinata rispetto ai caratteri di conversione SEMANTICA e FUNZIONAMENTO scanf(stringa controllo, lista di variabili); è la chiamata alla funzione che attiva l esecuzione del programma associato ad ogni pressione di un tasto, la funzione visualizza su video il carattere alfanumerico premuto la sequenza di tasti premuti deve terminare con la pressione del tasto Invio la funzione assegna alle variabili il valore binario del carattere letto

4 I tipi di dati nelle operazioni di I/O printf( "%d è uguale a %d\n", num1, num2); stringa di controllo tipo dell elemento da stampare %d intero decimale %f floating point %c carattere %s stringa Altri caratteri di controllo: \n (a capo) \t (tabulatore) \ (carattere di escape: permette di visualizzare effetivamente il carattere che lo segue) (es. \, \, \%, \\) scanf( "%d%c%d", &giorno, &mese, &anno ); Nota: nella scanf le variabili vanno precedute da & (ampersand) (vedremo poi perché!)

5 Costrutti di controllo dell esecuzione Istruzioni del linguaggio C Istruzioni di assegnamento Istruzioni composte Costrutti di controllo (istruzioni condizionali e cicliche) Istruzioni di ingresso e uscita Chiamate di sottoprogrammi (funzioni) Istruzioni composte (blocchi di istruzioni): successione di istruzioni racchiuse tra parentesi graffe istruzione1; istruzione2;

6 Scrivere un programma Prima: Aver capito bene il problema i problemi si risolvono eseguendo una serie di azioni in un certo ordine Aver impostato l algoritmo un algoritmo specifica una procedura in termini di azioni da eseguire e ordine di esecuzione Durante: Capire quali costrutti usare Usare buoni principi di programmazione (programmazione strutturata)

7 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: Sequenza: parti di programma eseguite sequenzialmente. Selezione: istruzioni che permettono di prendere strade diverse in base a una condizione (costrutti if). Iterazione: istruzioni che permettono di eseguire ripetutamente un certo insieme di altre istruzioni (costrutti di tipo do e for).

8 Somma dei primi N naturali (0 escluso) INIZIO LEGGI N S=0 I=1 S=S+I SI I=I+1 I>N NO SCRIVI:LA SOMMA E S FINE

9 Istruzioni condizionali Selezione semplice Sintassi if (<condizione>) <blocco> <istruzione> vera Condizione blocco istruzione falsa Selezione doppia Sintassi if (<condizione>) <blocco1> else <blocco2> <istruzione> vera Condizione falsa blocco1 blocco2 istruzione

10 Istruzioni annidate if (<condizione1>) if (<condizione2>) istr1; else istr2; istr3; else viene automaticamente associato all ultimo if aperto! if (<condizione1>) if (<condizione2>) istr1; else istr2; istr3;

11 Costrutti di selezione if Svolge l azione se la condizione è vera (true). if/else Svolge due azioni distinte se la condizione è true oppure se la condizione è false Pseudocodice: If il voto dello studente è maggiore o uguale a 60 Stampa Promosso else Stampa Respinto Notare la convenzione relativa all indentazione C : if ( grade >= 60 ) printf( "Promosso\n"); else printf( Respinto\n");

12 Istruzioni condizionali (selezione semplice) #include <stdio.h> /* Calcolo del valore assoluto */ int main() int numero, valass; /*dichiarazione delle variabili*/ printf( Calcolo Valore Assoluto\n\n ); printf( Inserisci Numero Intero: ); scanf ( %d,&numero); /*acquisizione valori */ if (numero < 0) valass = 0-numero; if (numero >= 0) valass = numero; printf( Numero: %d\n,numero); /*output */ printf( Valore assoluto: %d\n,valass);

13 Istruzioni condizionali (selezione doppia) #include <stdio.h> /* Calcolo del valore assoluto */ int main() int numero, valass; /*dichiarazione delle variabili*/ printf( Calcolo Valore Assoluto\n\n ); printf( Inserisci Numero Intero: ); scanf ( %d,&numero); /*acquisizione valori */ if (numero < 0) valass = 0-numero; else valass = numero; printf( Numero: %d\n,numero); /*output */ printf( Valore assoluto: %d\n,valass);

14 Costrutti Ciclici Indicano che un blocco di istruzioni va rieseguito ciclicamente Elementi di un costrutto ciclico: Inizializzazione Le variabili interessate, e soprattutto quelle usate nella condizione del ciclo, devono essere inizializzate prima della valutazione della condizione Test Deve essere prevista una valutazione della condizione di permanenza nel ciclo, che determini la ripetizione o la terminazione del ciclo Modifica Almeno una delle variabili della condizione deve essere modificata all interno del ciclo, in modo che prima o poi la condizione di ripetizione diventi falsa, causando la terminazione del ciclo

15 Iterazione: il flusso di controllo ciclico Variabile di controllo: inizializzata prima di entrare nel ciclo Condizione di permanenza nel ciclo: a condizione iniziale a condizione finale Modifica della variabile di controllo: avviene nel corpo del ciclo

16 Costrutti ciclici Ciclo a condizione iniziale Sintassi while (<condizione>) <blocco> <istruzione> vera Condizione blocco istruzione falsa Ciclo a condizione finale Sintassi do <blocco> while (<condizione>); <istruzione> vera blocco Condizione falsa istruzione

17 Istruzioni iterative: ciclo a condizione iniziale 1. Leggi(N) 2. If N < 0 then End 3. S=0 4. I=1 5. while(i <= N) do 6. S=S+I 7. I=I+1 8. Scrivi( La somma e S) 9. End #include <stdio.h> /* Somma primi N naturali */ int main() int N, S, I; printf( Inserisci N: ); scanf ( %d,&n); /*input */ if (N >= 0) S=0; I=1; while (I <= N) S=S+I; I=I+1; printf( \nla somma è %d\n,s);

18 Istruzioni iterative: ciclo a condizione finale #include <stdio.h> /* Somma primi N naturali */ void main() int N, S, I; printf( Inserisci N: ); scanf ( %d,&n); /*input */ if (N > 0) /* Accetto solo N positivo */ S=0; I=1; do S=S+I; I=I+1; while(i <= N); /* esce dal ciclo dopo averlo eseguito almeno una volta */ printf( \nla somma è %d\n,s);

19 Un passo ulteriore nella codifica degli algoritmi Verifica dei dati di ingresso: segnalazione dei valori inaccettabili e del motivo Fa parte della gestione dell interazione con l utente: alcune volte più complicata dell algoritmo stesso che risolve il problema

20 Area di un triangolo #include <stdio.h> /* Calcolo dell area di un triangolo*/ int main() int base,altezza,area;/*dichiarazione delle variabili*/ printf( Area del triangolo\n\n ); printf( Inserisci Base: ); scanf ( %d,&base); /*acquisizione valori */ printf( Inserisci Altezza: ); scanf ( %d,&altezza); /*input */ area = (base * altezza)/2; /*calcolo dell area */ printf( Base: %d\n,base); /*output */ printf( Altezza: %d\n,altezza); printf( Area: %d\n,area);

21 Verifica dati d ingresso #include <stdio.h> /* Calcolo dell area di un triangolo */ void main() int base,altezza,area; /*dichiarazione delle variabili*/ printf( Area del triangolo\n\n ); printf( Inserisci Base: ); scanf ( %d,&base); /*acquisizione valori */ printf( Inserisci Altezza: ); scanf ( %d,&altezza); /*input */ if (base>=0 && altezza>=0) area = (base * altezza)/2; /* caso valori d ingresso accettabili */ printf( Base: %d\n,base); /*output */ printf( Altezza: %d\n,altezza); printf( Area: %d\n,area); else printf( Valori non accettabili );

22 Un problema più generale La verifica dei dati di ingresso è un aspetto della tecnica di raffinamento dell algoritmo per passi successivi: Si trascurano volontariamente alcuni dettagli Ci si concentra sul problema fondamentale In seguito si introducono successivi miglioramenti

23 Formulazione di un algoritmo (Ciclo controllato da un contatore) Il corpo del ciclo viene ripetuto fino a quando la variabile contatore raggiunge un valore definito. Il valore è definito: il numero di ripetizioni è noto. Esempio: Una classe di 10 studenti ha ottenuto i voti di un compito. Trovare la media di questi voti.

24 Raffinamenti successivi Raffinamento Top-down: Si comincia con una rappresentazione in pseudocodice del top: Determinare la media della classe Si divide il top in sottoproblemi da risolvere (in ordine): Inizializzazione variabili Input, somma e conteggio dei voti Calcolo e output della media Pseudocodice: Inizializzare il totale a zero Inizializzare il contatore a uno While contatore minore o uguale a dieci Leggi il prossimo voto Aggiungi il voto al totale Aggiungi uno al contatore Calcola la media (uguale a totale diviso per 10) Stampa la media

25 1 /* 2 Programma per il calcolo della media di una classe 3 ciclo controllato da un contatore */ 4 #include <stdio.h> 5 6 int main() 7 8 int counter, grade, total, average; 9 10 /* inizializzazione */ 11 total = 0; 12 counter = 1; /* elaborazione */ 15 while ( counter <= 10 ) 16 printf( "Prossimo voto: " ); 17 scanf( "%d", &grade ); 18 total = total + grade; 19 counter = counter + 1; 1. Initialize Variables 2. Execute Loop Output results 22 /* terminazione */ 23 average = total / 10; 24 printf( Media della classe %d\n", average );

26 Prossimo voto: 8 Prossimo voto: 6 Prossimo voto: 5 Prossimo voto: 7 Prossimo voto: 3 Prossimo voto: 9 Prossimo voto: 7 Prossimo voto: 9 Prossimo voto: 3 Prossimo voto: 4 Media della classe 6 Output del programma (attenzione al troncamento!!!)

27 Formulazione dell algoritmo per raffinamenti successivi Il problema diventa: Sviluppare un programma che accetta UN NUMERO ARBITRARIO di voti. Come si fa a decidere QUANDO terminare? Valoresentinella Indicata fine dell input Il ciclo finisce quando il valore sentinella viene inserito Deve essere scelto in modo da non confonderlo con i valori normali (es. -1 in questo caso)

28 Ancora raffinamenti successivi (le fasi sono le stesse) Inizializzazione variabili (raffinato in: ) Inizializzare il totale a zero Inizializzare il contatore a zero Input, somma e conteggio dei voti (raffinato in: ) Leggi prossimo voto (potrebbe essere la sentinella) While l utente non ha ancora immesso la sentinella Aggiungi il voto al totale Aggiungi uno al contatore Leggi prossimo voto (potrebbe essere la sentinella) Calcolo e output della media (raffinato in: ) If il contatore è diverso da zero Calcola la media (uguale a totale diviso per il valore del contatore) Stampa la media else Stampa: Non è stato immesso alcun voto

29 1 /* 2 Programma per il calcolo della media di una classe 3 ciclo controllato da sentinella */ 4 #include <stdio.h> 5 6 int main() 7 8 float average; /* nuovo tipo di dato */ 9 int counter, grade, total; /* initializzazione */ 12 total = 0; 13 counter = 0; /* elaborazione */ 16 printf( "Prossimo voto, -1 per teminare: " ); 17 scanf( "%d", &grade ); while ( grade!= -1 ) 20 total = total + grade; 21 counter = counter + 1; 22 printf( "Prossimo voto, -1 per teminare: " ); 23 scanf( "%d", &grade ); 24

30 25 26 /* terminazione */ 27 if ( counter!= 0 ) 28 average = ( float ) total / counter; 29 printf( " Media della classe %.2f", average ); else 32 printf( " Non è stato immesso alcun voto \n" ); Prossimo voto, -1 per teminare: 7 Prossimo voto, -1 per teminare: 9 Prossimo voto, -1 per teminare: 9 Prossimo voto, -1 per teminare: 8 Prossimo voto, -1 per teminare: 7 Prossimo voto, -1 per teminare: 6 Prossimo voto, -1 per teminare: 8 Prossimo voto, -1 per teminare: 8 Prossimo voto, -1 per teminare: -1 Media della classe 7.75

31 Strutture di controllo nidificate (ciclo) Problema Un college ha una lista di risultati di test (1 = passato, 2 = respinto) per 10 studenti. Scrivere un programma che analizza i risultati: se passano più di 8 studenti, stampa Alzare la retta Note: Il programma deve analizzare 10 risultati: ciclo controllato da un contatore Possono essere usati due contatori, uno per il numero di studenti passati, uno per i respinti Ogni risultato è 1 oppure 2: se non è 1, assumiamo che sia 2.

32 Strutture di controllo nidificate (ciclo) (II) Livello top: Analizzare i risultati e decidere se bisogna alzare la retta Primo Raffinamento Inizializza variabili Leggi i dieci risultati e conta passati e respinti Stampa riassunto dei risultati e decidi se alzare la retta

33 Strutture di controllo nidificate (ciclo) (III) Inizializza variabili : Inizializza passati a zero Inizializza respinti a zero Inizializza contatore studenti a uno Leggi i dieci risultati e conta passati e respinti While contatore studenti minore o uguale a dieci Leggi prossimo risultato If lo studente è passato Aggiungi uno ai passati else Aggiungi uno ai respinti Aggiungi uno al contatore studenti Stampa riassunto dei risultati e decidi se alzare la retta Stampa numero di passati Stampa numero di respinti If più di 8 studenti sono passati Stampa Alzare la retta

34 1 /* 2 Analisi dei risultati d esame */ 3 #include <stdio.h> 4 5 int main() 6 7 /* inizializzazione nella dichiarazione */ 8 int passes = 0, failures = 0, student = 1, result; 9 10 /* ciclo controllato dal contatore */ 11 while ( student <= 10 ) 12 printf( Introdurre un risultato ( 1=passato,2=respinto ): " ); 13 scanf( "%d", &result ); if ( result == 1 ) /* if/else nidificato nel while */ 16 passes = passes + 1; 17 else 18 failures = failures + 1; student = student + 1; printf("passati %d\n", passes ); 24 printf( Respinti %d\n", failures ); if ( passes > 8 ) 27 printf( Alzare la retta\n" );

35 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 2 Introdurre un risultato (1=passato,2=respinto): 2 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 2 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 1 Introdurre un risultato (1=passato,2=respinto): 2 Passati 6 Respinti 4 Output

36 Ciclo FOR Ciclo a conteggio Cont = val_iniziale; while (cont <= val_finale) <istruzioni del corpo del ciclo> cont=cont+1; Ciclo for: costrutto ciclico del C che racchiude inizializzazione, test, e modifica della variabile di controllo Sintassi for (espr1; espr2; espr3) <corpo del ciclo> <istruzione> espressione1: definisce il valore iniziale della variabile di controllo del ciclo espressione2: definisce la condizione sul valore finale della variabile di controllo espressione3: definisce la modifica della variabile di controllo espr1 espr2 vera blocco espr3 istruzione falsa for (cont=val_iniziale; cont<=val_finale; cont++) <corpo del ciclo> <istruzione>

37 Alternativa per N >=0 #include <stdio.h> /* Somma primi N naturali */ int N, S, I; int main() int N, S, I; printf( Inserisci N: ); scanf ( %d,&n); /*input */ if (N >= 0) /* Verifica dati d ingresso */ S=0; for (I=0; I <= N; I++) /* notare inizio I=0 */ S=S+I; printf( \nla somma è %d\n,s);

38 Calcolo del fattoriale #include <stdio.h> /* Calcolo n fattoriale per n positivo */ int main() int n, fatt, m; printf( Inserisci n: ); scanf ( %d,&n); /*input */ if(n > 0) /* Verifica dati d ingresso */ fatt = 1; for (m=n; m>=2; m--) /* notare m viene decrementato */ fatt = fatt * m; printf( Il fattoriale di %d è:%d\n,n,fatt);

39 Calcolo del fattoriale #include <stdio.h> /* Calcolo n fattoriale per n positivo */ int main() int n, fatt, m; printf( Inserisci n: ); scanf ( %d,&n); /*input */ if(n > 0) /* Verifica dati d ingresso */ fatt = 1; for (m=2; m<=n; m++) /* notare m viene incrementato */ fatt = fatt * m; printf( Il fattoriale di %d è:%d\n,n,fatt);

40 Calcolo del fattoriale (uso del while) #include <stdio.h> /* Calcolo n fattoriale */ int main() int n, fatt, m; printf( Inserisci n: ); scanf ( %d,&n); /*input */ if (n > 0) /* Verifica dati d ingresso */ fatt = n; m=n; /* esp 1 */ while (m>2) /* esp 2 */ fatt = fatt * (m-1); m--; /* esp 3 */ printf( Il fattoriale di %d è:%d\n,n,fatt);

20/10/2014 M. Nappi/FIL 1

20/10/2014 M. Nappi/FIL 1 FIL Lezione 4: Istruzioni Iterative. Michele Nappi mnappi@unisa.it biplab.unisa.it 20/10/2014 M. Nappi/FIL 1 La struttura di Iterazione while Struttura tt di iterazione i Il programmatore specifica un

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

Come scrivere bene codice? (1 di 1)

Come scrivere bene codice? (1 di 1) DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.

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

I/O e strutture di controllo

I/O e strutture di controllo Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi

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

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

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

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

Strutture di controllo in C

Strutture di controllo in C Strutture di controllo in C Seconda parte La struttura di iterazione while Consente al programmatore di specificare che un azione dovrà essere ripetuta finché la condizione rimane true. Esempio (Pseucodice):

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

del Linguaggio C Istruzioni di iterazione

del Linguaggio C Istruzioni di iterazione Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il

Dettagli

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso 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

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

SECONDA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso IF e WHILE

SECONDA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso IF e WHILE CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2018-2019 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma SECONDA ESPERIENZA DI LABORATORIO Programmazione con controllo

Dettagli

Istruzioni di Controllo

Istruzioni di Controllo Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore

Dettagli

Introduzione al C. Introduzione

Introduzione al C. Introduzione Introduzione al C Introduzione 2 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

I/O e strutture di controllo

I/O e strutture di controllo Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi

Dettagli

ISTRUZIONI ISTRUZIONI SEMPLICI

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

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

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

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

Struttura di un. Struttura dei programmi C

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

Dettagli

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire: Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)

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

Iterazione A. Ferrari

Iterazione A. Ferrari Iterazione A. Ferrari Iterazioni (cicli) L iterazione è una struttura che consente di ripetere più volte l esecuzione di un insieme di istruzioni. Due tipi di iterazione: iterazioni enumerative: consentono

Dettagli

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

Strutture di controllo

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

Dettagli

Le funzioni, e le istruzioni di input/output

Le funzioni, e le istruzioni di input/output Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali

Dettagli

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due 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 aggregare

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

Introduzione al linguaggio C

Introduzione al linguaggio C INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C Introduzione Linguaggio di programmazione ad alto livello Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro

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

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

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

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

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

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

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

Dettagli

Strutture di controllo in C

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

Dettagli

Introduzione al C. Lez. 1 Elementi

Introduzione al C. Lez. 1 Elementi Introduzione al C Lez. 1 Elementi Introduzione al C Strumento che adotteremo in queste esercitazioni per implementare e testare gli algoritmi visti a lezione Configurazione minimale suggerita: Editing

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

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

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

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

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

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

Strutture di controllo in C. Strutture di controllo in C -- Flow Chart --

Strutture di controllo in C. Strutture di controllo in C -- Flow Chart -- -- Flow Chart -- Corso di Informatica A Vito Perrone 1 Indice Rappresentazione degli algoritmi tramite flow chart Istruzione La parte dichiarativa L I/O Primi esempi che girano 2 Codifica degli algoritmi

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

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

ISTRUZIONI SEMPLICI ISTRUZIONI ISTRUZIONI DI CONTROLLO PROGRAMMAZIONE STRUTTURATA

ISTRUZIONI SEMPLICI ISTRUZIONI ISTRUZIONI DI CONTROLLO PROGRAMMAZIONE STRUTTURATA 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

Fondamenti di Informatica A. A. 2018/19

Fondamenti di Informatica A. A. 2018/19 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale

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

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

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 Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia

Dettagli

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

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

Dettagli

Algoritmi e basi del C

Algoritmi e basi del C Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 24 Agosto 2015 Benvenuti nel fantastico mondo del C 2 Il primo programma: ciao mondo 3 Ciao Mondo: stdio.h Come

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

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0; Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare

Dettagli

Cosa serve per cominciare?

Cosa serve per cominciare? Cosa serve per cominciare? La linea di comando Il notepad (o equivalente) Saper scrivere qualcosa a video da programma risultato dell elaborazione elaborazione Ma come si fa?! 1 Input / Output L'immissione

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

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

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

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

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

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

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...

Dettagli

Capitolo 3 Sviluppo di Programmi Strutturati

Capitolo 3 Sviluppo di Programmi Strutturati Capitolo 3 Sviluppo di Programmi Strutturati Introduzione Strutture di controllo If Selection Statement If Else Selection Statement While Repetition Statement Ripetizione Counter-Controlled Uso di una

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con

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

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 di Controllo in C. Emilio Di Giacomo

Istruzioni di Controllo in C. Emilio Di Giacomo Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni

Dettagli

Qualsiasi programma in C++ segue lo schema:

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

Dettagli

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 Strutture di controllo

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

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe

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

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma

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 di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Istruzioni di Ciclo. Unità 4. 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

Algoritmi e basi del C Struttura di un programma

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

Dettagli

Analisi strutturata 1

Analisi strutturata 1 Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

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

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

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

Dettagli

Introduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso

Introduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso Introduzione al C Lezione 1 Elementi Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso C Mercoledì 19 Giovedì

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

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

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

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

<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

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

Dettagli

Iterazione determinata e indeterminata

Iterazione determinata e indeterminata Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco di

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

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

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

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

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

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