1 Scheda n. 1s: il problema Manhattan 2. 2 Scheda n. 2s: simulazione dell algoritmo ricorsivo 3
|
|
- Modesto Moro
- 6 anni fa
- Visualizzazioni
Transcript
1 Indice 1 Scheda n. 1s: il problema Manhattan 2 2 Scheda n. 2s: simulazione dell algoritmo ricorsivo 3 3 Scheda n. 3s: attività in laboratorio d informatica 5
2 1 Scheda n. 1s: il problema Manhattan Considera una mappa stradale come quella rappresentata nella figura sottostante, che ricorda le strade del quartiere di New York Manhattan. m tratti orizzontali P n tratti verticali O I punti rappresentano gli incroci, mentre i tratti orizzontali e verticali, tutti della stessa lunghezza L, rappresentano le strade che uniscono questi incroci. Osserva che gli incroci O e P riportati nella figura, rappresentano i due vertici opposti di un rettangolo di base ml ed altezza nl. Vogliamo conoscere: 1. qual è, se esiste, la minima lunghezza di un percorso che, rimanendo all interno del rettangolo, parta dal punto P e giunga al punto O; 2. se tale minima lunghezza esiste, quanti sono i possibili percorsi distinti di minima lunghezza. Esercizi da svogersi a casa Riflettere sulla questione dell iniettività e suriettività della funzione P d P O. Analizzando dei semplici casi, ad esempio P (1, 2), P (2, 2) e P (2, 3), cosa si può dire sull unicità dei cammini minimi? provare a dare una qualche descrizione (caratterizzazione) dei cammini minimi; secondo la vostra intuizione 1, dato il punto di partenza P (m, n), quanto vale d P O? 1 Si considerino i valori d P O per i punti P più vicini ad O. 2
3 2 Scheda n. 2s: simulazione dell algoritmo ricorsivo Lo scopo del gioco-simulazione che qui viene descritto è mostrare che applicando le regole dell algoritmo ricorsivo è possibile in un tempo finito trovare il numero di percorsi minimi tra due incroci di una piccola rete stradale. Materiali necessari almeno 70 biglie raggruppate in tre o quattro cestelli; un cartellone e materiale di cancelleria; 25 blocknotes, altrettante penne e ciotole capienti (una ciotola deve poter contenere tutte le settanta bilgie); un orologio per misurare la durata del gioco. Preparazione del gioco In un spazio liberato dai banchi, si dispongono 25 sedie a formare una griglia di 5 righe e 5 colonne, e ciascun discente occupa un posto a sedere. Ogni discente deve avere penna e blocknotes a portata di mano. Sulla lavagna si rappresenta uno schema con nome e posizione di ciascun discente, analogo a quello riportato nella seguente figura. Simone Paolo Bruno Oscar Il discente che occupa il posto nell angolo in alto a destra (nell esempio è Paolo) rappresenta l incrocio di partenza dei percorsi, mentre quello seduto in basso e a sinistra (nell esempio è Oscar), ne rappresenta la meta. Tutti gli altri discenti rappresentano gli altri 23 incroci del rettangolo di rete stradale così individuato. I cestini di biglie devono essere disposti vicino alla sedie della riga di estrema sinistra e della colonna più in basso. Lo scopo del gioco è trovare il numero di prcorsi minimi tra l incrocio di partenza e quello di arrivo, utilizzando le regole dell algoritmo ricorsivo con cui è stato risolto il problema Manhattan. 3
4 Le regole del gioco 1. gli incroci si dividono in incroci base, cioè gli incroci nella riga e nella colonna di Oscar, e incroci ricorsivi, che sono tutti gli altri casi; 2. ogni rappresentante di incrocio ricorsivo può richiedere all incrocio adiacente nella colonna a sinistra e a quello adiacente nella riga in basso, che consegnino un numero di biglie pari al rispettivo numero percorsi minimi che li congiungono alla meta. Una volta che queste due richieste sono state soddisfatte, la somma dei due gruppi di biglie, in virtù della regola ricorsiva, equivale al numero di percorsi minimi che congiungono l incrocio considerato con la meta; 3. ogni rappresentante di incrocio base, invece ad ogni richiesta pervenuta dall incrocio adiacente nella colonna a destra, o da quello nella righa in alto, risponde prendendo una biglia dal cestino più vicino e consegnandola all incrocio richiedente; 4. inizialmente nessuno dei 25 rappresentanti degli incroci possiede alcuna bilgia; 5. il gioco inizia da Paolo che, in conformità con la regola 3, richiede le biglie a Simone e Bruno. Questi ultimi, per soddisfare la richiesta, dovranno instradare ulteriori richieste, e così via fino a giungere gli incroci base che, finalmente, risponderanno ad ogni richiesta consegnando una biglia; 6. ogni rappresentante di incrocio annoterà nel proprio block notes il numero di richieste che ha dovuto soddisfare per ciascun rappresentante richiedente, e il numero totale di biglie che ha consegnato ad ogni richiesta; 7. finché un incrocio non ha soddisfatto una richiesta, cioè finché non ha consegnato le biglie al richiedente, non potrà occuparsi di altre nuove richieste, che però accoderà in una lista di attesa nel blocknotes; 8. il gioco termina quando le due richieste del rappresentante dell incrocio di partenza vengono soddisfatte. 4
5 3 Scheda n. 3s: attività in laboratorio d informatica Gruppo: Data: Nel seguente listato sono definite nel linguaggio Pascal due funzioni, che, analogamente all algoritmo del problema Manhattan, hanno una struttura ricorsiva, cioè richiamano loro stesse nel corpo della definizione. La prima funzione, fattoriale( n), restituisce il prodotto dei primi n interi se n 1 mentre, per definizione, fattoriale(0) = 1 2 function fattoriale(n: integer): integer; begin if (n = 0) or (n = 1) then fattoriale :=1 else fattoriale := n*fattoriale(n 1) end; La seconda funzione, pot( a, n), è definita per ogni a reale e per ogni intero n 0 da Consegne function pot(a: real; n: integer): real; begin if n = 0 then pot :=1 else pot := a*pot(a, n 1) end; 1. Dopo aver specificato per entrambe le funzioni le linee di codice in cui vengono trattati casi base e casi risorsivi, si descriva il significato matematico della funzione pot. Successivamente si scriva un programma che faccia uso della funzione pot, per verificarne la buona definizione. 2 Il fattoriale di n, si indica in genere con la scrittura n!. 5
6 2. La funzione Manhattan M è definita per ricorsione da { m, n N : M(m, 0) = M(0, n) = 1 m, n N 0 : M(m, n) = M(m 1, n) + M(m, n 1) Si completi il seguente programma di modo che M implementi la funzione Manhattan. program manhattan; var m,n: integer; function M( begin ): longint; end; begin writeln( Inserisci le coordiante ( m, n) del punto P ); write( m= ( 0) ); readln(m); write( n= ( 0) ); readln(n); writeln( Vi sono, M( m, n), percorsi minimi da P ad O ); readln end. 3. Si verifichi speriementalmente il corretto funzionamento del programma per confronto con i risultati ottenuti negli esempi proposti in classe e nel gioco-simulazione (ad es. M(4, 3) = 35). 6
7 4. Si raccolgano i valori M(n, n) e i relativi tempi di esecuzione T(n) del programma, misurati con un cronometro da polso, per i valori n = 1,..., 15. Si traccino due grafici che riportino l andamento di M(n, n) e T(n) al variare di n, provando a fornire una spiegazione della crescita vertiginosa dei tempi di computazione dell algoritmo. M(n, n) T (n) n n 7
8 Esercizi per casa [lavoro individuale] estendere la definizione della funzione pot al caso di esponenti negativi; realizzare una funzione ricorsiva che realizzi n (n!)!; realizzare una funzione che realizzi n ! n! 8
1 Scheda n. 1d: il problema Manhattan 2. 2 Scheda n. 2d: caratterizzazione dei percorsi minimi 6
Indice 1 Scheda n. 1d: il problema Manhattan 2 2 Scheda n. 2d: caratterizzazione dei percorsi minimi 6 3 Scheda n. 3d: la soluzione ricorsiva del problema Manhattan 10 4 Scheda n. 4d: simulazione dell
Pascal: esempi di programmazione
Pascal: esempi di programmazione Problemi elementari di programmazione.................. 2252 a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Somma tra
Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza
Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli
Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
PNI 2003 SESSIONE STRAORDINARIA - QUESITI QUESITO 1 QUESITO 2
www.matefilia.it PNI 3 SESSIONE STRAORDINARIA - QUESITI QUESITO 1 Nell insieme delle rette dello spazio si consideri la relazione così definita: «due rette si dicono parallele se sono complanari e non
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
Fondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.
INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. ESERCIZIO: realizzare un algoritmo (in linguaggio di
Informatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
12 Function Handles e Ricorsione in MATLAB
1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
Algoritmi, Strutture Dati e Programmi. UD 5.a: Searching (parte 1)
Algoritmi, Strutture Dati e Programmi : Searching (parte 1) Prof. Alberto Postiglione AA 2007-2008 Ricerca di un'informazione in una tabella Determinare se una parola X è presente in un dizionario (cioè
complessità computazionale
complessità computazionale classificazione degli algoritmi o algoritmi sequenziali o eseguono un solo passo alla volta o algoritmi paralleli o possono eseguire più passi per volta o algoritmi deterministici
Informatica Generale Andrea Corradini Algoritmi: ordinamento per inserimento e ricorsione
Informatica Generale Andrea Corradini 14 - Algoritmi: ordinamento per inserimento e ricorsione Sommario Un algoritmo iterativo: l'ordinamento per inserimento (insertion sort) La ricorsione: i numeri triangolari
UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE
Utilizziamo gli operatori matematici e commentiamo il codice Unità 4 UNITÀ DIDATTICA 4 UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE IN QUESTA UNITÀ IMPAREREMO... come utilizzare gli operatori
csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione
csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione CSP (Constraint Satisfaction Problem) o CSP = problemi di soddisfacimento di vincoli
Un esempio per cominciare. Inizio e fine di un programma. La somma di 3 numeri PASCAL ANSI C. Regole sintattiche
Un esempio per cominciare La somma di 3 numeri Vs ANSI PROGRAM SOMMA; VAR A,B,,d:REAL; BEGIN (* Inizializzazione di A,B, *) READLN(); A:5.; B:7.; (* alcolo della somma tra A,B e *) d:a+b+; (* Stampa del
Almerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY)
VARIABILI STRUTTURATE (ARRAY) 1 successione (di numeri reali): i ℵ a R i vettore (di numeri reali): i I a i R con I ℵ sottoinsieme finito ogni componente del vettore e univocamente determinata dall indice
LISTE CONCATENATE. In Pascal un tipo primitivo "lista concatenata" non esiste. Esso può essere definito utilizzando un tipo puntatore.
LISTE CONCATENATE In Pascal un tipo primitivo "lista concatenata" non esiste. Esso può essere definito utilizzando un tipo puntatore. REALIZZAZIONE RICORSIVA ELEMENTARE unit lists; interface type elemtype
Lezione 3 Esercitazione
Lezione 3 Esercitazione prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org Esercizio 1 Si consideri il codice seguente: program esercizio1 (input, output); var a,b,c,d: integer;
Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
Il Pascal (continua) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Operatori! I segni di operazione
13 Esercizi di Riepilogo
13.1 Esercizi Esercizio 13.1 Si considerino due dispositivi aventi le seguenti configurazioni: Configurazione A 1 Mbyte di memoria fisica e pagine di memoria da 4 Kbyte; una memoria cache con hit rate
OLIMPIADI DI INFORMATICA SELEZIONE SCOLASTICA - 4 dicembre 2008
International Olympiad in Informatics Olimpiadi Italiane di Informatica OLIMPIADI DI INFORMATICA 2008-2009 SELEZIONE SCOLASTICA - 4 dicembre 2008 1) La prova consiste di 12 esercizi a carattere logico
INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Programmazione in Pascal (1) PROGRAMMAZIONE: Introduzione al Pascal (1) 14 nov 2011 Dia 2
SCHEDA STUDENTI OLIMPIADI DI INFORMATICA SELEZIONE SCOLASTICA - 23 novembre 2007
SCHEDA STUDENTI OLIMPIADI DI INFORMATICA 2007-2008 SELEZIONE SCOLASTICA - 23 novembre 2007 1) La prova consiste di 10 esercizi a carattere logico matematico e 9 esercizi di programmazione. Il tempo a disposizione
3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
UD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
International Olympiad in Informatics 2013
International Olympiad in Informatics 2013 6-13 July 2013 Brisbane, Australia Day 2 tasks game Italian 1.1 Bazza e Shazza iniziano un gioco. Il gioco si svolge su una griglia di celle, con R righe numerate
OLIMPIADI DI INFORMATICA SELEZIONE SCOLASTICA - 16 novembre 2006
OLIMPIADI DI INFORMATICA 2006-2007 SELEZIONE SCOLASTICA - 16 novembre 2006 1) La prova consiste di 11 esercizi a carattere logico matematico e 7 esercizi di programmazione, in modo tale che il tempo a
La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean
Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.
13 Esercizi di Riepilogo
13.1 Esercizi Esercizio 13.1 Si consideri una versione semplificata della battaglia navale in cui le navi possono essere posizionate solo in orizzontale e ogni riga può contenere al massimo una nave. Il
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica. Algoritmi ricorsivi
LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna Partiamo da un
Elementi di soluzione per la prova 10 febbraio 2009
Elementi di soluzione per la prova 10 febbraio 009 Usare solo un foglio risposta per esercizio. Sono richieste spiegazioni o giustificazioni per gli esercizi 1, 9, 10, 1 e 13. Saranno esaminate tutte le
Appunti di Matematica 1 - Insiemi - Insiemi
Insiemi Il concetto di insieme è molto importante in matematica. Cominciamo con lo stabilire cos è un insieme in senso matematico: un raggruppamento di oggetti è un insieme se si può stabilire in modo
PASCAL. 05/04/2012 Pascal 1
PASCAL 05/04/2012 Pascal 1 Per iniziare Compariranno vari menu, ma quelli principali sono tre File in cui troviamo: New per creare un nuovo documento di lavoro, Load per aprire lavori già salvati, Save
Strutture di controllo e cicli
AA 2012-2013 IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale Sintassi IF ( e s p r e
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
QUESITO 1. NZ = ZM e indicando con s il lato del decagono, essendo L il lato del pentagono si ha:
www.matefilia.it PNI 006 SESSIONE STRAORDINARIA - QUESITI QUESITO È assegnato un pentagono regolare di lato lungo L. Recidendo opportunamente, in esso, cinque triangoli congruenti, si ottiene un decagono
Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado
Testi_08.qxp 9-0-008 :6 Pagina 8 Kangourou Italia Gara del 8 marzo 008 ategoria Per studenti di quarta o quinta della secondaria di secondo grado I quesiti dal N. al N. 0 valgono punti ciascuno. Nelle
Parte 1: tipi primitivi e istruzioni C
Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una
IMPLEMENTARE. le sue variabili devono essere registrabili su memoria le variabili devono poter essere messe in relazione tra loro
IMPLEMENTARE Il modello di un sistema, che descrive una situazione, dovrà avere alcune caratteristiche per essere implementato (i.e. portato) sul calcolatore: le sue variabili devono essere registrabili
Ordinare un vettore significa ridisporre i suoi elementi in modo tale che siano ordinati tra di loro (l ordinamento più comune è per valore crescente)
Ordinare un vettore significa ridisporre i suoi elementi in modo tale che siano ordinati tra di loro (l ordinamento più comune è per valore crescente) 5 33 23 17 6 9 81 3 i j Confronto a due a due tutte
ALESSANDRO E ALESSIO SONO GLI AUTORI DEL SEGUENTE PROGRAMMA CHE TROVA LA PALLINA DIVERSA IN QUATTRO PASSAGGI.
ALESSANDRO E ALESSIO SONO GLI AUTORI DEL SEGUENTE PROGRAMMA CHE TROVA LA PALLINA DIVERSA IN QUATTRO PASSAGGI. uses crt; var dati : array [1..12] of longint; somma1 : array [ 1..3 ] of longint; dati2 :
PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02)
Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02) Cognome e Nome: Matricola: Esercizio n.1 Specificare intestazione, nidificazione
Selezioni scolastiche 2018
Selezioni scolastiche 2018 Come funziona lo pseudocodice Lo Staff 4 novembre 2018 Da questa edizione delle fasi scolastiche delle Olimpiadi Italiane di Informatica nella sezione Problemi di Programmazione
PASCAL 1. 27/03/2004 Pascal 1 prof. Bruno Franceschini - ITI Bolzano
PASCAL 1 Vediamo gli elementi di base del linguaggio PASCAL, un linguaggio per comunicare al calcolatore una serie di istruzioni, che rappresentano un algoritmo, che sarà in grado di svolgere dopo averle
Tela (Teaching Language)
Tela (Teaching Language) Paradigma imperativo Dichiarazioni di variabili, costanti, moduli Programma strutturato in moduli innestati Scope statico Passaggio dei parametri per valore Corpo del modulo =
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
SCHEDA DI RECUPERO SULLE POTENZE
SCHEDA DI RECUPERO SULLE POTENZE Definizione di potenza La potenza n-esima di un numero qualsiasi a è il prodotto di n fattori tutti uguali ad a. a n a a a a a a a. a n- volte La scrittura a n si chiama
11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita
Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale
Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza
Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Il tipo subrange La sezione di dichiarazione delle variabili Problemi ed esercizi su subrange ed enumerati Editazione
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo
PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI
PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI Si definisca il tipo opportuno di dato per memorizzare una tabella che contenga, per ciascuna delle principali valute (dollaro
GARA SECONDARIA PRIMO GRADO - INDIVIDUALE
ESERCIZIO 1 GARA1 2019 - SECONDARIA PRIMO GRADO - INDIVIDUALE La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di esse
COGNOME E NOME Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 18 Febbraio 2016 RIGA COLONNA MATRICOLA
Politecnico di Milano COGNOME E NOME Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 18 Febbraio 2016 RIGA COLONNA MATRICOLA Tema A Spazio riservato ai docenti Il presente plico contiene
Probabilità e numeri casuali Teoria e programmazione Pascal e C++
Probabilità e numeri casuali Teoria e programmazione Pascal e C++ 1 Definizioni Evento 2 Direzione entrate speciali Del ministero delle finanze 3 4 5 6 Definizioni: La probabilità di un evento È un numero
COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( )
COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario del 05 Marzo 2007 (09.30 12.30) Esercizio 1 (punti 15) Due file di testo (PAROLE1.TXT e PAROLE2.TXT) contengono un
INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Il Linguaggio di Programmazione Pascal
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Programmazione in Pascal (1) PROGRAMMAZIONE: Introduzione al Pascal (1) 14 nov 2011 Dia 2
PASCAL: IL CALCOLO NUMERICO TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 3, HOEPLI. Informatica
PASCAL: IL CALCOLO NUMERICO TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 3, HOEPLI Informatica Il Calcolo Numerico Metodo di Calcolo Numerico Per risolvere problemi del mondo reale con metodi
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)
Costruzione dell insieme dei Follow
Costruzione dell insieme dei Follow E! T E - T E E! + T E - T E " T! F T T! *F T " F! (E) i Per evitare che alcuni insiemi siano vuoti si aggiunge per default il simbolo speciale $ che demarca la fine
1 SIGNIFICATO DEL DETERMINANTE
UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA - Facoltà di Farmacia e Medicina - Corso di Laurea in CTF 1 SIGNIFICATO DEL DETERMINANTE Consideriamo il seguente problema: trovare l area del parallelogramma
Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011
Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 19 Ricorsione A. Miola Marzo 2010 http://www.dia.uniroma3.it/~java/fondinf/ Ricorsione 1 Contenuti Funzioni e domini definiti induttivamente
RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3 RICORSIONE...4 ESEMPI DI RICORSIONE IN VISUAL BASIC...5 ESEMPI DI RICORSIONE IN C / C++...
Tre piccioni con una fava: Ricerca Binaria, Albero Binario di Ricerca e Ricorsione prof. Claudio Maccherani - 2006 / 2007 foto Claudio Maccherani RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3
Pseudocodice; La miglior soluzione per leggere e capire facilmente gli esercizi di programmazione delle selezioni scolastiche. Lo Staff delle OII
Pseudocodice; La miglior soluzione per leggere e capire facilmente gli esercizi di programmazione delle selezioni scolastiche. Lo Staff delle OII 6 novembre 2018 Come anticipato nell ultima revisione del
Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18. Tutor: prof. Francesco De Vincenzi
Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18 Tutor: prof. Francesco De Vincenzi MATLAB: esercizio Dati un vettore e una matrice di dimensioni qualsiasi, trovare le coordinate (riga
Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
Un algoritmo ben fatto deve terminare dopo un numero finito
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani, e Programmi 1 Esempi di dal
Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Triangoli rettangoli. Problema
Triangoli rettangoli 1. a) Sposta il vertice C 1, fino a quando stimi che l angolo nel vertice C 1 sia 90. b) Allo stesso modo sposta i vertici da C 2 fino a C 9 fino a quando stimi che l angolo sia 90.
Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
RICORSIONE. Informatica B - A.A. 2013/2014
RICORSIONE Informatica B - A.A. 2013/2014 RICORSIONE Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma P richiama un altro sottoprogramma Q che comporta
Universita degli Studi di Siena
Universita degli Studi di Siena Facolta di Ingegneria Dispense del corso di Sistemi di Supporto alle Decisioni I L algoritmo per la risoluzione di problemi di programmazione dinamica Chiara Mocenni Corso
ESERCIZIO 1. Informatica B - Esercitazione 12
ESERCIZIO 1 Si scriva in Octave/MATLAB la funzione analisimatrice che: ricevo come parametro una matrice a, verifica che i suoi valori NON siano tutti uguali. Se questo è verificato: - calcola il valore
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
GARA SECONDARIA PRIMO GRADO - INDIVIDUALE
ESERCIZIO 1 GARA1 2019 - SECONDARIA PRIMO GRADO - INDIVIDUALE La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di esse
La programmazione nel linguaggio JavaScript. Il programma
Il programma Nei linguaggi di programmazione il programma è una funzione che ha come argomento i dati digitati in input e opportunamente convertiti. la descrizione della funzione (ovvero il programma)
RICORSIONE DI CODA. Nota Bene: Ciò non è equivalente al fatto che la chiamata di Q sia "l'ultima cosa" scritta in P.
RICORSIONE DI CODA Una chiamata di un sottoprogramma Q posta nel corpo di un sottoprogramma P si dice chiamata terminale (o chiamata di coda) se, al ritorno da essa, nel chiamante P "non vi è più nulla
Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL
Liceo Scientifico e Classico S. Trinchese ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL seminario per la classe IV BS Prof Antonio Cazzato Perché programmare? La programmazione ha una notevole valenza didattica
Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!
Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino
DISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Parte IV ESERCITAZIONE SULLE NOTAZIONI PER DESCRIVERE ALGORITMI: Algoritmi elementari (scambio, massimo, etc.) (RICADE NEL MODULO 6) Decomposizione di problemi attraverso
Progetto Laboratorio Programmazione Parte 2: Analizzatore sintattico di espressioni
Progetto Laboratorio Programmazione Parte 2: Analizzatore sintattico di espressioni Stefano Guerrini A.A. 2000/01 Come abbiamo già visto, l obiettivo del progetto è arrivare a determinare il valore assegnato
Esercitazioni di Informatica 3
Esercitazioni di Informatica 3 Part I: Programming Languages Syntax and semantics Laurea in Ingegneria Informatica Politecnico di Milano Polo di Milano Leonardo Esercizio 1: EBNF Utilizzando il linguaggio
Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754:
COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Giovedì 07 Settembre 2006 (09.30 12.30) Esercizio 1 (punti 15) È assegnato un file contenente dati relativi ai prodotti presenti in un magazzino
Problema_3 Tesi_1, Tesi_2, Tesi_3 2.2 Informatica Es_3) Eseguire le seguenti divisioni tra polinomi
L.Lecci\Compito D-PNI\ 8 Marzo 004 Liceo Scientifico G. Stampacchia Tricase Oggetto: compito in classe D Argomenti: Calcolo letterale: fattorizzazione, semplificazione di frazioni algebriche, divisione
15 Riepilogo di esercizi in MATLAB
15.1 Esercizi Esercizio 15.1 (TdE 2014) Si consideri l array definito in MATLAB e chiamato dati. Tale array contiene le informazioni riguardanti le precipitazioni atmosferiche registrate da una stazione
Analizzatori sintattici a discesa ricorsiva
Analizzatori sintattici a discesa ricorsiva E uno schema di analizzatore che sfrutta la descrizione grammaticale in EBNF adatto a grammatiche LL(1). Si basa sulla scrittura di procedure ricorsive ricavate