Lezione 2. Fondamenti di Informatica-Modulo Fondamenti di Programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 2. Fondamenti di Informatica-Modulo Fondamenti di Programmazione"

Transcript

1 1 Lezione 2

2 2 Cosa è Java Linguaggio di programmazione familiare Simile a C e C++ Linguaggio di programmazione orientato a oggetti Facile da modificare e altamente riutilizzabile Linguaggio robusto Restrizioni per evitare che le applicazioni generino errori Linguaggio ad alte prestazioni Strumenti per la gestione di più processi Linguaggio portabile Applicazioni eseguibili su Windows, Linux o MacOS Linguaggio semplice Pochi strumenti base e molte librerie

3 3 Compilatori tradizionali compilatore Windows codice eseguibile Windows codice sorgente compilatore Linux codice eseguibile Linux compilatore MacOS codice eseguibile MacOS

4 4 Compilatore Java compilatore Windows interprete bytecode Windows codice sorgente compilatore Linux Java bytecode interprete bytecode Linux compilatore MacOS interprete bytecode MacOS

5 5 Programmazione Conce& base: da istruzioni Da-: variabili -pi Istruzioni: istruzioni base stru8ure di controllo so8o- programmi

6 6 Variabili e tipi Variabile: Tipo: locazione di memoria a cui è dato un nome con cui chiamarla ed u-lizzarla programmatore usa il nome senza necessariamente sapere che esso faccia riferimento ad una locazione di memoria ogni variabile ha un -po che indica che genere di da- la variabile può contenere una variabile può contenere da- di -po intero (ad es., 15 o 2038), oppure da- di -po cara8ere (ad es., a o ) oppure da- di -po stringa (ad es., java o pascal )

7 7 Istruzioni base Assegnazioni ed espressioni: comandi per leggere e scrivere da- in una variabile e per fare calcoli esempio: interest = amount * 0.07;! Input/Output: comandi per ricevere da- dall utente o da un file su disco e comandi per inviare da- nell altra direzione

8 8 Strutture di controllo Un programma è una sequenza di istruzioni Il calcolatore esegue le istruzioni nell ordine in cui esse appaiono, una dopo l altra molto limitato Le stru8ure di controllo sono istruzioni speciali che consentono di modificare il normale flusso di istruzioni Due -pi base di stru8ure di controllo cicli perme8ono di ripetere una sequenza di istruzioni diramazioni perme8ono di decidere tra due o più diverse alterna-ve di proseguimento

9 9 Sotto- programmi I programmi sono spesso abbastanza complessi da dover essere scompos- in pezzi più maneggevoli Un so8o- programma consiste di istruzioni per svolgere un certo compito raggruppate insieme in un unità a cui è dato un nome il nome può essere usato come sos-tuto dell intero insieme di istruzioni Esempio uno dei compi- del programma consiste nel disegnare un re8angolo sullo schermo scrivere le necessarie istruzioni e raggrupparle in un so8o- programma di nome drawrect ogni volta che il programma deve disegnare un re8angolo, lo può fare con una semplice istruzione: drawrect(); Vantaggi: risparmio di scri8ura, organizzazione, riu-lizzo

10 10 Che cosa è una variabile? Una locazione in cui memorizzare da- ed a cui è assegnato un nome un contenitore di da- Può contenere un solo -po di da- per esempio, solo numeri interi, solo numeri reali oppure solo cara8eri

11 11 Creazione di variabili Tu8e le variabili devono essere dichiarate prima di poterle u-lizzare Una dichiarazione di variabile associa un nome alle locazioni di memoria ad essa corrisponden- e specifica il -po di da- che la variabile conterrà: Tipo Variabile_1, Variabile_2, ; Per esempio, per creare tre variabili che memorizzino il numero di ces-, il numero di uova per cesto ed il numero totale di uova: int numberofbaskets, eggsperbasket, totaleggs;

12 12 Nomi di variabili: identificatori Regole - devono essere rispe8ate Regole di programmazione - dovrebbero essere rispe8ate tu* gli iden-ficatori Java devono obbedire alle stesse regole non devono cominciare con una cifra devono contenere solo numeri, le8ere, simboli _ e $ (ma è meglio evitare $, in quanto è riservato per scopi par-colari) sono sensibili alle maiuscole (ThisName e thisname sono due diversi nomi di variabili) usare sempre nomi che abbiano un significato (ad esempio, eggsperbasket invece di n o di count) iniziare i nomi di variabile con una le8era minuscola iniziare le parole interne al nome con una le8era maiuscola (meglio eggsperbasket di eggsperbasket) evitare di usare $ in quanto è riservato a scopi par-colari

13 13 Due tipi di tipi di dati in Java primi-vi classi I -pi più semplici Più complessi Non possono essere decomposin altri -pi Compos- di altri -pi (primi-vi o classi) Contengono solo valori Contengono sia da- che metodi Esempi: int - intero double - reale char - carattere Esempio: Integer String

14 14 Tipi di Dati Primitivi Nome Tipo di valore Memoria usata Insieme di valori byte intero 1 byte da -128 a 127 short intero 2 byte da a int intero 4 byte da -2,147,483,648 a 2,147,483,647 long intero 8 byte da -9,223,372,036,854,775,808 a 9,223,374,036,854,775,808 float reale 4 byte da +/ x a +/ x 0-45 double reale 8 byte da +/ x a +/ x char carattere (Unicode) 2 byte tutti i caratteri Unicode boolean true oppure false 1 bit

15 15 Quali sapere per ora int! semplicemente numeri interi possono essere posi-vi e nega-vi double! numeri reali, sia posi-vi che nega-vi ha un punto decimale (parte frazionaria) nessun punto decimale due forma- char! numero con punto decimale, a.e semplicemente un singolo cara8ere u-lizza le virgole8e singole notazione e o scien-fica, a.e e2, che significa x 10 2 per esempio, `A`;

16 16 Assegnare valori alle variabili Istruzione di assegnazione variabile = espressione; esempio: answer = 42; Operatore di assegnazione: = non lo stesso dell algebra significa: assegna il valore dell espressione alla destra del segno di uguale alla variabile alla sinistra. se numberofcards ha il valore 7 e handicap ha il valore 2, allora la seguente istruzione imposta il valore di score a 9: score = numberofcards + handicap; La variabile può apparire in entrambi i la-: int count = 10; count = count - 1; nuovo valore di count = 10-1 = 9

17 17 Assegnare valori iniziali alle variabili I valori iniziali possono o meno essere assegna- quando le variabili sono dichiarate: oppure int totaleggs, numberofbaskets, eggsperbasket; int totaleggs = 0; int numberofbaskets = 0; int eggsperbasket = 0; Suggerimento: è una buona regola di programmazione inizializzare sempre le variabili.

18 18 Cambiare il valore di una variabile Generalmente il valore viene cambiato (è assegnato un valore diverso) in qualche parte del programma Può essere calcolato a par-re da altri valori: totaleggs = numberofbaskets * eggsperbasket; Oppure può essere le8o in input vedremo più avan-

19 19 Operatori di assegnazione specializzati Un abbreviazione per eseguire un operazione ed assegnare un nuovo valore ad una variabile Forma generale: var <op>= expression; equivalente a: var = var <op> (expression); <op> è +, -, *, /, or % Esempi: amount += 5; //amount = amount + 5; amount *= 1 + interestrate; //amount = amount * (1 + interestrate); La parte destra è tra8ata come una singola unità (come se vi fossero delle parentesi)

20 20 Costanti Le costanti sono simili alle variabili, ma possono contenere un solo valore per tutta la durata della loro esistenza. In Java si dichiarano le costanti premettendo la parola chiave final. E convenzione usare lettere maiuscole. Es.: final int NUMERO_MASSIMO_POSTI = 427 E buona pratica usare costanti invece di valori numerici (letterali) perche si evita di modificarli inavvertitamente.

