Programmazione funzionale

Размер: px
Начинать показ со страницы:

Download "Programmazione funzionale"

Транскрипт

1 Cognome Nome Matricola Programmazione funzionale PROVA SCRITTA Somma Il compito ha la durata di 1 ora, per la compilazione attenersi alle seguenti istruzioni: Scrivere in maniera chiara. Nome e cognome devono essere scritti in stampatello. Non sono ammessi appunti o altro materiale, a chiunque copia verrà ritirato l esame Gli esercizi possono essere eseguiti in qualsiasi ordine. L esame si ritiene superato se si raggiunge il punteggio di 18. In linea di massima le risposte parziali NON saranno accettate (salvo casi eccezionali). Salvo esplicita indicazione, si può usare qualsiasi funzione del modulo standard (pervasives), String e List. Sono permesse soluzioni con un qualsiasi numero di funzioni ausiliarie e con qualsiasi metodo a meno di indicazioni diverse presenti nel testo dell esercizio. Nell esercizio 1, se sono presenti più funzioni, tipizzare solo l ultima. 1

2 1. (5 punti) Determinare il tipo o il valore delle seguenti espressioni. Se non è possibile farlo scrivere NT (non tipizzabile). snd;; a * b -> b List.filter;; ( a -> bool) -> a list -> a list fun x y -> (x, y, [x::y]);; a-> a list-> a * a list * a list list let f x y = x > [y];; a list -> a -> bool fun x y z -> (x y, y z);; (( a-> b)-> c)->( a-> b)-> a-> c * b let f1 l = List.filter (fun x -> x < l) l;; NT let f2 l = List.map (List.tl) l;; a list list -> a list list let f2 l = List.map (List.tl) l;; [[]; []] f2 [[1,2];[3,4]];; fun x -> if snd x = 1 then [] else [fst x];; a * int -> a list fun (x,y,z) t -> t (x,y z);; a * ( b-> c) * b->( a * c-> d)-> d 2. (10 punti) Per ogni programma determinare il tipo e descrivere cosa fa. Nota: i programmi sono funzionanti let rec f = let rec aux n = function 0 -> 1 c -> n * aux n (c - 1) in function 0 -> 0 n -> (aux (-1) n) * n + f (n-1);; int -> int Calcola la somma n ( 1) i i i=0 let rec f n = let rec aux = function 0 -> 0 1 -> 1 n -> aux (n-1) + aux (n-2) in function [] -> n = 0 x::xs -> x = (aux n) && f (n-1) xs;; int -> int list -> bool Controlla se una lista contiene la successione di Fibonacci fino ad un numero n 2

3 let rec f s = function [] -> s = "" x::xs -> string -> bool list -> bool if x then s.[0] = 1 && Dato in input una stringa e una lista di f(string.sub s 1 (String.length s-1)) xs booleani controlla se la stringa rappresenta else il numero in binario contenuto nella lista. s.[0] = 0 && f(string.sub s 1 (String.length s-1)) xs;; type a tree = Empty Tr of a * a tree * a tree;; let rec f g = function Empty -> [] Tr (x,empty, Empty) -> [[x]] Tr (x,l,r) -> if g x then let ll = f g f g r in List.map (fun l -> x::l) ll else [[]];; ( a->bool)-> a tree-> a list list Dato in input un albero e un predicato booleano restituisce tutti i percorsi dalla radice fino ai nodi che rispettano il predicato. type a tree = Empty Tr of a * a tree * a tree;; let rec f m = let aux a b c = max a (max b c) in function Empty -> m Tr (x,l,r) -> aux x (f m l) (f m r);; a -> a tree -> a Calcola il massimo tra gli elementi di un albero e un elemento m in input 3

4 3. (3 punti) Ridurre a forma normale le seguenti espressioni di lambda-calcolo e mostrare le riduzioni passo passo. (λx.xyz)(λz.(λx.xz)) (λz.(λx.xz))yz (λx.xy)z zy (λx.x(λw.y)x)(λz.z(xz)) (λz.z(xz))(λw.y)(λz.z(xz)) ((λw.y)(x(λw.y)))(λz.z(xz)) y(λz.z(xz)) (λx.x(λw.wy))(λy.y(yz)) (λy.y(yz))(λw.wy) (λw.wy)((λw.wy)z) (λw.wy)(zy) (zy)y 4

5 4. (6 punti) Segnare gli errori presenti nei seguenti programmi e fornire una descrizione del comportamento previsto in assenza degli stessi. (* 2 errori *) let rec f = function [] -> [] _::xs -> (List.hd x)::(f x);; Presa una lista di liste restituisce la lista ottenuta dalla concatenazione dei primi elementi di ogni lista. 1: Sostituire con x 2: Sostituire f x con f xs (* 2 errori *) let rec f l1 l2 = match l1,l2 with [],[] [],_ _,[] -> [] (k1,v1)::xs;(k2,v2)::ys -> if k1=k2 then (k1,v1)::(k2,v2)::(f xs ys) else k1 < k2 then f xs ((k2,v2)::ys) else f ((k1,v1)::xs) ys;; Prese due liste di coppie k,v costruisce una lista di coppie solo le due chiavi corrispondono 1. Sostituire ; con, prima di (k2,v2) 2. Aggiungere if prima di k1 < k2 (* 2 errori *) type a tree = Value of a Tr of a * a tree * a tree;; let rec children_list = function Value x -> (x,[]) Tr(l,r) -> let ll = children_list l in let lr = children_list r in let (x1,l1) = List.hd ll in let (x2,l2) = List.hd lr in (x,x1::x2::(l1@l2))::ll@lr;; Restituisce la liste (nodo,lista figli) per ogni nodo di un albero binario 1. Sostituire (x,[]) con [(x,[])] 2. Aggiungere x dopo Tr( 5

6 5. (6 punti) Dato un tipo colore, così definito: type a color = White of a Black of a;; e un albero colorato: type a marked tree = Empty Tr of a color * a marked tree * a marked tree;; creare una funzione color cluster: a marked tree-> a list * a list che preso in input un albero colorato restituisca due liste in cui nella prima sono contenuti tutti gli elementi di tipo White e nella seconda quelli di tipo Black. Sia dato per esempio il seguente albero let tr = Tr(White 5, Tr(Black 1, Tr(White 1,Empty,Empty), Tr(Black 3,Empty,Empty) ), Tr(White 2,Empty,Empty));; allora la chiamata color cluster tr;; restituirà - : int list * int list = ([5; 1; 2], [1; 3]) Opzionale (+ 2 punti): Costruire una funzione max points:int marked tree -> int che preso in input un albero colorato di interi restituisca il massimo tra le somme dei nodi bianchi e dei nodi neri. La chiamata max points tr;; per esempio restituirà 8. 6

7 let color clusters tr = match tr with Empty -> [],[] Tr (x,l,r) -> let rec aux last = function Empty -> [],[] Tr (x,l,r) -> let lw,lb = aux x l in let rw,rb = aux x r in (match x with White n -> n::(lw@rw),(lb@rb) Black n -> (lw@rw),n::(lb@rb)) in aux x (Tr(x,l,r));; Opzionale: let max points tr = let rec sum list = function [] -> 0 x::xs -> x + sum list xs in let w,b = color clusters tr in max (sum list w) (sum list b);; 7

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Подробнее

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - [email protected] Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Подробнее

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

Подробнее

Definizione di nuovi tipi

Definizione di nuovi tipi Definizione di nuovi tipi Un tipo è un insieme di valori. Per definire un nuovo tipo occorre specificare: 1 un nome per il tipo 2 come costruire i valori del tipo, cioè quali sono i costruttori del tipo.

Подробнее

Programmazione I - Laboratorio

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

Подробнее

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Подробнее

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Подробнее

Utilizzo delle formule in Excel

Utilizzo delle formule in Excel Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula

Подробнее

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Подробнее

1238 1*8 2 +2*8 1 +3*8 0

1238 1*8 2 +2*8 1 +3*8 0 COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INORMATICA E PROGRAMMAZIONE ALLIEVI Ingegneria GESTIONALE PARTE A.1 - ELEMENTI 00/00/0000 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO"

Подробнее

LISTE, INSIEMI, ALBERI E RICORSIONE

LISTE, INSIEMI, ALBERI E RICORSIONE LISTE, INSIEMI, ALBERI E RICORSIONE Settimo Laboratorio LISTE E RICORSIONE SVUOTALISTA: CONSIDERAZIONI Per svuotare una lista si devono eliminare i singoli nodi allocati con la malloc... Come fare? Per

Подробнее

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

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

Подробнее

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a) ESERCIZIO1 PREMESSA Per risolvere problemi spesso esistono delle regole che, dai dati del problema, permettono di calcolare o dedurre la soluzione. Questa situazione si può descrivere col termine regola(,

Подробнее

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Подробнее

Funzioni in C. Violetta Lonati

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

Подробнее

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Подробнее

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011

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

Подробнее

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Chi deve recuperare il progetto del modulo 1 ha 1 ora e 30 minuti per svolgere gli esercizi 1, 2, 3 Chi deve recuperare

Подробнее

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account

Подробнее

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare i numeri 37 e 90 (in base 10) in notazione binaria in complemento

Подробнее

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Подробнее

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Подробнее

COGNOME E NOME (IN STAMPATELLO) MATRICOLA

COGNOME E NOME (IN STAMPATELLO) MATRICOLA Politecnico di Milano Facoltà di Ingegneria dell Informazione Informatica 3 Proff. Ghezzi, Lanzi, Matera e Morzenti Seconda prova in itinere 4 Luglio 2005 COGNOME E NOME (IN STAMPATELLO) MATRICOLA Risolvere

Подробнее

Prova Finale di Livello Base Compito n.21

Prova Finale di Livello Base Compito n.21 Prova Finale di Livello Base Compito n.21 COGNOME E NOME: MATRICOLA: Tempo a disposizione: 2 ore Esercizio n. 1 E necessario scrivere un programma in linguaggio C++ che gestisca i dati di una collezione

Подробнее

Laboratorio di Alfabetizzazione Informatica - Esame 8 luglio 2013 - Turno 3.

Laboratorio di Alfabetizzazione Informatica - Esame 8 luglio 2013 - Turno 3. Laboratorio di Alfabetizzazione Informatica - Esame 8 luglio 2013 - Turno 3. Questo documento contiene le istruzioni per lo svolgimento dell esame. La durata della prova è 60 minuti e richiede lo svolgimento

Подробнее

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Подробнее

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

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

Подробнее

Esercitazione. Dati Strutturati

Esercitazione. Dati Strutturati Dati Strutturati Esercizio 0 (Liste): Esercitazione Scrivere un programma che generi tutti i numeri pari e dispari tra 1 e N. Dove N viene inserito da tastiera. Creare due liste odd e even per salvare

Подробнее

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

Подробнее

Programmazione funzionale 1 PROGRAMMAZIONE FUNZIONALE. Appunti e spiegazioni by. Gianluca Bonacin & Federico Moschen

Programmazione funzionale 1 PROGRAMMAZIONE FUNZIONALE. Appunti e spiegazioni by. Gianluca Bonacin & Federico Moschen Programmazione funzionale 1 PROGRAMMAZIONE FUNZIONALE Appunti e spiegazioni by Gianluca Bonacin & Federico Moschen 2 Programmazione funzionale PREMESSA Questo pdf contiene informazioni utili per l esame

Подробнее

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Подробнее

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");

Подробнее

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Подробнее

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Подробнее

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 10 Strutture collegate - 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Strutture collegate - 2 1 Contenuti!Strutture

Подробнее

I sistemi di numerazione

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

Подробнее

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 7 (esame del 08/01/2009) class TabellaDiNumeri{ private double[][] tabella;

Подробнее

Progetto MIPS/SPIM. Descrizione. Questa tipologia di progetto consiste in

Progetto MIPS/SPIM. Descrizione. Questa tipologia di progetto consiste in Progetto MIPS/SPIM Descrizione Questa tipologia di progetto consiste in Inoltre, Infine, Sviluppare un programma in linguaggio MIPS assembly Simulare il programma in QtSPIM Preparare una relazione del

Подробнее

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Подробнее

Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013.

Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013. Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013. Questo documento contiene le istruzioni per lo svolgimento dell esame. La durata della prova è 60 minuti e richiede lo svolgimento

Подробнее

Specifica tecnica dei servizi di integrazione

Specifica tecnica dei servizi di integrazione Specifica tecnica dei servizi di integrazione OriginalSkills prevede dei moduli per l invocazione remota del test, la restituzione dei risultati ad un sistema esterno, la possibilità di verificare la compilazione

Подробнее

un file in formato FASTA contenente un elenco di sequenze una espressione regolare una indicazione se si tratta di DNA,RNA,proteine

un file in formato FASTA contenente un elenco di sequenze una espressione regolare una indicazione se si tratta di DNA,RNA,proteine Esempio Caratteristiche di sequenza che soddisfano una certa espressione Ingressi: un file in formato FASTA contenente un elenco di sequenze una espressione regolare una indicazione se si tratta di DNA,RNA,proteine

Подробнее

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare i numeri 43 e 81 (in base 10) in notazione binaria in complemento

Подробнее

Supermarket Progetto di Programmazione Febbraio 2010

Supermarket Progetto di Programmazione Febbraio 2010 Supermarket Progetto di Programmazione Febbraio 2010 1 Supermercato Dovete realizzare un insieme di classi e interfacce che riguardano la gestione di un supermercato. nella Sezione 2 verranno descritte

Подробнее

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Подробнее

Laboratorio 07. Programmazione - CdS Matematica. Michele Donini 10 dicembre 2015

Laboratorio 07. Programmazione - CdS Matematica. Michele Donini 10 dicembre 2015 Laboratorio 07 Programmazione - CdS Matematica Michele Donini 10 dicembre 2015 Esercizio Lista I Costruire la classe lista concatenata: class Lista(): def init (self, val=none, succ=none): Denire le principali

Подробнее

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

Подробнее

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi Versione 2.0 Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi Corso anno 2011 E. MANUALE UTILIZZO HAZARD MAPPER Il programma Hazard Mapper è stato realizzato per redarre,

Подробнее

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Подробнее

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a. Istruzioni condizionali Istruzioni condizionali Statistica computazionale Carla Rampichini a.a. 2008/09 Subsetting I I espressione; I-THEN-ELSE I espress THEN istr; [ELSE istr;] DO WHILE DO UNTIL I-THEN-

Подробнее

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Подробнее

STRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,..

STRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,.. STRINGHE di un ALFABETO Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto Alfabeto binario A={0,1} Alfabeto della lingua inglese I={a,b,c,..z} Stringhe o parole Gli elementi di V

Подробнее

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Подробнее

Università Ca Foscari Dipartimento di informatica. Programmazione part-time. Esame Ocaml

Università Ca Foscari Dipartimento di informatica. Programmazione part-time. Esame Ocaml Soluzione Università Ca Foscari Dipartimento di informatica Programmazione part-time Esame Ocaml Nome: Matricola: Samuel Rota Bulò, a.a. 2009/2010 Programmazione part-time a.a. 2009/2010 Esame Ocaml Nome:

Подробнее

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Подробнее

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Подробнее

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

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

Подробнее

Verifica della correttezza formale del numero di partita IVA

Verifica della correttezza formale del numero di partita IVA Verifica della correttezza formale del numero di partita IVA A tutti i soggetti che intraprendono un attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione

Подробнее

Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI. (versione 1.0 del 26.11.2014)

Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI. (versione 1.0 del 26.11.2014) Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI (versione 1.0 del 26.11.2014) INDICE 1. LOGIN... 3 2. VISUALIZZAZIONE APPELLI... 4 3. DEFINIZIONE APPELLI... 4 4. GESTIONE LISTA

Подробнее

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

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

Подробнее

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Подробнее

Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici. Roma, 03-04-2012. Messaggio n. 5880

Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici. Roma, 03-04-2012. Messaggio n. 5880 Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici Roma, 03-04-2012 Messaggio n. 5880 Allegati n.3 OGGETTO: Legge 24 dicembre 2007, n. 247. Art. 1, c. 67. Sgravio contributivo

Подробнее

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

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

Подробнее

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Подробнее

FORMULE: Operatori matematici

FORMULE: Operatori matematici Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere

Подробнее

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Подробнее

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE La procedura per richiedere il cambio di gestione degli esemplari necessari allo svolgimento di gare di lettura, mostre bibliografiche e altre

Подробнее

ABC16. 5 Indica nelle reti ethernet cosa è una collisione e come viene gestita. 6 Disegna lo schema della macchina di VON NEUMANN

ABC16. 5 Indica nelle reti ethernet cosa è una collisione e come viene gestita. 6 Disegna lo schema della macchina di VON NEUMANN COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE ALLIEVI Ingegneria GESTIONALE PARTE A.1 - ELEMENTI 20/01/2016 NUM. MATRICOLA CORSO DI LAUREA La dispensa deve

Подробнее

DIPARTIMENTO DI SCIENZE DEL FARMACO. Prenotazione degli Appelli d esame Online. Guida Studenti VOL. Verbalizzazione OnLine.

DIPARTIMENTO DI SCIENZE DEL FARMACO. Prenotazione degli Appelli d esame Online. Guida Studenti VOL. Verbalizzazione OnLine. DIPARTIMENTO DI SCIENZE DEL FARMACO Prenotazione degli Appelli d esame Online Guida Studenti VOL Verbalizzazione OnLine degli esami 1 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AREA WEB RISERVATA... 3 3. SEZIONE

Подробнее

REGOLE PER L ESAME (agg.te settembre 2015)

REGOLE PER L ESAME (agg.te settembre 2015) Informatica e Programmazione (9 CFU) Ingegneria Meccanica e dei Materiali REGOLE PER L ESAME (agg.te settembre 2015) Modalità d esame (note generali) Per superare l esame, lo studente deve sostenere due

Подробнее

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30' Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di

Подробнее

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni: XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive

Подробнее

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Подробнее

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda

Подробнее

Andrea Maioli Instant Developer: guida all uso

Andrea Maioli Instant Developer: guida all uso Andrea Maioli Instant Developer: guida all uso usando la funzione InitDatabase. Se il database contiene i dati RTC di più applicazioni si può limitare la configurazione ad una specifica applicazione grazie

Подробнее

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

Подробнее

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello dell 8 Febbraio 2005 Esercizio 1 (ASD) 1. Dire quale delle seguenti affermazioni è vera giustificando la risposta. (a) lg

Подробнее

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Подробнее

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: [email protected] Valori e Tipi Un valore (= value) è una delle entità fondamentali che i programmi sono

Подробнее

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Подробнее

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Подробнее

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

Подробнее

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:

Подробнее

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3 RICORSIVITA 1. Cos è la ricorsività? La ricorsività è un metodo di soluzione dei problemi che consiste nell esprimere la soluzione relativa al caso n in funzione della soluzione relativa al caso n-1. La

Подробнее

Gestione dei File in C

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

Подробнее

Laboratorio di Informatica Lezione 2

Laboratorio di Informatica Lezione 2 Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3

Подробнее

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Подробнее

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Подробнее

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Подробнее

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Подробнее

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi

Подробнее