Università degli Studi di Ferrara Facoltà di Ingegneria Corso di Ingegneria del Software (IIa parte) - Prova scritta

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Ferrara Facoltà di Ingegneria Corso di Ingegneria del Software (IIa parte) - Prova scritta"

Transcript

1 Università degli Studi di Ferrara Facoltà di Ingegneria Corso di Ingegneria del Software (IIa parte) - Prova scritta Esercizio 1 (8 punti) 9 settembre 2008 Tempo: 2h30m Si modelli con una rete di Petri il sistema costituito da due processi P1 e P2 che accedono in mutua esclusione a due risorse condivise R1 ed R2. P1 occupa R1 e successivamente, senza liberarla, occupa anche R2. In seguito, le libera entrambe. P2 occupa R2, poi la libera, poi occupa R1, e infine libera anche R1. Il sistema è soggetto a deadlock? Esercizio 2 (10 punti) Si modelli in Z la gestione dei conti correnti in una banca. Ogni cliente è caratterizzato dal suo codice fiscale e dal suo nome; ogni conto corrente da un numero identificativo unico e dal suo saldo. Ogni cliente può avere da zero a tre conti correnti intestati; si supponga che non siano ammessi saldi negativi. Modellare in particolare le seguenti operazioni: Creazione di un conto corrente: a un cliente viene assegnato un nuovo conto, a saldo inizialmente nullo Aggiunta di un intestatario a un conto corrente esistente Bonifico (cioè trasferimento di una somma) su un conto corrente della stessa banca Chiusura di un conto corrente. Esercizio 3 (6 punti) Dato il programma in linguaggio C a fianco, se ne disegni il grafo di controllo e si individui un insieme di casi di test che rispetti il criterio di copertura degli archi. #include <stdio.h> int main (void) { int a, b, c, i; scanf("%d%d", &a, &b); c = 0; i = a; while (i < b) { if (i % 5 == 0) c = i*i; i++; } printf ("%d\n", c); return 0; }

2 Esercizio 4 (9 punti) L'applicazione Gestione Conti, il cui modello dati è riportato in figura, deve gestire i conti correnti intestati a clienti di una banca. Inoltre, la banca è intestataria di titoli di stato su cui i clienti possono investire denaro tramite un'operazione di Pronti Contro Termine (PCT): il cliente acquista un titolo di stato, con addebito su uno dei suoi conti correnti, e la banca si impegna a riacquistarlo a prezzo maggiorato, accreditato sul medesimo conto corrente, dopo un determinato periodo. Applicazione Gestione Conti Cliente Intestatario Conto corrente PCT (0,n) (1,n) (0,n) (0,n) Titolo di stato Codice fiscale Nome IBAN Saldo Data sottoscrizione Durata Valore restituzione Applicazione Gestione Bond Identificativo Scadenza In particolare, l'applicazione deve gestire le seguenti operazioni: 1 Gestione clienti: 1.1 Registrazione cliente: registra una persona come cliente, dati il suo nome e il suo codice fiscale 1.2 Saldo complessivo cliente: dato il codice fiscale di un cliente, calcola la somma algebrica dei saldi dei conti correnti a lui (o lei) intestati. 2 Gestione conti correnti: 2.1 Creazione conto corrente: dato il codice fiscale di un cliente registrato, crea un nuovo conto corrente, generando un nuovo IBAN 2.2 Bonifico: trasferisce una somma di denaro fra due conti correnti della stessa banca 3 Gestione operazioni PCT: 3.1 Acquisto PCT: registra un'operazione PCT, dati l'iban del conto corrente interessato, l'identificativo di un titolo di stato, la durata e il valore di restituzione 3.2 Ricerca PCT per conto corrente: dato l'iban di un conto corrente, restituisce la lista di tutte le operazioni PCT in corso per quel conto corrente 3.3 Ricerca PCT per cliente: dato il codice fiscale di un cliente registrato, restituisce la lista di tutte le operazioni PCT in corso per quel cliente Si individuino le funzioni di tipo dati e di tipo transazione. Si calcoli la complessità delle funzioni di tipo dati e delle funzioni di tipo transazione corrispondenti alle operazioni 1.1, 1.2 e 3.3. Si supponga che Titolo di stato sia contato come ILF dell'applicazione Gestione Bond.

3 Soluzione 1 Il sistema non è soggetto a deadlock.

4 Soluzione 2 Tipi definiti dall'utente CodiciFiscali: insieme dei codici fiscali Nomi: insieme dei nomi Stato del sistema, inizializzazione, successo _Banca clienti: CodiciFiscali Nomi conti: R intestatario: clienti conti c dom conti conti(c) 0 c dom clienti intestatario {c} 3 _InitBanca clienti' = conti' = intestatario' = _Success rep!: Report report!='success' Creazione conto corrente Precondizioni: 1. il codice fiscale deve appartenere a un cliente registrato 2. il cliente deve avere meno di tre conti già intestati

5 _CreaConto cf?: CodiciFiscali cf? dom clienti conti(cf?) < 3 n! dom conti conti' = conti {n! 0} intestatario' = intestatario {cf? n!} _ClienteNonRegistrato cf?: CodiciFiscali rep! : Report cf? dom clienti rep! = 'Cliente non registrato' _ClienteHaTreConti cf?: CodiciFiscali rep! : Report conti(cf?) = 3 rep' = 'Il cliente ha già tre conti intestati' CreazioneConto CreaConto Success ClienteNonRegistrato ClienteHaTreConti Aggiunta intestatario Precondizioni: 1. Il cliente è registrato 2. Il cliente è intestatario di meno di tre conti 3. Il conto è esistente _AggiungiIntestatario cf?: CodiciFiscali n?: cf? dom clienti conti(cf?) < 3 n? dom conti intestatario' = intestatario {cf? n?}

6 _ContoNonEsistente n?: rep! : Report n? dom conti rep! = 'Conto non esistente' AggiuntaIntestatario AggiungiIntestatario Success ClienteNonRegistrato ClienteHaTreConti ContoNonEsistente Bonifico 1. Disponibilità sufficiente sul conto di origine 2. Conti di origine e destinazione esistenti _EseguiBonifico origine?: destinazione?: N importo?: R origine? e dom conti destinazione? e dom conti conti(origine?) importo? conti' = conti origine? conti(origine?) importo? destinazione? conti(destinazione?) + importo? _OrigineNonEsistente origine?: rep! : Report origine? dom conti rep! = 'Origine non esistente' _DestinazioneNonEsistente destinazione?: rep! : Report destinazione? dom conti rep! = 'Destinazione non esistente'

7 _DisponibilitàInsufficiente origine?: importo?: R rep! : Report origine e dom conti conti(origine) < importo rep! = 'Disponibilità insufficiente' Bonifico EseguiBonifico Success OrigineNonEsistente DestinazioneNonEsistente DisponibilitàInsufficiente Chiusura conto Precondizione: il conto deve essere esistente. _ChiudiConto n?: n? e dom conti conti' = conti {n?} intestatario' = intestatario {c: clienti c n? intestatario} ChiusuraConto ChiudiConto Success ContoNonEsistente

8 Soluzione 3 1 #include <stdio.h> 2 int main (void) { 3 int a, b, c, i; scanf("%d%d", &a, &b); 5 c = 0; 6 i = a; 7 while (i < b) { 8 if (i % 5 == 0) 9 c = i*i; 10 i++; } 11 printf ("%d\n", c); 9 12 return 0; } Un insieme di casi di test che rispetta il criterio di copertura degli archi è {(5,7)} i % 5 == 0 true 8 true false i < b 11 false

9 Soluzione 4 Identificazione ILF Entità e relazioni Il gruppo di dati o informazioni di controllo è logico e identificabile dall'utente Il gruppo di dati è mantenuto all'interno del confine dell'applicazione che si sta contando da un processo elementare Cliente Sì Sì (Registrazione Cliente) Intestatario No No, il processo Creazione Conto Corrente mantiene anche l'entità Conto Corrente Conto Corrente No No, il processo Creazione Conto Corrente mantiene anche la relazione Intestatario Intestatario Conto Corrente Sì Sì (Creazione Conto Corrente) PCT Sì Sì (Acquisto PCT) Titolo di stato Sì No Identificazione EIF Entità e relazioni Il gruppo di dati o informazioni di controllo è logico e identificabile dall'utente Il gruppo di dati è referenziato dall'applicazione che si sta misurando ed è ad essa esterno Il gruppo di dati non è mantenuto dall'applicazione che si sta misurando Il gruppo di dati è mantenuto in un ILF di un'altra applicazione Titolo di stato Sì Sì Sì Sì