21 21 Valore di ritorno Le espressioni ritornano valori: il numero prodo8o da un espressione è il valore di ritorno int numberofbaskets, eggsperbasket, totaleggs; numberofbaskets = 5; eggsperbasket = 8; totaleggs = numberofbaskets * eggsperbasket; nell ul-ma linea numberofbaskets ritorna il valore 5 e eggsperbasket ritorna il valore 8 numberofbaskets * eggsperbasket è un espressione che ritorna il valore intero 40

22 22 Conversione di tipo La conversione di -po cambia il -po di dato di un valore Non è possibile assegnare un valore di un -po ad una variabile di un -po diverso, a meno che non lo si converta in modo da coincidere con il -po della variabile La conversione di -po modifica solo il -po del valore di ritorno, non il -po della variabile ad esempio: double x;! int n = 5;! x = n;! poiché n è un int ed x è un double, il valore ritornato da n (non n) deve essere conver-to in un double prima di essere assegnato ad x!

23 23 Conversione implicita La conversione di -po è eseguita implicitamente (in modo automa-co) quando un -po più basso viene assegnato ad un -po più alto secondo la seguente gerarchia: byte - - > short - - > int - - > long - - > float - - > double! Ad esempio: double x; int n = 5; x = n; il valore di ritorno di n è conver-to (in modo implicito) in un double, e quindi assegnato ad x x con-ene 5.0 il -po di dato della variabile n è invariato (ovvero ancora int)

24 24 Ancora conversione implicita Alcune espressioni includono valori di -po diverso Tu& i valori sono automa-camente (in modo implicito) fa& avanzare al livello più alto prima di eseguire il calcolo del valore di ritorno Ad esempio: double a; int n = 2; float x = 5.1; double y = 1.33; a = (n * x)/y; i valori di n ed x sono automa-camente conver-- al -po double prima di eseguire la mol-plicazione e la divisione

25 25 Conversione esplicita La conversione esplicita è necessaria in tu& i casi non coper- da quella implicta Ad esempio: int points; double distance = 9.0; points = distance; l ul-ma istruzione è illegale (anche se la parte frazionaria è 0) Porre di fronte al valore il cui -po deve essere conver-to il nuovo -po tra parentesi: points = (int)distance; quest istruzione è legale

26 26 Troncamento Conversione da reale ad intero non arrotonda, ma tronca la parte frazionaria viene semplicemente ignorata Ad esempio: int numberofdollars; double dinnerbill = 26.99; numberofdollars = (int) dinnerbill; il valore di numberofdollars è ora 26

27 27 Divisione reale e divisione intera Se almeno uno dei valori che occorrono nella divisione è di -po float o double, allora non si ha nessun troncamento (tu& i valori sono conver-- al -po più alto) Il troncamento si verifica se tu* i valori sono interi Ad esempio: int a = 4, b =5, c; double x = 1.5, y; y = b/x; c = b/a; il valore di y è mentre quello di c è 1

28 28 Caratteri come interi Il -po di da- char memorizza un singolo cara8ere stampabile Ad esempio: char answer = `y`; I cara8eri sono in realtà memorizza- come interi secondo un codice speciale ogni cara8ere stampabile (le8era, cifra, segno di interpunzione, spazio e tabulazione) ha associato un codice intero dis-nto i codici sono dis-n- a seconda delle maiuscole o delle minuscole ad esempio, 97 potrebbe essere il codice di a e 65 quello di A ASCII e Unicode sono due codici molto frequen- Unicode include tu& i codici ASCII più altri codici per linguaggi con alfabeto diverso da quello italiano Java usa Unicode

29 29 Conversione di carattere in intero La conversione di un valore di -po char produce il suo codice Unicode Ad esempio, eseguendo le seguen- istruzioni char answer = `7`; int intanswer = answer; il valore di intanswer sarebbe 55 (non 7) in quanto 55 è il codice Unicode del cara8ere 7

