Nozioni base di programmazione in linguaggio C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Nozioni base di programmazione in linguaggio C"

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 Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi 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

Dettagli

Linguaggio 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. 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

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

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

Dettagli

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il 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

Dettagli

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

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il 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

Dettagli

Struttura dei programmi C

Struttura 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

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

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

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

Dettagli

Introduzione al linguaggio C

Introduzione 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

Dettagli

Tipi 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: 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

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI 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

Dettagli

Espressioni ed operatori in C

Espressioni 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

Dettagli

Informatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale

Informatica 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

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

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

Programmazione in Java (I modulo)

Programmazione 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

Dettagli

Tipi di dato primitivi

Tipi 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

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

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

Dettagli

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

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso 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

Dettagli

IL LINGUAGGIO C TIPI DI DATO

IL 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

Dettagli

IL PROBLEMA DEL PROGETTO

IL 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

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

$QDOLVLGHOSURJUDPPDTXDGUDWR

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

Dettagli

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}

<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

Dettagli

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

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

Dettagli

Linguaggio C: 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

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

Il linguaggio C. Notate che...

Il 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

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 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

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

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Un 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

Dettagli

Laboratorio di programmazione

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

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione 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

Dettagli

1 PANORAMICA SUL LINGUAGGIO C

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

Dettagli

Introduzione al Linguaggio C

Introduzione 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)

Dettagli

Costanti e Variabili

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

Dettagli

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

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

Basi 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. 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

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche 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

Dettagli

Tipi 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. 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

Dettagli

Esercizi di programmazione in C

Esercizi 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

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

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

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

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

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica 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,

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

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

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL 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

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

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

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

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

ESECUZIONE 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

Dettagli

Primi passi col linguaggio C

Primi 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

Dettagli

Tipi 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. 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

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

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

Le parole chiave char, int, float, double, ed enum descrivono i. che modificano i tipi base

Le 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

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso 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

Dettagli

Introduzione al linguaggio C

Introduzione 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

Dettagli

Introduzione a Matlab

Introduzione 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

Dettagli

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

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

Dettagli

Introduzione alla programmazione in C++

Introduzione 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

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

Conversioni fra Tipi di Dati. Luca Abeni

Conversioni 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

Dettagli

Tipi 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. 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

Laboratorio di Informatica

Laboratorio 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

Dettagli

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

Laboratorio 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

Dettagli

Il linguaggio C - Introduzione

Il 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

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Appunti 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)

Dettagli

Elementi di C++ di base

Elementi 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

Dettagli

La programmazione nel linguaggio C

La 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

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione 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

Dettagli

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Sommario 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...

Dettagli

Lab 02 Tipi semplici in C

Lab 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

Dettagli

Tipi 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 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,

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità 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

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

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. 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

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

C: panoramica. Violetta Lonati

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

Dettagli

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

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive 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

Dettagli

Espressione di chiamata di funzione

Espressione 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 è

Dettagli

5. Codifica degli Algoritmi in C

5. 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

Dettagli

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

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

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso 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

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. 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

Dettagli

Istruzioni iterative. Istruzioni iterative

Istruzioni 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",

Dettagli

Linguaggio C Struttura dei programmi

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

Dettagli

Le basi del linguaggio Java

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

Dettagli

Elementi di informatica

Elementi 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",

Dettagli

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

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

Dettagli

Tipi 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. 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)

- 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