Linguaggio C Espressioni e operatori
|
|
- Ada Capone
- 7 anni fa
- Visualizzazioni
Transcript
1 FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 1
2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 2
3 Operatori ed espressioni I programmi hanno lo scopo di eseguire operazioni sui dati Il linguaggio C offre una serie di operatori: aritmetici relazionali logici di assegnazione di incremento e decremento bit a bit ( bitwise ) Gli operatori che richiedono due operandi si dicono binari; alcuni operatori, detti unari, agiscono invece su un unico operando 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 3
4 Espressioni Un espressione è una combinazione di operatori e relativi operandi Nella forma più semplice, un espressione è priva di operatori; in tal caso corrisponde a: 3.14 una costante x il valore di una variabile calcola_valore(x, y) una funzione definita dall utente sin(x) una funzione di libreria 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 4
5 Espressioni Nella sua forma più complessa, un espressione può comprendere uno o più operatori e relativi operandi (2+i) * (2-i) Se nell espressione compaiono più operatori, questi sono soggetti a delle precise regole di precedenza L espressione aritmetica precedente corrisponde ad esempio al prodotto tra le due espressioni (2+i) e (2-i), mentre: 2+i*2-i corrisponde a (2+(i*2)) - i 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 5
6 Operatori aritmetici Gli operatori aritmetici disponibili in C sono: + somma - sottrazione * moltiplicazione / divisione % modulo (resto della divisione intera) L operatore di divisione applicato a due interi restituisce la parte intera del quoziente (es. 5/2 2) L operatore % fornisce il resto della divisione tra due operandi interi: 5%2 1 Nel caso di operandi reali: 5.0/ (se un operando è reale e l altro intero, quello intero viene promosso a reale) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 6
7 Operatori aritmetici Sono possibili più operazioni in sequenza In tale caso: *, / e % hanno la precedenza su + e - l associatività vale da sinistra verso destra Quindi * 4 / corrisponde a... (6 + ((3*4)/3)) Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 7
8 Operatore cast In qualsiasi espressione è possibile forzare delle conversioni di tipo, mediante l operazione unaria di cast Nel costrutto generico (nome_del_tipo) espressione l espressione viene convertita nel tipo specificato, secondo precise regole di corrispondenza tra i tipi Ad esempio, se j è un intero, l espressione (4 /(float) j) converte al volo il valore della variabile j in reale e quindi forza l esecuzione della divisione tra numeri reali Il linguaggio applica delle regole di conversione automatica; è tuttavia consigliabile indicare esplicitamente tutte le conversioni di cui non si è certi! 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 8
9 Operatori aritmetici unari Gli operatori aritmetici + e - possono essere utilizzati anche come operatori unari: -i +i a + (-x) -(2*y) + x 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 9
10 Operatori relazionali Permettono il confronto di coppie di valori tra loro omogenei (dello stesso tipo) Generano un risultato logico (vero o falso) Sono spesso usati come condizioni di controllo dell esecuzione di un programma Essi sono: > maggiore >= maggiore o uguale < minore <= minore o uguale == uguale!= diverso 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 10
11 Vero e falso In C un espressione è: VERA se assume un valore diverso da zero FALSA se assume il valore zero 0 = falso 0 = vero NOTA: normalmente non è necessario che il programma utilizzi esplicitamente questi valori, in quanto si utilizzano le espressioni relazionali 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 11
12 Esempi di espressioni relazionali Il risultato di un espressione relazionale è un valore logico vero o falso Se i = 5 e j = 7, allora: i > j è falsa i < j è vera i >= j è falsa i <= j è vera i == j è falsa i!= j è vera 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 12
13 Esempi di espressioni relazionali Gli operatori relazionali hanno precedenza inferiore rispetto agli operatori aritmetici, e associatività da sinistra verso destra var_1 == var_2 + 1 corrisponde all espressione var_1==(var_2 + 1) a + b!= i corrisponde a (a+b)!= i 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 13
14 Operatori logici A questa categoria appartengono gli operatori booleani: && AND logico OR logico! NOT logico (unario) Gli operatori && e hanno precedenza inferiore agli operatori aritmetici e agli operatori relazionali; l associatività vale da sinistra a destra L operatore && ha precedenza maggiore rispetto a L operatore! ha precedenza maggiore rispetto agli operatori aritmetici, relazionali, all AND e all OR logici; per esso l associatività vale da destra a sinistra 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 14
15 Operatori logici: AND A B U U = A && B F F F F V F V F F V V V 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 15
16 Operatori logici: AND A && B è falsa se almeno un operando è falso A && B è vera se tutti gli operandi sono veri 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 16
17 Operatori logici: OR A B U U = A B F F F F V V V F V V V V 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 17
18 Operatori logici: OR A B è falsa se tutti gli operandi sono falsi A B è vera se almeno un operando è vero 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 18
19 Operatori logici: NOT U =!A A F V U V F 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 19
20 Operatori logici L operatore! di negazione logica restituisce: un valore diverso da zero, quando l operando vale 0 (nel caso di un intero) oppure 0.0 (nel caso di un floating-point) zero, se l operando ha valore diverso da zero È frequente trovare l operatore! in espressioni condizionali del tipo: if (!espressione) istruzioni nel qual caso il blocco di istruzioni verrà eseguito solo l espressione è falsa 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 20
21 Operatori di assegnazione La sintassi dell operatore di assegnazione è: nome_variabile = espressione Alla variabile a sinistra dell operatore '=' viene assegnato il risultato o il valore dell espressione a destra Esempi: z = 2 * y - 1; assegno a z il valore 2*y x = z - 3; e poi assegno a x il valore z - 3 Un assegnazione è di per sé un espressione con un proprio risultato, e quindi le istruzioni precedenti equivalgono a scrivere: x = (z = 2*y -1) - 3; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 21
22 Operatori di assegnazione Un caso particolare è l assegnazione multipla, che permette di assegnare lo stesso valore a più variabili contemporaneamente: var_1 = var_2 = = var_n = espressione; Ad esempio, l istruzione: i = j = k * 2-1; equivale a scrivere: j = k * 2-1; i = j; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 22
23 Operatori compatti di assegnazione La forma sintattica compatta: nome_var operatore= espressione equivale a scrivere: nome_var = nome_var operatore espressione dove operatore è uno dei seguenti: + - / * % << >> & ^ Ad esempio: x *= y + 1; y += 5; x = x * (y + 1); y = y + 5; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 23
24 Operatori di assegnazione Gli operatori di assegnazione hanno priorità inferiore a tutti gli operatori del C, eccetto l operatore virgola L associatività vale inoltre da destra verso sinistra, contrariamente agli operatori aritmetici e logici Esempi: y = x /= z +=!j - 5; equivale a... y = (x /= (z += ((!j) - 5))); oppure a: z = z + ((!j) - 5); x = x / z; y = x; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 24
25 Operatori di incremento e decremento In C esistono due operatori unari speciali : ++ incremento di uno ( autoincrement ) -- decremento di uno ( autodecrement ) Essi permettono di incrementare o decrementare di un unità la variabile cui sono applicati Si possono applicare in due modalità: prefissa (es. ++i): la variabile viene modificata prima di utilizzarne il valore postfissa (es. k--): la variabile viene modificata dopo averne utilizzato il valore 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 25
26 Operatori di incremento e decremento Il vantaggio di impiegare gli operatori ++ e -- risiede nel fatto di ridurre il numero di espressioni nel codice Ad esempio, l istruzione: j = 2 * (++i); corrisponde a i = i + 1; j = 2 * i; mentre: j = 2 * (i++); equivale a... j = 2 * i; i = i + 1; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 26
27 Operatori di incremento e decremento ATTENZIONE: i = i++; è indefinita!!! j = 3/i - 2*(--i); è indefinita!!! Infatti, il linguaggio non specifica quando viene effettuato l autoincremento o l autodecremento rispetto alla valutazione degli altri elementi dell istruzione Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 27
28 Operatori bit a bit (o bitwise) Il linguaggio C definisce sei operatori che manipolano i bit Gli operatori logici sui bit sono: ~ operatore (unario) di complemento & operatore AND ^ operatore OR esclusivo operatore OR Esistono anche due operatori di traslazione sui bit: << traslazione (shift) a sinistra >> traslazione (shift) a destra 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 28
29 Operatori logici: EXOR (or esclusivo) A B U U = A ^ B Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 29
30 Operatori logici: EXOR A ^ B vale 0 se gli operandi sono entrambi 0 oppure entrambi 1 A ^ B vale 1 se gli operandi hanno valori logici differenti 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 30
31 Operatori bit a bit Poiché il modo in cui viene gestito il bit di segno dipende dal compilatore, è meglio applicare tali operatori a variabili di tipo unsigned L operatore ~ effettua il complemento a uno dell operando. Se x è rappresentato da: allora ~ x sarà rappresentato da Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 31
32 Operatori bit a bit L operatore & confronta due operandi effettuandone l AND logico bit a bit. Se x è rappresentato da mentre y è rappresentato da: allora il risultato dell espressione x & y sarà Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 32
33 Operatori bit a bit L operatore ^ effettua l OR esclusivo (XOR) bit a bit tra due operandi Se la variabile x è rappresentata da: mentre la variabile y è data da: il risultato di x ^ y sarà Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 33
34 Operatori bit a bit L operatore effettua l OR bit a bit Se la variabile x è rappresentata da: mentre y è data da: allora il risultato di x y sarà Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 34
35 Operatori bit a bit Gli operatori di traslazione (o di shift) << e >> spostano il loro operando sinistro di un numero di bit pari al valore dell operando destro Ad esempio x << 4; sposta a sinistra di quattro posizioni il valore di x, e riempie di zeri i bit così liberati In termini di numeri binari, se x è dato da: allora il risultato di x << 4 sarà Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 35
36 Operatori bit a bit In modo analogo, lo shift a destra viene effettuato dall operatore >> In tale caso, però, il riempimento dei bit liberati dipende dal tipo dell operando: se l operando è unsigned, i bit liberati sono posti a 0 se l operando è signed, su alcuni sistemi i bit liberati vengono posti uguali al bit di segno, su altri messi a 0 Ad esempio, se x è di tipo unsigned char (8 bit) e vale B8 h : allora il risultato di x >> 3 sarà Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 36
37 Espressioni condizionali Le espressioni condizionali fanno uso dell operatore ternario?: La sintassi di un espressione condizionale è: espressione_1? espressione_2 : espressione_3 Dapprima viene valutata l espressione_1; se essa risulta vera (ossia ha valore non nullo), allora viene valutata l espressione_2, il cui valore diventa il risultato dell espressione condizionale In caso contrario, viene valutata l espressione_3, il cui valore diventa il risultato dell intero costrutto 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 37
38 Espressioni condizionali Ad esempio, le istruzioni if (a > b) else z = a; z = b; possono essere tradotte nel costrutto z = (a > b)? a : b ; Si noti che, se n è un int ed f un float, l espressione: (n > 0)? f : n restituisce un valore float, indipendentemente dal fatto che n sia positivo o meno (promozione di tipo) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 38
39 Precedenza degli operatori La seguente tabella riassume le regole di precedenza e associatività di tutti gli operatori del linguaggio C Gli operatori sulla stessa linea hanno la stessa precedenza Le righe sono in ordine di precedenza decrescente Si osserva che gli operatori unari + e - hanno precedenza maggiore delle rispettive forme binarie Nella seconda riga compaiono anche l operatore di deriferimento *, quello di indirizzo & e quello di membro di una struttura (l operatore punto. ) Questi non vanno confusi con gli omonimi operatori logici o aritmetici! 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 39
40 Precedenza degli operatori operatori () [] ->.! * & (tipo) sizeof * / % + - << >> < <= > >= ==!= & ^ &&?: = += -= /= *= %= &= ^= = <<= >>=, (virgola) associatività da sinistra a destra da destra a sinistra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da sinistra a destra da destra a sinistra da destra a sinistra da sinistra a destra 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 40
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
DettagliLinguaggio C Strutture di controllo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide
DettagliCodifica dei numeri interi positivi e negativi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei numeri interi positivi e negativi 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliLinguaggio C I puntatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C Debugging
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota
DettagliLinguaggio C Struct e union
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struct e union 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliProgramma sorgente, compilatore, file oggetto, file eseguibile. Traduzione effettuata dal compilatore. Dichiarazione di variabili (esempi)
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright alla
DettagliLinguaggio C Vettori e stringhe
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Vettori e stringhe 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliControllo e correzione degli errori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Controllo e correzione degli errori 2000 Pier Luca Montessoro si veda la nota di copyright alla
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I file 2001 Pier Luca Montessoro - Davide Pierattoni (vedere
DettagliCodifiche Binary Coded Decimal (BCD) e Gray
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifiche Binary Coded Decimal (BCD) e Gray 28 Pier Luca Montessoro (si veda la nota di copyright
DettagliLinguaggio C e sistema operativo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C e sistema operativo 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliIntroduzione al corso
FONDAMENTI DI PROGRAMMAZIONE E ARCHITETTURA DEI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Introduzione al corso 2008 Pier Luca Montessoro (si veda la
DettagliStrumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La zione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliIntroduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica del video 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliScrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano
DettagliArchitettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliCorso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato
Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura
DettagliArchitettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright
DettagliLa programmazione in linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliCodifica dei segnali audio
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei segnali audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
Dettagli2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica.
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Le trappole del linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliAutenticazione, firme digitali e certificati digitali
Nota di Copyright ETI DI CALCOLATOI II Prof. PIE LUCA MONTESSOO Ing. DAVIDE PIEATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliElementi di crittografia
Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliLe trappole del linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Le trappole del linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro Davide Pierattoni (si veda la nota a pagina 2)
DettagliEspressioni in Linguaggio C
Concetti chiave Espressioni in Linguaggio C Espressioni Conversioni Implicite Operatori aritmetici Operatore di assegnamento Operatori relazionali Operatori logici Gerarchia e associatività degli operatori
DettagliTecniche di compressione senza perdita
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliNota di Copyright RETI DI CALCOLATORI. Lezione 28: indice degli argomenti. Lezione 28. Il collegamento agli Internet Service Provider
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliFondamenti 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
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
Dettagli2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliIL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
DettagliMemoria cache, interrupt e DMA
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliElementi di crittografia
Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide)
DettagliIndice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2
Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori
DettagliLinguaggio 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à
DettagliInformatica 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à
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione JPEG
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione JPEG 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica dei testi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei testi 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliArgomenti della lezione
Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO acoltà di Ingegneria Università degli Studi di Udine Prof. MARIO BALDI acoltà di Ingegneria Politecnico di Torino Questo insieme di trasparenze
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
DettagliGestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliGestione della memoria di massa e file system
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria di massa e file system 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliProf. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto
DettagliMemoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliCorso di PHP. Prerequisiti. 2.2 Operatori. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.
Corso di PHP 2.2 Operatori 29//25 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 29//25 Introduzione In questa Unità illustriamo più in particolare come le variabili
DettagliCast 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
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliIL CABLAGGIO STRUTTURATO DI CATEGORIA 6
IL CABLAGGIO STRUTTURATO DI CATEGORIA 6 21 maggio 2002 PIER LUCA MONTESSORO Dip. di Ingegneria Elettrica Gestionale e Meccanica Università degli Studi di Udine in collaborazione con 2002 Pier Luca Montessoro
DettagliIl cablaggio strutturato degli edifici: cosa c e` ` di nuovo?
Il cablaggio strutturato degli edifici: cosa c e` ` di nuovo? Pier Luca Montessoro Università degli Studi di Udine Dip. di Ing. Elettrica, Gestionale e Meccanica e-mail: montessoro@uniud.it www: http://www.uniud.it/montessoro
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA.2.2 Operare con i dati Prerequisiti Concetti matematici di: Espressione Operatore 2 Introduzione Le variabili utilizzate da un programma vengono usate con operatori
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
Dettagli1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro ( si veda la nota a pagina 2) 1 Nota di Copyright
DettagliParte seconda: espressioni, operandi e operatori.
Parte seconda: espressioni, operandi e operatori. 1. Le espressioni Le espressioni sono combinazioni di operatori e operandi. Gli operandi sono a loro volta combinazioni di costanti, variabili semplici
Dettagli1 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,
DettagliNota di Copyright RETI DI CALCOLATORI. Lezione 2: indice degli argomenti. Lezione 2. I servizi offerti dalle reti di calcolatori
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul
DettagliLa voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C
La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C l ingegneria elettronica nella musica moderna Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliNota di Copyright RETI DI CALCOLATORI. Lezione 8: indice degli argomenti. Lezione 8. Fibre ottiche. Struttura di una fibra ottica
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 200 Pier Luca Montessoro (si veda la nota a pagina 2) Nota di Copyright Questo insieme di trasparenze
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Reti logiche 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota di
Dettagli1
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
DettagliIntroduzione 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
DettagliIL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
DettagliIL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace
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
DettagliSicurezza applicata in rete
Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI acoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliTrasmissione bilanciata e amplificatore differenziale
E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Trasmissione bilanciata e amplificatore differenziale Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it DIFFAMP -
DettagliPrimo: eliminare la confusione
E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Primo: eliminare la confusione Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it DEF - 1 Copyright: si veda nota a
Dettagli