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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ / 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

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

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 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

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

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

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

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

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

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

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 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

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

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

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

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

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

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

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

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

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

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

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

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

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

90.1 Sistemi di numerazione. 90.1.1 Sistema decimale. 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria

90.1 Sistemi di numerazione. 90.1.1 Sistema decimale. 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria 90.1 Sistemi di numerazione.................................................... 605 90.1.1 Sistema decimale..................................................

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

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

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

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

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

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

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

Contenuti del corso. Parsing: esempio. Cosa aggiungiamo in questo corso. Parsing. Data una grammatica: E T T + E

Contenuti del corso. Parsing: esempio. Cosa aggiungiamo in questo corso. Parsing. Data una grammatica: E T T + E Continuazione del corso di linguaggi. Nuovi paradigmi di computazione logico: Prolog logic - funzionale: Curry Teoria base dei compilatori parsing grammatiche ad attributi type checking generazione codice

Dettagli

5 10 17 26 37 2,,,,,,... 2 3 4 5 6

5 10 17 26 37 2,,,,,,... 2 3 4 5 6 MATEMATICA GENERALE 2014 - CTF Funzioni e successioni - Esercizi Docente: ALESSANDRO GAMBINI 1. a) Rappresenta mediante espressione analitica la seguente successione numerica. Motiva la tua risposta. 5

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

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

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

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

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

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

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

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

E.Angelelli,D. Ruggeri Tecnichealgoritmichedibase. Serie Didattica

E.Angelelli,D. Ruggeri Tecnichealgoritmichedibase. Serie Didattica 1 10 E.Angelelli,D. Ruggeri Tecnichealgoritmichedibase Serie Didattica Tecniche algoritmiche di base Enrico Angelelli, Denis Ruggeri Università di Brescia Facoltà di Economia Dipartimento di Metodi Quantitativi

Dettagli

Linguaggi e Traduttori: Introduzione al corso

Linguaggi e Traduttori: Introduzione al corso Linguaggi e Traduttori: Introduzione al corso Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di

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

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

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

VALUTAZIONI RELATIVE ALL ACCERTAMENTO DEI PREREQUISITI E DEI LIVELLI DI PARTENZA

VALUTAZIONI RELATIVE ALL ACCERTAMENTO DEI PREREQUISITI E DEI LIVELLI DI PARTENZA 48 VALUTAZIONI RELATIVE ALL ACCERTAMENTO DEI PREREQUISITI E DEI LIVELLI DI PARTENZA Nel presente documento vengono elencate le competenze d ingresso relative alla classe prima in continuità con la scuola

Dettagli

SCUOLA PRIMARIA LIVELLI DI VALUTAZIONE MATEMATICA

SCUOLA PRIMARIA LIVELLI DI VALUTAZIONE MATEMATICA SCUOLA PRIMARIA LIVELLI DI VALUTAZIONE MATEMATICA Matematica classe I 9/10 Sa riconoscere ed utilizzare i numeri naturali in diversi contesti con sicurezza. Padroneggia abilità di calcolo in merito all

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

Algoritmi. Matricole dispari Prof.ssa Anselmo. Pre-appello del 15 Gennaio 2015. Attenzione:

Algoritmi. Matricole dispari Prof.ssa Anselmo. Pre-appello del 15 Gennaio 2015. Attenzione: COGNOME: Nome: Algoritmi Matricole dispari Prof.ssa Anselmo Pre-appello del 15 Gennaio 2015 Attenzione: Inserire i propri dati nell apposito spazio soprastante e sottostante. Non voltare la pagina finché

Dettagli

2a descrivere i materiali

2a descrivere i materiali 2a descrivere i materiali 2l descrivere i materiali 2m descrivere i materiali 2n descrivere i materiali 2o descrivere i materiali 2p descrivere i materiali 2q descrivere i materiali 2r descrivere i materiali

Dettagli

COMPETENZA NUMERICA I SISTEMI DI NUMERAZIONE

COMPETENZA NUMERICA I SISTEMI DI NUMERAZIONE COMPETENZA NUMERICA I SISTEMI DI NUMERAZIONE Macroindicatori di conoscenze/abilità Comprensione: -del significato dei numeri -dei modi per rappresentarli -della notazione posizionale dei traguardi per

Dettagli

Introduzione alla Programmazione

Introduzione alla Programmazione Programmazione 1: Introduzione alla Programmazione Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it www.dmi.unisa.it/people/nappi it/people/nappi

Dettagli

Esperienza condotta nelle classi prime del plesso G. Marconi. nell anno scolastico 2011/2012

