8) Classi numeriche e operatori Lab. Calc. I AA2002/03 - cap.82 Classi numeriche Esempi di classi numeriche: int, numeri interi che occupano una parola.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Tipi strutturati
Corso di Fondamenti di Programmazione canale E-O
LINGUAGGIO DI PROGRAMMAZIONE C
Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
INFORMATICA Strutture condizionali
Introduzione al linguaggio C

Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Introduzione al linguaggio C
ESPRESSIONI SENZA PARENTESI
Anno accademico Gli operatori e le espressioni in C.
Il linguaggio C Gli operatori e le espressioni C Language
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Allocazione dinamica della memoria
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Programmazione Mod A - Cap 2 - prof. Burattini
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Organizzazione del corso
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
10) switch, else if e ifdef. Lab.Calc.I AA2002/03 - cap.102 espressione condizione.
Istruzioni di selezione (If/else/switch)
Primi Elementi di Programmazione in C++
Lab. Calc. AA 2005/061 puntatori. Lab. Calc. AA 2005/062 Attributi di un oggetto nome o identificatore; tipo o classe; valore o valori; indirizzo;
Dichiarazioni e tipi predefiniti nel linguaggio C
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Il Linguaggio C.
Le funzioni.
Rappresentazione di Numeri Reali
Java base I: Sintassi e tipi di dati
Programmazione in Java Claudia Raibulet
4 Tipi di dati & variabili
CODIFICA Da flow-chart a C++.
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Elementi di Informatica di base1 Parte 3 Elementi di Informatica di base Dott.ssa Elisa Tiezzi.
VARIABILI E COSTANTI INTEGER
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Tipi di dati semplici in C (1/3)
1 Numeri interi e numeri in virgola mobile F. Bombi 2 6 novembre 2003.
1 Parte 3 Fondamenti di programmzione. 2 Cosa è Java Linguaggio di programmazione familiare Simile a C e C++ Linguaggio di programmazione orientato a.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Introduzione a Javascript
Vettori (a una dimensione)
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
© Piero Demichelis Tipi strutturati I tipi considerati finora hanno la caratteristica comune di non essere strutturati: ogni elemento è una singola entità.
Algoritmi e basi del C Struttura di un programma
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Algoritmi e basi del C Struttura di un programma
Informatica 6 Tipi di dato. Nelle celle di memoria di un calcolatore ci sono solo “0” e “1”, fisicamente realizzati tramite due diversi livelli di tensione.
Rappresentazioni a lunghezza fissa: problemi
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }
Rappresentazione dell'informazione
La codifica dei numeri.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
13/08/02Tipi base 1 Tipi interi Operatori numerici Tipi float Caratteri Tipo booleano.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Appunti su formati numerici. Tipi numerici Il C dispone di due tipi numerici: tipi interi e tipi reali; I tipi reali sono anche detti floating, ovvero.
JAVA usa una rappresentazione in VIRGOLA MOBILE
Transcript della presentazione:

8) Classi numeriche e operatori

Lab. Calc. I AA2002/03 - cap.82 Classi numeriche Esempi di classi numeriche: int, numeri interi che occupano una parola in memoria long, numeri interi che usano due parole (interi lunghi) float, numeri reali che occupano una parola (numeri a virgola mobile) double, numeri reali che usano due parole (doppia precisione) Gli oggetti numerici sono gli oggetti appartenenti a classi numeriche

Lab. Calc. I AA2002/03 - cap.83 Espressioni aritmetiche Le espressioni aritmetiche sono sequenze di nomi di oggetti numerici, operatori e parentesi (tonde) Esempi: x+y -x x%2 // % è l'operatore modulo (resto // della divisione tra interi) x*(y-z)/(x+y)

Lab. Calc. I AA2002/03 - cap.84 Precedenza degli operatori aritmetici Gli operatori *, / e % hanno precedenza su + e – Le espressioni vengono valutare da sinistra a destra Esempi: 5-7*2+1 equivale a 5-(7*2)+1 e vale –8 4.1/2-2 equivale a (4.1/2)-2 e vale %5+1 equivale a (9%5)+1 e vale 5

Lab. Calc. I AA2002/03 - cap.85 Assegnazione Un'assegnazione altera il valore (stato) di un oggetto: identificatore_oggetto = espressione; Il valore dell'espressione (rValue: right value) viene assegnato all'oggetto (lValue: left value) lab1 = 20.0 ; Le assegnazioni posso essere anche concatenate lab1 = lab2 = lab3 = 20.0; (sconsigliato! Il programma risulta meno leggibile )

Lab. Calc. I AA2002/03 - cap.86 Esempi Incremento del valore di un oggetto. Le seguenti espressioni forniscono tutte lo stesso nuovo valore delloggetto totale. totale = totale + 1; totale += 1; totale++; ++totale; Decremento del valore di un oggetto. Le seguenti espressioni forniscono tutte lo stesso nuovo valore delloggetto totale. totale = totale – 1; totale –= 1; totale--; --totale;

Lab. Calc. I AA2002/03 - cap.87 Esempi Modifica del valore di un oggetto: anche in questo caso il valore finale di costo è lo stesso costo = costo * costo; costo += 0.2 * costo; costo = costo * 1.2; costo *= 1.2;

Lab. Calc. I AA2002/03 - cap.88 Conversioni di tipo Possiamo assegnare valori interi (int) a oggetti reali (float, double): viene usato il valore reale corrispondente (promozione) Quando invece assegniamo dei reali a degli interi perdiamo la parte frazionaria (troncamento) int j = 1.234; cout << j; // stampa 1 ! int k = -1.99; cout <<k; // stampa –1 !

Lab. Calc. I AA2002/03 - cap.89 Uso di / e di % // esempio di conversione da secondi a ore, minuti, secondi int secondi= 3726; // tempo totale in secondi int tOre = secondi / 3600; // tOre vale 1 // NB per effettuare una divisione il calcolatore promuove // entrambi gli operandi a numeri reali, quindi secondi/3600 // è uguale a 3726./3600. int tMinuti = secondi % 3600 / 60; // il calcolatore valuta secondi % 3600 che vale 126, poi // calcola 126/60, che vale 2.1 e lo converte nell'intero 2 // quando lo assegna a tMinuti int tSecondi = secondi % 3600 % 60; // il calcolatore valuta secondi % 3600 che vale ancora 126, // poi 126 % 60 che vale 6

Lab. Calc. I AA2002/03 - cap.810 Arrotondamenti Il troncamento può essere sfruttato per effettuare larrotondamento di un numero con la precisione voluta. Consideriamo un numero reale r che vogliamo arrotondare con precisione p. Procederemo nel modo seguente: float r,p,ar; int temp; temp=r/p + 0.5; // il troncamento è per difetto, sommando 0.5 si arrotonda allintero più vicino ar=temp*p; esempio: r=10.52, p=0.1, 10.52/ vale ovvero 105.7, quindi temp vale 105 e ar vale 10.5 esempio: r=10.56, p =0.1, in questo caso otteniamo ovvero 106.2, temp vale 106 e ar vale 10.6

Lab. Calc. I AA2002/03 - cap.811 Oggetti costanti Si usa const nella dichiarazione di oggetti che non debbano essere modificati accidentalmente, ad esempio costanti utili come Esempi: const float iva=0.2; const double Pi= ; const tasso=0.04; // Ma la classe di default è int !!! // E quindi in questo caso tasso viene posto a zero

Lab. Calc. I AA2002/03 - cap.812 Espressioni booleane Prima di proseguire rivedere nel capitolo 4 la definizione di variabili logiche e le operazioni che possono essere effettuate su di esse. Un'espressione booleana può assumere solo due valori: vero o falso (true o false). In C++ ogni espressione numerica può essere utilizzata come espressione booleana in quanto il C++ interpreta zero come false e ogni altro valore numerico come true

Lab. Calc. I AA2002/03 - cap.813 Operatori booleani <minore di <=minore o uguale di >maggiore di >=maggiore o uguale di ==uguale a (da non confondere con = ) !=diverso da Hanno precedenza su &&and logico ||or logico !Not logico

Lab. Calc. I AA2002/03 - cap.814 Esempi 4 < 5 vale 1 (true) 2 >= 3vale 0 (false) 4 == 4vale 1 (true) double x = 1.5, y = -1.8; x > y vale 1 (true) x > y + 5 vale 0 (false) (4<5)&&7<6 vale 0 (false)

Lab. Calc. I AA2002/03 - cap.815 Esercizi Valutare le seguenti espressioni dati int j=7, k=3, m=12; j - k / m m * j % k 2 * j - k (j - k) * 2

Lab. Calc. I AA2002/03 - cap.816 Esercizi valutare le seguenti espressioni booleane !(4<5) 3 <= 4 && 5 < 7 2 < 1 || 6 < 8 !(5 ==5) && 3<7 !(x = -56) con x=56

Lab. Calc. I AA2002/03 - cap.817 Soluzioni int j=7, k=3, m=12; j - k / m vale 7 m * j % k vale 0 2 * j - k vale 11 (j - k) * 2 vale 8

Lab. Calc. I AA2002/03 - cap.818 Soluzioni !(4<5) vale 0 3 <= 4 && 5 < 7 vale 1 2 < 1 || 6 < 8 vale 1 !(5 ==5) && 3<7 vale 0 !(x = -56) con x=56 vale 0 !