Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Documenti analoghi
Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Programmazione Procedurale in Linguaggio C++

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Tipi di dato primitivi

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

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

Programmazione Procedurale in Linguaggio C++

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C: le funzioni

Struttura dei programmi C

Rappresentazione numeri reali

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

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

LINGUAGGI DI PROGRAMMAZIONE!

Programmazione in Java (I modulo)

Conversioni fra Tipi di Dati. Luca Abeni

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

Gli Operatori. Università degli Studi di Brescia

Introduzione alla programmazione in C(++)

Input/Output di numeri

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Espressioni ed operatori in C

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

Rappresentazione dell Informazione

Aritmetica dei Calcolatori Elettronici

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

INTRODUZIONE ALL ANALISI MATEMATICA

Somma di numeri binari

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Laboratorio di Programmazione Laurea in Bioinformatica

Codifica. Rappresentazione di numeri in memoria

Informatica di Base - 6 c.f.u.

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

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

$QDOLVLGHOSURJUDPPDTXDGUDWR

Classificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati

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

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Algoritmi e basi del C

Rappresentazione dell Informazione

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Algoritmi e basi del C Struttura di un programma

La codifica binaria. Informatica B. Daniele Loiacono

Informatica (A-K) 7. Linguaggio C - 1

IL PRIMO PROGRAMMA IN C

Lezione 3. I numeri relativi

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

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

Espressione di chiamata di funzione

Fondamenti di Informatica T-1 Modulo 2

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

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Linguaggio C - sezione dichiarativa: costanti e variabili

Lab 02 Tipi semplici in C

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Operazioni numeriche - Input

La programmazione nel linguaggio C

Corso sul linguaggio C Modulo Tipi di dato

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Primo programma in C Esercizi risolti

Sistemi di Numerazione Binaria

Rappresentazione e Codifica dell Informazione

IL PROBLEMA DEL PROGETTO

Introduzione al Linguaggio C

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2

La codifica binaria. Informatica B. Daniele Loiacono

Laboratorio di programmazione

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

La codifica. dell informazione

Rappresentazione della informazione

La "macchina" da calcolo

Foglio Elettronico Lezione 1

Espressioni. Espressioni. Valutazione di un espressione. Espressioni semplici

Rappresentazione dei Numeri

Matematica con Python

Cap. 4: Espressioni. Operatori

Unità aritmetica e logica

- Dispensa III - PROGRAMMAZIONE C (Parte I)

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Interi positivi e negativi

Lo schema seguente presenta le principali informazioni che devono essere rappresentate mediante codici binari.

Codifica binaria. Rappresentazioni medianti basi diverse

Primi passi col linguaggio C

Codifica di informazioni numeriche

Fondamenti di Programmazione. Sistemi di rappresentazione

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

La codifica. dell informazione

Istruzioni iterative (o cicliche)

Rappresentazione dei Dati

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Transcript:

Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1

Tipo intero Gli interi servono per contare, e contare è uno dei compiti più tipici per i computer Il tipo intero viene utilizzato per tutte le grandezze che possono essere rappresentate come numeri interi, come per es.: età, numero di figli, ecc. 3 Campo di variabilità Intervallo finito Tipo short int Dimensione (byte) 2 Valore minimo -32768 Valore massimo +32767 int 4-2 31 2 31-1 long int 8-2 63 2 63-1 4 2

Notazione per i valori costanti Sequenza di cifre, preceduta eventualmente dal segno + o - int x; x = 356; x = -987; 5 Operazioni + somma - meno unario - differenza * prodotto / divisione intera % resto della divisione intera (modulo) 6 3

Esempi int x=9; int y=6; x/y x%y 1 3 Se y=0 errore è in grado di eseguire una divisione per zero Per i numeri negativi, la direzione di troncamento del / ed il segno del risultato di %, dipendono dalla macchina Se x%y restituisce 0 x èmultiplo di y 7 Metodi di input/output int x; Output printf("%d", x); Input scanf("%d", &x); 8 4

Dettagli sul tipo intero Possibile aggiungere il qualificatore unsigned alla definizione di tipo, che consente alla variabile di contenere solamente numeri positivi Tipo unsigned short int Dimensione (byte) 2 Valore minimo 0 Valore massimo 65535 unsigned int 4 0 +2 32-1 unsigned long int 8 0 +2 64-1 9 Precedenze Il C dispone di un insieme di regole che determinano l ordine in cui le varie operazioni devono essere eseguite Per le operazioni aritmetiche le precedenze sono quelle definite in matematica 10 5

Precedenza degli operatori aritmetici Operatori Associatività Parentesi: () dall interno all esterno + alta Operatore unario: - Operatori binari: * / % Operatori binari: + - da destra a sinistra da sinistra a destra da sinistra a destra + bassa 11 Associatività 2*3*5 ((2*3)*5) da sinistra a destra 12 6

Regole 1. In base alla precedenza 2. Se tutti gli operandi hanno la stessa precedenza: associatività 3. Priorità degli operatori può essere alterata con le parentesi tonde: vengono valutate per prima le operazioni all interno delle parentesi tonde più interne 13 Esempio 3*5+2 2*3/2*3 3*(5+2) 17 * precedenza su + 9 * e / stessa precedenza: sx verso dx: ((2*3)/2)*3 21 7+3-15+4*5 15 (((7+3)-15)+(4*5)) 14 7

Esercizi sul tipo intero 15 Esercizio 1 Scrivere un programma che richiede all utente un numero che rappresenta un altezza in centimetri. Il programma converte tale altezza in metri e centimetri e visualizza il risultato in metri e centrimetri Esempio Utente immette 134cm 1 m, 34 cm Utente immette 45cm 0 m, 45 cm Utente immette 200cm 2 m, 0 cm 16 8

Soluzione: esercizio 1 #include<stdio.h> main() { int numero, metri, centimetri; printf("dammi l altezza in cm "); scanf("%d", &numero); metri = numero/100; centimetri= numero%100; printf("%d m, %d cm", metri, centimetri); } 17 Esercizio 2 Scrivere un programma che richiede all utente un numero positivo di tre cifre. Il programma stampa la cifra centrale. Esempio: 356 5 789 8 18 9

Soluzione: esercizio 2 #include<stdio.h> main() { int n, cfr; printf("introduci un numero positivo di tre cifre\n"); scanf("%d", &n); cfr = (n/10) % 10; printf("cifra centrale: %d", cfr); } 19 Esercizio 3 Rovesciare un numero positivo di tre cifre Esempio: 356 diventa 653 789 diventa 987 20 10

Soluzione: esercizio 3 #include<stdio.h> main() { int n, unita, decine, centinaia; printf("introduci un numero positivo di tre cifre\n"); scanf("%d", &n); unita = n % 10; decine = (n/10) % 10; centinaia = n/100; printf("numero rovesciato: %d%d%d", unita, decine, centinaia); } 21 oppure #include<stdio.h> main() { int n, unita, decine, centinaia; printf("introduci un numero positivo di tre cifre\n"); scanf("%d", &n); unita = n % 10; decine = (n/10) % 10; centinaia = n/100; printf("rov: %d", 100*unita+10*decine+centinaia); } 22 11

Altri esercizi 23 Esercizio Scrivere un programma che richiede all utente un numero che rappresenta un periodo di tempo espresso in minuti. Il programma converte tale periodo in ore e minuti e visualizza il risultato in ore e minuti Esempio Utente immette 134m Utente immette 45m Utente immette 180m 2 h, 14 m 0 h, 45 m 3 h, 0 m 24 12

Soluzione #include<stdio.h> main() { int numero, minuti, ore; } printf("dammi il tempo in minuti "); scanf("%d", &numero); ore = numero/60; minuti= numero%60; printf("%d h, %d m", ore, minuti); 25 Tipo reale I numeri reali vengono usati per rappresentare prezzi, pesi, misure, per calcoli matematici, ecc. 26 13

Campo di variabilità Intervallo finito float Tipo precisione singola double precisione doppia Dimensione (byte) 4 8 Valore minimo -3.2 10 ±38-1.7 10 ±308 Valore massimo +3.2 10 ±38-1.7 10 ±308 27 Notazione per i valori costanti Esistono due modi di scrivere numeri reali 1. parte intera punto parte decimale 4.34 2. parte intera e o E esponente con segno -3E3 rappresenta -3 10 3 cioè 3000 5e-2 rappresenta 5 10-2 cioè 0.05 28 14

Operazioni somma, differenza unaria e binaria, prodotto, divisione reale, esponenziali, logaritmi, funzioni trigonometriche, 29 Funzioni aritmetiche #include<math.h> x e y di tipo double e restituiscono un double pow(x, y) x y sin(x) seno di x, con x espresso in radianti cos(x) coseno di x, con x espresso in radianti exp(x) e x log(x) logaritmo naturale di x sqrt(x) radice quadrata x, x>=0 log10(x) logaritmo in base 10 di x 30 15

Metodi di input/output float x; Output printf("%f", x); Input scanf ("%f", &x); 31 Esercizi sul tipo reale 32 16

Esercizio 1 Scrivere un programma che calcola l area di un cerchio di raggio r immesso dall utente 33 Soluzione: esercizio 1 #include<stdio.h> main() { float r, area; printf("dammi il raggio: "); scanf("%f", &r); area = r*r*3.14; printf("l'area del cerchio di raggio %f = %f\n", r, area); } 34 17

Esercizio 2 Scrivere un programma che effettua la conversione da LIRE ITALIANE a EURO Esempio Se immetto 1000 LIRE 1000 LIRE = 0.516457 EURO 35 Soluzione: esercizio 2 #include<stdio.h> main() { float euro, lira; printf("dammi il numero in LIRE: "); scanf("%f", &lira); euro = lira / 1936.27; printf("%f LIRE = %f EURO", lira,euro); } 36 18

Migliorare stampa #include<stdio.h> main() { float euro, lira; %.nf stampa un numero frazionario con n cifre dopo il punto decimale printf("dammi il numero in LIRE: "); scanf("%f", &lira); euro = lira / 1936.27; printf("%.0f LIRE = %.2f EURO", lira,euro); } 37 Esercizio Scrivere un programma che calcola l area di un triangolo di base b ed altezza h, immessi dall utente 38 19