Programmazione Funzionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Funzionale"

Transcript

1 1/9 Programmazione Funzionale Esercizio sulle variabili locali Davide Mottin - Themis Palpanas March 12, 2014

2 OCaml Funzioni preparatorie Sommario 2/9

3 Funzioni preparatorie Costruire una funzione val even : int -> bool = <fun> che restituisca vero se un numero è pari, falso altrimenti. Creare una funzione odd che calcoli l opposto di even. OCaml 3/9

4 Funzioni preparatorie Costruire una funzione val even : int -> bool = <fun> che restituisca vero se un numero è pari, falso altrimenti. let even n = if n mod 2 = 0 then true else false;; Creare una funzione odd che calcoli l opposto di even. let odd n = not (even n);; OCaml 3/9

5 Un esercizio più complesso Costruire una funzione che stampi Pari e divisibile per 3 se un numero in input è pari e divisibile per tre, altrimenti Pari ma non divisibile per 3 oppure Dispari e divisibile per 3 e Dispari ma non divisibile per 3. Cercare di utilizzare, ove possibile, dichiarazioni locali. OCaml 4/9

6 ( P r i n t whether a number i s d i v i s i b l e by 2 and by 3 ) l e t p r i n t d i v i s i b i l i t y n = i f even n then l e t out = P a r i i n i f n mod 3 = 0 then p r i n t s t r i n g ( out ˆ e d i v i s i b i l e per 3 ) e l s e p r i n t s t r i n g ( out ˆ ma non d i v i s i b i l e per 3 ) e l s e l e t out = D i s p a r i i n i f n mod 3 = 0 then p r i n t s t r i n g ( out ˆ e d i v i s i b i l e per 3 ) e l s e p r i n t s t r i n g ( out ˆ ma non d i v i s i b i l e per 3 ) ; OCaml 5/9

7 Esercizio Che tipo ha la funzione seguente e a cosa serve? l e t a p p l y f ( n,m) = ( f n m) ; ; OCaml 6/9

8 Esercizio Che tipo ha la funzione seguente e a cosa serve? l e t a p p l y f ( n,m) = ( f n m) ; ;. (α β γ) α β γ Sapete fornire una possibile applicazione di questa funzione? OCaml 6/9

9 Esercizio Che tipo ha la funzione seguente e a cosa serve? l e t a p p l y f ( n,m) = ( f n m) ; ;. (α β γ) α β γ Sapete fornire una possibile applicazione di questa funzione? (possibile). apply (fun x y -> sqrt (x** y**2.0)) (3.,4.);; OCaml 6/9

10 Esercizio Costruire una funzione conditional apply che, preso in input due funzioni f e g ed un elemento x restituisca g applicata ad x se f (x) restituisce true e x altrimenti. Ragionare inoltre sul tipo della funzione scritta. OCaml 7/9

11 Esercizio Costruire una funzione conditional apply che, preso in input due funzioni f e g ed un elemento x restituisca g applicata ad x se f (x) restituisce true e x altrimenti. Ragionare inoltre sul tipo della funzione scritta. l e t c o n d i t i o n a l a p p l y f g x = i f f x then g x e l s e x ; ; Qual è il tipo? OCaml 7/9

12 Esercizio Costruire una funzione conditional apply che, preso in input due funzioni f e g ed un elemento x restituisca g applicata ad x se f (x) restituisce true e x altrimenti. Ragionare inoltre sul tipo della funzione scritta. l e t c o n d i t i o n a l a p p l y f g x = i f f x then g x e l s e x ; ; Qual è il tipo? Esercizio. Costruire una funzione to odd che preso in input un valore se è pari restituisce il suo successore, altrimenti restituisce lo stesso valore. OCaml 7/9

13 Esercizio Costruire una funzione conditional apply che, preso in input due funzioni f e g ed un elemento x restituisca g applicata ad x se f (x) restituisce true e x altrimenti. Ragionare inoltre sul tipo della funzione scritta. l e t c o n d i t i o n a l a p p l y f g x = i f f x then g x e l s e x ; ; Qual è il tipo? Esercizio. Costruire una funzione to odd che preso in input un valore se è pari restituisce il suo successore, altrimenti restituisce lo stesso valore. (possibile). let to odd x = conditional apply even succ x;; OCaml 7/9

14 Altri Esercizi Costruire una funzione che restituisca la funzione della retta dato in input m e q (i.e., f (x) = mx + q). Attenzione ai tipi. OCaml 8/9

15 Altri Esercizi Costruire una funzione che restituisca la funzione della retta dato in input m e q (i.e., f (x) = mx + q). Attenzione ai tipi. l e t l i n e m q x = m. x +. q ; ; OCaml 8/9

16 Altri Esercizi Costruire una funzione che restituisca la funzione della retta dato in input m e q (i.e., f (x) = mx + q). Attenzione ai tipi. l e t l i n e m q x = m. x +. q ; ; Esercizio Usando la funzione precedente costruire una funzione che dato in input due punti restituisce la funzione della retta passante per essi. Dato (x 1, y 1 ) e (x 2, y 2 ) m = y 2 y 1 x 2 x 1, q = y 1x 2 x 1 y 2 x 2 x 1 OCaml 8/9

17 Altri Esercizi Costruire una funzione che restituisca la funzione della retta dato in input m e q (i.e., f (x) = mx + q). Attenzione ai tipi. l e t l i n e m q x = m. x +. q ; ; Esercizio Usando la funzione precedente costruire una funzione che dato in input due punti restituisce la funzione della retta passante per essi. Dato (x 1, y 1 ) e (x 2, y 2 ) m = y 2 y 1 x 2 x 1, q = y 1x 2 x 1 y 2 x 2 x 1 l e t l i n e e q u a t i o n x ( x1, y1 ) ( x2, y2 ) = l i n e ( ( y2. y1 ) /. ( x2. x1 ) ) ( ( y1. x2. x1. y2 ) /. ( x2. x1 ) ) x ; ; OCaml 8/9

18 Altri Esercizi - 2 Costruire una funzione che preso in input due funzioni e una coppia (x,y) controlli se si intersecano in (x,y) OCaml 9/9

19 Altri Esercizi - 2 Costruire una funzione che preso in input due funzioni e una coppia (x,y) controlli se si intersecano in (x,y) l e t i n t e r s e c t i n l 1 l 2 ( x, y ) = ( l 1 x = y ) && ( l 2 x = y ) ; ; OCaml 9/9

20 Altri Esercizi - 2 Costruire una funzione che preso in input due funzioni e una coppia (x,y) controlli se si intersecano in (x,y) l e t i n t e r s e c t i n l 1 l 2 ( x, y ) = ( l 1 x = y ) && ( l 2 x = y ) ; ; Esercizio Costruire una funzione che calcoli il baricentro tra tre punti. OCaml 9/9

21 Altri Esercizi - 2 Costruire una funzione che preso in input due funzioni e una coppia (x,y) controlli se si intersecano in (x,y) l e t i n t e r s e c t i n l 1 l 2 ( x, y ) = ( l 1 x = y ) && ( l 2 x = y ) ; ; Esercizio Costruire una funzione che calcoli il baricentro tra tre punti. l e t b a r y c e n t e r ( x1, y1 ) ( x2, y2 ) ( x3, y3 ) = ( ( x1 +. x2 +. x3 ) /. 3., ( y1 +. y2 +. y3 ) /. 3. ) ; ; OCaml 9/9

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

Tecniche per risolvere problemi: riduzione a sottoproblemi più semplici. Ricorsione

Tecniche per risolvere problemi: riduzione a sottoproblemi più semplici. Ricorsione Tecniche per risolvere problemi: riduzione a sottoproblemi più semplici Ricorsione 1 Tecniche per risolvere problemi: riduzione a sottoproblemi più semplici Problema: dati tre numeri interi, calcolarne

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli [email protected] Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni

Dettagli

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.

Dettagli

I punti di inizio e di fine della spezzata prendono il nome di estremi della spezzata. lati

I punti di inizio e di fine della spezzata prendono il nome di estremi della spezzata. lati I Poligoni Spezzata C A cosa vi fa pensare una spezzata? Qualcosa che si rompe in tanti pezzi A me dà l idea di un spaghetto che si rompe Se noi rompiamo uno spaghetto e manteniamo uniti i vari pezzi per

Dettagli

Le Funzioni e la Ricorsione

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

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

AA Realizzare un interprete in OCaml

AA Realizzare un interprete in OCaml AA 2016-2017 17. Realizzare un interprete in OCaml 1 La stru/ura let x = 3 in x+x;; Parsing Programma (text-file) Rappresentazione Intermedia (IR) Let ( x, Num 3, B_op(Plus, Var x, Var x )) Num 6 Pre/y

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

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

C5. Triangoli - Esercizi

C5. Triangoli - Esercizi C5. Triangoli - Esercizi DEFINIZIONI 1) Dato il triangolo in figura completare al posto dei puntini. I lati sono i segmenti,, Gli angoli sono,, Il lato AB e l angolo sono opposti Il lato AB e l angolo

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Espressione composta da: Operatori Operandi (costanti, variabili, )

Espressione composta da: Operatori Operandi (costanti, variabili, ) Cenni linguaggio C: Espressioni Espressione: formula (regola di calcolo) che specifica sempre un valore Esempio: espressione algebrica: z=x* y, (x+3)/5 Espressione composta da: Operatori Operandi (costanti,

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

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

Dettagli

Fissiamo nello spazio un sistema di riferimento cartesiano ortogonale O, x, y, z, u.

Fissiamo nello spazio un sistema di riferimento cartesiano ortogonale O, x, y, z, u. Fissiamo nello spazio un sistema di riferimento cartesiano ortogonale O, x, y, z, u. Definizione Una quadriche è il luogo dei punti, propri o impropri, reali o immaginari, che con le loro coordinate omogenee

Dettagli

Definizioni ricorsive

Definizioni ricorsive Definizioni ricorsive Caso base : (* fact: int -> int *) let rec fact n = if n=0 then 1 else n * fact (n-1) n! = 1 2... n 1 n = (n 1)! n = n (n 1)! 0! = 1 Il fattoriale è definito in termini di se stesso,

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

Frazioni. 8 Esercizi di Analisi Matematica Versione Argomenti: Operazioni sulle frazioni Tempo richiesto: Completare la seguente tabella: a b

Frazioni. 8 Esercizi di Analisi Matematica Versione Argomenti: Operazioni sulle frazioni Tempo richiesto: Completare la seguente tabella: a b 8 Esercizi di Analisi Matematica ersione 2006 razioni Argomenti: Operazioni sulle frazioni Difficoltà: Tempo richiesto: Completare la seguente tabella: a b a + b a b 1/3 1/2 1/3 1/2 1/3 1/2 a b a a + b

Dettagli

C6. Quadrilateri - Esercizi

C6. Quadrilateri - Esercizi C6. Quadrilateri - Esercizi DEFINIZIONI E COSTRUZIONI 1) Dato il seguente quadrilatero completa al posto dei puntini. I lati AB e BC sono I lati AB e CD sono I lati AD e sono consecutivi I lati AD e sono

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

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

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

Costruzioni geometriche. (Teoria pag , esercizi )

Costruzioni geometriche. (Teoria pag , esercizi ) Costruzioni geometriche. (Teoria pag. 81-96, esercizi 141-153 ) 1) Costruzione con squadra e riga. a) Rette parallele. Ricorda: due rette sono parallele quando.... oppure quando hanno la stessa. Matematicamente

Dettagli

Individuazione di sottoproblemi

Individuazione di sottoproblemi Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che

Dettagli

CLASSIFICAZIONE DELLE CONICHE AFFINI

CLASSIFICAZIONE DELLE CONICHE AFFINI CLASSIFICAZIONE DELLE CONICHE AFFINI Pre-requisiti necessari. Elementi di geometria analitica punti e rette nel piano cartesiano, conoscenza delle coniche in forma canonica). Risoluzione di equazioni e

Dettagli

Programmazione funzionale

Programmazione funzionale Cognome Nome Matricola Programmazione funzionale 12-09-2014 PROVA SCRITTA 1 2 3 4 5 Somma Il compito ha la durata di 1 ora, per la compilazione attenersi alle seguenti istruzioni: Scrivere in maniera chiara.

Dettagli

Programmazione in Java (I modulo)

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

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. LETTURA/SCRITTURA DI VARIABILI Codice #include

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: [email protected] sito: users.iol.it/genna18 Risoluzione di un problema Dato

Dettagli

2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi)

2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi) 2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi) La circonferenza è la curva di 2^ grado che viene individuata univocamente da tre punti non allineati e possiede la seguente proprietà:

Dettagli

Strutture dati dinamiche in C (II)

Strutture dati dinamiche in C (II) Strutture dati dinamiche in C (II) Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi [email protected] Sommario Le liste concatenate (ancora ma in modo più formale) L

Dettagli

TEST SULLE COMPETENZE Classe Seconda

TEST SULLE COMPETENZE Classe Seconda TEST SULLE COMPETENZE Classe Seconda 1 Una sola tra le seguenti proposizioni è FALSA Quale? A Se due punti A e B hanno la stessa ascissa, il coefficiente angolare della retta che li contiene non è definito

Dettagli

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Dettagli

Esercizi su esponenziali, coni, cilindri, superfici di rotazione

Esercizi su esponenziali, coni, cilindri, superfici di rotazione Esercizi su esponenziali, coni, cilindri, superfici di rotazione Esercizio 1. Risolvere exp (exp (z)) = i. Esercizio. Risolvere i exp(z)z 4 + i exp(z)(1 + i) z 4 i 1 = 0. Esercizio. Risolvere exp(z) =

Dettagli

5 - Istruzioni condizionali

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

Dettagli

Strutture di controllo in C++

Strutture di controllo in C++ Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni

Dettagli

ESERCIZI SVOLTI SU: GEOMETRIA TRIDIMENSIONALE. 2. Fissato un sistema di riferimento cartesiano dello spazio euclideo O, i, j, k,

ESERCIZI SVOLTI SU: GEOMETRIA TRIDIMENSIONALE. 2. Fissato un sistema di riferimento cartesiano dello spazio euclideo O, i, j, k, ESERCIZI SVOLTI SU: GEOMETRIA TRIDIMENSIONALE 1. Fissato un sistema di riferimento cartesiano dello spazio euclideo O, i, j, k, determinare un equazione omogenea del piano parallelo al vettore v = i+j,

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Esempi di Problemi Iterativi

Esempi di Problemi Iterativi Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi

Dettagli

C5. Triangoli. C5.1 Definizioni. C5.2 Classificazione dei triangoli in base ai lati

C5. Triangoli. C5.1 Definizioni. C5.2 Classificazione dei triangoli in base ai lati 5. Triangoli 5.1 efinizioni Un triangolo è un poligono con tre lati. In figura 5.1 i lati sono i segmenti =c, =b e =a. Gli angoli (interni) sono α = ˆ, β = ˆ e γ = ˆ. Si dice che un angolo è opposto a

Dettagli

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Sincronizzazione Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Soluzioni hardware Le soluzioni hardware al problema della SC possono essere classificate

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 [email protected] Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

Dettagli

Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list

Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list Esercitazione: Implementazione in linguaggio C dell ADT Stack con l utilizzo di linked list Laboratorio di Programmazione Introduzione un ADT (Abstract Data Type) è un modello (formale) che generalizza

Dettagli

Codice Gray. (versione Marzo 2007)

Codice Gray. (versione Marzo 2007) Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.

Dettagli

Laboratorio Informatica

Laboratorio Informatica Laboratorio Informatica Le funzioni Massimo Marchi http://marchi.usr.dsi.unimi.it/ Le funzioni Introduzione Massimo Marchi - http:// marchi.usr.dsi.unimi.it/ Le funzioni nelle formule! L utente per creare

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

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

La parabola. Giovanni Torrero Aprile La poarabola come luogo geometrico

La parabola. Giovanni Torrero Aprile La poarabola come luogo geometrico La parabola Giovanni Torrero Aprile 2006 1 La poarabola come luogo geometrico Definizione 1 (La parabola come luogo geometrico) La parabola è il luogo geometrico formato da tutti e soli i punti del piano

Dettagli

Problema: conteggio occorrenze

Problema: conteggio occorrenze Problema: conteggio occorrenze start read N,X i := 0 occorrenze := 0 vero vero i < N vettore[i]=x falso write occorrenze end occorrenze := occorrenze + 1 falso i := i + 1 Codice Javascript: prima parte

Dettagli

Esercizi di Analisi Matematica I

Esercizi di Analisi Matematica I Esercizi di Analisi Matematica I (corso tenuto dal Prof Alessandro Fonda) Università di Trieste, CdL Fisica e Matematica, aa 2012/2013 1 Principio di induzione 1 Dimostrare che per ogni numero naturale

Dettagli

CORREZIONE FORMATIVA 2 ( RETTA IN FORMA PARAMETRICA E FASCI)

CORREZIONE FORMATIVA 2 ( RETTA IN FORMA PARAMETRICA E FASCI) CORREZIONE FORMATIVA 2 ( RETTA IN FORMA PARAMETRICA E FASCI) D1 E' dato il fascio 2x+4y +k(8x+5y 6)=0 trovare le coordinate del centro... Risposta. Le rette base del fascio sono r1 : 2x+4y-=0 r2 : 8x+5y-6=0

Dettagli

Esercizi per la prova in itinere (con soluzioni)

Esercizi per la prova in itinere (con soluzioni) Esercizi per la prova in itinere (con soluzioni) Programmazione e Analisi di Dati Mod. A Programmazione Java ATTENZIONE: per la soluzione di questi esercizi usare solo i costrutti del linugaggio Java e

Dettagli

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa

Dettagli

lato obliquo trapezio isoscele Un quadrilatero che ha i lati opposti paralleli. Ogni parallelogramma ha... D α + β π

lato obliquo trapezio isoscele Un quadrilatero che ha i lati opposti paralleli. Ogni parallelogramma ha... D α + β π Ripasso Scheda per il recupero Trapezi e parallelogrammi OMNE he cos è un trapezio? RISOSTE Un trapezio è un quadrilatero con una coppia di lati opposti paralleli: i lati paralleli si chiamano basi del

Dettagli

GEOMETRIA ANALITICA 1 IL PIANO CARTESIANO

GEOMETRIA ANALITICA 1 IL PIANO CARTESIANO GEOMETRI NLITIC 1 IL PINO CRTESINO Il piano cartesiano è costituito da due rette orientate e tra loro perpendicolari chiamate assi cartesiani, generalmente una orizzontale e l altra verticale, sulle quali

Dettagli

14 - Metodi e Costruttori

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

Dettagli

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style Corso Arduino 2014 21 Maggio 2014 Riccardo Binetti [email protected] Lezione 1 - Blinking LEDs with style Riccardo Binetti Arduino 2014 Lezione 1 1 / 24 Fate domande Riccardo Binetti Arduino 2014 Lezione

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 La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

Dettagli

Il punteggio totale della prova è 100/100. La sufficienza si ottiene con il punteggio di 60/100.

Il punteggio totale della prova è 100/100. La sufficienza si ottiene con il punteggio di 60/100. ISI Civitali - Lucca CLASSE, Data Nome: Cognome: Nei test a scelta multipla la risposta esatta è unica Ad ogni test viene attribuito il seguente punteggio: 4 punti risposta corretta 1 punto risposta omessa

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione

Dettagli

Esempio (if): equazione di secondo grado

Esempio (if): equazione di secondo grado Esempio (if): equazione di secondo grado /* Programma che calcola le radici di un equazione di secondo grado: ax2+bx+c=0 */ #include /*libreria standard matematica*/ main() { float a,b,c; /*coefficienti

Dettagli

Don Bosco, A.S. 2013/14 Compiti per le vacanze - 1C

Don Bosco, A.S. 2013/14 Compiti per le vacanze - 1C Don Bosco, A.S. 01/14 Compiti per le vacanze - 1C 1. Rappresenta per elencazione ciascuno dei seguenti insiemi: A { x x è una lettera della parola cattedra } B { x N x < 7 } C { x N x è pari x 10 } D {

Dettagli