Laboratorio di Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Informatica"

Transcript

1 Laboratorio di Informatica Ingegneria Meccanica Lezione 3, 8 ottobre 2007 versione 9 ottobre 2007 Renato Menicocci <rmenicocci@fub.it> <menicocci@die.uniroma.it> Interi in complemento a 2 (I) Con N bit sono rappresentabili, in complemento a 2, tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit, [-32768, 32767] Valori non negativi/negativi distinguibili in base al valore del bit più significativo (msb = 0/) Esempi su 8 bit 0 rappresenta 27 (msb = 0) rappresenta -28 (msb = ) Se R(X) è la rappresentazione su N bit di X, allora, se X è rappresentabile su N bit, R(-X) si può ottenere così:. si inverte ogni bit in R(X) (0, 0) 2. si somma 2 Interi in complemento a 2 (II) Esempio su 8 bit: 00 0 (6) (-6) (somma eseguita con regole ordinarie usate in base 2) E una forma di rappresentazione posizionale in cui, su N bit, il valore dell'msb è -2^(N-) e non 2^(N-) Esempio su 8 bit: -6 = -2^7+2^6+2^+2^0 Estensione del segno: attenzione alla rappresentazione di numeri negativi quando si aumenta il numero di bit Esempi su 6 bit Interi in complemento a 2 (III) Se si resta nei limiti di rappresentazione previsti per N bit, il risultato, in complemento a 2, di somme/sottrazioni tra numeri in complemento a 2 può essere ottenuto con la somma ordinaria, troncando il risultato su N bit Esempio su 8 bit = -8 (-8 è nei limiti) Esempio su 8 bit 6 + (-6) = 0 (0 è nei limiti, scartare msb) = =

2 Interi in complemento a 2 (IV) -- Tipo short int in C -- Esempio su 8 bit 6 + (-43) = 8 (8 è nei limiti, scartare msb) Esempio su 8 bit (-) = -29 (-29 non è nei limiti (errore di overflow)) Esempio su 8 bit 27 + = 28 (28 non è nei limiti (errore di overflow)) = = = Intervallo minimo: [-32767, 32767] Intervallo vero: dipende dall implementazione; è specificato da SHRT_MIN e SHRT_MAX nel file limits.h Dimensione di una variabile di tipo short int: dipende dall implementazione; per l intervallo minimo sono sufficienti 6 bit tipicamente, è quella in complemento a 2 Nelle dichiarazioni: short int o short Specifica di conversione per scanf/printf: %hd Tipo int in C -- Intervallo minimo: [-32767, 32767] Intervallo vero: dipende dall implementazione; è specificato da INT_MIN e INT_MAX nel file limits.h; deve includere l intervallo usato per il tipo short int Dimensione di una variabile di tipo int: dipende dall implementazione; per l intervallo minimo sono sufficienti 6 bit tipicamente, è quella in complemento a 2 Nelle dichiarazioni: int Specifica di conversione per scanf/printf: %d -- Tipo long int in C -- Intervallo minimo: [ , ] Intervallo vero: dipende dall implementazione; è specificato da LONG_MIN e LONG_MAX nel file limits.h; deve includere l intervallo usato per il tipo int Dimensione di una variabile di tipo long int: dipende dall implementazione; per l intervallo minimo sono sufficienti 32 bit tipicamente, è quella in complemento a 2 Nelle dichiarazioni: long int o long Specifica di conversione per scanf/printf: %ld 7 8

3 -- Tipo unsigned short int in C -- Intervallo minimo: [0, 65535] Intervallo vero: dipende dall implementazione, è specificato da USHRT_MAX nel file limits.h (valore minimo è sempre 0) Dimensione di una variabile di tipo unsigned short int: dipende dall'implementazione; per l intervallo minimo sono sufficienti 6 bit tipicamente, è quella posizionale Nelle dichiarazioni: unsigned short int o unsigned short Specifica di conversione per scanf/printf: %hu, %ho (ottale), %hx o %hx (esadecimale, lettere minuscole o maiuscole) 9 -- Tipo unsigned int in C -- Intervallo minimo: [0, 65535] Intervallo vero: dipende dall implementazione, è specificato da UINT_MAX nel file limits.h (valore minimo è sempre 0) Dimensione di una variabile di tipo unsigned int: dipende dall implementazione; per l'intervallo minimo sono sufficienti 6 bit tipicamente, è quella posizionale Nelle dichiarazioni: unsigned int o unsigned Specifica di conversione per scanf/printf: %u, %o (ottale), %x o %X (esadecimale, lettere minuscole o maiuscole) 0 -- Tipo unsigned long int in C -- Intervallo minimo: [0, ] Intervallo vero: dipende dall implementazione, è specificato da ULONG_MAX nel file limits.h (valore minimo è sempre 0) Dimensione di una variabile di tipo unsigned long int: dipende dall implementazione; per l intervallo minimo sono sufficienti 32 bit tipicamente, è quella posizionale Nelle dichiarazioni: unsigned long int o unsigned long Specifica di conversione per scanf/printf: %lu, %lo (ottale), %lx o %lx (esadecimale, lettere minuscole o maiuscole) -- Specifiche di conversione per tipi int -- short int %hd unsigned short int %hu %ho %hx %hx int %d unsigned int %u %o %x %X long int %ld unsigned long int %lu %lo %lx %lx 2

4 -- Operandi interi in C (I) -- Variabili di uno dei tipi int Costanti usate direttamente nelle espressioni Esempio (a, b, c intere): b = 2 * a + 33 * b - c / 9 ; Una costante viene specificata con segno (opz.): + o - sequenza di cifre: in base 0, 8 (prefisso 0, [0-7]) o 6 (prefisso 0x o 0X, [0-9], [a-f] o [A-F] ) suffisso (opz.): u o U per unsigned, l o L per long Esempi L (base 0) 0xFFFFFFFFl (base 6) (base 8) 0XaAaA (base 6) L (base 0) 3 -- Operandi interi in C (II) -- E possibile introdurre costanti intere con la direttiva di compilazione #define usando il formato #define nome valore Effetto di #define nome valore: ogni occorrenza successiva di nome nel testo del programma sarà rimpiazzata con valore (eccezioni: nome compare in una porzione del testo del programma delimitata da /* */ o " ") In #define nome valore per nome valgono le stesse regole date per il nome di variabili per valore, per produrre valori numerici corretti, usare le stesse regole date per le costanti nelle espressioni 4 -- Operandi interi in C (III) -- Esempio: #define K L produce la sostituzione di K con L Esempio (Attenzione!): #define COSTOBASE = 235 produce la sostituzione di COSTOBASE con = 235 Una #define nome valore può essere introdotta dove necessario nel testo del programma ed è elaborata dal preprocessore (attivato dal compilatore) a tempo di compilazione L uso di #define nome valore consente di modificare i valori delle costanti in uso aggiornando solo la porzione #define, senza altri interventi sul testo del programma -- Tipo di una costante intera in C -- Il tipo di una costante intera dipende da come il valore di questa viene specificato Base 0, senza suffisso: primo tipo, tra int, long int e unsigned long int, compatibile con il valore Base 8 o 6, senza suffisso: primo tipo, tra int, unsigned int, long int e unsigned long int, compatibile con il valore Con suffisso u o U: primo tipo, tra unsigned int e unsigned long int, compatibile con il valore Con suffisso l o L: primo tipo, tra long int e unsigned long int, compatibile con il valore La determinazione del tipo di una costante intera è rilevante per la valutazione delle espressioni 5 6

5 -- Operatori aritmetici per interi in C -- Operatori binari (due operandi): somma (+), sottrazione (-), prodotto (*), quoziente (/), resto (%) Operatori unari (un operando): segno (+), inversione segno (-) Attenzione: se il risultato di un operazione eccede i limiti della rappresentazione in uso, si hanno effetti dipendenti dall implementazione Attenzione: se almeno uno degli operandi in / e % è negativo, o in caso di divisore nullo, si hanno effetti dipendenti dall implementazione Nelle espressioni, le coppie di parentesi ( ) stabiliscono la priorità di applicazione degli operatori (dalle coppie più interne verso le più esterne) 7 -- Operatori relazionali per interi in C (I) -- Operatori binari (due operandi) per confronto ordinato: maggioranza (>), minoranza (<), maggioranza o uguaglianza (o non minoranza) (>=), minoranza o uguaglianza (o non maggioranza) (<=) Operatori binari (due operandi) per confronto non ordinato: uguaglianza (==) (Attenzione!), diversità (o non uguaglianza) (!=) Sono usati per formulare condizioni (espressioni condizionali o logiche) e producono un risultato binario (due possibili valori) intepretato come valore logico: 0() indica che, con gli operandi specificati, la condizione è falsa(vera) Possono apparire in espressioni in cui appaiono operatori di altro tipo 8 -- Operatori relazionali per interi in C (II) -- Esempi (assumendo x, y, w, z di tipo int e x = 3, y = -7, w = al tempo di valutazione delle espressioni seguenti) z = (x == 3) ; ( assegnato a z poiché x vale 3) z = ((x + 3) <= (y + w)) ; (0 assegnato a z poiché x + 3 vale 6 e y + w vale 4) y!= 5 (vale ) x == (y +0) (vale ) (y + 0) == x (vale (confronto non ordinato!)) x < w (vale ) w < x (vale 0 (confronto ordinato!)) 9 Operatori logici (I) Sono usati per combinare costanti, variabili, espressioni logiche, aventi valore FALSO o VERO, e producono nuovi valori FALSO o VERO AND, OR: operatori binari (due operandi); NOT: operatore unario (un operando) X AND Y: produce valore VERO solo se X e Y hanno entrambi valore VERO X OR Y: produce valore FALSO solo se X e Y hanno entrambi valore FALSO NOT X: inverte valore di X Operatori e valori di questo tipo sono detti booleani (da Boole) 20

6 Operatori logici (II) A B A AND B A OR B FALSO FALSO FALSO FALSO FALSO VERO FALSO VERO VERO FALSO FALSO VERO VERO VERO VERO VERO NOT A VERO FALSO -- Operatori logici in C (I) -- Per le operazioni logiche di AND, OR e NOT sono disponibili, rispettivamente, gli operatori &&, e! Gli operandi interi di un operatore logico vengono resi logici in questo modo: il valore 0 viene intepretato come FALSO, mentre un valore diverso da 0 (qui indicato con 0) viene interpretato come VERO &&, e! forniscono come risultato 0 (inteso come FALSO) o (inteso come VERO) Proprietà di associatività (X AND Y) AND Z = X AND (Y AND Z) = X AND Y AND Z (X OR Y) OR Z = X OR (Y OR Z) = X OR Y OR Z 2 A B A && B A B!A Operatori logici in C (II) -- A B A && B A B!A La valutazione delle espressioni contenenti && e obbedisce alle regole seguenti espressione && espressione2: Se espressione vale 0 (FALSO), espressione2 non viene valutata e l espressione complessiva vale 0 (FALSO) espressione espressione2: Se espressione vale 0 (VERO), espressione2 non viene valutata e l espressione complessiva vale (VERO) Esempi di espressioni logiche in C -- Esempi (assumendo x, y, w, z di tipo int e x = 3, y = -7, w = al tempo di valutazione delle espressioni seguenti) z = ((x == 3) && (y == -7)) ; ( assegnato a z) z = ((x!= 2) ((y + w) == 5)) ; ( assegnato a z)!w (vale 0 poiché w non vale 0) x == ((!y) +0) (vale 0) (y > ) && z (vale 0 (valore di z ininfluente)) (y < ) z (vale (valore di z ininfluente)) 24

7 Uso degli operatori logici Formulazione di condizioni Esempio: Le condizioni affinchè un triangolo di lati a, b, c risulti equilatero, isoscele o scaleno possono essere formulate come segue equilatero: ( a = b ) AND ( a = c ) isoscele: (( a = b ) AND ( a c )) OR (( a = c ) AND ( a b )) OR (( b = c ) AND ( a c )) -- Uso degli operatori logici in C -- In C, le precedenti formulazioni assumono le forme seguenti (si ipotizzano lati a valori interi) equilatero: ( a == b ) && ( a == c ) isoscele: (( a == b ) && ( a!= c )) (( a == c ) && ( a!= b )) (( b == c ) && ( a!= c )) scaleno: (a!= b) && (a!= c) && (b!= c) scaleno: (a b) AND (a c) AND (b c) Strutture di controllo La formulazione di molti algoritmi richiede che il linguaggio di programmazione in uso offra la possibilità di modificare il flusso di esecuzione delle istruzioni in base al valore di un espressione (modifiche condizionate) Strutture di selezione: permettono la ramificazione condizionata del flusso Strutture di iterazione: permettono la ripetizione condizionata di una data sequenza di istruzioni -- Strutture di controllo in C -- Le istruzioni if, if else, switch forniscono meccanismi per la scelta tra azioni alternative Le istruzioni while e for forniscono meccanismi per l iterazione condizionata Blocco di istruzioni: sequenza di istruzioni delimitata da parentesi graffe { istr ; istr2 ; ; istrn ; } In caso di blocco di singola istruzione, le parentesi graffe possono essere omesse { istr ; } equivale a istr ; 27 28

8 -- Strutture di selezione in C -- Selezione singola if: si sceglie di eseguire o non eseguire una singola azione Selezione doppia if else: si esegue una tra due azioni logicamente distinte (caso particolare: una delle due azioni è nulla selezione singola) Selezione multipla switch: si esegue una tra un certo numero di azioni logicamente distinte Un azione è formulata con un blocco di istruzioni La selezione avviene sempre in base al valore di un espressione, distinguendo solo due casi: zero (0) e diverso da zero ( 0) Istruzione if -- Formato if ( espressione ) { istruzione ; istruzione2 ; ; } istruzione istruzione espressione Il valore di espressione ( 0 o 0) determina la scelta tra eseguire o non eseguire il blocco { istruzione ; istruzione2 ; ; } 30 istruzione istruzione2. -- Istruzione if else -- Formato if ( espressione ) { istruzione ; istruzione2 ; ; } else { istruzionea ; istruzioneb ; ; } 0 0 espressione istruzionea istruzioneb. Il valore di espressione ( 0 o 0) determina la scelta tra eseguire il blocco { istruzione ; istruzione2 ; ; } o eseguire il blocco { istruzionea ; istruzioneb ; ; } 3 -- Strutture if else nidificate -- E possibile ottenere ramificazioni complesse inserendo strutture if else nei blocchi istruzioni di altre strutture if else Una scrittura indentata e corretta* può facilitare la lettura del programma e semplificare al programmatore l associazione di un else con il proprio if [*il compilatore, in accordo alle regole del linguaggio C, associa uno specifico else al primo if che, oltre a precedere l else, risulti compatibile con l associazione (indipendentemente dal fatto che si sia usata una scrittura con indentazione)] 32

9 -- Determinare il tipo di un triangolo (I) -- c = ( a == b ) ; /* lati (interi) a, b, c */ c2 = ( a == c ) ; c3 = ( b == c ) ; if ( c ) { if ( c2 ) printf( "equilatero\n" ) ; /* c && c2 */ else printf( "isoscele\n" ) ; /* c &&!c2 */ } else /*!c */ { if ( c2 ) printf( "isoscele\n" ) ; /*!c && c2 */ else if ( c3 ) printf( "isoscele\n" ) ; /*!c &&!c2 && c3 */ else printf( "scaleno\n" ) ; /*!c &&!c2 &&!c3 */ } -- Determinare il tipo di un triangolo (II) -- Analisi dei casi da cui deriva la formulazione precedente c = ( a == b ) c2 = ( a == c ) equilatero 0 isoscele 0 c2 = ( a == c ) 0 c3 = ( b == c ) isoscele 0 scaleno -- Determinare il tipo di un triangolo (III) -- Dall analisi dei casi, si ottiene anche la seguente formulazione alternativa c = ( a == b ) ; /* lati (interi) a, b, c */ c2 = ( a == c ) ; c3 = ( b == c ) ; /* N.B.!c &&!c2 && c3 equivale a!c2 && c3 */ if ( c && c2 ) printf( "equilatero\n" ) ; if (( c &&!c2 ) ( c2 &&!c ) ( c3 &&!c2 )) printf( "isoscele\n" ) ; if (!c &&!c2 &&!c3 ) printf( "scaleno\n" ) ; Strutture di iterazione Le strutture di iterazione permettono di specificare un azione che dovrà essere ripetuta sotto il controllo di una condizione Iterazione indefinita: controllata da un valore sentinella (il numero di iterazioni non è noto in anticipo) Iterazione definita: controllata dal valore di un contatore (il numero di iterazioni è noto in anticipo) 36

10 -- Istruzione while -- Formato while ( espressione ) { istruzione ; istruzione2 ; ; } 0 istruzione istruzione2. espressione Il valore di espressione ( 0 o 0) determina la scelta tra eseguire il blocco { istruzione ; istruzione2 ; ; } e valutare di nuovo espressione o uscire dalla struttura Lunghezza di una sequenza di interi int main( ) { int numero, contatore = 0 ; printf( "Inserire sequenza di interi non nulli\n" ) ; printf( "Inserire 0 per terminare\n" ) ; /* valore sentinella è 0 */ scanf( "%d", &numero ) ; while ( numero!= 0 ) { /* valore sentinella è 0 */ contatore = contatore + ; scanf( "%d", &numero ) ; } printf( "Lunghezza sequenza = %d\n", contatore ) ;... return 0 ; } 38

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 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

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 3, 23 ottobre 2007 versione 3 novembre 2007 Limiti per tipi int #include rende visibili le costanti simboliche SHRT_MIN, SHRT_MAX,

Dettagli

Laboratorio di informatica Ingegneria meccanica

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

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Rappresentazione ed interpretazione Laboratorio di informatica Ingegneria meccanica Insieme dei valori da rappresentare interpretazione rappresentazione Insieme delle sequenze di K bit Lezione 2 8 ottobre

Dettagli

Precisazione sui tipi in ANSi C

Precisazione sui tipi in ANSi C Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione

Dettagli

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

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

1

1 Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix

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

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica ( 1 ) Rappresentazione di numeri reali Laboratorio di informatica Ingegneria meccanica Lezione 8 26 novembre 2007 Numerazione posizionale: d n d 1 d 0.d -1 d -2 d -m rappresenta d n B n + + d 1 B 1 + d

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

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

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

Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Introduzione alle operazioni di I/O con formato e tipi primitivi

Introduzione alle operazioni di I/O con formato e tipi primitivi Introduzione alle operazioni di I/O con formato e tipi primitivi Un programma C legge normalmente i dati su cui operare dallo standard input (stdin) e comunica con l esterno scrivendo dati sullo standard

Dettagli

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2 Assegnamento Assegnamento Ricordiamo che l esecuzione di x = exp corrisponde a: 1. valutare il valore dell espressione exp a destra di = (usando i valori correnti delle variabili); 2. assegnare poi tale

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

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

Tipi di dato. Funzioni. Il sistema dei tipi C. Tipi di dato. Quanti bit? I tipi interi in C

Tipi di dato. Funzioni. Il sistema dei tipi C. Tipi di dato. Quanti bit? I tipi interi in C I tipi scalari in C Input/output dei tipi scalari Conversioni di tipo Funzioni 5 Il sistema dei tipi C di dato Tipi Scalari Tipi Strutturati void Tipi eri Tipi reali Enumerazioni Vettori Strutture Union

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

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

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

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

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del

Dettagli

Dati due punti sul piano calcolare la loro distanza

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

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

Variabili. Tipi di dati di base. Variabili. Variabili

Variabili. Tipi di dati di base. Variabili. Variabili Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva

Dettagli

Valutazione di espressioni

Valutazione di espressioni Valutazione di espressioni Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Blocco Blocco è un insieme di istruzioni consecutive, con un

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione C LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell

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

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

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

Identificatori. Fondamenti di Informatica e laboratorio Intro C

Identificatori. Fondamenti di Informatica e laboratorio Intro C Identificatori Sequenza (di lunghezza maggiore o uguale a 1) di lettere e cifre che inizia obbligatoriamente con una lettera. E' ammesso anche l'utilizzo dell'undescore _ Maiuscole e minuscole sono diverse

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Dichiarazioni e tipi predefiniti nel linguaggio C

Dichiarazioni e tipi predefiniti nel linguaggio C Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:

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 di

Dettagli

NUMERI NATURALI: INTERVALLO DI VALORI RAPPRESENTABILI INFORMAZIONI NUMERICHE

