Angelo Gallippi. Fondamenti di informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Angelo Gallippi. Fondamenti di informatica"

Transcript

1 Angelo Gallippi Fondamenti di informatica

2 Copyright MMIX ARACNE editrice S.r.l. via Raffaele Garofalo, 133 A/B Roma (06) ISBN I diritti di traduzione, di memorizzazione elettronica, di riproduzione e di adattamento anche parziale, con qualsiasi mezzo, sono riservati per tutti i Paesi. Non sono assolutamente consentite le fotocopie senza il permesso scritto dell Editore. I edizione: aprile 2009

3 1 Indice 1 Sistemi di numerazione binari Codifica binaria pura Conversione da base 10 a base 2 (parte intera) Conversione da base 10 a base 2 (parte decimale) Conversione da base 2 a base Operazioni nel sistema binario Sistema esadecimale Conversione da base 16 a base Conversione da base 16 a base Conversione da base 10 a base Codifica BCD Codici binari alfanumerici Codifica ASCII Codifica EBCDIC Codici rilevatori di errori Codifica delle grandezze fisiche Digitalizzazione di una forma d onda analogica Digitalizzazione di una immagine Vantaggi della digitalizzazione Algoritmo di cifratura RSA Costruzione della coppia di chiavi asimmetriche Cifratura e decifrazione Algebra di Boole Operatori AND (&&), OR ( ), NOT (!) Tabelle di verità Teoremi di De Morgan Operatore OR esclusivo XOR (^) Porte logiche Transistori MOSFET Produzione dei MOSFET Circuiti logici AND, OR, NOT, XOR Sommatore binario Operatore NOR Operatore NAND...52

4 2 Indice 2.11 Circuiti universali (NAND, NOR) Operatori logici orientati al bit (bitwise) AND bit a bit (&) OR inclusivo bit a bit ( ) OR esclusivo bit a bit (^) Spostamento a sinistra (<<) Spostamento a destra (>>) Macchine di Turing Macchina sommatrice Macchina copiatrice Architettura di un computer Macchina di von Neumann Memoria centrale Memoria di sola lettura (ROM) Memoria di lettura e scrittura (RAM) Unità centrale di elaborazione (CPU) I registri Unità di controllo Unità di calcolo Memoria cache Pipeline Stack Puntatore di stack Bus del microprocessore Bus dati Bus indirizzi Bus di controllo Bus di espansione Algoritmi di base Diagrammi di flusso Controllo del programma Selezione binaria Selezione multipla Iterazione Divisione con sottrazioni ripetute Moltiplicazione con addizioni ripetute

5 Indice Strutturazione degli algoritmi Struttogrammi Iterazione enumerativa (for) Somma dei primi n numeri naturali Iterazione con guardia all inizio (while) Massimo Comun Divisore Numero massimo Calcolo del fattoriale (1) Iterazione con guardia alla fine (do-while) Moltiplicazione tramite addizioni ripetute Calcolo della radice quadrata Cicli nidificati Confronto tra do-while e while Iterazione e ricorsività Definizione ricorsiva di fattoriale Definizione ricorsiva di potenza Serie di Fibonacci Alberi binari Traduzione del programma Programma compilatore Fase di analisi Fase di sintesi Programma assemblatore Programma legatore Programma caricatore Compilatore DMC Tipi dati Tipi dati semplici Valori integer Numeri floating point e double precision Tipo character Determinazione della occupazione di memoria (sizeof()) Operatori aritmetici Divisione intera (operatore modulo %) Operatore unario (negazione)...141

6 4 Indice Associatività e precedenza degli operatori Espressioni e operatori relazionali Operatori logici La modularità Funzioni La funzione main() La funzione printf() Sequenza di escape \n Commenti Sequenze di controllo di conversione Sequenza %d (interi) Sequenza %ld (interi lunghi) Sequenza &u (interi senza segno) Sequenza %f (numeri in virgola mobile) Sequenza %e (notazione esponenziale) Sequenza %c (caratteri) Sequenza %s (stringhe) Specificatori di larghezza di campo Numeri interi (%d) Numeri in virgola mobile (%f) Modificatori di formato Giustificazione a sinistra (%-) Visualizzazione del segno + (%+) Variabili e dichiarazioni Istruzioni di assegnazione Istruzioni di dichiarazione (int, float, double, char) Istruzioni di dichiarazione/definizione Operatore di assegnazione (=) Valore di una espressione di assegnazione Assegnazioni multiple Operatori di assegnazione (+=, -=, *=, /=, %=) Operatori di incremento e di decremento (++, --) Indirizzi delle variabili Operatore di indirizzo & Sequenza di controllo di conversione %p Variabili puntatori

