Nozioni base di programmazione in linguaggio C
|
|
- Benvenuto Alessi
- 7 anni fa
- Visualizzazioni
Transcript
1 Nozioni base di programmazione in linguaggio C Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it Codifica degli algoritmi Algoritmo formulato per essere eseguito automaticamente Preciso ed eseguibile Linguaggio macchina linguaggio di programmazione di alto livello Formulato per essere comunicato tra esseri umani Sintetico e intuitivo Linguaggio naturale Informatica A - Cugola 2
2 C: differenze rispetto al linguaggio macchina Elementi del programma (celle di memoria, istruzioni, valori costanti) denotati in modo simbolico Usando un identificatore... più facile da ricordare Sequenza di esecuzione istruzioni espressa in modo più simile al linguaggio naturale e alla matematica Informatica A - Cugola 3 La macchina astratta C Informatica A - Cugola 4
3 Standard I/O Un programma C ha due periferiche standard di ingresso e uscita Standard input (tastiera) Standard output (video) Possiamo pensarle come sequenze di celle elementari ognuna delle quali contiene un dato (da leggere o scritto) Informatica A - Cugola 5 Memoria Divisa in celle elementari: VARIABILI Ogni cella può contenere un dato I dati possono essere Numeri Caratteri Stringhe (successioni finite di caratteri, immagazzinati in celle consecutive) Semplificazioni/ idealizzazioni (astrazioni) Nessun limite al numero delle celle e al valore numerico contenuto Informatica A - Cugola 6
4 Variabili Denotate tramite identificatori simbolici Regole per gli identificatori in C: Un identificatore è composto da una successione di lettere, cifre e simbolo _, con al primo posto una lettera o il simbolo _ Esempi di identificatori C a, x, alfa, pippo, a1, xy23, Giuseppe, DopoDomani, velocita_massima, _velocita NB maiuscole distinte dalle minuscole: Var1, var1 e VAR1 sono tre diversi identificatori Si noti che il concetto di variabile in un linguaggio di programmazione differisce dal concetto di variabile in matematica In un linguaggio di programmazione una variabile è semplicemente il nome per una cella di memoria x=x+1 è una tipica istruzione C, non ha molto senso in matematica Informatica A - Cugola 7 Attenzione Per evitare ambiguità è vietato usare: Stesso identificatore per indicare diversi elementi Diversi identificatori per lo stesso elemento Esistono identificatori riservati Associati a priori a qualche elemento del linguaggio Non usabili dal programmatore con significati differenti da quello predefinito Esempio: parole chiave scanf operazione di ingresso printf operazione di uscita Informatica A - Cugola 8
5 Struttura di un programma C Intestazione costituita dall identificatore predefinito main sequito da una coppia di parentesi tonde () Seguita da una sequenza di istruzioni, racchiuse tra { e Ogni istruzione termina con ; Esempio: main() { x = 3; myvar = 5; Informatica A - Cugola 9 Istruzioni Assegnamenti Ingresso/ Uscita Istruzioni composte Informatica A - Cugola 10
6 Assegnamento Sintassi: variabile = espressione; Esempio: lunghezza = 10; altezza = 20; alt = altezza; peso = 10*altezza*(lunghezza +1); L espressione può essere Un valore costante Una variabile combinazione di espressioni mediante operatori (e.g. aritmetici +,, *, /, %) e parentesi Informatica A - Cugola 11 Esecuzione assegnamento L esecuzione di una istruzione di assegnamento avviene secondo i seguenti due passi in sequenza valutazione dell espressione memorizzazione del risultato nella variabile a sinistra del simbolo = Esempio: x = y * (x + 3) * 2; passo 1 passo 2 passo 4 passo 3 Informatica A - Cugola 12
7 Autoassegnamenti e incrementi- decrementi E comunque avere istruzioni del tipo: x = x + 1; dette auto -assegnamenti Per questo esiste una sintassi abbreviata per auto-assegnamenti e incrementi-decrementi x = x + a x += a x = x a x -= a x = x * a x *= a x = x / a x /= a x = x + 1 x++ x = x 1 x-- Informatica A - Cugola 13 Istruzioni di I/O trascurando qualche dettaglio!!! scanf(variabile) printf(espressione) Esempio printf(larghezza); printf((a z)/10); ingresso uscita Informatica A - Cugola 14
8 Casi particolari Stampa di un carattere Per evitare ambiguità con gli identificatori, i caratteri vengono racchiusi tra apici printf('a'); In maniera analoga le stringhe vengono racchiuse tra doppi apici printf("alfa"); sta per printf('a'); printf('l'); printf('f'); printf('a'); Informatica A - Cugola 15 Istruzione composta (compound statement) Si possono raggruppare più istruzioni in sequenza tra { e a costituire un blocco del tutto equivalente a una singola istruzione Non è necessario il ; dopo, in quanto il blocco è già una istruzione (non necessita del terminatore per diventarla) Informatica A - Cugola 16
9 Condizioni Le condizioni sono espressioni che hanno valore vero o falso In C non esiste un tipo boolean vero e proprio ma si ricorre a una convenzione vero qualunque valore intero 0 falso il valore 0 Informatica A - Cugola 17 Condizioni Le condizioni si costruiscono usando operatori relazionali ==!= < > <= >= Oppure logici! (NOT) (OR) && (AND) Informatica A - Cugola 18
10 Esempi di condizioni X == 0 X>0 && A!= 3!((x+5)*10 >= (ALFA3/BETA_DUE)) NB esistono regole di precedenza! a b && c prima!, poi &&, poi in caso di dubbio, usare le parentesi tonde Informatica A - Cugola 19 Dettagli Gli operatori && e si valutano da sinistra a destra La valutazione continua solo fino a quando si è raggiunta la certezza del valore di verità dell espressione, quindi si ferma (valutazione in corto circuito) Esempio: (i==0) ((a/i)>5) non genera un errore se i=0; genera 0 (falso) Informatica A - Cugola 20
11 Istruzione composta condizionale E possibile modificare il flusso di controllo del programma in funzione del risultato della valutazione di una espressione condizionale usando l istruzione if...else if(xx < 0) xx = -xx; else xx = xx + 10; Per maggior leggibilità, è bene usare regole di incolonnamento (indentazione) if(xx < 0) xx = -xx; else xx = xx + 10; Informatica A - Cugola 21 Esempio if(a > b) { max = a; printf ( massimo: %d, a); else { max = b; printf ( massimo: %d, b); Notare Notare Informatica A - Cugola 22
12 if semplice E possibile omettere la parte else if(x < 0) x = - x; /* calcola val. assoluto*/ Nel caso di if nidificati possono esserci delle ambiguità: if(n > 0) if(a>b) z = a; else z = b; L ambiguità è risolta dal C associando l else all if più vicino L'i ndentazione lo rende evidente (ma l indentazione non ha significato per il compilatore) if(n > 0) if(a > b) z = a; else z = b; Se incerti, usare le parentesi (che invece hanno un significato ben preciso anche per il compilatore) if(n > 0) { if(a > b) z = a; else z = b; Informatica A - Cugola 23 Commenti Racchiusi tra / * e */ L intera stringa è ignorata dal compilatore Servono per migliorare la leggibilità di un programma e la facilità di modifica Esempio: printf( a = %d,a); /*stampa il valore di a*/ Informatica A - Cugola 24
13 Il ciclo (loop( loop) while Ripete una istruzione, o un blocco di istruzioni, fin tanto che una condizione è vera Sintassi: while (condizione) istruzione; Esempio: scanf (a);/* a è un naturale*/ scanf(b); /* b è un naturale*/ while (b > 0) { a = a + a; b--; Informatica A - Cugola 25 Esempio: calcolo del MCD (1) /*si scandiscono tutti i naturali da 1 al min tra x e y. L ultimo div. comune trovato è il MCD*/ scanf(x); scanf(y); /*x, y naturali positivi*/ contatore = 1; if(x<y) min = x; else min = y; while(contatore <= min) { if((x % contatore)==0 && (y % contatore)==0) ) mcd = contatore; contatore++; Informatica A - Cugola 26
14 Esempio: MCD (2) /*si scandiscono i naturali diminuendo a partire dal minimo tra x e y. Il primo divisore comune trovato è il MCD*/ scanf(x); scanf(y); /*x, y naturali positivi*/ if(x<y) cand = x; else cand = y; while((x % cand)!= 0 (y % cand)!= 0) --cand; mcd = cand; Informatica A - Cugola 27 Esempio: MCD (3) /*si codifica l algoritmo di Euclide*/ scanf(x); scanf(y); /*x, y naturali positivi*/ while(x!= y) if(x > y) x = x y; else y = y x; mcd = x; Informatica A - Cugola 28
15 Analisi critica Siamo sicuri che il ciclo termini sempre? Cruciale l'i potesi che x e y siano naturali positivi Il programmatore serio immetterebbe un opportuno controllo Sotto questa ipotesi, ad ogni passo o x o y decresce, ma resta positivo Non esiste una sequenza di coppie <x, y> che rispetti queste proprietà e che non sia finita Informatica A - Cugola 29 Esercizi Si implementi un programma che chiede all' utente di inserire un numero intero e verifica se sia primo Si scriva un programma che calcola il più piccolo numero primo successivo ad un intero dato Informatica A - Cugola 30
16 I dettagli del C Il programma deve essere definito come main main( ) {... Per poter effettuare I/ O deve includere le librerie opportune #include <stdio.h> Informatica A - Cugola 31 Le dichiarazioni Tutte le variabili devono essere dichiarate, specificandone il tipo TIPO: definisce l' insieme di valori assumibili e le operazioni applicabili Perché dichiarare? Per poter controllare il programma in compilazione int pippo; int beppe; pippo = pipo+1; beppe= a ; Informatica A - Cugola 32
17 Tipi predefiniti in C char, int, float e double int i = 0; /*inizializzazione*/ char a; const float pi = 3.14; /*pi non può più essere modificato*/ float zeta = 1.33; Consigli: Inizializzare sempre esplicitamente. Evitare le inizializzazioni implicite che C potrebbe eseguire, al fine di migliorare la leggibilità Informatica A - Cugola 33 printf: : maggiori dettagli Richiede oltre agli elementi da stampare una stringa di controllo che specifica il tipo del dato da stampare Sintassi esatta: printf (stringa_controllo, elementi); Stringa di controllo: %d intero decimale %f floating point %c carattere %s stringa \ n (new line) manda a capo Informatica A - Cugola 34
18 Esempio float t1, t2;/*temperatura in gradi celsius e fahrenheit*/... printf ( %s\n%s%f\n%s%f\n, temperatura, in gradi celsius=, t1, in fahrenheit=, t2); printf ( temperatura\nin gradi celsius=%f\nin fahrenheit=%f\n, t1, t2); Informatica A - Cugola 35 scanf Anch essa prevede una stringa di controllo che specifica come devono essere interpretati i caratteri letti in ingresso I nomi delle variabili di cui leggere il valore (per motivi che vedremo) debbono essere preceduti da & Esempio: int a, b; char c; float d; scanf( %d%d%c%f, &a, &b, &c, &d); Informatica A - Cugola 36
19 I tipi di dati Il tipo rappresenta l insieme dei possibili valori che una variabile può assumere nonché le operazioni che possiamo effettuare su tale variabile Attraverso l attribuzione di un tipo l uso di una variabile diventa molto diverso dalla visione di un dato da parte del linguaggio macchina Sequenza di bit, che posso interpretare come voglio (sommarla come se fosse un numero intero, farla scorrere a destra o sinistra, ecc.) Informatica A - Cugola 37 Vantaggi del concetto di tipo Si conosce quanta memoria riservare a una variabile in funzione del suo tipo int: di solito una parola float: di solito due parole Si possono rilevare errori di uso della variabile in fase di compilazione (ma qui il C è alquanto debole...) Informatica A - Cugola 38
20 Conversioni di tipo Quando in C un operando non è del tipo atteso, anziché segnalare errore viene fatta di solito una conversione automatica di tipo Esempio int i; float f, f1; f1 = i + f; /* la valutazione dell espressione i+f effettua prima la conversione di i in float e poi la somma */ Informatica A - Cugola 39 Altre conversioni di tipo int a, b; float c; a=c; /*troncamento*/ c=a; /*trasformazione di intero in float*/ Si noti l uso dello stesso simbolo per operazioni diverse a=a/b; /*nessuna conversione, a/b è un valore intero troncato*/ a=a/c; /*a trasformato in float, divisione eseguita, troncamento nell assegnamento*/ Informatica A - Cugola 40
21 Il tipo int E` un approssimazione sul concetto matematico di numero intero Normalmente utilizza 1 parola Esistono anche short int e long int Tipicamente: long 32 bit, short 16 bit e int 16 o 32 E richiesto che spazio per short <= spazio per int <= spazio per long Si può usare il tipo char per interi tra 127 e 127 Si può anche specificare signed/unsigned signed è ridondante per i tipi numerici Posso avere unsigned int, signed char,... Informatica A - Cugola 41 I tipi float e double Sono un approssimazione sul concetto matematico di numero razionale Le costanti si possono scrivere in vario modo: E-5 double di solito occupa più memoria di float Tipicamente 4 byte per float e 8 byte per double (...esistono anche i long double, che devono occupare almeno tanto spazio quanto i double) Informatica A - Cugola 42
22 Tipo predefinito char signed char unsigned char signed short int signed int signed long int unsigned short int unsigned int unsigned long int float double long double Denominazioni alternative signed short, short signed, int long int, signed long, long unsigned short unsigned unsigned long Informatica A - Cugola 43 Ancora sulle conversioni automatiche di tipo Si consideri un operatore aritmetico binario Se uno dei due operandi è long double, converti l altro a long double, altrimenti Se uno dei due è double, converti l altro a double, altrimenti Se uno dei due è float, converti l altro a float, altrimenti Converti char e short a int Quindi, se un operando è long, converti l altro a long Informatica A - Cugola 44
23 Ancora sulle conversioni automatiche di tipo Si consideri un assegnamento Il valore dell espressione della parte destra viene convertito al tipo che sta a sinistra di = Un char è convertito a int Interi lunghi (p.es. int) sono convertiti in interi più corti (p. es. char) troncando bit float x; int i; sia x=i che i=x causano conversioni Quando double viene convertito in float dipende dall implementazione se troncamento o arrotondamento Informatica A - Cugola 45 Cautele Attenzione ai confronti tra float if (a == b)... potrebbe non avere senso a causa delle approssimazioni nella memorizzazione!!! Informatica A - Cugola 46
24 Il tipo char Di solito rappresentato mediante un byte di 8 bit pertanto consente di rappresentare i caratteri ASCII I caratteri sono rappresentati da numeri interi e quindi tra essi è definito un ordinamento Per esempio il carattere ASCII 0 è rappresentato dall intero 48 più grande del carattere ASCII 1 rappresentato dall intero 49 Informatica A - Cugola 47 Un esempio Il prossimo esempio illustra: La somiglianza tra char e int Come progettare il dialogo di I/ O Facendo precedere sempre un input da un output di richiesta ("prompt") Informatica A - Cugola 48
25 #include <stdio.h> main() { /*legge un carattere e ne stampa il valore ASCII se è lettera minuscola; se no termina*/ char c; int i; printf( scrivi un carattere minuscolo (maiuscolo per terminare)\n ); scanf ( %c, &c); while (c>= a && c<= z ) { i=c; printf( valore ASCII per %c risulta %d, c, i); printf( scrivi un carattere minuscolo (maiuscolo per terminare)\n ); scanf ( %c, &c); Informatica A - Cugola 49 Esercizi Si scriva un programma che legge da standard input un numero e una sequenza di caratteri (terminata dal carattere x ) e via via che legge crittografa i caratteri usando la tecnica di shift di tante cifre quanto vale il numero letto Nota: i caratteri leggibili vanno da 32 a 127 (ascii) Moltiplicare 2 numeri razionali (definiti da numeratore e denominatore) semplificando il risultato Informatica A - Cugola 50
26 Tipi integral char signed char unsigned char short int long unsigned short unsigned unsigned long Informatica A - Cugola 51 Studio dei cicli Caso con numero di iterazioni predeterminato (p. es., n) int contatore = 1; while (contatore <= n) { ; contatore++; oppure int contatore = 0; while (contatore < n) { ; contatore++; vedremo l' esistenzadi un ulteriore forma di ciclo per questo caso Informatica A - Cugola 52
27 Studio dei cicli Iterazione controllata da "sentinella" Esempio: calcolare la media di una serie di numeri naturali da leggere. Il valore 1 indica la fine del flusso NB: scegliere la sentinella in modo che non faccia parte dell'i nsieme dei valori da elaborare!!! Informatica A - Cugola 53 printf("fornisci valore da elaborare; se hai finito, fornisci % ", sentinella); scanf("% ", valore); while (valore!= sentinella) { elabora valore; printf("fornisci valore da elaborare; se hai finito, fornisci % ", sentinella); scanf("% ", valore); Informatica A - Cugola 54
28 La costruzione incrementale (top down) dei programmi Si leggono sequenze di gruppi di naturali; ciascun gruppo è separato dal successivo dal numero 0 L ultimo gruppo è terminato da -1 Si stampano in uscita sequenze di naturali che rappresentano le somme dei valori dei singoli gruppi Informatica A - Cugola 55 passo 2 passo 1 int i; scanf( %d, &i); while (i!= -1) { calcola sommatoria; stampa sommatoria; passa a prox. gruppo; passo 3 cerca gruppo; while (esiste un gruppo) { calcola sommatoria; stampa sommatoria; passa a prossimo gruppo; int i; int sum; scanf( %d, &i); while (i!= -1) { sum= 0; accumula sommatoria; printf ( %d \n, sum); passa al prossimo gruppo; Informatica A - Cugola 56
29 passo 4 int i; int sum; scanf( %d, &i); while (i!= -1) { sum= 0; while (gruppo non finito) { sum += i; scanf ( %d, &i); printf ( %d \n, sum); if (i!= -1) scanf ( %d, &i); gruppo non finito i!= 0 && i!= -1 Informatica A - Cugola 57 Che cosa abbiamo fatto Il programma viene derivato per passi successivi di raffinamenti Viene scritto ad ogni passo in un misto di C e linguaggio naturale (pseudo-codice) Alla fine del processo di raffinamenti risulta scritto in C ed è eseguibile I passi scritti in linguaggio naturale e raffinati al passo successivo possono diventare commenti Informatica A - Cugola 58
Tipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliLinguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin
Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliProgrammare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
DettagliIntroduzione al linguaggio C
Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliInformatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale
Informatica A A.a. 2006/2007 Allievi Ingegneria Gestionale Il linguaggio C Tecnologia Software Il SW come Interfaccia Tra Utente e Macchina Fisica Programma dell utente (software applicativo) Gestione
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
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
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
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
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliIL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
DettagliIL PROBLEMA DEL PROGETTO
IL PROBLEMA DEL PROGETTO La descrizione del problema, in genere, non indica direttamente il modo per ottenere il risultato voluto (il procedimento risolutivo) Occorrono metodologie per affrontare il problema
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
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
Dettagli<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita nel modo seguente: ::= {} {} Intuitivamente un programma
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
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
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
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliAlgoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
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
DettagliUn elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
Dettagli1 PANORAMICA SUL LINGUAGGIO C
1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
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
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
DettagliBasi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
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
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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
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
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
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
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
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=
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
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. 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
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliTipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.
Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned
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
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
DettagliLe parole chiave char, int, float, double, ed enum descrivono i. che modificano i tipi base
Il linguaggio C I tipi di dati scalari Il casting Le dichiarazioni di tipo I puntatori I tipi di dati scalari 1 2 I tipi di dati scalari 1 Una delle caratteristiche più importanti dei linguaggi di alto
DettagliVerso i puntatori: Cosa è una variabile?
Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per
DettagliIntroduzione al linguaggio C
Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliGli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento
Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici
DettagliIntroduzione alla programmazione in C++
Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione
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
DettagliConversioni fra Tipi di Dati. Luca Abeni
Conversioni fra Tipi di Dati Luca Abeni Tipi di Dato e Conversioni In C, ogni variabile è caratterizzata da un tipo I valori che la variabile può assumere dipendono dal tipo È possibile mescolare variabili
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
DettagliLaboratorio di Informatica
Laboratorio di Informatica Ingegneria Meccanica Lezione 3, 8 ottobre 2007 versione 9 ottobre 2007 Renato Menicocci Interi in complemento a 2 (I) Con N bit
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di
DettagliIl linguaggio C - Introduzione
Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)
DettagliElementi di C++ di base
Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliProgrammazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
DettagliLab 02 Tipi semplici in C
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 02 Tipi semplici in C Lab02 1 Obiettivo dell esercitazione Acquistare
DettagliTipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Tipi e Valori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - Tipi e Valori 2 Ringraziamenti prof. Mirko Viroli,
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
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
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
Dettaglidirettive del preprocessore simboli speciali parole chiave identificatori costanti
5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv
DettagliEspressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
Dettagli5. Codifica degli Algoritmi in C
40 5. Codifica degli Algoritmi in C La traduzione di algoritmi in linguaggi di programmazione rende posbile l esecuzione di programmi da parte del calcolatore. In questo corso codificheremo gli algoritmi
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliVariabili. Unità 2. 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
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
Dettagli- Dispensa III - PROGRAMMAZIONE C (Parte I)
Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: alessandro.saetti@unibs.it) Università degli Studi di Brescia 1 Linguaggi di Programmazione
Dettagli