La tabella dei bigrammi è la frequenza con la quale compaiono COPPIE di lettere in una lingua.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La tabella dei bigrammi è la frequenza con la quale compaiono COPPIE di lettere in una lingua."

Transcript

1 Lezione 19 e 20 Crittografia I A) Tabella dei bigrammi B) Riconoscimento automatico della lingua C) Rottura dei codici Fabio Scotti Laboratorio di programmazione per la sicurezza 1

2 Lezione 19 e 20 Fabio Scotti Laboratorio di programmazione per la sicurezza Tabella dei bigrammi Obiettivi : Comprendere come la tabella dei bigrammi sia composta e come possa essere usata per il riconoscimento automatico di una lingua sia uno strumento utile e per la rottura dei codici crittografici 2

3 Tabella dei bigrammi La frequenza delle lettere in una lingua èuna peculiarità che, se misurata da un programma, aiuta a riconoscere la lingua e a rompere il codice di Cesare. La tabella dei bigrammi è la frequenza con la quale compaiono COPPIE di lettere in una lingua. La tabella dei bigrammi è uno strumento che discrimina ancora meglio una lingua e può essere utile nella rottura di altri codici crittografici. 3

4 Esempio Frequenza lettere:... n=65, A, freq= n=66, B, freq= n=67, C, freq= n=68, D, freq= n=69, E, freq= n=70, F, freq= n=71, G, freq= n=72, H, freq= Tabella bigrammi: Spazio A B C D... Spazio A B C D

5 Lettura della tabella Tabella bigrammi: Spazio A B C D... Spazio A B C D Come finiscono le parole in questa lingua Come iniziano le parole in questa lingua 5

6 Creazione della tabella (1) E una tabella che deve contenere percentuali (rapporto fra interi, quindi numeri razionali). La rappresentiamo in memoria come una matrice di float: float bigrammi [256][256]; // ascii float bigrammi [512][512]; // ascii estesa 6

7 char c1, c2 ; float bigrammi[256][256]; int numero_bigram, temp1, temp2, i1, i2; Creazione della tabella (2) // apro in lettura il file e memorizzo il puntatore in Fp // inizializzo la matrice bigrammi a zero while ( fscanf(fp, "%c", &c1) == 1 ) { while ( fscanf(fp, "%c", &c2) == 1 ) { if (( c1 < 0 ) ( c1 > 256 )) (( c1 < 0 ) ( c1 > 256 )) { // sono nella tabella ASCII? // inserire codice } temp1 = (int) c1; // cast raccomandabile temp2 = (int) c2; // cast raccomandabile bigrammi[temp1][temp2] = bigrammi[temp1][temp2] + 1; } } numero_bigram = numero_bigram + 1 ; 7

8 Creazione della tabella (3) // normalizazzione della matrice for (i=0; i1<256; i1++) // normalizzazione dei conteggi { for (i=0; i2<256; i2++) // normalizzazione dei conteggi { bigrammi[i1][i2] = bigrammi [i1][i2] / numero_bigram * 100 ; } } 8

9 Utile funzione Uscita Ingressi A a à B b C c D d E e è é F f G g H h I i ì J j K k L l M m N n O o ò P p Q q R r S s T t U u ù V v W w X x Y y Z z char converti(char); Con questa funzione, si converte, carattere per carattere, un testo in una sequenza di caratteri maiuscoli prima di calcolare la frequenza delle lettere. 9

10 Lezione 19 e 20 Fabio Scotti Laboratorio di programmazione per la sicurezza Riconoscimento della lingua automatco Obiettivi : Essere in grado di scrivere programmi per l'identificazione automatica della lingua di un testo 10

11 Riconoscimento automatico Il riconoscimento automatico della lingua è utile in molte applicazioni quali: gli editor di testo (l impiego dei dizionari dei sinonimi, la correzione automatica, ecc..); in campo crittografico (rottura codici crittografici semplici). In particolare ci focalizziamo sul riconoscimento automatico della lingua in base alla distribuzione delle lettere. Vengono esaminati i testi non crittati. 11

12 Tabella delle frequenze Frequenza lettere: Lingua a b Francese Inglese 26 21,2 Italiano 26 20,5 Russo 31 26,5 Spagnolo Tedesco 26 21,2 12

