Crittografia LWF (lwf)
|
|
|
- Simona Costanzo
- 8 anni fa
- Просмотров:
Транскрипт
1 Crittografia LWF (lwf) lwf IT Difficoltà: 1 Luca e William devono sovente scambiarsi delle segretissime informazioni riguardo alle selezioni territoriali, sotto forma di numeri interi N. Per evitare di essere scoperti, hanno quindi deciso di inventare un nuovo codice crittografico, che hanno chiamato codice Luca-William-Fibonacci (LWF). In questo codice, ogni numero intero N viene tradotto in una sequenza s 0 s 1... s k di cifre binarie 0 e 1, di cui l ultima è un 1, in maniera tale che: k N = s i F i i=0 dove F i è il numero di Fibonacci i-esimo. Più informalmente, una cifra 1 in posizione i nella sequenza indica che il numero di Fibonacci i-esimo fa parte della somma che ricostruisce il numero N. La sequenza dei numeri di Fibonacci è definita in maniera ricorsiva: i primi due termini della sequenza sono F 0 = 1 e F 1 = 1, mentre ognuno dei successivi viene calcolato sommando i due precedenti F i = F i 1 + F i 2. Per esempio, consideriamo la sequenza di lunghezza k = 7. Fibonacci sono: il numero N corrispondente è pari a = 19. Visto che i primi 7 numeri di Luca ha già implementato l algoritmo di decodifica (descritto come sopra), che da una sequenza di cifre binarie ricostruisce il numero N. Tuttavia William è ancora in alto mare con l algoritmo di codifica, che dato un numero N dovrebbe produrre una sequenza di cifre binarie corrispondente. Implementalo tu! Dati di input Il file input.txt è composto da un unica riga contenente l unico intero N. Dati di output Il file output.txt deve essere composto da un unica riga contenente una sequenza di cifre binarie che termina con 1 corrispondente ad N. Assunzioni 1 N Potrebbero esserci più sequenze di cifre ugualmente valide. Esempi di input/output input.txt output.txt lwf Pagina 1 di 10
2 lwf IT Spiegazione Il primo caso di esempio è quello discusso nel testo. Nel secondo caso di esempio, 9 può essere ottenuto sia come (come nell output di esempio), oppure come (10011) e (100001). lwf Pagina 2 di 10
3 lwf IT Soluzione 1 // Soluzione di lwf 2 // Autore: Edoardo Morassutto 3 // Complessità: O(N) 4 // Breve spiegazione: 5 // Calcolo i numeri di Fibonacci fino ad N (incluso) e dal piu grande 6 // li prendo gready se ci stanno in N e diminuisco. 7 8 #include <iostream> 9 #include <fstream> 10 #include <string> 11 #include <algorithm> using namespace std; int fib[50]; int main() { 18 ifstream in("input.txt"); 19 ofstream out("output.txt"); int N; 22 in >> N; fib[0] = 1; 25 fib[1] = 1; 26 int i; 27 for (i = 2; fib[i-1]+fib[i-2] <= N; i++) { 28 fib[i] = fib[i-1]+fib[i-2]; 29 } 30 i--; string s; 33 while (i >= 0) { 34 if (N >= fib[i]) { 35 s += '1'; 36 N -= fib[i]; 37 } else { 38 s += '0'; 39 } 40 i--; 41 } 42 reverse(s.begin(), s.end()); 43 out << s << endl; 44 } lwf Pagina 3 di 10
4 Appetito aracnide (tecla) tecla IT Difficoltà: 2 Ape Maya è rimasta intrappolata in un nodo della tela di Tecla, un ragno molto temuto tra le api dell alveare. Tecla si affretta ad afferrarla ma, quando giunge su quel nodo, si accorge di non avere appetito, e dice BLEAH. Va detto che l appetito dei ragni è molto particolare: ogni volta che percorrono un filamento della loro rete, essi invertono lo stato del loro stomaco tra SLURP e BLEAH. Tecla deve quindi farsi un giretto nella rete sperando di tornare da Maya in stato SLURP. La tela di Tecla è composta da N nodi (numerati da 0 a N 1) connessi tra loro da M filamenti. Tecla e Ape Maya all inizio si trovano entrambe nel nodo 0, e ogni filamento può essere attraversato da Tecla in entrambe le direzioni. Aiuta Tecla ad individuare una passeggiata funzionale al buon appetito! Dati di input Il file input.txt è composto da M + 1 righe, contenenti: Riga 1: gli interi N ed M, il numero di nodi e di filamenti della tela. Riga 2..M + 1: due interi separati da spazio u, v; dove u e v identificano i due nodi ai capi del filamento i-esimo. Dati di output Il file output.txt deve essere composto da due righe, contenenti: Riga 1: il numero di spostamenti L che Tecla deve compiere nella sua passeggiata. Riga 2: L + 1 numeri separati da uno spazio, di cui il primo e l ultimo devono essere 0 (nodo di partenza e di arrivo), e gli altri sono i nodi come visitati da Tecla nell ordine (e possono avere ripetizioni). Assunzioni 1 M, N 30. In ogni filamento, u v e sono entrambi compresi tra 0 e N 1. Si garantisce l esistenza di una soluzione: Ape Maya è spacciata! tecla Pagina 4 di 10
5 tecla IT Esempi di input/output input.txt output.txt Spiegazione Nel primo caso di esempio, la tela di Tecla è come nella figura seguente, dove il percorso da seguire è evidenziato in rosso: Nel secondo caso di esempio, la tela e il percorso sono: tecla Pagina 5 di 10
6 tecla IT Soluzione 1 /* solutore oddcycle 2 Romeo */ 4 5 #include <iostream> 6 #include <cassert> 7 #include <vector> #define DEBUG 0 11 using namespace std; const unsigned MAXN = 30; 14 int seen[maxn]; 15 int sex[maxn]; 16 int cycle[maxn], posw = 0; int N, M, L; 19 vector<int> adj[maxn]; bool odd_cycle(int node, int mysex) { 22 if ( seen[node] ) { 23 if ( sex[node]!= mysex ) { 24 cycle[posw++] = node; 25 L = posw; 26 return true; 27 } 28 else 29 return false; 30 } 31 seen[node] = 1; 32 sex[node] = mysex; 33 cycle[posw++] = node; 34 for (int next: adj[node]) 35 if ( odd_cycle(next, 1-mysex) ) 36 return true; 37 posw--; 38 return false; 39 } int main() { 42 assert(freopen("input.txt", "r", stdin)); 43 assert(freopen("output.txt", "w", stdout)); cin >> N >> M; 46 tecla Pagina 6 di 10
7 tecla IT 47 for (int i=0; i<m; i++) { 48 int a, b; 49 cin >> a >> b; 50 adj[a].push_back( b ); 51 adj[b].push_back( a ); 52 } assert( odd_cycle(0, 0) ); int visitedtwice = cycle[l-1]; 57 bool repeat = false; 58 for (int i=l-2; i >= 0; i--) { 59 if ( repeat ) 60 cycle[l++] = cycle[i]; 61 if ( cycle[i] == visitedtwice ) 62 repeat = true; 63 } cout << L-1 << endl; 66 for (int i=0; i<l; i++) 67 cout << cycle[i] << " "; 68 cout << endl; return 0; 71 } tecla Pagina 7 di 10
8 Sport intellettuali (scommessa) scommessa IT Difficoltà: 2 Romeo è un grande appassionato di sport intellettuali, e adora ritrovarsi con gli amici per seguire le competizioni internazionali più avvincenti di questo tipo. Di recente, il gruppo di amici si è appassionato a uno sport molto particolare. In questo gioco, un mazzo di carte numerate da 0 a N 1 (dove N è dispari) viene prima mescolato, e poi le carte vengono affiancate in linea retta sul tavolo. Ai telespettatori, per aumentare la suspence, vengono mostrati i numeri delle carte C 0, C 1,..., C i,..., C N 1 nell ordine così ottenuto. A questo punto i giocatori 1 possono scoprire due carte disposte consecutivamente sul tavolo, e prenderle nel solo caso in cui queste due carte abbiano somma dispari. Se queste carte vengono prese, le altre vengono aggiustate quanto basta per riempire il buco lasciato libero. Il gioco prosegue quindi a questo modo finché nessun giocatore può più prendere carte. Romeo e i suoi amici, per sentirsi più partecipi, hanno oggi deciso di fare un gioco nel gioco : all inizio della partita, scommettono su quali carte pensano rimarranno sul tavolo una volta finita la partita. Aiuta Romeo, determinando quali carte potrebbero rimanere sul tavolo alla fine del gioco! Una carta potrebbe rimanere sul tavolo a fine gioco, se esiste una sequenza di mosse (rimozioni di coppie di carte consecutive con somma dispari) tale per cui dopo di esse nessuna altra mossa è possibile (il gioco e finito) e la carta suddetta è ancora sul tavolo. Dati di input Il file input.txt è composto da 2 righe, contenenti: Riga 1: l unico intero N. Riga 2: gli N interi C i separati da spazio, nell ordine in cui sono disposti sul tavolo. Dati di output Il file output.txt deve essere composto da due righe, contenenti: Riga 1: il numero di diverse carte K che potrebbero rimanere sul tavolo a fine partita. Riga 2: i K interi che identificano le carte che potrebbero rimanere sul tavolo a fine partita. Assunzioni 1 N 100. N è sempre un numero dispari. 0 C i N 1 per ogni i = 0... N 1. Ogni numero tra 0 e N 1 compare esattamente una volta nella sequenza dei C i. 1 Seguendo un elaborato ordine di gioco che non rientra nei margini di questo problema. scommessa Pagina 8 di 10
9 scommessa IT Esempi di input/output input.txt output.txt Spiegazione Nel primo caso di esempio, l unica mossa possibile è eliminare le carte 1 e 2 per cui rimane sul tavolo necessariamente la carta 0. Nel secondo caso di esempio sono invece possibili diverse sequenze di mosse. Una delle sequenze che lasciano la carta 2 è la seguente: Una delle sequenze di mosse che lasciano la carta 8 è la seguente: Non esistono invece sequenze di mosse che lasciano alcuna delle altre carte. scommessa Pagina 9 di 10
10 scommessa IT Soluzione 1 #include <iostream> 2 #include <fstream> 3 #include <vector> 4 5 using namespace std; 6 7 const int MAX_N = 150; 8 9 int nums[max_n]; 10 int parity[max_n]; 11 // unibili finendo ad i-1 se prefix[i] == 0 12 int prefix[max_n]; 13 // unibili partendo da i+1 se suffix[i] == 0 14 int suffix[max_n]; int main() { 17 ifstream in("input.txt"); 18 ofstream out("output.txt"); 19 int N; 20 in >> N; for (int i = 0; i < N; i++) { 23 in >> nums[i]; 24 parity[i] = (nums[i] % 2 == 0)? 1 : -1; 25 } for (int i = 0; i < N-1; i++) 28 prefix[i+1] = prefix[i]+parity[i]; 29 for (int i = N-1; i >= 1; i--) 30 suffix[i-1] = suffix[i]+parity[i]; vector<int> sol; 33 for (int i = 0; i < N; i++) 34 if (prefix[i] == 0 && suffix[i] == 0) 35 sol.push_back(nums[i]); out << sol.size() << endl; 38 for (int n : sol) 39 out << n << ' '; 40 out << endl; 41 } scommessa Pagina 10 di 10
GATOR: Testi e Soluzioni dei problemi
: Testi e Soluzioni dei problemi Problemi a cura di Giuseppe F. Italiano, Luigi Laura Coordinamento Monica Gati Logo della gara Manuela Pattarini Testi dei problemi William Di Luigi, Giuseppe F. Italiano,
Primo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Primo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini [email protected] - [email protected] 10 marzo 2016 Programma 1. Lettura di un problema tratto dalle
Gestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
ASD Lab 1. Alessio Guerrieri 25-9-2015. UniTN. Alessio Guerrieri (UniTN) ASD Lab 1 25-9-2015 1 / 27
ASD Lab 1 Alessio Guerrieri UniTN 25-9-2015 Alessio Guerrieri (UniTN) ASD Lab 1 25-9-2015 1 / 27 CONTATTI ISTRUTTORI Alessandra Giordani ([email protected]) Alessio Guerrieri ([email protected])
BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)
Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione
Codifica: dal diagramma a blocchi al linguaggio C++
Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU
Le Funzioni e la Ricorsione
Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html
Informatica! Appunti dal laboratorio 1!
Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.
HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Ricerca sequenziale di un elemento in un vettore
Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
a.a Codice corso: 21012, HOMEWORKS
HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Esercizi (semplici algoritmi)
Esercizi (semplici algoritmi) CORDA Informatica A. Ferrari Problema delle 12 monete Abbiamo 12 monete che sembrano identiche ma non lo sono. Una di esse ha un peso diverso dalle altre ma non sappiamo qual
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
Esempi di Problemi Iterativi
Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi
Le stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
Input / Output attraverso stream. I/O in C vs. I/O in C++
Alessio Bechini - Corso di - Input / Output attraverso stream (anno accademico 2002-2003) Utilizzo di stream per I/O I/O in C vs. I/O in C++ La libreria C standard per l I/O viene acceduta con stdio.h
Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni [email protected] Programmazione prof. Domenico
Linguaggio C++ 8. Matrici
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 8 Matrici Linguaggio C++ 8 1 Array a più dimensioni. Sintassi generale : tipo nome [dimensione 1][dimensione
Strutture di iterazione
Strutture di iterazione 1. Leggi i programmi qui sotto e disegna le tabelle di traccia nelle situazioni seguenti: a. Nel primo e nel secondo programma viene inserito da tastiera il valore 2; b. Nel primo
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
Definizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
Indice. La dichiarazione using. Il namespace std della Libreria Standard del C++ std::cin. Le Stringhe in C++ (CAP 3, parte I)
Le Stringhe in C++ (CAP 3, parte I) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Dichiarazioni using per il namespace Lo specificatore di tipo decltype Il
Rappresentazione dell Informazione
5 Giorgio Porcu - Aggiornamennto 5 Giorgio Porcu - Aggiornamennto ISTITUTO TECNICO SECONDO BIENNIO Rappresentazione dell Informazione GIORGIO PORCU www.thegiorgio.it Sommario Sistemi posizionali Sistema
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
Corso di Fondamenti di Informatica (M-Z)
Corso di Fondamenti di Informatica (M-Z) Avvertenze Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte retro) In ordine di preferenza usare inchiostro nero, matita, inchiostro blu. In
Programmazione modulare
Programmiamo in.. Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere
Esempio : i numeri di Fibonacci
Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco
Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi
Indice. Materiale di riferimento. Struttura di un programma in C++ Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco A.A.
Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Scrittura del primo programma in C++ elementi costitutivi del programma compilazione
Laboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid [email protected] Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari
Corso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
Informatica Generale Homework di Recupero 2016
Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola
Codici a barre. Fondamenti di Informatica B
Codici a barre Si desidera un programma per la traduzione del codice avviamento postale (ZIP code)in un codice a barre. Lo ZIP contiene 5 cifre, alle quali viene aggiunta una sesta cifra di controllo:
ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++
ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è
void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
Gestione di stringhe. Le stringhe in C/C++
Alessio Bechini - Corso di - Gestione di stringhe Parte del materiale proposto è stato gentilmente fornito da G. Lipari Le stringhe in C/C++ In C e in C++ non esiste un vero e proprio tipo stringa. Una
Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
La codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
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
0.1 Esercizi calcolo combinatorio
0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,
n deve essere maggiore di 0, altrimenti il metodo restituisce null.
Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende
IL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
Prova Scritta del 19/07/10
Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo
ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Docente: Daniele De Pieri.
6 settembre 008 Giochi Matematici. Il gioco dei grattacieli (puoi trovare una versione online all indirizzo: http://gamescene.com/skyscrapers_game.html) In una città ci sono solo grattacieli da, 0, 0 o
Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base
Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il
Note sul Sudoku. Marco Liverani. Dicembre 2005
Note sul Sudoku Marco Liverani Dicembre 2005 1 Introduzione Il gioco del Sudoku è un rompicapo giapponese che sta riscuotendo un successo notevole nel cosiddetto grande pubblico : pur essendo un gioco
Tracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni
Algoritmi e Strutture Dati Tracce 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni int freq(list &L, int k): restituisce il numero di occorrenze dei multipli
Si dice multiplo di un numero a diverso da zero, ogni numero naturale che si ottiene moltiplicando a per ciascun elemento di N.
MULTIPLI E DIVISORI Si dice multiplo di un numero a diverso da zero, ogni numero naturale che si ottiene moltiplicando a per ciascun elemento di N. Poiché N = 0,1,2,3...7...95,..104.. Zero è multiplo di
Esercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio
Ambienti di sviluppo integrato
Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente
Esercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
Laboratorio di Programmazione Appunti sulla lezione 4: Divide et impera e algoritmi di ordinamento
Laboratorio di Programmazione Appunti sulla lezione 4: Divide et impera e algoritmi di ordinamento Alessandra Raffaetà Università Ca Foscari Venezia Corso di Laurea in Informatica Ricerca binaria Assunzione:
1. Soluzione esercizio XYZ SpA
1. Soluzione esercizio XYZ SpA 2. Oggetti fstream e loro uso Si vuole realizzare un piccolo sistema informativo a supporto dell'attività dell'ufficio dipendenti della società XYZ SpA. Tale società opera
Mini-Corso di Informatica
Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 [email protected] Note sulle esercitazioni Durante le esercitazioni impareremo a implementare
Kangourou della Matematica 2006 finale nazionale italiana Mirabilandia, 8 maggio 2006
LIVELLO ÉCOLIER E1. (5 punti ) Qual è il multiplo di 11 più vicino a 1000? E2. (7 punti ) Le lettere della parola ELA sono tutte distinte fra loro. Fa corrispondere ad ogni lettera di questa parola una
Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Lezione 6 Selection/Insertion Sort su interi e stringhe
Lezione 6 Selection/Insertion Sort su interi e stringhe Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Tutoraggio Venerdì 14
In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
Laboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi [email protected]
Laboratorio di Programmazione Gruppo III, Ml-ZZ Alberto Finzi [email protected] Record e File binari Record La definizione della struttura è data dalla parola riservata struct seguita da un identificatore,
#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;
Dati A e N (A reale >0 e N intero >=0) comunica il valore di A elevato alla N. CL 3 - Es_11.cpp Variabili di Input: N di tipo intero, A di tipo reale Variabili di Output: Pot di tipo reale Variabili di
Kangourou della Matematica 2009 finale nazionale italiana Mirabilandia, 11 maggio 2009
Kangourou della Matematica 2009 finale nazionale italiana Mirabilandia, 11 maggio 2009 LIVELLO JUNIOR J1. (5 punti ) Un asta lunga 10 metri va spezzata in modo che sia possibile riporre (eventualmente
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include
Algoritmi e strutture di dati 2
Paola Vocca Lezione 4: Programmazione dinamica 1 Caratteristiche Programmazione dinamica: paradigma basato sullo stesso principio utilizzato per il divide et impera o il problema viene decomposto in sotto-problemi
Esercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
Scrittura formattata - printf
Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri
Programmazione Funzionale
1/9 Programmazione Funzionale Esercizio sulle variabili locali Davide Mottin - Themis Palpanas March 12, 2014 OCaml Funzioni preparatorie Sommario 2/9 Funzioni preparatorie Costruire una funzione val even
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
PROGETTAZIONE TOP-DOWN E BOTTOM-UP
PROGETTAZIONE TOP-DOWN E BOTTOM-UP Top-down e bottom-up sono strategie di elaborazione dell'informazione e di gestione delle conoscenze, riguardanti principalmente il software e, per estensione, altre
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