10 RET ILF o EIF Sottogruppi Cliente 1 Intestatario-Conto corrente 1 PCT 1 Titolo di stato 1

11 DET ILF o EIF riconoscibile dall'utente e non ripetuto? Se sì, conta 1 DET DET usato da più applicazioni? Se sì, conta solo i DET usati dall'applicazione Cliente Codice fiscale Sì No No Nome Sì No No Totale 2 Intestatario-Conto corrente Codice fiscale No No Sì IBAN Sì No No Saldo Sì No No Totale 3 PCT IBAN No No Sì Data sottoscrizione Sì No No Durata Sì No No Valore restituzione Sì No No Identificativo No No Sì Totale 5 Titolo di stato Identificativo Sì No No Scadenza Sì No No Totale 2 richiesto per stabilire una relazione con un altro ILF o EIF? Se sì, conta 1 DET

12 Identificazione EI Processo Registrazione cliente / Creazione conto corrente / Acquisto PCT / Bonifico Passo 1: Identificare i processi elementari Passo 2: Determinare il compito principale Passo 3: Validazione con le regole di conteggio degli EI Il processo è elementare? Sì / Sì / Sì / Sì Il processo svolge il compito principale di un EI? Sì / Sì / Sì / Sì (mantenere ILF) I dati o le informazioni di Sì / Sì / Sì / Sì controllo sono ricevuti dall'esterno del confine dell'applicazione Almeno un ILF è mantenuto se i dati che entrano nel confine non sono informazioni di controllo che alterano il comportamento del sistema Per il processo identificato, una delle seguenti tre affermazioni deve essere vera: La logica di processo è unica rispetto alle logiche di processo eseguite da altri EI dell'applicazione L'insieme di elementi di tipo dati identificati è differente dagli insiemi identificati per altri EI dell'applicazione Gli ILFs o EIFs referenziati sono differenti da quelli referenziati da altri EI dell'applicazione Sì (Cliente) / Sì (Intestatario-Conto corrente) / Sì (PCT) / Sì (Intestatario-Conto corrente) Sì / Sì / Sì / Sì Sì / No / Sì / No

13 Identificazione EQ Processo Ricerca PCT per conto corrente / Ricerca PCT per cliente Passo 1: Identificare i processi elementari Passo 2: Determinare il compito principale Passo 3: Validazione con le regole di conteggio degli EQ Il processo è elementare? Sì / Sì Il processo svolge il compito Sì (fornire dati all'utente) principale di un EQ? La funzione manda dati o Sì informazioni di controllo fuori dal confine dell'applicazione Per il processo identificato, una delle seguenti 3 affermazioni deve essere vera: La logica di processo è unica Sì / Sì rispetto alle logiche di processo eseguite da altri EO o EQ dell'applicazione L'insieme di elementi di tipo Sì / Sì dati identificati è differente dagli insiemi identificati per altri EO ed EQ dell'applicazione Gli ILFs o EIFs referenziati Sì / Sì sono differenti da quelli referenziati da altri EO ed EQ dell'applicazione Per il processo identificato, tutte le seguenti 5 affermazioni devono essere vere La logica di processo del Sì / Sì processo elementare reperisce dati o informazioni di controllo da un ILF o EIF La logica di processo del Sì / Sì processo elementare non contiene una formula matematica o un calcolo La logica di processo del Sì / Sì processo elementare non crea dati derivati La logica di processo del Sì / Sì processo elementare non mantiene un ILF La logica di processo del Sì / Sì processo elementare non altera il comportamento del sistema

14 Identificazione EO Processo Saldo complessivo cliente Passo 1: Identificare i processi elementari Passo 2: Determinare il compito principale Passo 3: Validazione con le regole di conteggio degli EO Il processo è elementare? Il processo svolge il compito Sì (fornire dati all'utente) principale di un EO? La funzione manda dati o Sì informazioni di controllo fuori dal confine dell'applicazione Per il processo identificato, una delle seguenti 3 affermazioni deve essere vera: La logica di processo è Sì unica rispetto alle logiche di processo eseguite da altri EO o EQ dell'applicazione L'insieme di elementi di tipo Sì dati identificati è differente dagli insiemi identificati per altri EO ed EQ dell'applicazione Gli ILFs o EIFs referenziati Sì sono differenti da quelli referenziati da altri EO ed EQ dell'applicazione Per il processo identificato, una delle seguenti 4 affermazioni deve essere vera La logica di processo del Sì processo elementare contiene almeno una formula matematica o calcolo. La logica di processo del Sì processo elementare crea dati derivati. La logica di processo del No processo elementare mantiene almeno un ILF. La logica di processo del No processo elementare altera il comportamento del sistema Sì

15 FTR per EI EI ILFs solo mantenuti ILFs e EIFs solo referenziati Registrazione cliente Cliente ILFs sia referenziati sia mantenuti DET per EI Registrazione cliente Codice fiscale riconoscibile dall'utente, non ripetuto che entra o esce dal confine dell'applicazio ne? Conta come 1 DET reperito o derivato dal sistema, che non attraversa il confine? Non contarlo Messaggio di risposta del sistema? Conta 1 DET che specifica l'azione? Conta 1 DET Sì No No No Sì Nome Sì No No No Sì Totale 2 Conta come DET? FTR per EQ EQ Ricerca PCT per cliente ILFs e EIFs referenziati Intestatario-conto corrente PCT

16 DET per EQ riconoscibile dall'utente, non ripetuto che entra o esce dal confine dell'applicazio ne? Conta come 1 DET Messaggio di risposta del sistema o campo che specifica l'azione? Conta come 1 DET Il campo è un letterale, una variabile di pagina o informazione di sistema? Non contarlo reperito o derivato dal sistema, che non attraversa il confine? Non contarlo Ricerca PCT per cliente Codice fiscale Sì No No No Sì IBAN No No No Sì No Data No No No Sì No sottoscrizione Durata Sì No No No Sì Valore Sì No No No Sì restituzione Identificativo Sì No No No Sì Totale 4 Conta come DET? FTR per EO EO ILFs solo mantenuti ILFs e EIFs solo referenziati Saldo complessivo Cliente, cliente Intestatario-conto corrente ILFs sia referenziati sia mantenuti

17 DET per EO riconoscibile dall'utente, non ripetuto che entra o esce dal confine dell'applicazio ne? Conta come 1 DET Messaggio di risposta del sistema o campo che specifica l'azione? Conta come 1 DET Il campo è un letterale, una variabile di pagina o informazione di sistema? Non contarlo reperito o derivato dal sistema, che non attraversa il confine? Non contarlo Saldo complessivo cliente Codice fiscale Sì No No No Sì Saldo No No No Sì No IBAN No No No Sì No Saldo Sì No No No Sì complessivo Totale 2 Conta come DET?

ITIS A. Volta Flavia Lollis pag. 1

ITIS A. Volta Flavia Lollis pag. 1 Il Function Point è una delle metriche più antiche e tuttora diffuse nell ambito della valutazione di progetti software. Ciò che lo rende insostituibile e superiore ad altri metodi può essere riassunto

Dettagli

Compito Scritto di Ingegneria del Software. 22 luglio Parte teorica, punti 14. Tempo a disposizione: 1 ora

Compito Scritto di Ingegneria del Software. 22 luglio Parte teorica, punti 14. Tempo a disposizione: 1 ora Compito Scritto di Ingegneria del Software 22 luglio 2010 Parte teorica, punti 14 Tempo a disposizione: 1 ora Esercizio 1 Si descrivano i principi di rigore e formalità. PUNTI 7 Esercizio 2 Si descrivano

Dettagli

Scritto di Ingegneria del Software II. 22 Giugno 2006 (durata 2 ore Punti 32/30)

Scritto di Ingegneria del Software II. 22 Giugno 2006 (durata 2 ore Punti 32/30) Scritto di Ingegneria del Software II 22 Giugno 2006 (durata 2 ore Punti 32/30) Esercizio n. 1 Un sistema software è costituito da tre processi produttori, identici, che scrivono messaggi in mutua esclusione

Dettagli

Stima della size- Esercitazioni

Stima della size- Esercitazioni IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga A.A. 2009-2010 1 Elementi Base Il metodo dei Function Point consiste nell identificare e contare le funzionalità

Dettagli

Gestione parte IIA. Linee di codice. Function points. KLOC come misura di produttività. Misura della dimensione Versioni più utilizzate:

Gestione parte IIA. Linee di codice. Function points. KLOC come misura di produttività. Misura della dimensione Versioni più utilizzate: Linee di codice Gestione parte IIA Misura della dimensione Versioni più utilizzate: DSI (delivered source instructions): conta solo le linee consegnate al committente NCSS (non-commented source statements):

Dettagli

IT Project Management

IT Project Management IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 1 Elementi Base Il metodo dei Function Point consiste nell identificare

Dettagli

STUDIO DEI FUNCTION POINT

STUDIO DEI FUNCTION POINT ALMA MATER STUDIORUM UNIVERSITÁ DI BOLOGNA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN SCIENZE DI INTERNET STUDIO DEI FUNCTION POINT Tesi di laurea in Sistemi e Processi Organizzativi

Dettagli

Decima Esercitazione. Accesso a risorse condivise tramite Monitor Java

Decima Esercitazione. Accesso a risorse condivise tramite Monitor Java Decima Esercitazione Accesso a risorse condivise tramite Monitor Java 1 Agenda Esempio 1 La banca: gestione di una risorsa condivisa da più thread, con politica prioritaria Esercizio 2 da svolgere Accesso

Dettagli

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Compito Scritto di Ingegneria del Software. 11 marzo 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora

Compito Scritto di Ingegneria del Software. 11 marzo 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora Compito Scritto di Ingegneria del Software 11 marzo 2010 Parte teorica, punti 14 Tempo a disposizione: 1 ora Esercizio 1 Si descriva il principio di Astrazione. PUNTI 7 Esercizio 2 Si definiscano e descrivano

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali

Dettagli

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol. Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Il linguaggio C Strutture

Il linguaggio C Strutture Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi

Dettagli

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Esercizi di programmazione in linguaggio C - Costrutto iterazione Esercizi di programmazione in linguaggio C - Costrutto iterazione prof. Roberto uligni 1. [potenze1] Scrivere un programma che visualizzi il valore di tutte le prime n potenze di 2 con n richiesto all'utente

Dettagli

Sistemi Informativi I Function Point Analisys

Sistemi Informativi I Function Point Analisys 7. Stima dei costi. Nelle diverse fasi del progetto di sviluppo del software si possono individuare quattro principali voci di costo, corrispondenti alle fasi del ciclo posteriori allo studio di fattibilità:

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

Ingegneria del Software MINR Giuseppe Santucci. 05 - Il metodo dei FP

Ingegneria del Software MINR Giuseppe Santucci. 05 - Il metodo dei FP Ingegneria del Software MINR Giuseppe Santucci 05 - Il metodo dei FP 05fp.1 Metriche relative al sw Dirette misure effettuabili direttamente sul codice LOC (Line Of Code) Indice di McCabe... misure effettuabili

Dettagli

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

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

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

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

Dettagli

7. Strutture di controllo

7. Strutture di controllo Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 7. Ing. Michele Ruta 1 di 17 Indice Istruzioni di selezione Mappate dal costrutto switch Istruzioni cicliche (di iterazione)

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Politecnico di Milano Facoltà di Ingegneria Milano Leonardo A.A. 2007/08

Politecnico di Milano Facoltà di Ingegneria Milano Leonardo A.A. 2007/08 Politecnico di Milano Facoltà di Ingegneria Milano Leonardo A.A. 2007/08 Informatica A E. Quintarelli Allievi Gestionali Recupero del 20 Febbraio 2008 Cognome e nome Firma Matricola Domanda 1 2 3 4 5 6

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

istruzioni eseguite in ordine predeterminabile in base al codice del programma e dei valori dei dati in ingresso

istruzioni eseguite in ordine predeterminabile in base al codice del programma e dei valori dei dati in ingresso Programmazione Concorrente sequenze critiche e mutua esclusione istruzioni atomiche deadlock sincronizzazione e semafori settembre 2009 programmazione concorrente 1 modello di esecuzione sequenziale istruzioni

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

Esempio di prova scritta di Fondamenti di Informatica

Esempio di prova scritta di Fondamenti di Informatica Università degli Studi di Firenze - Scuola di Ingegneria Corso di laurea in Ingegneria Elettronica e delle Telecomunicazioni - Docente: Ing. Laura Carnevali Esempio di prova scritta di Fondamenti di Informatica

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME 13 novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve

Dettagli

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Sviluppo dei Programmi

Sviluppo dei Programmi Programmazione I a.a 2009-2010 docente: Carmine Gravino Sviluppo dei Programmi Presentazione realizzata dal Prof. Andrea De Lucia 1 Analisi e Specifica Sviluppo dei programmi Progettazione Codifica Verifica

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare

Dettagli

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 Tema d esame A COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli - ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in

Dettagli

ALGORITMI E STRUTTURE DATI

ALGORITMI E STRUTTURE DATI ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Introduzione al C + Array

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

COMANDI ITERATIVI. Ivan Lanese

COMANDI ITERATIVI. Ivan Lanese COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito

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

ISTRUZIONI DI ITERAZIONE

ISTRUZIONI DI ITERAZIONE CHAPTER 6 CICLI 1 ISTRUZIONI DI ITERAZIONE Le istruzioni di iterazione sono usate per realizzare I cicli. Un ciclo è una istruzione il cui compito è di eseguire ripetutamente qualche altra istruzione (il

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012 Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni

Dettagli

Anche se due variabili vettore sono dello stesso tipo, NON è possibile l assegnamento diretto:

Anche se due variabili vettore sono dello stesso tipo, NON è possibile l assegnamento diretto: ESERCIZIO: Lettura/Scrittura Array Non è possibile leggere/scrivere un intero vettore con un unica operazione (a parte il caso particolare delle stringhe); occorre leggere/scrivere ognuno dei suoi componenti

Dettagli

Algebra di Boole ed elementi di logica

Algebra di Boole ed elementi di logica Algebra di Boole ed elementi di logica Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 10 O0obre 2013 Obiettivi Algebra di Boole Algebra di boole a due valori: algebra di commutazione

Dettagli

Programmazione 1 A.A. 2015/2016

Programmazione 1 A.A. 2015/2016 Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,

Dettagli

ESERCIZIO: Lettura/Scrittura Array

ESERCIZIO: Lettura/Scrittura Array ESERCIZIO: Lettura/Scrittura Array Non è possibile leggere/scrivere un intero vettore con un unica operazione (a parte il caso particolare delle stringhe); occorre leggere/scrivere ognuno dei suoi componenti

Dettagli

Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014

Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Damiano Macedonio Esercizio 1 Scrivere una funzione che riceve in ingresso un puntatore ad un array di interi e modifica tale array

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Informazioni sul corso

Informazioni sul corso Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi 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 alla Programmazione in Java attraverso un esempio commentato

Introduzione alla Programmazione in Java attraverso un esempio commentato Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria

Dettagli

Linguaggio C: PUNTATORI

Linguaggio C: PUNTATORI Linguaggio C: PUNTATORI I puntatori sono una delle più importanti caratteristiche del linguaggio C. Permettono di lavorare a basso livello, mantenendo flessibilità e praticità. Il C utilizza molto i puntatori

Dettagli

PROGRAMMAZIONE: ESERCITAZIONE N. 6

PROGRAMMAZIONE: ESERCITAZIONE N. 6 PROGRAMMAZIONE: ESERCITAZIONE N. 6 Esercizi su stru+ure condizionali e itera1ve Conoscenze richieste: LC1+LC2+LC3+LC4+LC5+LC6 Esercizio 1 Acquisire un numero positivo N e calcolarne la radice quadrata

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora Compito Scritto di Ingegneria del Software 10 gennaio 2010 Parte teorica, punti 14 Tempo a disposizione: 1 ora Esercizio 1 Si descrivano le macchine a stati finiti e i loro impieghi e limiti. PUNTI 7 Esercizio

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

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998 21 Gennaio 1998 PROVA PRATICA Si scriva un programma C (BASIC per gli studenti di Elementi di Informatica) che: a) Legga da terminale una sequenza di caratteri terminati dal carattere '*' (un carattere

Dettagli

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 Tema d esame B COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Linguaggio C I puntatori

Linguaggio C I puntatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C tipi di dati definiti dall utente Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Tipi di dati in C Predefiniti

Dettagli

Linguaggio C: le funzioni

Linguaggio C: le funzioni Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

una matrice quadrata, determini se è un Un quadrato magico è una matrice NxN

una matrice quadrata, determini se è un Un quadrato magico è una matrice NxN Esercizio 1: Quadrato magico Realizzare una funzione che, presa in input una matrice quadrata, determini se è un quadrato magico Un quadrato magico è una matrice NxN I cui elementi sono TUTTI i numeri

Dettagli

Calcolare x n = x x x (n volte)

Calcolare x n = x x x (n volte) Calcolare x n = x x x (n volte) Abbiamo bisogno di: una variabile ris in cui ad ogni iterazione del ciclo si ha un risultato parziale, e che dopo l ultima iterazione contiene il risultato finale; una variabile

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

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da

Dettagli

Programmazione è gestione di eventi

Programmazione è gestione di eventi FUNZIONI Ed Eventi Programmazione è gestione di eventi Evento 1 (tasto premuto) Evento 2 (mouse) Evento 3 (cambio frame) Oggetto Evento 4 (fine di un brano audio) Azioni per evento 1 1. Azione 1 2. Azione

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

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

Dettagli

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi). Operatori di incremento e decremento: ++ e -- ++ e -- sono operatori unari con la stessa priorità del meno unario e associatività da destra a sinistra. Si possono applicare solo a variabili (di tipi interi,

Dettagli

Iterazione (introduzione)

Iterazione (introduzione) Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Ottenere una modifica del parametro attuale

Ottenere una modifica del parametro attuale Ottenere una modifica del parametro attuale Le variabili passate come parametri a una funzione, se alterate durante l esecuzione, non cambiano valore all uscita dalla funzione (parametri passati per valore)

Dettagli

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

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

Esempio: L EURO-CONVERTITORE (1) Scopo

Esempio: L EURO-CONVERTITORE (1) Scopo Esempio: L EURO-CONVERTITORE (1) Scopo Realizzare un sistema software per la conversione di euro in lire. In particolare, si vuole, definire un euro-covertitore e, dati due oggetti di tipo euro convertitore

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice Procedure e funzioni In linguaggio C Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama

Dettagli

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Catia Trubiani. Laboratorio di Ingegneria del Software a.a Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi

Dettagli

Rappresentazione di dati

Rappresentazione di dati Rappresentazione di dati oggetti del mondo reale: - caratteristiche - caratteristiche obiettivo della rappresentazione analisi e progettazione strutture dati teoriche (ADT) - domini ( ) - dominio di interesse

Dettagli

Struct, enum, Puntatori e Array dinamici

Struct, enum, Puntatori e Array dinamici Struct, enum, Puntatori e Array dinamici Tratti dal corso del Dr. Francesco Fabozzi Corso di Informatica Tipi di dato in C Abbiamo esaminato diversi tipi di dato che il C mette a disposizione dell utente

Dettagli

Il linguaggio C Puntatori

Il linguaggio C Puntatori Il linguaggio C Puntatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - puntatori 2 Ringraziamenti Questi

Dettagli

Algoritmi di ordinamento: Array e ricorsione

Algoritmi di ordinamento: Array e ricorsione Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Algoritmi di ordinamento: Array e ricorsione 2 1 Indice Algoritmi di ordinamento: Insertion

Dettagli