13 Metodo di riconoscimento (1) Frequenza lettere: Lingua a b Francese Inglese 26 21,2 Italiano 26 20,5 Esamino il file Calcolo la frequenza delle lettere Russo 31 26,5 Spagnolo Tedesco 26 21,2 Confronto le frequenze con quelle note Determino la lingua 13

14 Metodo di riconoscimento (2) Frequenza lettere: Lingua a b Francese Inglese 26 21,2 Italiano 26 20,5 Russo 31 26,5 Spagnolo Tedesco 26 21,2 Esamino il file Calcolo la frequenza delle lettere Confronto le frequenze con quelle note Nel mezzo del cammin di nostra vita A = 25,6% B = 19,8% La lingua più vicina è l italiano Determino la lingua 14

15 Usando tutte le frequenze PERCENTUALE DI OCCORRENZA (frequenza lettera) LINGUA INCOGNITA ITALIANO 10% 5% A A B B C C D D E E Lettere 10% 5% Scarto percentuale La somma totale degli scarti èla distanza fra la lingua incognita e l italiano A B C D E Lettere 15

16 Progettazione del programma (1) Cosa serve: una funzione produci_frequenza() che dato un file ritorna il vettore delle frequenze delle lettere; una funzione calcola_distanza() che dati due vettori di frequenze ritorna una distanza fra le due lingue. 16

17 Progettazione del programma (2) Come funzionerà il programma: usando produci_frequenza(): dati dei file di testo in italiano, inglese, francese, ecc..., si calcolano le loro frequenze; si calcola la frequenza delle lettere del file di lingua incognita; usando calcola_distanza() si confrontano le frequenze del file di lingua incognita con quelle dei file di lingua nota; Possiamo affermare che il file di lingua incognita è scritto nella lingua che ha minore scarto totale. 17

18 Programma riconoscimento (2) // qui carichiamo le frequenze di riferimento produci_frequenza( "promessisposi.txt, frequenze_ita, LUN_ALFABETO ); produci_frequenza( "othello.txt", frequenze_eng, LUN_ALFABETO ); produci_frequenza( "marsigliese.txt", frequenze_fra, LUN_ALFABETO ); produci_frequenza( "sconosciuta.txt", frequenze_incognita, LUN_ALFABETO ); // confrontiamo le frequenze // (aggiungere il codice che controlla il massimo) distanza = calcola_distanza(frequenze_incognita, frequenze_ita, LUN_ALFABETO ); printf("la lingua incongnita dista %f dall'italiano \n", distanza ) ; distanza = calcola_distanza(frequenze_incognita, frequenze_fra, LUN_ALFABETO ); printf("la lingua incongnita dista %f dal FRANCESE \n", distanza ) ; distanza = calcola_distanza(frequenze_incognita, frequenze_eng, LUN_ALFABETO ); printf("la lingua incongnita dista %f dall'inglese \n", distanza ) ; getchar(); exit(0); } // main 18

19 Programma riconoscimento (3) float calcola_distanza(float frequenze_1[], float frequenze_2[], int lunghezza_alfabeto ) { float distanza; distanza = 0 ; // distanza euclidea (applico Pitagora in N dimensioni con N= lunghezza_alfabeto) for( i = 0; i < lunghezza_alfabeto ; i = i+1 ) { distanza = distanza + (frequenze_1[i]- frequenze_2[i])*(frequenze_1[i]- frequenze_2[i]); } distanza = sqrtf( distanza ); // sqrtf radice quadrata per float return distanza; } 19

20 Lezione 19 e 20 Fabio Scotti Laboratorio di programmazione per la sicurezza Rottura dei codici Obiettivi : Comprendere come il riconoscimento automatico di una lingua sia uno strumento utile per la rottura dei codici crittografici Essere in grado di scrivere programmi per l'identificazione automatica della lingua di un testo e la rottura dei codici 20

21 Esempi di rottura di codice Iniziamo ad esplorare le tecniche per rompere i codici crittografici più semplici: il codice di Cesare e i codici a sostituzione. In questa lezione descriviamo i procedimenti e vediamo alcuni programmi ausiliari utili. Nelle prossime lezioni scriveremo programmi che automaticamente romperanno il codice. Lavoriamo nell ipotesi di conoscere la lingua nel quale è stato scritto il messaggio crittato (ipotesi successivamente rimuovibile). 21

22 Rottura del codice di Cesare 1. Calcolare le frequenze delle lettere nella lingua in cui si immagina sia scritto il messaggio crittato. 2. Calcoliare le frequenze delle lettere nel messaggio crittato. 3. Sovrapporre le distribuzioni: una delle due viene fatta traslare fino a quando si ottiene la migliore sovrapposizione. 4. La quantità di lettere di cui si è dovuto traslare l'alfabeto della distribuzione costituisce la chiave del cifrario. 22

23 Esempio MESSAGGIO CRITTATO ITALIANO 10% PERCENTUALE DI OCCORRENZA (frequenza lettera) Chiave = 0 5% Z Z A A B B C C D D E E Lettere 10% 5% A Z B A C B D C E D F E Chiave = 1 Lettere 10% Chiave = 15 P A 5% Q B R C O Z S D T E Lettere 23

24 Rottura del codice con sostituzione (1) Nel caso del codice di Cesare basta trovare UNA chiave per decrittare tutto il codice. Nei codici con sostituzione occorre trovare la chiave con la quale è stata crittata ogni lettera. A c B & 24

25 Rottura del codice con sostituzione (2) Si utilizza l approccio con le frequenze di lettera oppure con i bigrammi. Perché la statistica possa essere di supporto, occorre che il testo cifrato sia abbastanza lungo. E anche possibile unire molteplici testi crittati, ma occorre essere certi che siano stati crittati con lo stesso metodo e con la stessa chiave. 25

26 Rottura del codice con sostituzione (3) In primis si cerca di associare le vocali (frequenza maggiore) guardando le frequenze di lettera, poi le consonanti. Crittato Lingua Decrittazione k : 25,8% a :26% k a b :20% c : 7% s : 20,1% b :20% s b 26

27 Rottura del codice con sostituzione (4) In secundis si risolvono eventuali dubbi confrontando la tabella dei bigrammi ottenuta dal codice crittato e quella della lingua. Crittato Lingua Decrittazione df : 0,25% ab :0,26% d a e f b Questo approccio permette dei controlli incrociati. Ad esempio si controlla se tutti i bigrammi mostrano d a ecc.. (si usa la conversione maggiormente presente). 27

28 Controllo del successo Per automatizzare il tutto, occorre un criterio per stabilire automaticamente se la rottura del codice ha avuto successo. Quando i programmi di decrittazione propongono una soluzione, è possibile verificare che le parole presenti nella soluzione appartengano a dei dizionari. Ad esempio se nessuna parola decrittata appartiene ad un dizionario, allora la chiave è sbagliata e occorre provare a decrittare con altre chiavi. 28

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche FABIO SCOTTI I cifrari polialfabetici: Vigenère Laboratorio di programmazione per la sicurezza Indice

Dettagli

1 S t u d i o l e g a l e T e d i o l i v i a F r a t t i n i, M a n t o v a s t u d i o t e d i o l l i b e r o.

1 S t u d i o l e g a l e T e d i o l i v i a F r a t t i n i, M a n t o v a s t u d i o t e d i o l l i b e r o. D. L g s. 2 7-0 5-1 9 9 9, n. 1 6 5 S o p p r e s s i o n e d e l l ' A I M A e i s t i t u z i o n e d e l l ' A g e n z i a p e r l e e r o g a z i o n i i n a g r i c o l t u r a ( A G E A ), a n o

Dettagli

Esercizi di programmazione in linguaggio C English Dictionary

Esercizi di programmazione in linguaggio C English Dictionary Esercizi di programmazione in linguaggio C English Dictionary Il file di testo wordnet.txt contiene un certo numero di parole (word) e il corrispondente significato (meaning) secondo il seguente formato:

Dettagli

( 4 ) I l C o n s i g l i o e u r o p e o r i u n i t o s i a T a m p e r e i l 1 5 e 1 6 o t t o b r e h a i n v i t a t o i l C o n s i g l

( 4 ) I l C o n s i g l i o e u r o p e o r i u n i t o s i a T a m p e r e i l 1 5 e 1 6 o t t o b r e h a i n v i t a t o i l C o n s i g l R e g o l a m e n t o ( C E ) n. 4 / 2 0 0 9 d e l C o n s i g l i o, d e l 1 8 d i c e m b r e 2 0 0 8, r e l a t i v o a l l a c o m p e t e n z a, a l l a l e g g e a p p l i c a b i l e, a l r i c

Dettagli

Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia

Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia Cristina Turrini UNIMI - 2015/2016 Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra e di Matematica Discreta

Dettagli

W I L L I A M S H A K E S P E A R E G I U L I O C E S A R E. T r a g e d i a i n 5 a t t i

W I L L I A M S H A K E S P E A R E G I U L I O C E S A R E. T r a g e d i a i n 5 a t t i W I L L I A M S H A K E S P E A R E G I U L I O C E S A R E T r a g e d i a i n 5 a t t i T r a d u z i o n e e n o t e d i G o f f r e d o R a p o n i T i t o l o o r i g i n a l e : J U L I U S C A E

Dettagli

1 S t u d i o l e g a l e T e d i o l i v i a F r a t t i n i, M a n t o v a m a i t e d i o l i. c o m

1 S t u d i o l e g a l e T e d i o l i v i a F r a t t i n i, M a n t o v a m a i t e d i o l i. c o m C o n v e n z i o n e d e l l A j a 2 5-1 0-1 9 8 0 C o n v e n z i o n e s u g l i a s p e t t i c i v i l i d e l l a s o t t r a z i o n e i n t e r n a z i o n a l e d i m i n o r i P r e a m b o l

Dettagli

C assazione civile, sezione. III, 11 ottobre 2005, n

C assazione civile, sezione. III, 11 ottobre 2005, n C assazione civile, sezione. III, 11 ottobre 2005, n. 19757 P r e s. V i t t o r i a P - R e l. P e r c o n t e L i c a t e s e R - P. M. S c a r d a c c i o n e E V ( C o n f. ) C. c. R. e d a l t r i

Dettagli

Array multidimensionali e stringhe

Array multidimensionali e stringhe Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

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

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Problem solving elementare su dati vettoriali

Problem solving elementare su dati vettoriali Problem solving elementare su dati vettoriali Introduzione Verifiche su sequenze di dati Selezione o ricerca di dati 2 2006 Politecnico di Torino 1 Introduzione (1/2) I problemi di verifica consistono

Dettagli

18/01/16. Soluzione degli esercizi svolti in aula alla lavagna. Seconda lezione. Cast

18/01/16. Soluzione degli esercizi svolti in aula alla lavagna. Seconda lezione. Cast Soluzione degli esercizi svolti in aula alla lavagna Seconda lezione Cast 1 Esempio Scriviamo un programma che converte temperature Fahrenheit in temperature Celsius La formula è cels = (fahr 32) * 5 *

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 VINCENZO MARRA Indice Esercizio 1 1 Leggere stringhe e caratteri 1 Esercizio 2 2

Dettagli

Indovina la lettera...

Indovina la lettera... Indovina la lettera... La lezione di oggi consiste nel preparare un programma che chiede all'utente di indovinare quale sia il carattere generato dal programma stesso in modo casuale. Il numero totale

Dettagli

Esame di Ricerca Operativa - 25 febbraio 2009 Facoltà di Architettura - Udine - CORREZIONE -

Esame di Ricerca Operativa - 25 febbraio 2009 Facoltà di Architettura - Udine - CORREZIONE - E R O - Fà A - U - CORREZIONE - P ( ): U. O à,,. S k, ( ),. T,, à,. D, PL. (k) /. () /. /. A. B.. S A B A B. S A B A B. L é R = A + A + B + B, : á A, B, A, B. à A + A +. B +. B. á. A +. A + B + B. á A

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

Le Funzioni e la Ricorsione

Le Funzioni e la Ricorsione Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html

Dettagli

Provincia di Latina. Piano di Bacino del Trasporto Pubblico Locale

Provincia di Latina. Piano di Bacino del Trasporto Pubblico Locale Provincia di Latina Piano di Bacino del Trasporto Pubblico Locale L E G G E R E G I O N A L E N. 30 DEL 1998 Relazione di Piano C e n t r o L. U. P. T. U n i v e r s i t à d e g l i S t u d i d i N a p

Dettagli

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

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII. Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned

Dettagli

Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa. 3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il

Dettagli

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni.

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni. Politecnico di Torino. Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni. Argomenti: Sottospazi. Generatori. Confrontando sottospazi: intersezione.

Dettagli

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

Soluzione/* PROGRAMMAZIONE IN C */ #include <stdio.h> #include <stdlib.h>

Soluzione/* PROGRAMMAZIONE IN C */ #include <stdio.h> #include <stdlib.h> Ricerca di un elemento in vettore Scrivere un programma in linguaggio C che riceve in ingresso una sequenza di N numeri interi. I numeri sono memorizzati in un vettore. Il valore N è inserito dall utente,

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto

Dettagli

! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente

! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente ! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente!!la loro esistenza deve essere prevista e dichiarata a priori! Questo può rappresentare un problema soprattutto per variabili

Dettagli

Stringhe di caratteri

Stringhe di caratteri Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash

Dettagli

Esercizi. I File ed il C

Esercizi. I File ed il C Politecnico di Milano Esercizi File di testo,, file binari I File ed il C Insieme omogeneo di dati, memorizzato su disco e caratterizzato da un nome La lunghezza di un file non è fissata a priori Astrazione

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione Sequenze di cifre Esercizio 1 - cicli Realizzare un programma che prende in input una sequenza di cifre (tra 1 e 9) e calcola la somma massima fra le sotto- sequenze di cifre non decrescente Il programma

Dettagli

Laboratorio di Python (con Linux)

Laboratorio di Python (con Linux) 8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni

Dettagli

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0 STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1

Dettagli

Anno 4 Matrice inversa

Anno 4 Matrice inversa Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

a + 2b + c 3d = 0, a + c d = 0 c d

a + 2b + c 3d = 0, a + c d = 0 c d SPAZI VETTORIALI 1. Esercizi Esercizio 1. Stabilire quali dei seguenti sottoinsiemi sono sottospazi: V 1 = {(x, y, z) R 3 /x = y = z} V = {(x, y, z) R 3 /x = 4} V 3 = {(x, y, z) R 3 /z = x } V 4 = {(x,

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Il linguaggio C - Introduzione

Il linguaggio C - Introduzione Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return

Dettagli

Aritmetica dei Calcolatori 3

Aritmetica dei Calcolatori 3 Laboratorio di Architettura 31 maggio 2013 1 Numeri Floating Point 2 Standard IEEE754 3 Esercitazione Numeri Floating Point (FP) Il termine Floating Point (virgola mobile) indica la codifica usata per

Dettagli

5 Stringhe. Esiste una libreria di C che gestisce le stringhe string.h essa ci permette di:

5 Stringhe. Esiste una libreria di C che gestisce le stringhe string.h essa ci permette di: Le stringhe di caratteri sono gestite in C come dei vettori di char con alla fine un tappo dato dal carattere \0. E possibile acquisire un intera stringa di caratteri in una sola istruzione grazie all

Dettagli

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07 Funzioni, puntatori, strutture sommario In questa lezione integriamo le informazioni fornite su puntatori e funzioni approfondendo i seguenti punti Puntatori a puntatori Puntatori e array come parametri

Dettagli

Algoritmi in C++ (prima parte)

Algoritmi in C++ (prima parte) Algoritmi in C++ (prima parte) Alcuni algoritmi in C++ Far risolvere al calcolatore, in modo approssimato, problemi analitici Diverse tipologie di problemi generazione di sequenze di numeri casuali ricerca

Dettagli

( x) Definizione: si definisce dominio (o campo di esistenza) di una funzione f ( x) l insieme dei valori

( x) Definizione: si definisce dominio (o campo di esistenza) di una funzione f ( x) l insieme dei valori Definizione: si definisce dominio (o campo di esistenza) di una funzione f ( ) l insieme dei valori che la variabile può assumere affinché la funzione f ( ) abbia significato. Vediamo di individuare alcune

Dettagli

Anno 3 Equazione dell'ellisse

Anno 3 Equazione dell'ellisse Anno Equazione dell'ellisse 1 Introduzione In questa lezione affronteremo una serie di problemi che ci chiederanno di determinare l equazione di un ellisse sotto certe condizioni. Al termine della lezione

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 1 Crittazione e decrittazione. Parte I: Cesare ed Alberti FABIO SCOTTI Laboratorio di programmazione

Dettagli

Esercizi di programmazione in linguaggio C - Caratteri e operatori logici

Esercizi di programmazione in linguaggio C - Caratteri e operatori logici Esercizi di programmazione in linguaggio C - Caratteri e operatori logici prof. Roberto Fuligni 1. [carattere1] Dato in ingresso un carattere, visualizzare a video se si tratta di una cifra numerica, una

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

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

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Confronto tra stringhe. (modulo) Calcolo della media e della varianza. Ecco un elenco di codici Matlab: - Calcolo valore assoluto (modulo)

Confronto tra stringhe. (modulo) Calcolo della media e della varianza. Ecco un elenco di codici Matlab: - Calcolo valore assoluto (modulo) Ecco un elenco di codici Matlab: - Calcolo valore assoluto (modulo) - Calcolo media e varianza - Concatenare stringhe e conversione da numero a stringa - Numero di Eulero - Modificare un file fig in Matlab

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Statistica inferenziale. La statistica inferenziale consente di verificare le ipotesi sulla popolazione a partire dai dati osservati sul campione.

Statistica inferenziale. La statistica inferenziale consente di verificare le ipotesi sulla popolazione a partire dai dati osservati sul campione. Statistica inferenziale La statistica inferenziale consente di verificare le ipotesi sulla popolazione a partire dai dati osservati sul campione. Verifica delle ipotesi sulla medie Quando si conduce una

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

[PRIMA DI VIDEOSCRIVERE ]

[PRIMA DI VIDEOSCRIVERE ] Manuale di preparazione alla videoscrittura per bambini e persone che non hanno mai usato una tastiera. by Cinzia [PRIMA DI VIDEOSCRIVERE ] Una piccola guida di preparazione alla scrittura col computer,

Dettagli

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola: CRITTOGRAFIA 2014/15 Appello del 13 gennaio 2015 Esercizio 1 Crittografia ellittica [9 punti] 1. Descrivere l algoritmo di Koblitz per trasformare un messaggio m, codificato come numero intero, in un punto

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 7/2/2009 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (5 punti) Esprimere

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 E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

MATLAB Elementi di grafica Costrutti di programmazione

MATLAB Elementi di grafica Costrutti di programmazione MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per

Dettagli

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

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

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

x 1 Fig.1 Il punto P = P =

x 1 Fig.1 Il punto P = P = Geometria di R 2 In questo paragrafo discutiamo le proprietà geometriche elementari del piano Per avere a disposizione delle coordinate nel piano, fissiamo un punto, che chiamiamo l origine Scegliamo poi

Dettagli

STRINGHE: ARRAY DI CARATTERI! a p e \0

STRINGHE: ARRAY DI CARATTERI! a p e \0 STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

La gestione dei caratteri in C

La gestione dei caratteri in C in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio

Dettagli

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti

Dettagli

UNITÀ DIDATTICA 5 LA RETTA

UNITÀ DIDATTICA 5 LA RETTA UNITÀ DIDATTICA 5 LA RETTA 5.1 - La retta Equazione generica della retta Dalle considerazioni emerse nel precedente capitolo abbiamo compreso come una funzione possa essere rappresentata da un insieme

Dettagli

Gli Operatori. Università degli Studi di Brescia

Gli Operatori. Università degli Studi di Brescia Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali

Dettagli

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni Corso di Geometria 2- BIAR, BSIR Esercizi 2: soluzioni Esercizio Calcolare il determinante della matrice 2 3 : 3 2 a) con lo sviluppo lungo la prima riga, b) con lo sviluppo lungo la terza colonna, c)

Dettagli

Il generatore di numeri casuali

Il generatore di numeri casuali Il generatore di numeri casuali file di libreria: stdlib.h int rand(void) La funzione restituisce un numero casuale di tipo intero compreso tra 0 e RAND_MAX (estremi compresi) Esempio: scriviamo un programma

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari 4 maggio Nota: gli esercizi più impegnativi sono contrassegnati dal simbolo ( ) Esercizio Siano 3 6 8 6 4 3 3 ) determinare

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. Stringhe. Stringhe Ricerca binaria Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)

Dettagli

PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010

PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010 PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010 1) PIANO CARTESIANO serve per indicare, identificare, chiamare... ogni PUNTO del piano (ente geometrico) con una coppia di valori numerici (detti COORDINATE).

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli

RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA

RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA Attenzione: questi sono alcuni esercizi d esame, sugli argomenti di questa dispensa. Non sono una selezione di quelli

Dettagli

IL MIO PRIMO IPERTESTO CON POWERPOINT

IL MIO PRIMO IPERTESTO CON POWERPOINT IL MIO PRIMO IPERTESTO CON POWERPOINT 1. Realizzare la prima diapositiva 1. Dal menu File fai clic su Nuovo, quindi dalla finestra Nuova Presentazione fai clic su Da modello struttura. 2. Scegli il modello

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

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

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 13 File Binari

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 13 File Binari Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 13 File Binari Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli

Dettagli