Rappresentazione binaria delle variabili (int e char)
|
|
- Silvio Quarta
- 7 anni fa
- Visualizzazioni
Transcript
1 Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati 32 bit mentre ai valori delle variabili del secondo tipo sono assegnati 8 bit. Osserviamo ora alcune conseguenze legate a questo tipo di rappresentazione. tipo bit valori intervallo unsigned signed char > > 127 int > > Prendiamo come riferimento il valore 250 e attribuiamo tale valore ad una variabile chiamata numero: qual è il risultato della seguente operazione? numero = numero + 10 Tale risultato cambia al variare del tipo di variabile? Per la rappresentazione di 250 sono sufficienti 8 bit, in quanto 250 [base 10] -> [base 2] mentre per la rappresentazione di 260 sono necessari 9 bit: 260 [base 10] -> [base 2] Di conseguenza, mentre il valore iniziale di numero può essere rappresentato sia mediante una variabile di tipo int che mediante una di tipo char, affinchè il risultato dell addizione possa essere correttamente rappresentato tale risultato può essere assegnato solo ad una variabile di tipo int. Esempio [versione corretta] #include <stdio.h>
2 {int numero = 250; numero += 10; printf( ecco il risultato corretto: %d,numero); } Esempio [versione errata] #include <stdio.h> {char numero = 250; numero += 10; /* uso lo stesso specificatore di formato perché intendo visualizzare un valore di tipo intero */ printf( ecco il risultato errato: %d,numero); // ecco un commento che si estende su una sola riga /* questo tipo di commento si può estendere su una riga */ /* oppure lo stesso tipo di commento si può estendere su più di una riga */ } Che valore viene visualizzato in questo caso? Partiamo dal valore del risultato, 260, che rappresentato in base 2 diventa: Se selezioniamo solo gli ultimi 8 bit a destra della rappresentazione, gli unici che possono essere utilizzati da una variabile di tipo char, otteniamo 100 [in base 2] -> 4 [in base 10] Questa trasformazione, da 260 a 4, è conseguenza del fatto che una variabile di tipo char non permette di rappresentare più di 256 valori (da 0 a 255). Una volta raggiunto il massimo valore rappresentabile, quindi, il valore della variabile ritorna quello minimo. Per visualizzare la cosa, supponiamo che i 16 bit inseriti in ciascuna riga della tabella
3 rappresentino un intero ed osserviamo come varia la sequenza dei primi 8 bit sulla destra (quelli che verrebbero assegnati ad un char) man mano che incrementiamo di unità in unità il valore dell intero. secondi 8 bit primi 8 bit Valore [base 10] Valore 8 bit[base 10] Il valore contenuto nella variabile di tipo char dopo l assegnazione vista sopra poteva essere determinato utilizzando l operatore %. Infatti se a partire da tale operatore definiamo la funzione (matematica): f(x) = x % 256 Se x è intero, la funzione è periodica e va da 0 a 255 e, nel caso in cui sia x = 260, f(x) vale 4. Ricapitolando: char carattere = 248 ; int intero = 248 ; carattere+ = 20 ; intero+ = 20 ; printf( ecco il valore memorizzato in carattere %d, carattere ); // questa istruzione visualizza 12 printf( ecco il valore memorizzato in intero %d, intero ); // questa istruzione visualizza 268 printf( ecco il valore dei primi 8 bit di intero %d, intero%256 ); // questa istruzione visualizza 12
4 In conclusione: - quando il valore di un int viene assegnato ad un char solo gli ultimi 8 bit a destra della rappresentazione del valore intero vengono utilizzati - tutte le operazioni applicabili agli int sono applicabili anche ai char, il risultato potrebbe non essere quello atteso a causa della quantità di memoria assegnata alle variabili di tipo char (8 bit) una precisazione prima di proseguire. Grazie alla funzione printf(), fino ad ora siamo stati in grado di visualizzare VALORI di tipo int. E importante parlare di valori e NON di variabili perché grazie a printf() possiamo visualizzare tutto ciò che possiede un valore, quindi anche i valori delle espressioni o delle assegnazioni. #include <stdio.h> { int prova = 30 ; int temp; temp = prova + 25 ; printf( visualizzo il valore di temp: %d, temp ); printf( visualizzo il valore dell espressione : %d, prova + 25 ); printf( visualizzo il valore dell assegnazione : %d, temp = prova + 25 ); // tutte e tre le chiamate a printf() visualizzano il medesimo numero: 55 } Lo specificatore di formato serve ad indicare che tipo di valore intendiamo visualizzare, non deve necessariamente coincidere con il tipo della/e variabile/i presenti tra le parentesi della funzione. (prima, ad esempio, abbiamo utilizzato lo specificatore %d per visualizzare il valore di una variabile di tipo char)
5 I char La gestione dei caratteri in C avviene mediante delle variabili di tipo char che, a tutti gli effetti, possono essere considerate degli interi positivi da 8 bit. In C, vi è una corrispondenza biunivoca tra caratteri ed interi a 8 bit, ovvero ad ogni carattere corrisponde uno ed un solo numero (ovvero il CODICE ASCII del carattere, che varia da 0 a 255) e ad ogni numero compreso tra 0 e 255 corrisponde uno ed un solo carattere. Ad esempio, le lettere minuscole sono raggruppate in ordine alfabetico, al carattere a corrisponde il numero 97, al b il 98 e così via fino al carattere z cui corrisponde il 122. La stessa cosa vale per le lettere maiuscole; in questo caso i codici ASCII sono pari a quelli del corrispondente carattere minuscolo, diminuito di 32 (ovvero, se la a ha codice 97, la A ha codice ASCII 97 32, cioè 65). Anche i caratteri numerici hanno un codice ASCII, si parte dal carattere 0 che ha come codice corrispondente il 48, poi c è il carattere 1 che ha codice ASCII 49 e così via. I caratteri cui corrispondono i codici ASCII che vanno dal 128 al 255 si trovano nella Tabella dei Codici ASCII Estesa.
6 (Tabella ASCII) L assegnazione di un valore ad una variabile di tipo char può essere effettuata in modi diversi (1) assegno direttamente il carattere che intendo memorizzare nella variabile
7 char var1; var1 = f ; printf( visualizzo il carattere %c,var1); /* la funzione visualizza il seguente messaggio visualizzo il carattere f */ Un SINGOLO CARATTERE compreso tra singoli apici rappresenta un modo per assegnare ad una variabile di tipo char il valore del carattere stesso. (2) In alternativa, posso assegnare il valore del codice ASCII del carattere che mi interessa rappresentare char var1; var1 = 102 ; printf( visualizzo il carattere %c,var1); /* anche in questo caso la funzione visualizza il seguente messaggio visualizzo il carattere f */ Data una variabile di tipo char, mediante printf() risulta possibile visualizzare sia il corrispondente carattere che il relativo codice ASCII utilizzando l opportuno specificatore di formato. char var2 = k ; printf( visualizzo il carattere %c,var2); printf( \n visualizzo il codice ASCII: %d,var2); L output del programma è il seguente:
8 visualizzo il carattere k visualizzo il codice ASCII: 107 Esempio di codice: - dichiariamo ed inizializziamo tre variabili di tipo char - visualizziamo il carattere corrispondente ed il relativo codice ASCII - effettuiamo delle operazioni con tali variabili // inizio codice #include <stdio.h> {// dichiaro ed inizializzo le variabili char car1 = a, car2 = 2, car3 = 4 ; char temp; // visualizzo il valore dei tre caratteri printf( primo carattere: %c \n secondo carattere: %c \n terzo carattere: %c,car1,car2,car3); // visualizzo il corrispondente codice ASCII printf( primo codice: %d \n secondo codice: %d \n terzo codice: %d,car1,car2,car3); // NOTA: con i char posso anche effettuare delle operazioni, ricordando che si tratta // di interi a 8 bit // il risultato dell operazione si ricava a partire dal codice ASCII del carattere car1 = car1 + 5 ; printf( il nuovo carattere, %c, ed il suo codice ASCII, %d,car1,car1); /* sommando 5 al codice ASCII di a, che è 97, si ottiene 102, il codice ASCII di f la funzione quindi visualizza questa stringa il nuovo carattere, f, ed il suo codice ASCII, 102 */ // attenzione all utilizzo dei caratteri numerici printf( \n ecco i caratteri numerici %c e %c,car2,car3);
9 } // ora voglio fare la somma dei due valori numerici, 2 e 4, e assegnare il risultato a temp /* primo tentativo */ temp = car2 + car3; /* in questo modo sommo i codici ASCII dei due caratteri e ottengo = 102 tale valore, però, è il codice ASCII della lettera f */ printf( il risultato di %c + %c e\ %c, car2, car3, temp); /* si ottiene quindi il risultato di e f che non va bene Come faccio a costruire il codice ASCII del risultato (ovvero del numero 6)? */ // Attenzione: l istruzione di prima risulta equivalente a : printf( il risultato di %c + %c e\ %c, car2, car3, car2 + car3 ); // fine codice I codici ASCII dei caratteri numerici si trovano uno dopo l altro, a partire da quello del carattere 0 [ASCII: 48] fino a quello del carattere 9 [ASCII: 57]. Se voglio sommare due caratteri numerici ed ottenere il risultato corretto, quindi, devo prima trasformarli nei numeri che essi rappresentano, sommare, e poi ritrasformare il risultato nel corrispondente carattere. Esempio: partiamo dal carattere 4 : come otteniamo il numero 4? sottraendo il codice ASCII dello 0, in quanto 4 0 = 4 Per sommare il carattere 4 ed il carattere 2 ed ottenere il risultato atteso, ovvero 6, devo quindi svolgere le seguenti operazioni:
10 #include <stdio.h> { char car2 = 2 ; char car3 = 4 ; char temp; int intero; temp = ( car2 48 ) + ( car3 48 ) ; // ovvero -> temp = = 6 /* a questo punto temp vale 6, che NON e il codice ASCII del carattere 6!! */ temp += 48 ; printf( il risultato dell operazione %c + %c e\ %c,car2,car3,temp); // che visualizza la seguente stringa: // // il risultato dell operazione e 6 intero = car2 ; // quanto vale intero? }
11 Lettura e scrittura dei caratteri Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar(void) (per leggere dalla tastiera) int putchar(int) (per visualizzare un carattere sul monitor) Per utilizzare tali funzioni è necessario richiamare il file stdio.h della libreria standard. Valori restituiti dalle funzioni: La funzione getchar() restituisce il codice ASCII del carattere che viene premuto. La funzione putchar() restituisce il codice ASCII del carattere che viene visualizzato. Ad esempio, per stampare la lettera a si deve usare l istruzione: char lettera = a ; putchar(97); // o anche l istruzione putchar(lettera); // o anche l istruzione putchar( a ); // Tutte queste sono equivalenti a printf( %c,lettera); // oppure a printf( %c, a ); Viceversa, per acquisire un carattere premuto sulla tastiera si usa l'istruzione:
12 char lettera; lettera=getchar(); Esempio 1. #include <stdio.h> // per poter usare printf() {char leggo; printf( \ninserire un carattere : ); leggo=getchar(); printf( \n E\ stato inserito il carattere: %c,leggo); return 0; } Versione alternativa (cambia il tipo della variabile leggo) #include <stdio.h> // per poter usare printf() {int leggo; printf( Inserire un carattere : ); leggo=getchar(); printf( \n E\ stato inserito il carattere: %c,leggo); // o anche printf("\n E\' stato inserito il carattere: "); putchar(leggo); return 0;}
Lettura da tastiera e scrittura su monitor
Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliLa gestione dei caratteri in C
in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio
DettagliIndovina la lettera...
Indovina la lettera... La lezione di oggi consiste nel preparare un programma che chiede all'utente di indovinare quale sia il carattere generato dal programma stesso in modo casuale. Il numero totale
DettagliCaratteri e stringhe
Caratteri e stringhe Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe 2 Vettori di caratteri Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di
DettagliCaratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1
Caratteri e stringhe Il tipo stringa Terminatore nullo Input/output di stringhe 2 2006 Politecnico di Torino 1 Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di dato stringa
DettagliVariabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliCorso sul linguaggio C Modulo Tipi di dato
Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di
DettagliVettori di caratteri. Caratteri e stringhe. Stringhe in C. Vettori di caratteri. char saluto[10] ; B u o n g i o r n o 4. Esempio.
Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe Caratteri e stringhe 2 Stringhe in C Vettori di caratteri Nel linguaggio C non è supportato esplicitamente alcun tipo di
DettagliIL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
DettagliRappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
Dettaglimodificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
DettagliLa rappresentazione delle informazioni
La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare
DettagliRiprendiamo l esercizio calcolatrice
Riprendiamo l esercizio calcolatrice Scrivere un programma calcolatrice che legga da tastiera due variabili intere a e b, poi Stampi un menu con un valore numerico associato a quattro operazioni possibili:
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliRapida Nota sulla Rappresentazione dei Caratteri
TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit
DettagliEspressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliCODIFICA DEL TESTO 0???????
CODIFICA DEL TESTO Simboli da rappresentare: lettere a,b,c,.z,a,b,c,.z cifre 0,1,2,3, 9 simboli di punteggiatura ;:,. Rappresentati mediante sequenze di bit Una codifica dei simboli è perciò (almeno) una
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
DettagliCap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
DettagliLinguaggio 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
DettagliModulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)
Codifica dei numeri interi con segno in base 2: Ci siamo occupati fino ad adesso di come il computer (base 2) rappresenta i numeri interi Occupiamoci ora di rappresentare i numeri interi col segno: Per
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliInformatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
DettagliAPPUNTI DI INFORMATICA
APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliLa 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
DettagliRappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto
Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliLIBRERIE STANDARD in C. LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
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
DettagliAritmetica dei Calcolatori
Aritmetica dei Calcolatori Luca Abeni March 5, 2014 Codifica dei Numeri Interi k bit codificano 2 k simboli/valori/numeri... Si usa la base 2 per codificare i numeri Numeri naturali n N: valori da 0 a
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliStringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
DettagliProgrammazione I Paolo Valente /2017. Lezione 6. Notazione posizionale
Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente
DettagliLe rappresentazioni e le proprietà dei numeri reali
Le rappresentazioni e le proprietà dei numeri reali In generale un numero qualsiasi, con sviluppo decimale finito o infinito, positivo, negativo o nullo, è un numero relativo e appartiene all insieme dei
DettagliLezione 3. I numeri relativi
Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliRappresentazione dei Numeri
Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare
DettagliLe funzioni, e le istruzioni di input/output
Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali
DettagliConversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliPROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009
PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 7/2/2009 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (5 punti) Esprimere
Dettagliprova.c #include <stdio.h> char funzione(char); codice oggetto del main()
prova.c #include char funzione(char); {char c= a ; printf( Ecco il carattere: %c\n,c); c=funzione(c); printf( Ecco il carattere modificato: %c\n,c); char funzione(char tmp) {if(tmp
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliRappresentazioni numeriche
Rappresentazioni numeriche Un numero è dotato di un valore una rappresentazione La rappresentazione di un numero è il sistema che utilizziamo per indicarne il valore. Normalmente è una sequenza (stringa)
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliCalcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
DettagliPuntatori (in C) Emilio Di Giacomo
Puntatori (in C) Emilio Di Giacomo Puntatori In questa lezione parleremo di uno dei costrutti più potenti del C: i puntatori I puntatori vengono utilizzati per realizzare il passaggio di parametri per
DettagliLa codifica binaria. Fondamenti di Informatica. Daniele Loiacono
La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliInformatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi
Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)
DettagliPag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Tipi di dati Informatica Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle
DettagliStringhe di caratteri
Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliCodifica. Rappresentazione di numeri in memoria
Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per
DettagliIl generatore di numeri casuali
Il generatore di numeri casuali file di libreria: stdlib.h int rand(void) La funzione restituisce un numero casuale di tipo intero compreso tra 0 e RAND_MAX (estremi compresi) Esempio: scriviamo un programma
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013
Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare
DettagliClassificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliArgomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni
Argomenti trattati Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni Informazione mi dai il numero di Andrea? 0817651831 Il numero
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliRappresentazione in complemento a 2: caratteristiche generali
Rappresentazione in complemento a 2: caratteristiche generali La rappresentazione non è completamente posizionale, ma in parte sì. Guardando il bit più significativo (MSB) si capisce se il numero è positivo
DettagliRappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano
Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze
DettagliIl 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
DettagliLa rappresentazione delle Informazioni
La rappresentazione delle Informazioni Nella vita di tutti i giorni siamo abituati ad avere a che fare con vari tipi di informazioni, di natura e forma diversa, così come siamo abituati a diverse rappresentazioni
DettagliFondamenti di Programmazione. Sistemi di rappresentazione
Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
DettagliIntroduzione alle stringhe e algoritmi collegati
Introduzione alle stringhe e algoritmi collegati Algoritmicamente August 15, 2009 1 Introduzione 1.1 Introduzione ai caratteri In informatica o più generalmente in una terminologia scientifica, il carattere
DettagliLezione 10. L arte della programmazione
Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un
DettagliEsercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
Dettagli7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.
NUMERI RAZIONALI Q Nell insieme dei numeri naturali e nell insieme dei numeri interi relativi non è sempre possibile effettuare l operazione di divisione. Infatti, eseguendo la divisione 7 2 si ottiene
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliCaratteri e stringhe
Caratteri e stringhe Il tipo char Variabili char Input/output di char Operazioni sui char Esercizio Quadrati di lettere 2 Il tipo char Variabili char I caratteri in C si memorizzano in variabili di tipo
DettagliRappresentazione dei Dati
Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli
DettagliRappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano
Rappresentazione di dati: caratteri Appunti a cura del prof. Ing. Mario Catalano 1 Rappresentazione di caratteri Tipologia di caratteri: alfabeto e interpunzioni: A, B,.., Z, a, b,.., z, ;, :,,.. cifre
DettagliRappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
DettagliLinguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
DettagliLe Funzioni e la Ricorsione
Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html
DettagliTipi 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
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliParte Seconda. Prova di selezione culturale
Parte Seconda Prova di selezione culturale TEORIA DEGLI INSIEMI MATEMATICA ARITMETICA Insieme = gruppo di elementi di cui si può stabilire inequivocabilmente almeno una caratteristica in comune. Esempi:
Dettagli