7 Indice Operatore di indirezione * Dichiarazione dei puntatori Codice ASCII di un carattere (%o, %x) Ingresso interattivo (scanf()) Spazi nella stringa di controllo (%lf) Costanti simboliche (#define) Controllo del flusso Istruzione if-else Istruzioni composte Istruzione if a una via Istruzioni if nidificate Catena if-else Istruzione switch Cicli Istruzione while scanf() all interno di un ciclo while Sentinelle (EOF) Istruzioni break e continue Istruzione null (;) Istruzione for scanf() all interno di un ciclo for Istruzione do-while Controlli di validità Tipi dati strutturati Vettori (a una dimensione) Ingresso dei valori Visualizzazione dei valori Componente massima Da vettore a istogramma Vettori a due dimensioni (matrici) Inizializzazione Visualizzazione Moltiplicazione per uno scalare Tavola pitagorica Triangolo di Tartaglia Vettori a più di due dimensioni...212

8 6 Indice 12 Tipi dati definiti dall'utente Istruzione didichiarazione typedef Specificatore enum Strutture (singole) Dichiarazione Assegnazione (operatore.) Nomi tag Inizializzazione Vettori di strutture Liste concatenate di strutture Puntatori speciali Puntatore di struttura (->) Unioni Nomi tag Operazioni Funzioni di biblioteca Funzioni matematiche (file <math.h>) Funzioni di ingresso e uscita (file <stdio.h>) Funzione getchar() Funzione putchar() Funzioni gets(), puts() Equivalenza tra puts() e printf() Non equivalenza tra gets() e scanf() Funzioni di stringa (file <string.h>) Funzioni di conversione di tipi dati (file <stdlib.h>) Generazione di numeri pseudo-casuali (rand()) Programma 20 lanci Programma 6000 lanci Funzione srand() File <time.h> Funzioni di carattere (file <ctype.h>) Funzioni definite dall utente Dichiarazione (prototipo) di funzione Chiamata Definizione Linea d intestazione

9 Indice Corpo Conversione Fahrenheit-Celsius Fattoriale ricorsivo Serie di Fibonacci. Calcolo ricorsivo Serie di Fibonacci. Calcolo iterativo Passaggio di vettori (1) Componente massima Passaggio di vettori (2) Ambito e durata delle variabili Variabili locali e globali Uso delle variabili globali Classe extern Durata delle variabili (classi di memorizzazione) Classe auto Classe register Classe static Allocazione dinamica di memoria (malloc(), free()) Passaggio di una matrice Chiamate per valore e per riferimento Passaggio, memorizzazione e uso degli indirizzi Confronto tra chiamata per valore e per riferimento Popolamento e visualizzazione di una lista concatenata Algoritmi di ricerca Ricerca lineare Ricerca binaria Tempo di esecuzione Notazione O-grande Vettori, indirizzi e puntatori Puntatori come nomi di vettori Notazione con puntatore e offset Costanti puntatore Aritmetica dei puntatori Algoritmi di ordinamento Ordinamento a bolle (Bubble sort) Miglioramenti Bolle per riferimento...307

10 8 Indice 18.2 Ordinamento per selezione Ordinamento per inserimento Shell sort Heap sort Ordinamento per fusione (Merge sort) Suddivisione Ordinamento Fusione Quicksort Efficienza Manipolazione di stringhe di caratteri Copia carattere per carattere Immissione carattere per carattere Funzione scritta dall utente Puntatori e funzioni di biblioteca File di dati Dichiarazione (FILE) Apertura (fopen()) Funzioni di scrittura (fputc(), fputs(), fprintf()) Chiusura (fclose()) Scrittura da programma Apertura per lettura (fopen()) Funzioni di lettura (fgetc(), fgets(), fscanf()) Uso di fgetc() Lettura con fscanf() Lettura con fgets() File standard di dispositivo (stdin, stdout) Puntatore di file (stderr) Confronto tra fgets()/gets() e puts()/fputs() Scrittura di un file da tastiera (feof()) Lettura del file immesso da tastiera File offset Funzione rewind() Funzione fseek() Funzione ftell() File ad accesso casuale

11 Indice Funzioni fwrite() e fread() Creazione Scrittura Lettura Argomenti dalla linea dei comandi Passaggio di argomenti Copia di un file Reindirizzamento di input e output (operatore >) Aggiunta di input e output (operatore >>) Risposte agli esercizi Testi consigliati Aho, Alfred V. and Jeffrey D. Ullman [1983]. Data Structures and Algorithms. Addison-Wesley, Reading, Massachusetts. Cormen, Thomas H. [2001]. Introduction to Algorithms. McGraw- Hill, New York. Knuth, Donald E. [1998]. The Art of Computer Programming, Volume 3, Sorting and Searching. Addison-Wesley, Reading, Massachusetts. Pearson, Peter K. [1990]. Fast Hashing of Variable-Length Text Strings. Communications of the ACM, 33(6): , June Pugh, William [1990]. Skip Lists: A Probabilistic Alternative to Balanced Trees. Communications of the ACM, 33(6): , June Deitel, H.M. C Corso completo di programmazione, Apogeo, Milano, Dennis M. Ritchie, "The Development of the C Language, in: Gallippi, A. Dizionario di informatica Inglese/Italiano, Tecniche Nuove, Milano, 2006.

12 10 Test d'ingresso 1. Cosa indicano le seguenti sigle: NMOS, NAND, DRAM, CD- ROM? 2. Come si chiama il fisico che ha realizzato il primo microprocessore? 3. Come si chiama il fisico, premio Nobel, che ha inventato il circuito integrato? 4. Cos è una memoria cache? 5. Cosa si misura in Megahertz? E in Megabyte? 6. Qual è il risultato della seguente operazione: 9 modulo 4? 7. Cosa indica la parola inglese file? 8. Quali sono i primi cinque termini della successione di Fibonacci? 9. A cosa può servire il triangolo di Tartaglia? 10. Quanto valgono le seguenti espressioni: 2-3 ; 0,5 4 ; 16 1/2? 11. Qual è stato lo strumento di calcolo più diffuso prima dell'avvento delle calcolatrici elettroniche? 12. A cosa possono servire i numeri primi?

13 1 Sistemi di numerazione binari Il sistema di numerazione binario, ideato dal filosofo tedesco Gottfried Wilhelm Leibniz 1, consente di rappresentare un qualsiasi numero usando i due soli simboli o cifre 0 e 1, e di compiere con essi tutte le usuali operazioni aritmetiche. Le stesse cifre 0 e 1 consentono di codificare anche dati testuali o alfabetici e, attraverso il processo di digitalizzazione, una qualsiasi grandezza analogica, cioè variabile in maniera continua. Le cifre 0 e 1 - o, più in generale, i termini antitetici vero-falso, sì-no e simili - possono essere rappresentate dagli stati fisici ( acceso-spento, aperto-chiuso, conduttore-isolante, ecc.) di dispositivi quali lampadine, interruttori e transistori, e ciò determina la grande versatilità dei moderni computer. 1.1 Codifica binaria pura La rappresentazione di un numero tramite le sole cifre 0 e 1 può avvenire secondo diversi criteri; la codifica binaria pura (detta semplicemente binaria ) ha il vantaggio di rappresentare i numeri in modo che si possano applicare a essi le stesse regole dell aritmetica decimale. Negli altri tipi di notazione binaria, invece, i risultati della conversione non possono essere impiegati in operazioni aritmetiche, perché non fornirebbero i risultati corretti. Il sistema binario è, come quello decimale, di tipo posizionale, in quanto la posizione di una cifra in un numero determina il valore o peso di quella cifra. Ciò a differenza, per esempio, del sistema di numerazione degli antichi romani, che era solo parzialmente posizionale (consideriamo, ad esempio, il numero MDCCXIV). Per esempio, nei numeri 300 e 3000 la stessa cifra 3 indica quantità diverse, in quanto nel primo va pensata moltiplicata per 100, nel secondo per 1000 (come si avverte anche 1 Leibniz espose il suo sistema in diversi scritti, tra i quali De progressione dyadica che porta la data del 15 marzo 1679, una lettera a Claudio Filippo Grimaldi del gennaio/febbraio 1697 e una al padre gesuita Joachim Bouvet del 18 maggio In quest ultima, in particolare, Leibniz scrive: «Erano ben più di venti anni che avevo in testa questa aritmetica fondata sullo 0 e sull 1, della quale vedevo le mirabili conseguenze per condurre la scienza dei numeri a una perfezione che supera tutto quello che possediamo».

14 = = = =1, 14 Capitolo I leggendo i due numeri). Ciò si esprime dicendo che le cifre prima della virgola di un numero decimale vengono moltiplicate per le successive potenze con esponente positivo del numero 10 (detto base del sistema di numerazione), che sono: Invece le cifre dopo la virgola di un numero in base 10 vengono moltiplicate per le successive potenze con esponente negativo del numero 10, che sono:, 10-1 =0, =0, =0, =0, Anche nel sistema binario le cifre di un numero vanno pensate moltiplicate per una opportuna potenza, in questo caso della base 2. Per quanto riguarda la parte prima della virgola di un numero in base 2, tali potenze sono: = = =8 2 2 =4 2 1 =2 2 0 =1 Per quanto riguarda la parte dopo la virgola di un numero in base 2, le successive potenze del 2 sono:, 2-1 =0,5 2-2 =0, =0, =0, Conversione da base 10 a base 2 (parte intera) Per convertire la parte intera di un numero da base 10 a base 2 si può seguire il seguente algoritmo delle divisioni successive: si divide il numero per 2 annotando il quoziente e il resto; si ripete l operazione fino a ottenere per quoziente 0; la successione dei resti ottenuti, scritti dall ultimo al primo, fornisce la conversione desiderata. Ecco come si effettua, ad es., la conversione in binario di :,

15 Sistemi di numerazione binari 15 Quindi: Conversione da base 10 a base 2 (parte decimale) Per convertire la parte decimale di un numero da base 10 a base 2 si può usare l'algoritmo delle moltiplicazioni successive: si moltiplica il numero per 2, annotando la prima cifra del prodotto se essa vale 1, altrimenti annotando 0; si ripete la moltiplicazione del risultato ottenuto, terminando il procedimento quando si ottiene come prodotto una potenza del 10; la successione degli 0 e 1 ottenuti, scritti a partire dal primo, fornisce la conversione desiderata. Nel caso, ad esempio, del numero 0, , la conversione si effettua secondo lo schema seguente: 1 a moltiplicazione 8125 * 2 = prodotto 6250 * 2 = * 2 = * 2 = Quindi: 0, , Esercizio 1. Convertire il numero 0,3 10 in base 2. Come si vede, nel convertire la parte dopo la virgola di un numero da base 10 a base 2 può succedere che il numero, non periodico nel primo sistema di numerazione, diventi periodico nel secondo. Questo fatto può comportare una perdita di esattezza quando si eseguano operazioni tra numeri con la virgola che siano stati convertiti nel sistema binario.

16 16 Capitolo I Conversione da base 2 a base 10 Per convertire un numero da base 2 a base 10 si segue il seguente algoritmo: si moltiplica ogni bit del numero per il valore dalla corrispondente potenza del 2, quindi si sommano i valori così ottenuti. Nel caso, ad es., del numero la conversione si effettuerebbe secondo lo schema seguente: Quindi: Osserviamo che tale procedimento si applica sia alla parte intera sia a quella decimale del numero. Quindi nel caso, ad es., del numero 0, la conversione si effettua secondo lo schema seguente: Operazioni nel sistema binario Le operazioni sui numeri binari si eseguono secondo le regole ordinarie dell aritmetica, con l ulteriore semplificazione derivante dal fatto di operare su due sole cifre.

17 Sistemi di numerazione binari 17 La somma si esegue allineando i numeri sulla destra e applicando alle cifre sulla stessa verticale le regole della somma binaria riportate in Tabella 1. Tabella 1. Regole della somma binaria Per esprimere in modo più uniforme i quattro risultati indicati in Tabella 1, conviene ragionare in termini di: due addendi / un risultato e un riporto, come indicato in Tabella 2. Tabella 2. Risultati e riporti della somma binaria di due cifre. Addendi Risultato Riporto Tuttavia, dato che in pratica si sommano numeri costituiti da più di una cifra binaria, conviene ragionare in termini di due addendi e un riporto / un risultato e un riporto, come indicato in Tabella 3. Tabella 3. Risultati e riporti della somma binaria di più cifre. Addendi Riporto preced. Risultato Riporto attuale Ad es., la somma di e si esegue secondo lo schema seguente:

18 18 Capitolo I Anche la moltiplicazione tra due numeri si esegue come nel sistema decimale. In particolare si applicano ai prodotti parziali delle singole cifre le regole di Tabella 4, quindi si sommano i prodotti parziali con le regole della somma viste in precedenza. Tabella 4. Regole della moltiplicazione binaria. * Osserviamo che la Tabella 4 è un sottoinsieme della familiare tavola pitagorica (scritta, di solito, senza la riga e la colonna dello 0). La sottrazione nel sistema binario si potrebbe eseguire come nel sistema decimale ma di fatto, per evitare la situazione di dovere prendere in prestito una unità dalla cifra di sinistra quando una cifra del sottraendo superi quella corrispondente del minuendo, conviene eseguire la sottrazione tramite due operazioni più semplici per i circuiti binari: la complementazione e l addizione. Ricordiamo che nel sistema decimale il complemento a 9 di un numero è quel numero che sommato al primo dà un risultato costituito da tutte cifre 9. Quindi il complemento di un numero di due cifre si ottiene sottraendo il numero da 99, di uno a tre cifre sottraendo il numero da 999 e così via. Ad es., il complemento di 13 è (99-13) = 86. L uso del complemento evita di eseguire una sottrazione, sostituendola con un addizione. Infatti, ad es., nell identità: 13 9 = 4 si può sottrarre 99 a entrambi i membri, ottenendo: = 4 99 e, cambiando segno a entrambi i membri, (99 13) + 9 = (99 4)

19 Sistemi di numerazione binari 19 Dato che la parentesi a primo membro rappresenta il complemento del minuendo e quella a secondo membro il complemento del sottraendo, se ne trae la seguente regola. Per eseguire una sottrazione si può eseguire il complemento a 9 del minuendo, sommargli il sottraendo ed eseguire il complemento a 9 della somma ottenuta. La regola precedente vale ovviamente anche nel sistema binario - dove anzi risulta di applicazione ancora più semplice - sostituendo il complemento a 9 con il complemento a 1. Si definisce complemento a 1 di un numero quel numero che sommato al primo dà un risultato costituito da tutte cifre 1. Ad es. il complemento a 1 di 1101 è , dato che = Si vede che: il complemento a 1 di un numero si ottiene cambiando i suoi 0 in 1 e viceversa. Applichiamo allora questa regola alla sottrazione 13 9: Tuttavia, nel sistema decimale si considera anche il complemento a 10 di un numero, definito come il numero che sommato al primo dà tutte cifre 0 (trascurando la cifra di riporto più a sinistra). Analogamente, nel sistema binario si considera il complemento a 2 di un numero, definito come il numero che sommato al primo dà tutte cifre 0 (trascurando il bit di riporto più a sinistra). Ad es., il complemento a 2 di 1101 è 0011, dato che: =

20 20 Capitolo I Si vede che il complemento a 2 di un numero si ottiene sommando 1 al suo complemento a 1. Usando il complemento a 2, la regola per la sottrazione diventa: si somma al minuendo il complemento a 2 del sottraendo, quindi si sopprime la cifra più a sinistra della somma ottenuta. Applichiamo questa regola alla solita sottrazione 13 9: = 1001 = 0111 = complem. a Sistema esadecimale Molto usato in informatica è il sistema di numerazione esadecimale, che impiega i 16 simboli: A B C D E F Le lettere A-F vanno considerate cifre, di valori rispettivamente: A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 Anche il sistema esadecimale è di tipo posizionale, in quanto le cifre di un numero vanno pensate moltiplicate per una opportuna potenza, in questo caso della base 16. Per quanto riguarda la parte prima della virgola di un numero esadecimale (la sola di effettivo utilizzo), tali potenze sono: = = = = = Conversione da base 16 a base 10 Per convertire un numero da base 16 a base 10 si può usare il metodo indicato nello schema seguente:

21 Sistemi di numerazione binari 21 Se usiamo la notazione del linguaggio C, nel quale i numeri esadecimali iniziano con le cifre 0x, vale quindi la seguente conversione: 0x2A7F Conversione da base 16 a base 2 Per convertire un numero esadecimale in binario si convertono successivamente le sue cifre tramite gruppi di quattro bit, secondo la corrispondenza di Tabella 5. Lo stesso criterio vale ovviamente per il passaggio inverso binario esadecimale, con l avvertenza di iniziare la sostituzione partendo dal gruppo di quattro bit meno significativi (quelli più a destra). Tabella 5. Conversione esadecimale binario. Esadecimale Binario Esadecimale Binario A B C D E F Conversione da base 10 a base 16 Per questa conversione conviene passare attraverso la base 2, secondo le regole viste. Quindi, ad es.: x25.

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta Anche se spesso si afferma che il sistema binario, o in base 2, fu inventato in

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema

Dettagli

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch. Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Codifica binaria dei numeri

Codifica binaria dei numeri Codifica binaria dei numeri Caso più semplice: in modo posizionale (spesso detto codifica binaria tout court) Esempio con numero naturale: con 8 bit 39 = Codifica in virgola fissa dei numeri float: si

Dettagli

Parte 1. Vettori di bit - AA. 2012/13 1.1

Parte 1. Vettori di bit - AA. 2012/13 1.1 1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n

Dettagli

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli

Dettagli

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. I METODI DI NUMERAZIONE I numeri naturali... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. Il numero dei simboli usati per valutare la numerosità costituisce la base

Dettagli

La codifica delle informazioni

La codifica delle informazioni La codifica delle informazioni Bit e byte Come già visto l elaboratore è in grado di rappresentare informazioni al proprio interno solo utilizzando cifre binarie (bit) che solitamente vengono manipolate

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE La base del sistema decimale è 10 I simboli del sistema decimale sono: 0 1 2 3 4 5 6 7 8 9 Il sistema di numerazione decimale è un sistema posizionale. L aggettivo

Dettagli

Introduzione alla programmazione in C

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

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 In questo documento vengono illustrate brevemente le operazioni aritmetiche salienti e quelle logiche ad esse strettamente collegate.

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

Operazioni binarie fondamentali

Operazioni binarie fondamentali Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte

Dettagli

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

LICEO SCIENTIFICO LEONARDO DA VINCI - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi: Modulo 8 Elettronica Digitale Contenuti: Introduzione Sistemi di numerazione posizionali Sistema binario Porte logiche fondamentali Porte logiche universali Metodo della forma canonica della somma per

Dettagli

2.12 Esercizi risolti

2.12 Esercizi risolti Codifica dell'informazione 55 Lo standard IEEE prevede cinque cause di eccezione aritmetica: underflow, overflow, divisione per zero, eccezione per inesattezza, e eccezione di invalidità. Le eccezioni

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Codifica binaria e algebra di Boole

Codifica binaria e algebra di Boole Codifica binaria e algebra di Boole Corso di Programmazione A.A. 2008/09 G. Cibinetto Contenuti della lezione Codifica binaria dell informazione Numeri naturali, interi, frazionari, in virgola mobile Base

Dettagli

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Dettagli

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Sistemi di Numerazione Binaria NB.1

Sistemi di Numerazione Binaria NB.1 Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Codifica dell informazione (parte 1) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente:

Dettagli

Tipi di dato-prima parte

Tipi di dato-prima parte Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi

Dettagli

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno Parte II Indice Operazioni aritmetiche tra valori rappresentati in binario puro somma sottrazione Rappresentazione di numeri con segno modulo e segno complemento a 2 esercizi Operazioni aritmetiche tra

Dettagli

4. Operazioni aritmetiche con i numeri binari

4. Operazioni aritmetiche con i numeri binari I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C 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

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

2. Codifica dell informazione

2. Codifica dell informazione 2. Codifica dell informazione Codifica Una codifica è una regola per associare in modo univoco i valori di un dato da codificare con sequenze di simboli. La corrispondenza definita dalla codifica è arbitraria,

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

Sommario. Addizione naturale

Sommario. Addizione naturale Sommario Introduzione Rappresentazione dei numeri interi positivi Rappresentazione dei numeri interi Operazioni aritmetiche Modulo e segno Addizione e sottrazione urale Addizione e sottrazione in complemento

Dettagli

APPUNTI DI ELETTRONICA DIGITALE

APPUNTI DI ELETTRONICA DIGITALE APPUNTI DI ELETTRONICA DIGITALE ITIS MARCONI-GORGONZOLA docente :dott.ing. Paolo Beghelli pag.1/24 Indice 1.ELETTRONICA DIGITALE 4 1.1 Generalità 4 1.2 Sistema di numerazione binario 4 1.3 Operazioni con

Dettagli

Aritmetica dei Calcolatori 1

Aritmetica dei Calcolatori 1 Architettura degli Elaboratori e Laboratorio 1 Marzo 2013 1 Sistema di numerazione sistema posizionale 2 rappresentazione binaria cambio di base basi potenze di 2 3 Rappresentazione binaria con segno Sistema

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA Indice Introduzione Il sistema decimale Il sistema binario Conversione di un numero da base 10 a base 2 e viceversa Conversione in altri sistemi di numerazione

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? Cosa c è dietro a questo nome? BIT è un acronimo e deriva da BInary digit, cioè cifra binaria Che

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

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

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Università degli Studi di Messina Facolta di Ingegneria - 98100 Messina Tel. (090) 393229 - Fax (090) 393502 Fondamenti di Informatica Ing. delle Tecnologie Industriali Docente: Ing. Mirko Guarnera 1 Sistemi

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.

Dettagli

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210 Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011 RAPPRESENTAZIONE DEI NUMERI BINARI Corso di Fondamenti di Informatica AA 2010-2011 Prof. Franco Zambonelli Numeri interi positivi Numeri interi senza segno Caratteristiche generali numeri naturali (1,2,3,...)

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Corso basilare di programmazione

Corso basilare di programmazione Parte vi Corso basilare di programmazione Introduzione............................................ 947 Programma didattico.................................. 947 Strumenti per la compilazione..........................

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Origini e caratteristiche dei calcolatori elettronici

Origini e caratteristiche dei calcolatori elettronici Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

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

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Rappresentazione di informazioni con un alfabeto finito

Rappresentazione di informazioni con un alfabeto finito Rappresentazione di informazioni con un alfabeto finito Sia A = { a 1,, a k } un insieme (alfabeto) di k simboli, detti anche lettere. Quante sono le sequenze composte da n simboli (anche ripetuti) di

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

Elementi di Architettura e Sistemi Operativi

Elementi di Architettura e Sistemi Operativi Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

LA NOTAZIONE SCIENTIFICA

LA NOTAZIONE SCIENTIFICA LA NOTAZIONE SCIENTIFICA Definizioni Ricordiamo, a proposito delle potenze del, che = =.000 =.000.000.000.000 ovvero n è uguale ad seguito da n zeri. Nel caso di potenze con esponente negativo ricordiamo

Dettagli

PIANO DI LAVORO DEI DOCENTI

PIANO DI LAVORO DEI DOCENTI Pag. 1 di 6 Docente: Materia insegnamento: SISTEMI ELETTRONICI AUTOMATICI Dipartimento: ELETTRONICA Classe Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Sono richieste conoscenze

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli