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.

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

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

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

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

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

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

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

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

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

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

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

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

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

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

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

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

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

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Materiale di approfondimento: numeri interi relativi in complemento a uno

Materiale di approfondimento: numeri interi relativi in complemento a uno Materiale di approfondimento: numeri interi relativi in complemento a uno Federico Cerutti AA. 2011/2012 Modulo di Elementi di Informatica e Programmazione http://apollo.ing.unibs.it/fip/ 2011 Federico

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

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

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale !"$#%!" #% Nella prima lezione... Definizione di Informatica Cosa è una soluzione algoritmica Esempi di algoritmi cicalese@dia.unisa.it 2 Prima parte: Società dell informazione Ma cosa vuol dire società

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma. Addizione: PROPRIETA' COMMUTATIVA Cambiando l'ordine degli addendi la somma non cambia. 1) a + b = b + a PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si

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

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

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

CALCOLO DEL MASSIMO COMUN DIVISORE

CALCOLO DEL MASSIMO COMUN DIVISORE CALCOLO DEL MASSIMO COMUN DIVISORE Problema: "calcolare il Massimo Comun Divisore (M.C.D.) di due numeri naturali, A e B, secondo l'algoritmo cosiddetto delle sottrazioni successive". L'algoritmo "delle

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

Dettagli

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una NUMERI INTERI E NUMERI DECIMALI Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una cassetta sono contenuti 45 penne e che una lamiera misura 1,35 m. dl lunghezza,

Dettagli

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali 1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo:

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo: ALGORITMI 1 a Parte di Ippolito Perlasca Algoritmo: Insieme di regole che forniscono una sequenza di operazioni atte a risolvere un particolare problema (De Mauro) Procedimento che consente di ottenere

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica L uso delle funzioni in C++ Claudio De Stefano - Corso di Fondamenti di Informatica 1 Funzioni Nel C++ è possibile scomporre problemi complessi in moduli più semplici

Dettagli

Scuola primaria: obiettivi al termine della classe 5

Scuola primaria: obiettivi al termine della classe 5 Competenza: partecipare e interagire con gli altri in diverse situazioni comunicative Scuola Infanzia : 3 anni Obiettivi di *Esprime e comunica agli altri emozioni, sentimenti, pensieri attraverso il linguaggio

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale

Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale Radicali 1. Radice n-esima Terminologia Il simbolo è detto radicale. Il numero è detto radicando. Il numero è detto indice del radicale. Il numero è detto coefficiente del radicale. Definizione Sia un

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi Evelina De Gregori Alessandra Rotondi al via 1 Percorsi guidati per le vacanze di matematica e scienze per la Scuola secondaria di primo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio Test d'ingresso NUMERI

Dettagli

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1. Floating Point Notazione in virgola mobile N = M BE mantissa base esponente esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.6273 102 forma normalizzata: la mantissa ha una sola cifra

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project NB: E necessario: adoperare la sintassi più evoluta per le direttive di precompilazione 1, usando come contenitore

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

I numeri. Premessa: Che cosa sono e a che servono i numeri?

I numeri. Premessa: Che cosa sono e a che servono i numeri? I numeri Premessa: Che cosa sono e a che servono i numeri? Come ti sarai reso conto, i numeri occupano un ruolo importante nella tua vita: dai numeri che esprimono il prezzo degli oggetti venduti in un

Dettagli

ITALIANO - ASCOLTARE E PARLARE

ITALIANO - ASCOLTARE E PARLARE O B I E T T I V I M I N I M I P E R L A S C U O L A P R I M A R I A E S E C O N D A R I A D I P R I M O G R A D O ITALIANO - ASCOLTARE E PARLARE Ascoltare e comprendere semplici consegne operative Comprendere

Dettagli

Analisi Matematica di circuiti elettrici

Analisi Matematica di circuiti elettrici Analisi Matematica di circuiti elettrici Eserciziario A cura del Prof. Marco Chirizzi 2011/2012 Cap.5 Numeri complessi 5.1 Definizione di numero complesso Si definisce numero complesso un numero scritto

Dettagli

ESTRAZIONE DI RADICE

ESTRAZIONE DI RADICE ESTRAZIONE DI RADICE La radice è l operazione inversa dell elevamento a potenza. L esponente della potenza è l indice della radice che può essere: quadrata (); cubica (); quarta (4); ecc. La base della

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI

APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI I numeri naturali I numeri interi I numeri razionali Teoria degli insiemi (cenni) ALESSANDRO BOCCONI Indice 1 L insieme N dei numeri naturali 4 1.1 Introduzione.........................................

Dettagli

1A ARITMETICA. I numeri naturali e le quattro operazioni. Esercizi supplementari di verifica