30 30 Imprecisione di numeri in virgola mobile I calcolatori memorizzano i numeri u-lizzando un numero fissato di bit, per cui non tu& i numeri reali possono essere codifica- in modo esa8o un numero infinito di bit sarebbe richiesto per rappresentare in modo esa8o ogni numero reale ad esempio, se il calcolatore può rappresentare solo 10 cifre dopo il punto decimale, allora il numero reale 1/3= sarebbe memorizzato come (che non è esa8amente 1/3) Gli interi, al contrario, sono memorizza- in modo esa8o se il valore 2 è assegnato ad una variabile di -po int, il suo valore è esa8amente 2

31 31 L operatore di modulo: % Usato con i -pi interi a%b res-tuisce il resto della divisione di b per a Ad esempio: int a = 14; b = 4, c; c = a%b; c ora ha il valore 2, che è il reso della divisione di 14 per 4 Ha molte applicazioni consente di contare modulo 2, 3 o qualsiasi altro numero consente di dis-nguere numeri pari da numeri dispari consente di eseguire un operazione solo in corrispondenza dei mul-pli di un dato numero

32 32 Precedenze e parentesi Le espressioni Java soddisfano regole simili all algebra dei numeri reali Si usano le parentesi per forzare la precedenza Tranne i casi in cui la precedenza è corre8a ed ovvia, conviene usare le parentesi per facilitare la le8ura dell espressione Espressioni matematiche Espressione Java (forma preferita) Espressione Java con tutte le parentesi rate 2 + delta rate*rate + delta (rate*rate) + delta 2(salary + bonus) 2 * (salary + bonus) 2 * (salary + bonus) time 1 + 3mass 1/(time + 3 * mass) 1/(time + (3 * mass)) a - 7 t + 9v (a - 7) / (t + 9 * v) (a - 7) / (t +( 9 * v))

33 Operatori di incremento e decremento 33 U-lizza- per aumentare o diminuire il valore di una variabile di 1 Incremento ++ Decremento - - ad esempio, count++;! ad esempio, count--;! La variabile può essere incrementata (o decrementata) prima o dopo aver usato il suo valore a8uale. Ad esempio, dopo int count=5; int n = 2*(++count); int m = 2*(count++); sia n che m hanno il valore 12, mentre count ha il valore 7

Gocce di Java. Gocce di Java. Tipi di dato primitivi. Pierluigi Crescenzi. Università degli Studi di Firenze

Gocce di Java. Gocce di Java. Tipi di dato primitivi. Pierluigi Crescenzi. Università degli Studi di Firenze Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Programmazione Concetti base Dati Variabile Tipo Istruzioni Istruzioni base Strutture di controllo Sotto-programmi Programmazione Concetti

Dettagli

Programmazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino

Programmazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino Programmazione Francesco Tiezzi Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino Lucidi originali di Pierluigi Crescenzi Programmazione Concetti base Dati Variabile Tipo Istruzioni

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Tipi di dato e variabili. Walter Didimo

Tipi di dato e variabili. Walter Didimo Tipi di dato e variabili Walter Didimo Tipi di dato I dati che possono essere manipolati in un programma si classificano in tipologie differenti, chiamate tipi di dato Esistono due macro tipi di dato in

Dettagli

Capitolo 2 GOCCE DI JAVA. Domande a risposte multiple

Capitolo 2 GOCCE DI JAVA. Domande a risposte multiple GOCCE D AVA Capitolo 2 Domande a risposte multiple Selezionando una risposta, il bottone corrispondente diventa verde se la risposta è giusta, altrimenti diventa rosso. 2 1. Quale dei seguenti non è un

Dettagli

Programmazione in Java (I modulo) Lezione 4

Programmazione in Java (I modulo) Lezione 4 Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

4 - Tipi di dato primitivi

4 - Tipi di dato primitivi 4 - Tipi di dato primitivi Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Java e i Tipi di dati primitivi. Parte 3

Java e i Tipi di dati primitivi. Parte 3 Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta

Dettagli

14. Tipi e conversioni di tipo. Andrea Marongiu Paolo Valente

14. Tipi e conversioni di tipo. Andrea Marongiu Paolo Valente 14. Tipi e conversioni di tipo Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Tipi di dato primitivi Enumerati (enum) Numeri reali (float e double) Tipi e conversioni di tipo Completamento

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

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

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario tipi di dati condizioni cicli cicli annidati per alcuni tipi di dati Java mette a disposizione una rappresentazione

Dettagli

I Fondamenti del Linguaggio

I Fondamenti del Linguaggio Linguaggio C I Fondamenti del Linguaggio Linguaggio di Programmazione Linguaggio formale per la descrizione di programmi per calcolatori Sintassi vicina al linguaggio umano Se non ci fossero, bisognerebbe

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Basi della programmazione in Java

Basi della programmazione in Java Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

Linguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale

Linguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale Linguaggio Macchina Numeri binari In Esadecimale E il linguaggio che il microprocessore comprende 1 Numeri Esadecimali Sono composti con 16 simboli: 0 1 2 3 4 5 6 7 8 9 A B C D E F Un numero di 4 cifre

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

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

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo analizzato riga per riga due semplici programmi Java. Abbiamo provato a usare l editor

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

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

Informatica. Stefano Lodi. 16 novembre in linguaggio C

Informatica. Stefano Lodi. 16 novembre in linguaggio C Informatica in linguaggio C Stefano Lodi 16 novembre 2005 0-0 Algoritmi, linguaggi, programmi, processi trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante istruzioni

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

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

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Dati testuali Tipi di dato testuali Caratteri Stringhe 5 Dati testuali Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

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

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

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

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

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

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. Unità 2. Domenico Daniele Bloisi. 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

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17 Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,

Dettagli

Struttura dei programmi e Variabili

Struttura dei programmi e Variabili Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

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

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Informatica Generale Andrea Corradini I linguaggi di programmazione

Informatica Generale Andrea Corradini I linguaggi di programmazione Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi

Dettagli

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

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni C#: Strumento Principe per.net Primo linguaggio orientato alle componenti della famiglia C/C++ Tutto è DAVVERO un oggetto

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

Tipi elementari. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Tipi elementari. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Tipi elementari Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2017 2018 Tipi di dato Ogni variabile (e ogni costante) è associata a un tipo, che

Dettagli

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

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

Conversioni fra Tipi di Dati. Luca Abeni

Conversioni fra Tipi di Dati. Luca Abeni Conversioni fra Tipi di Dati Luca Abeni Tipi di Dato e Conversioni In C, ogni variabile è caratterizzata da un tipo I valori che la variabile può assumere dipendono dal tipo È possibile mescolare variabili

Dettagli

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

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I. Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione

Dettagli

Fondamenti di programmazione parte 2. Elementi di informatica IGLP

Fondamenti di programmazione parte 2. Elementi di informatica IGLP Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell

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

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

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

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

Dettagli

LA CODIFICA DELL INFORMAZIONE. Prof. Enrico Terrone A. S: 2014/15

LA CODIFICA DELL INFORMAZIONE. Prof. Enrico Terrone A. S: 2014/15 LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 2014/15 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

Conversioni fra Tipi di Dati. Informatica 1 / 15

Conversioni fra Tipi di Dati. Informatica 1 / 15 fra Tipi di Dati Informatica 1 / 15 Tipi di Dato e In C, ogni variabile è caratterizzata da un tipo Valori assegnabili: dipendono dal tipo È possibile mescolare variabili di tipo diverso nelle espressioni

Dettagli

Variabili e assegnazione

Variabili e assegnazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Variabili e assegnazione Carla Limongelli Marzo 2009 Variabili e assegnazione 1 Contenuti Variabili a ab e assegnazionea e Variabili e aree di

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle

Dettagli

LA CODIFICA DELL INFORMAZIONE

LA CODIFICA DELL INFORMAZIONE LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni

Dettagli

ciclo di vita della soluzione (informatica) d un problema

ciclo di vita della soluzione (informatica) d un problema ciclo di vita della soluzione (informatica) d un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti ma prima di arrivare a questo 1.

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple. Domanda n. 1 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple 8-Nov-2004 Argomento: Rappresentazione dell'informazione

Dettagli