NUMERI NATURALI: INTERVALLO DI VALORI RAPPRESENTABILI INFORMAZIONI NUMERICHE INFORMAZIONI NUMERICHE La rappresentazione delle informazioni numeriche è di particolare rilevanza Abbiamo già discusso i numeri naturali (interi senza segno) N = { 0,1,2,3, } Dobbiamo discutere come rappresentare

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 2: Elementi lessicali, casting e while Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Soluzione agli esercizi

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del

Dettagli

Fondamenti di programmazione parte 2. Elementi di informatica IGLP

Fondamenti di programmazione parte 2. Elementi di informatica IGLP Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell

Dettagli

Variabili, tipi, espressioni in C. Emilio Di Giacomo

Variabili, tipi, espressioni in C. Emilio Di Giacomo Variabili, tipi, espressioni in C Emilio Di Giacomo Richiami generali tipo di dato: specifico dominio di valori variabile: "contenitore" che può memorizzare valori di uno specifico tipo di dato, detto

Dettagli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Struttura di un linguaggio

Struttura di un linguaggio Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico: Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

LA CODIFICA LORENZO BRACCIALE

LA CODIFICA LORENZO BRACCIALE LA CODIFICA LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT LA CODIFICA Serve per rappresentare un informazione La stessa informazione rappresentata in modi diversi ad es. 200 o duecento Stessa rappresentazione

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

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

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione

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

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 5 Controllo del flusso del programma FABIO SCOTTI Indice 1. CONCETTO DI BLOCCO IN C...3 2. DUE

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento

Dettagli

Struttura di un. Struttura dei programmi C

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

Dettagli

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Analogico vs digitale Segnale analogico Segnale digitale Un segnale è analogico quando

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Lezione 7 19 novembre 2007 Concetto di modulo di un programma (1) Lo sviluppo di programmi complessi avviene tipicamente per composizione di moduli, ognuno

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2)

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) - Linguaggio C - Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

20/10/2014 M. Nappi/FIL 1

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

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple. Domanda n. 1 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple 8-Nov-2004 Argomento: Rappresentazione dell'informazione

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

Codifica dei Tipi di Dati in Linguaggio C

Codifica dei Tipi di Dati in Linguaggio C Codifica dei Tipi di Dati in Linguaggio C In questa dispensa verrà illustrato come vengono codificati i tipi semplici del linguaggio C. In particolare considereremo i seguenti tipi di dato: il tipo intero

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

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

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

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

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5

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 / 34 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

del Linguaggio C Istruzioni di iterazione

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

Dettagli

Variabili, tipi primitivi e construtti condizionali

Variabili, tipi primitivi e construtti condizionali , tipi primitivi e construtti condizionali Fondamenti di Programmazione e Laboratorio A.A. 2018/2019 Dichiarazioni di variabili La sintassi da utilizzare per dichiarare una variabile la seguente: tipo

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

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

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

Dettagli

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

1 Operatori bit-a-bit (Rev )

1 Operatori bit-a-bit (Rev ) 1 Operatori bit-a-bit (Rev. 2.0.2) La più piccola quantità di informazione memorizzabile nella memoria di un computer è il bit. Il bit può assumere sono due valori di solito indicati con 1 e 0 anche se,

Dettagli

Laboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011

Laboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011 Laboratorio di informatica Ingegneria Clinica Esercitazione 2 10 Ottobre 2011 Istruzioni Istruzioni di Input/Output Istruzioni di assegnamento Istruzioni di controllo Permettono di modificare il flusso

Dettagli

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()

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

Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di:

Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di: Tipi di dato Tipi di dato in C Ogni variabile in C ha associato un tipo, questo permette di: Riservare memoria per la codifica dei valori che può assumere Rilevare errori legati all uso di operatori non

Dettagli

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale La codifica dell informazione Il codice ASCII consente di codificare le cifre decimali da a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero 324 potrebbe essere rappresentato

Dettagli

Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di:

Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di: Tipi di dato Tipi di dato in C Ogni variabile in C ha associato un tipo, questo permette di: Riservare memoria per la codifica dei valori che può assumere Rilevare errori legati all uso di operatori non

Dettagli

Struttura di un programma C++

Struttura di un programma C++ Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout

Dettagli

C istruzione di assegnazione

C istruzione di assegnazione C istruzione di assegnazione Forma ntattica della istruzione di assegnazione: variabile = espresone l-value r-value In esecuzione il computer valuta l espresone ed il suo valore è assegnato alla variabile

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