Esperienza condotta nelle classi prime del plesso G. Marconi. nell anno scolastico 2011/2012 METODO ANALOGICO ( metodo Bortolato) Esperienza condotta nelle classi prime del plesso G. Marconi nell anno scolastico 2011/2012 Durante l anno scolastico 2011/2012 le insegnanti delle CLASSI PRIME del

Dettagli

Il primo teorema di incompletezza di Gödel

Il primo teorema di incompletezza di Gödel Il primo teorema di incompletezza di Gödel Stefano Nasini Dept. of Statistics and Operations Research Universitat Politécnica de Catalunya 1. Introduzione Questo documento vuole essere una spiegazione

Dettagli

Bilancio Bilancio consolidato

Bilancio Bilancio consolidato Bilancio Bilancio consolidato Un metodo di calcolo per muoversi nel labirinto delle partecipazioni di Amedeo De Luca (*) In questo contributo si fonisce un metodo di calcolo dei tassi di partecipazione

Dettagli

Linguaggi e tecnologie per il Web

Linguaggi e tecnologie per il Web Sapienza Università di Roma Corso di Laurea in Ingegneria Informatica e Automatica Linguaggi e tecnologie per il Web a.a. 2015/2016 Riccardo Rosati Dipartimento di ingegneria informatica, automatica e

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 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

INSEGNARE LOGICA, GEOMETRIA E PROGRAMMAZIONE AI BAMBINI DELLE ELEMENTARI

INSEGNARE LOGICA, GEOMETRIA E PROGRAMMAZIONE AI BAMBINI DELLE ELEMENTARI INSEGNARE LOGICA, GEOMETRIA E PROGRAMMAZIONE AI BAMBINI DELLE ELEMENTARI PRESENTAZIONE DEL CORSO Gherardo Albano e Ugo Landini Logo: uno strumento per insegnare Un po di storia Il LOGO è un linguaggio

Dettagli

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO ALGORITMI 1. GLI ALGORITMI Un algoritmo è la descrizione del percorso risolutivo di un problema per giungere dai dati iniziali ai risultati finali. Scriviamo l algoritmo pensando di rivolgerci a un esecutore,

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

Servizio Nazionale di Valutazione a.s. 2014/15 Guida alla lettura Prova di Matematica Classe seconda Scuola primaria

Servizio Nazionale di Valutazione a.s. 2014/15 Guida alla lettura Prova di Matematica Classe seconda Scuola primaria Servizio Nazionale di Valutazione a.s. 2014/15 Guida alla lettura Prova di Matematica Classe seconda Scuola primaria I quesiti sono distribuiti negli ambiti secondo la tabella seguente Ambito Numero di

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

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

UNIVERSITÀ DEGLI STUDI DI PARMA DIPARTIMENTO DI MATEMATICA E INFORMATICA. Corso di Laurea in INFORMATICA

UNIVERSITÀ DEGLI STUDI DI PARMA DIPARTIMENTO DI MATEMATICA E INFORMATICA. Corso di Laurea in INFORMATICA UNIVERSITÀ DEGLI STUDI DI PARMA DIPARTIMENTO DI MATEMATICA E INFORMATICA Corso di Laurea in INFORMATICA Corso di Laurea in Informatica > Come si accede? Quali prerequisiti? > Come sono organizzati gli

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

Dispense del corso di ALGEBRA 1 a.a. 2008 2009

Dispense del corso di ALGEBRA 1 a.a. 2008 2009 Dispense del corso di ALGEBRA 1 a.a. 2008 2009 2 Indice I INSIEMI E NUMERI 5 1 Insiemi e applicazioni 7 1.1 Insiemi..................................... 7 1.2 Operazioni tra insiemi.............................

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

ISTITUTO COMPRENSIVO ORZINUOVI ANNO SCOLASTICO 2012-2013 PROGRAMMAZIONE di MATEMATICA 1 QUADRIMESTRE CLASSE PRIMA

ISTITUTO COMPRENSIVO ORZINUOVI ANNO SCOLASTICO 2012-2013 PROGRAMMAZIONE di MATEMATICA 1 QUADRIMESTRE CLASSE PRIMA PROGRAMMAZIONE di MATEMATICA 1 QUADRIMESTRE CLASSE PRIMA COMPETENZE OBIETTIVI DI APPRENDIMENTO ATTIVITÀ NUMERI 1. Opera con i numeri 1a. Contare in senso progressivo o regressivo fino a 20 1b. Leggere

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

Algoritmi e strutture dati. Codici di Huffman

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

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli