Ricorsione. Rosario Culmone. - p. 1/13

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ricorsione. Rosario Culmone. - p. 1/13"

Transcript

1 Ricorsione Rosario Culmone - p. 1/13

2 Induzione e Ricorsione Spesso utilizzeremo le definizioni induttive. Sono forme di definizione compatte che descrivono un numero infinito di elementi. I contesti di utilizzo sono molteplici in matematica (fattoriale, successioni,...) in informatica (ricorsione, grammatiche,...) in musica (Bach, Corelli,...) in geometria (frattali, chiocciole,...) in pittura (Escher,...) Le definizioni induttive sono anche chiamate costruttive o per induzione strutturale per mettere in evidenza che tali definizioni si applicano ad oggetti che hanno una ben determinata struttura che iterata produce strutture simili. - p. 2/13

3 Ricorsione In informatica spesso viene utilizzato il termine ricorsione per indicare una definizione induttiva ovvero l oggetto che si vuole definire compare anche nell espressione che vuole definirlo. La ricorsione mette in evidenza la struttura della definizione mediante due parti: Base. Il più piccolo elemento descrivibile Induzione. Tutti gli altri elementi mediante costruzione. - p. 3/13

4 Fattoriale La funzione fattoriale si applica ad un naturale n e produce il prodotto di tutti i naturali precedenti, compreso n. Ovvero fatt(4) = In generale fatt(n) = n n Una definizione compatta è la seguente: fatt(n) = { 1 se n = 0 n fatt(n 1) se n > 0 Si evince che è una definizione ricorsiva dal fatto che a sinistra e a destra dell = compare fatt. Da notare che questo fatto da solo non implica che sia una corretta definizione ricorsiva. - p. 4/13

5 Fattoriale errato E facile cadere in errore nella definizione ricorsiva. Ad esempio: { 1 se n = 0 fatt(n) = n fatt(n) se n > 0 passo induttivo errato, oppure { 0 se n = 0 fatt(n) = n fatt(n 1) se n > 0 passo base errato. - p. 5/13

6 Calcolo La definizione ricorsiva non viene solo utilizzata solo per definire funzioni o insiemi ma è pure un metodo di calcolo. Operativavamente è possibile effettuare il calcolo del fattoriale effettuando delle sostituzioni: fatt(4) = 4 fatt(3) = 4 3 fatt(2) = fatt(1) = fatt(0) = p. 6/13

7 Operatività del calcolo Nel caso precedente abbiamo applicato la sostituzione del caso induttivo 4 volte e del caso base 1 volta andando in profondità a cercare il caso base lasciandoci dietro il calcolo. Una volta raggiunto il caso base bisogna effettuare tutte le moltiplicazioni (possibilmente in ordine inverso se si tiene conto dell associatività a destra). In pratica si avrebbe: fatt(4) = 4 fatt(3) (1) = 4 3 fatt(2) (2) = fatt(1) (3) = fatt(0) (4) = (5) = (6) = (7) = 4 6 (8) = 24 (9) - p. 7/13

8 Realizzazione della ricorsione In generale nel passo induttivo possono essere richiesti calcoli molto complessi. Abbiamo quindi bisogno di: contenitore di informazioni temporanee per ogni applicazione del passo induttivo uno strumento a fisarmonica che si gonfia in fase di applicazione del passo induttivo e si sgonfia in fase di calcolo In realtà il calcolo può essere in parte effettuato prima o dopo l applicazione del passo induttivo. Il contenitore delle informazioni temporanee deve essere diverso per ogni fase del passo induttivo. - p. 8/13

9 La pila Lo strumento giusto per il nostro calcolo è la PILA. La pila ha tre operazioni: 1. Push(e). L operazione Push(e) pone in cima alla pila il contenitore e 2. Pop. L operazione Pop produce quello che stà in cima alla pila e lo toglie 3. Empty. L operazione Empty produce il valore logico vero se la pila è vuota. La PILA è quello che normalmente utilizziamo: una pila di piatti, una pila di fogli. Il vincole è che non si possono prendere fogli in mezzo alla pila. - p. 9/13

10 Calcolo con la pila fatt(4) = 4 fatt(3) Push(4) = 4 3 fatt(2) Push(3) = fatt(1) Push(2) = fatt(0) Push(1) = Push(1) = Push(Pop Pop) = Push(Pop Pop) = 4 6 Push(Pop Pop) = 24 Push(Pop Pop) - p. 10/13

11 Ricorsione e Pila In generale la PILA può essere utilizzata per qualsiasi funzione ricorsiva definita con base e induzione correttamente espresse. Si deve tenere conto di: Si devono correttamente definire le operazioni da effettuare nella fase discendente e le operazioni da effettuare nella fase ascendente. Nella fase discendente si effettuano solo operazioni Push, nella fase ascendente solo operazioni Pop. Ciò che si mette sulla pila è il contesto o l ambiente dell applicazione del passo induttivo. Ciò che viene effettuato con il prodotto dei Pop è il calcolo da effettuare dell applicazione del passo induttivo. - p. 11/13

12 Linguaggi di programmazione e Ricorsione La ricorsione è utilizzata: nelle definizioni delle grammatiche dei linguaggi di programmazione in strutture dati utilizzate correntemente dai linguaggi di programmazione (liste, code, pile, alberi, grafi,...) negli algoritmi di ordinamento (quicksort, naturaljoin,...) negli algoritmi che gestiscono strutture dati definite ricorsivamente in generale in tutti i contesti dove è possibile descrivere in modo induttivo Si considere che la ricorsione è molto potente, elegante e compatta ma dispendiosa dal punto di vista computazionale. - p. 12/13

13 Ricorsione ed espressioni regolari La ricorsione è applicabile con successo nel riconoscimento dei stringhe espresse mediante espressioni regolari. La definizione delle espressioni regolari è data in modo induttivo: 1. {ɛ} è un espressione regolare 2. se a Σ allora a è un espressione regolare 3. una etichetta L è un espressione regolare 4. se L ed M denotano espressioni regolari allora L M è un espressione regolare 5. se L ed M denotano espressioni regolari allore LM è un espressione regolare 6. se L denota un espressione regolare allora L è un espressione regolare 7. se L denota un espressione regolare allora (E) è un espressione regolare - p. 13/13

14 Definizione ricorsiva L(E) = ɛ se E = a se E Σ L(E) L(F) se E = E F L(E)L(F) se E = EF L(E) se E = E L( - p. 14/13

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.

Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

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ù

Dettagli

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Elementi generali Un parser generico di tipo procede operando una sequenza di riduzioni a

Dettagli

Programma di Paradigmi e possibili domande. Capitolo 1

Programma di Paradigmi e possibili domande. Capitolo 1 Definizione di macchina astratta Programma di Paradigmi e possibili domande Capitolo 1 Una macchina astratta per il linguaggio L detta ML, è un qualsiasi insieme di algoritmi e strutture dati che permettono

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Macchine di Turing. a n B B. Controllo Finito

Macchine di Turing. a n B B. Controllo Finito Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il

Dettagli

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona.

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Implementazione di Utilizzo ricorsione per processare dati in java vs. multipla

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Ricorsione. Corso di Fondamenti di Informatica

Ricorsione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

I PROBLEMI ALGEBRICI

I PROBLEMI ALGEBRICI I PROBLEMI ALGEBRICI La risoluzione di problemi è una delle attività fondamentali della matematica. Una grande quantità di problemi è risolubile mediante un modello algebrico costituito da equazioni e

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Trattamento degli errori

Trattamento degli errori Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori Trattamento degli errori Giacomo PISCITELLI Trattamento degli errori Comunemente gli errori di programmazione

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

Dettagli

int f(char *s, short n, float x) {... } /* definizione di f */ int f(char *, short, float); /* prototipo di f */

int f(char *s, short n, float x) {... } /* definizione di f */ int f(char *, short, float); /* prototipo di f */ Prototipi di funzione Il prototipo di una funzione costituisce una dichiarazione della funzione, e come tale fornisce al compilatore le informazioni necessarie a gestire la funzione stessa. Nella definizione

Dettagli

STRUTTURE NON LINEARI

STRUTTURE NON LINEARI PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

Dettagli

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

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Funzioni e procedure

Funzioni e procedure Funzioni e procedure DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

Pile (stacks) e code (queues)

Pile (stacks) e code (queues) Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006 Pile e Code Marco Antoniotti Pile (stacks) e code (queues) Tipi di dati fondamentali Applicazioni molteplici Le operazioni standard Aggiungi

Dettagli

ISTITUTO: Liceo Artistico

ISTITUTO: Liceo Artistico PIANO DI LAVORO ANNUALE ISTITUTO: Liceo Scienze Applicate Liceo Classico ITE I. Enogastronomia/Ospitalità Liceo Artistico Scuola Media annessa INSEGNANTE: SMANIOTTO GIUSEPPE MATERIA DI INSEGNAMENTO: INFORMATICA

Dettagli

Fondamenti dei linguaggi di programmazione

Fondamenti dei linguaggi di programmazione Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Riassunto delle lezioni precedenti Prima Lezione: Introduzione e motivazioni del corso; Sintassi

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

MATEMATICA Classe I ATTIVITÀ:

MATEMATICA Classe I ATTIVITÀ: OBIETTIVO GENERALE: MATEMATICA Classe I Acquisire una crescente capacità di ordinare, quantificare, misurare i fenomeni della realtà, iniziare a problematizzare la propria esperienza e a rappresentarla

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

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 19 Ricorsione A. Miola Marzo 2012 http://www.dia.uniroma3.it/~java/fondinf/ Ricorsione 1 Contenuti q Funzioni e domini definiti

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

La ricorsione. Politecnico di Milano Sede di Cremona

La ricorsione. Politecnico di Milano Sede di Cremona La ricorsione Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Definizioni ricorsive Sono comuni

Dettagli

Derivate Limiti e funzioni continue

Derivate Limiti e funzioni continue Derivate Limiti e funzioni continue Se il valore di una funzione f() si avvicina al valore l quando si avvicina ad 0 diciamo che f() ha come ite l per tendente ad 0. Noi per rappresentare questo fatto

Dettagli

PROGRAMMA DI INFORMATICA

PROGRAMMA DI INFORMATICA PROGRAMMA DI INFORMATICA A.S. 2014-2015 CLASSE IV SEZ. A INDIRIZZO SIA PROF. Pascarelli Anna Lucia I.T.P. Robilotta Alessandro MODULO 1 : LA PROGRAMMAZIONE VISUALE Unità Didattica 1 : L ambiente di programmazione

Dettagli

anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione.

anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione. anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione. Elio Giovannetti Dipartimento di Informatica Università di Torino versione 1 marzo 2015 Quest'opera è distribuita

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Informatica generale

Informatica generale Informatica generale Docenti: Giovanni Denaro, Luigi Lavazza, Mauro Pezzè Concetti di base per l uso del calcolatore e, in particolare, struttura modulare e risorse dei sistemi di elaborazione, funzionamento

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

cod. 102 4.5 N 81 CARATTERISTICHE - CHARACTERISTICS 3 layers of walded stainless steel N 81 anticalcare in silicone - n 81 in silicon anti-scale

cod. 102 4.5 N 81 CARATTERISTICHE - CHARACTERISTICS 3 layers of walded stainless steel N 81 anticalcare in silicone - n 81 in silicon anti-scale N 81 200 200 1,1 kg a vuoto - 1,1 kg empty N 81 anticalcare in silicone - n 81 in silicon anti-scale cod. 102 N 121 300 300 2,1 kg a vuoto - 2,1 kg empty N 121 anticalcare in silicone - n 121 in silicon

Dettagli

Proff. Fabio Ciao e Raffaele Bortone

Proff. Fabio Ciao e Raffaele Bortone ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud

Dettagli

Esercizi Capitolo 2 - Analisi di Algoritmi

Esercizi Capitolo 2 - Analisi di Algoritmi Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

Il concetto di informatica. Bogdan Maris (2014-2015)

Il concetto di informatica. Bogdan Maris (2014-2015) Il concetto di informatica 1 ICT=Information and Communication Technology Cos è l informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi,

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Programmazione Matematica classe V A. Finalità

Programmazione Matematica classe V A. Finalità Finalità Acquisire una formazione culturale equilibrata in ambito scientifico; comprendere i nodi fondamentali dello sviluppo del pensiero scientifico, anche in una dimensione storica, e i nessi tra i

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270) Corsi di Laurea Ingegneria Informatica Ord. 270 A.A. 2012-2013 Prof. Vincenza Carchiolo vincenza.carchiolo@dieei.unict.it Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord.

Dettagli

Clickomania con Blockly

Clickomania con Blockly Clickomania con Blockly Violetta Lonati Sommario Clickomania è un solitario, noto anche come Chain Shot! o Same Game. Il campo di gioco è costituito da una parete inizialmente coperta di mattoni, uno per

Dettagli

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2015/2016. I.I.S.S '' C. E. GADDA Sede di FONOVO

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2015/2016. I.I.S.S '' C. E. GADDA Sede di FONOVO Presidenza e Segreteria: v. Nazionale 6 43045 Fornovo di Taro (PR) Tel. 0525 400229 Fax 0525 39300 E-mail: ssitsos@scuole.pr.it Sito web: www.itsosgadda.it Pec: prtf02000r@pec.istruzione.it Istituto di

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array 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

Insegnare il coding. In Italia tra le linee guida del governo sulla «Buona scuola» «L educazione al pensiero computazionale e al coding»

Insegnare il coding. In Italia tra le linee guida del governo sulla «Buona scuola» «L educazione al pensiero computazionale e al coding» Il codingnella nella didattica metacognitiva Cos è il coding? Per coding si intende la stesura di un programma, cioè di una sequenza di istruzioni che eseguite da un calcolatore danno vita alla maggior

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

Successioni ricorsive. Unità 60

Successioni ricorsive. Unità 60 Prerequisiti: - Operare con i numeri reali - Rappresentare punti e curve elementari in un piano cartesiano L unità è rivolta al 2 biennio del Liceo Scientifico, compresa l opzione Scienze applicate. OBIETTIVI

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

Dettagli

CLASSE I^ sez.a/b. orario scolastico 2014/2015. Classe 1/A. Classe 1/B 12.30 12.45 14.30 15.30 10.30 11.30 9.15 10.15 8.15 9.15 13.30 14.

CLASSE I^ sez.a/b. orario scolastico 2014/2015. Classe 1/A. Classe 1/B 12.30 12.45 14.30 15.30 10.30 11.30 9.15 10.15 8.15 9.15 13.30 14. CLASSE I^ sez.a/b Classe 1/A LUNEDI religione musica geo-sto geometria informatica arte arte MARTEDI italiano italiano musica religione inglese inglese Italiano MERCOLEDI matematica matematica italiano

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

Informatica Generale Anno Accademico 2000-2001

Informatica Generale Anno Accademico 2000-2001 Informatica Generale Anno Accademico 2000-2001 Corso di Laurea in Economia e Commercio Informazioni Generali Ricevimento: Mercoledì 15.00-17.00 Libri di "riferimento": C. Gallo, Informatica Generale ed

Dettagli

Ricorsione. (da lucidi di Marco Benedetti)

Ricorsione. (da lucidi di Marco Benedetti) Ricorsione (da lucidi di Marco Benedetti) Funzioni ricorsive Dal punto di vista sintattico, siamo in presenza di una funzione ricorsiva quando all interno della definizione di una funzione compaiono una

Dettagli

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Teoria dei Giochi non Cooperativi

Teoria dei Giochi non Cooperativi Politecnico di Milano Descrizione del gioco Egoismo Razionalità 1 L insieme dei giocatori 2 La situazione iniziale 3 Le sue possibili evoluzioni 4 I suoi esiti finali I Giochi della teoria Perché studiare

Dettagli

Il tipo di dato astratto Pila

Il tipo di dato astratto Pila Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:

Dettagli

I numeri almeno entro il venti.

I numeri almeno entro il venti. MATEMATICA CLASSE PRIMA Nucleo: IL NUMERO Competenza: L alunno si muove nel calcolo scritto e mentale con i numeri e usa le operazioni aritmetiche in modo opportuno entro il 20. 1.1 Contare associando

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Anno Accademico 2009/2010 Appunti di Calcolabilità e Complessità Lezione 9: Introduzione alle logiche

Dettagli

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Esercizio 1 - Heapsort Si consideri la seguente struttura dati, chiamata heap. Essa è un albero binario semi-completo (ossia un

Dettagli

Presentazione iniziative formative per Olimpiadi di Informatica e Problem Solving

Presentazione iniziative formative per Olimpiadi di Informatica e Problem Solving Presentazione iniziative formative per Olimpiadi di Informatica e Problem Solving Bologna, 12 Aprile 2011 Dipartimento di Scienze dell Informazione ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA Formazione

Dettagli

Le macchine di Turing

Le macchine di Turing Le macchine di Turing Alan Turing (1912-1954) 1954) Il problema della decisione i L Entscheidungsproblem [il problema della decisione] è risolto se si conosce una procedura che permette di decidere la

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

Alcune note sulle serie di potenze 1

Alcune note sulle serie di potenze 1 Alcune note sulle serie di potenze Contents G. Falqui Preliminari 2 Serie di potenze 3 3 Rappresentazione di funzioni mediante serie di potenze 7 3. Esempi notevoli........................... 9 3.2 Formula

Dettagli

GRIGLIA PER L ACCERTAMENTO DEI PREREQUISITI SCUOLA PRIMARIA

GRIGLIA PER L ACCERTAMENTO DEI PREREQUISITI SCUOLA PRIMARIA GRIGLIA PER L ACCERTAMENTO DEI PREREQUISITI SCUOLA PRIMARIA Alunno CLASSI PRIME Valutazione Competenze trasversali Sì In parte NO Riconosce i colori fondamentali Riconosce le forme Riconosce le varie grandezze

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si formalizzi in logica dei predicati del primo ordine la seguente

Dettagli

Domanda e offerta aggregata

Domanda e offerta aggregata Domanda e offerta aggregata Breve e lungo periodo L andamento del Pil nel lungo periodo dipende dai fattori che spiegano la crescita: la forza lavoro, la disponibilità di capitale fisico e umano, le risorse

Dettagli

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33 Docente: Laura Palagi Homework in Ricerca Operativa gruppo n 33 Turni del Personale Martina Conti

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari spressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere un linguaggio regolare. Esempio:

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli