Funzioni di Ingresso e Uscita
|
|
- Franca Valenti
- 5 anni fa
- Visualizzazioni
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
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
DettagliEsercitazione 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
DettagliCome 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.
DettagliLinguaggio 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
DettagliI/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
DettagliLinguaggio 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
DettagliLe 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
DettagliLaboratorio 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
DettagliIntroduzione 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
DettagliStrutture 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):
DettagliINFORMATICA. 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
Dettaglidel 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
DettagliIstruzioni. 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
DettagliLe 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
DettagliSECONDA 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
DettagliIstruzioni 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
DettagliIntroduzione 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
DettagliI/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
DettagliISTRUZIONI ISTRUZIONI SEMPLICI
ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=
DettagliI 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
DettagliTipo 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
DettagliLEZIONE 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 -
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
DettagliStruttura 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
DettagliSviluppo 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)
DettagliUn 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
DettagliIterazione 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
DettagliInput/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
DettagliStrutture 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
DettagliLe 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
DettagliIstruzioni. 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
DettagliInformatica (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
DettagliIntroduzione 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
DettagliISTRUZIONI 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
DettagliFondamenti 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
DettagliIntroduzione 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
DettagliDati 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
DettagliIstruzioni 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
DettagliANALIZZIAMO 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;
DettagliStrutture 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
DettagliIntroduzione 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
DettagliProgrammazione 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
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliIstruzioni 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
DettagliEsercitazione 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
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliStruttura 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
DettagliStrutture 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
DettagliFondamenti 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
DettagliErrori 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
DettagliISTRUZIONI 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
DettagliFondamenti 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
DettagliIntroduzione 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ì
DettagliIntroduzione 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
DettagliProgrammazione 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
DettagliCorso 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
DettagliSTRUTTURE 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
DettagliAlgoritmi 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
DettagliESECUZIONE 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
Dettagliint 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
DettagliCosa 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
DettagliLinguaggio 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
DettagliPROGRAMMAZIONE: 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
DettagliISTRUZIONI. 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
DettagliEsempi 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
DettagliAssegnazione 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
DettagliEsercitazione 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
DettagliPREFAZIONE... 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...
DettagliCapitolo 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
DettagliPaolo 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
DettagliLaboratorio 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
DettagliRappresentazione 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
DettagliISTRUZIONI 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
DettagliIstruzioni 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
DettagliQualsiasi 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
DettagliRappresentazione 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
DettagliLinguaggio 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
DettagliPaolo 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
DettagliISTRUZIONI. 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
DettagliLinguaggio 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
DettagliUnità 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
DettagliIstruzioni 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
DettagliAlgoritmi 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
DettagliAnalisi 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
DettagliStrutture 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
DettagliAlgoritmi 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
DettagliProgrammazione 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
DettagliIntroduzione 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ì
DettagliInformatica 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
DettagliLezione 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
DettagliLinguaggio 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
DettagliEsercizi 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> ;
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
DettagliPseudo 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
DettagliIterazione 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
DettagliLaboratorio 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
DettagliFondamenti 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
DettagliIntroduzione 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
DettagliSunto 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
DettagliLinguaggio 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