1A ARITMETICA. I numeri naturali e le quattro operazioni. Esercizi supplementari di verifica A ARITMETICA I numeri naturali e le quattro operazioni Esercizi supplementari di verifica Esercizio Rappresenta sulla retta orientata i seguenti numeri naturali. ; ; ; 0;. 0 Esercizio Metti una crocetta

Dettagli

Fondamenti di Informatica 300 ed oltre esercizi di teoria

Fondamenti di Informatica 300 ed oltre esercizi di teoria Fondamenti di Informatica 300 ed oltre esercizi di teoria Fulvio Corno Antonio Lioy Politecnico di Torino Dip. di Automatica e Informatica v. 4.02 01/09/2009 Indice 1 Introduzione 2 1.1 Nota metodologica........................................

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Appunti di Matematica

Appunti di Matematica Silvio Reato Appunti di Matematica Settembre 200 Le quattro operazioni fondamentali Le quattro operazioni fondamentali Addizione Dati due numeri a e b (detti addendi), si ottiene sempre un termine s detto

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA

SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA SCUOLA PRIMARIA DI MONTE VIDON COMBATTE CLASSE V INS. VIRGILI MARIA LETIZIA Regoli di Nepero Moltiplicazioni In tabella Moltiplicazione a gelosia Moltiplicazioni Con i numeri arabi Regoli di Genaille Moltiplicazione

Dettagli

1) Primi semplici programmi in C++: ingresso e uscita di informazioni

1) Primi semplici programmi in C++: ingresso e uscita di informazioni 1) Primi semplici programmi in C++: ingresso e uscita di informazioni Ecco un primo esempio di programma in linguaggio C++: Esempio 1.1 /* QUESTO PROGRAMMA MOLTIPLICA 3 PER 5 E SOMMA 7 AL RISULTATO DEL

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Le system call: fork(), wait(), exit()

Le system call: fork(), wait(), exit() Le system call: fork(), wait(), exit() Di seguito viene mostrato un programma che fa uso di puntatori a funzione, nel quale si mette in evidenza il loro utilizzo. Programma A1 #include int add(a,b,c)

Dettagli

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni. Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

APPLICAZIONI SU PIU FILE

APPLICAZIONI SU PIU FILE APPLICAZIONI SU PIU FILE Serve poter sviluppare applicazioni su piú file: - alcune funzioni e alcune definizioni di dati in un file - altre funzioni e dati in file diversi Perché?? 1. Se il programma è

Dettagli

GRANDEZZE SINUSOIDALI

GRANDEZZE SINUSOIDALI GRANDEE SINUSOIDALI INDICE -Grandezze variabili. -Grandezze periodiche. 3-Parametri delle grandezze periodiche. 4-Grandezze alternate. 5-Grandezze sinusoidali. 6-Parametri delle grandezze sinusoidali.

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

Compilare il primo programma. Primo programma in C. Esercizio Somma due numeri. Compilare il primo programma. Analisi. Analisi

Compilare il primo programma. Primo programma in C. Esercizio Somma due numeri. Compilare il primo programma. Analisi. Analisi Primo in C Un semplice L ambiente di sviluppo Dev-C++ Codifica del Compilazione e correzione errori Esecuzione e verifica 2 Esercizio Somma due numeri Si realizzi un in linguaggio C che acquisisca da tastiera

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015 NUMERI. SPAZIO E FIGURE. RELAZIONI, FUNZIONI, MISURE, DATI E PREVISIONI Le sociali e ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA procedure

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

INDICE. Unità 0 LINGUAGGI MATEMATICI, 1. Unità 1 IL SISTEMA DI NUMERAZIONE DECIMALE, 49

INDICE. Unità 0 LINGUAGGI MATEMATICI, 1. Unità 1 IL SISTEMA DI NUMERAZIONE DECIMALE, 49 INDICE Unità 0 LINGUAGGI MATEMATICI, 1 Il libro prosegue nel CD Il linguaggio degli insiemi, 2 1 GLI INSIEMI E LA LORO RAPPRESENTAZIONE, 2 Gli insiemi, 2 Insieme vuoto, finito e infinito, 3 La rappresentazione

Dettagli

I numeri relativi. Il calcolo letterale

I numeri relativi. Il calcolo letterale Indice Il numero unità I numeri relativi VIII Indice L insieme R Gli insiemi Z e Q Confronto di numeri relativi Le operazioni fondamentali in Z e Q 0 L addizione 0 La sottrazione La somma algebrica La

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

A.Lioy - Politecnico di Torino (2011) 1

A.Lioy - Politecnico di Torino (2011) 1 Informazioni generali sul corso Programmazione in linguaggio C Antonio Lioy ( lioy @ polito.it ) Politecnico di Torino Dip. di Automatica e Informatica sito web del corso: http://security.polito.it/~lioy/12bhd/

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli