Programmazione funzionale
|
|
- Erica Gaetana Battaglia
- 8 anni fa
- Visualizzazioni
Transcript
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
Programmazione Funzionale
1/11 Programmazione Funzionale Esercizi in preparazione dell esame Davide Mottin - Themis Palpanas May 28, 2014 Svolgimento d esame Inferire il tipo di un espressione Esercizi sul lambda-calcolo Esercizi
DettagliIntroduzione 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
DettagliDEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori.
1 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
DettagliLaboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
DettagliIntroduzione 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
DettagliDefinizione 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.
DettagliProgrammazione 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.
DettagliTipi 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
DettagliAlgoritmo. 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
DettagliUtilizzo 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
DettagliEsercizi 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
Dettagli1238 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"
DettagliLISTE, 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
DettagliESAME 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
Dettagliregola(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(,
DettagliBasi 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
DettagliFunzioni 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
Dettaglidall 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 È
DettagliCorso 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.
DettagliCorso 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
DettagliEsercitazione 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
DettagliESAME 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
DettagliLaboratorio 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
DettagliLa 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,
DettagliCOGNOME 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
DettagliProva 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
DettagliLaboratorio 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
DettagliAPPUNTI 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
DettagliStrutture. 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
DettagliEsercitazione. 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
Dettagli2. 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
DettagliProgrammazione 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
DettagliCorso 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
DettagliProgrammazione 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");
DettagliMODULO 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
DettagliPer 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
DettagliCorso 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
DettagliI 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
DettagliSoluzioni 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;
DettagliUniversità degli Studi di Padova Corso di Laurea in Informatica
Cognome e Nome Matricola Università degli Studi di Padova Corso di Laurea in Informatica Corso di Tecnologie Web Prova scritta del 24/03/2006 Importante: Scrivere il proprio Cognome, Nome e numero di matricola
DettagliProgetto 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
DettagliProva 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
DettagliPROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO
PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un
DettagliLaboratorio 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
DettagliSpecifica 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
Dettagliun 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
DettagliESAME 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
DettagliSupermarket 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
DettagliElementi 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
DettagliLaboratorio 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
DettagliManuale di realizzazione dei modelli di documento
MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2
DettagliStudente (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
DettagliStrumenti 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,
DettagliSQL - 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
DettagliIstruzioni 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-
Dettagli4.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ù
DettagliSTRINGHE 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
DettagliFunzioni. 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
DettagliUniversità 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:
Dettagli3. 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
DettagliCorso 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
DettagliAlgebra 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
DettagliVerifica 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
DettagliGestione 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
DettagliInformatica 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,
DettagliAl 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,
DettagliDirezione 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
DettagliGli 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
DettagliREGOLAMENTO D ESAME PER I CORSI DI LINGUA
REGOLAMENTO D ESAME PER I CORSI DI LINGUA (Versione 01.01.2012) INTRODUZIONE 3 PROCEDURA DI QUALIFICAZIONE 3 TEST DI LIVELLO 3 AMMISSIONE AL TEST DI LIVELLO 3 FORMA 3 SUPPORTI ESTERNI 3 CORREZIONE E VALUTAZIONE
DettagliUno 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
DettagliHTML. Usare il seguente HTML per i primi tre esercizi (che, si noti, al momento restituisce un errore JavaScript):
HTML Usare il seguente HTML per i primi tre esercizi (che, si noti, al momento restituisce un errore JavaScript): prove Javascript
DettagliFORMULE: 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
Dettagli1. 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
DettagliCAMBIO 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
DettagliABC16. 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
DettagliDIPARTIMENTO 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
DettagliREGOLE 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
DettagliFondamenti 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
DettagliLa 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
DettagliAlgoritmi 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
DettagliEsempio: 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
DettagliAndrea 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
DettagliCorso 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
DettagliAlgoritmi 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
DettagliProgrammazione Definizione di nuovi tipi
Programmazione Definizione di nuovi tipi Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Abbiamo incontrato i tipi primitivi. unit, bool, int, float, char, string Abbiamo visto come costruire
DettagliI 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
DettagliFondamenti di Programmazione
Fondamenti di Programmazione Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: gaspari@cs.unibo.it Valori e Tipi Un valore (= value) è una delle entità fondamentali che i programmi sono
DettagliStudente: 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
DettagliPagina 2 di 14. Indice
Manuale d uso per la raccolta: Sicurezza e continuità del servizio di distribuzione gas (comma 28.17 dell'allegato A alla deliberazione 574/2013/R/gas) Pagina 1 di 14 Indice 1. Accesso alla raccolta...
DettagliRealizzazione 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
Dettaglipuntatori 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
DettagliTutorial 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:
DettagliRICORSIVITA. 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
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliLaboratorio 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
DettagliAPPUNTI 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,
DettagliElementi 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
DettagliSPC 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,
DettagliAlgebra 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
DettagliCorso 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
Dettagli