Esercizi (semplici algoritmi)

Размер: px
Начинать показ со страницы:

Download "Esercizi (semplici algoritmi)"

Транскрипт

1 Esercizi (semplici algoritmi) CORDA Informatica A. Ferrari

2 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 è e neppure se è più pesante o più leggera delle altre. Dobbiamo scoprire qual è la moneta di peso diverso, con 3 pesate comparative utilizzando una bilancia a due piatti.

3 Algoritmo delle 12 monete

4 Esercizio 1 Scrivere un programma che implementa l algoritmo presentato per risolvere il problema delle 12 monete Scrivere una seconda versione dell algoritmo in cui si pesano solamente 2 monete per volta

5 Esercizio 2 Scrivere un programma in linguaggio C che stampi tutte le permutazioni ottenibili combinando le 4 lettere A, B, C, D. Segue un possibile output atteso del programma. ABCD BACD CABD DABC ABDC BADC CADB DACB ACBD BCAD CBAD DBAC ACDB BCDA CBDA DBCA ADBC BDAC CDAB DCAB ADCB BDCA CDBA DCBA

6 Esercizio da Olimpiadi Informatica (Lo struzzo Simone) Lo struzzo Simone si sposta solo nelle direzioni dei quattro assi cardinali (Nord, Sud, Est, Ovest). Ogni suo passo misura 1 metro. Dovete scrivere un programma che, data una sequenza di spostamenti di Simone, misuri quant'è la distanza fra il punto di partenza e il punto di arrivo Dati di input Il file input.txt contiene la sequenza degli spostamenti. Tale file è costituito da un'unica riga di testo, contenente una sequenza di S, N, E, O (che indicano gli spostamenti nelle direzioni Sud, Nord, Est, Ovest rispettivamente). La sequenza è terminata da un *. Ad esempio, il file di input NNESO* dice che Simone si sposta di due metri a Nord, poi di un metro verso Est, poi di un metro verso Sud, e quindi di un metro a Ovest. Dati di output Il file output.txt deve contenere un'unica riga. Su questa riga dovrà comparire il numero intero corrispondente al quadrato della distanza.

7 Lo struzzo Simone (2) File input.txt File output.txt NNSEEESNOENNS* 13 NNESOS* 0 OSOS* 4 Assunzioni Il numero complessivo di spostamenti contenuti nel file di input è minore o uguale a L'esecuzione del programma deve terminare entro 5 secondi.

8 Input output #include <stdio.h> int main() { FILE *fin = fopen("input.txt", "r"); FILE *fout = fopen("output.txt", "w"); char input[100000]; fscanf(fin, "%s", input); while (input[i]!= '*') { } } fprintf(fout, "%d",.); fclose(fin); fclose(fout); return 0;

9 Lo struzzo Simone (3) #include <stdio.h> int main() { FILE *fin = fopen("input.txt", "r"); FILE *fout = fopen("output.txt", "w"); char input[100000]; int i = 0, ns = 0, eo = 0; fscanf(fin, "%s", input); while (input[i]!= '*') { switch (input[i]) { case 'N': ns++; break; case 'S': ns--; break; case 'E': eo++; break; case 'O': eo--; break; } i++; } fprintf(fout, "%d", ns*ns + eo*eo); fclose(fin); fclose(fout); return 0; }

10 Esercizio da Olimpiadi Informatica (La biblioteca degli smemorati ) Descrizione del problema La vostra biblioteca rionale ha qualche problema nello stabilire da quanto tempo gli utenti tengono i libri. Dovete aiutarli scrivendo un programma che, prese in input due date del 2015, stabilisca quanti giorni intercorrono tra le due date. Dati di input Il file input.txt è formato da una riga che contiene la data iniziale e la data finale del prestito. Più precisamente, la riga contiene quattro interi: la prima coppia specifica la data iniziale, la seconda la data finale. Ogni data è formata da due numeri, e cioè il giorno del mese e il numero del mese. Dati di output Il file output.txt deve contenere un'unica riga. Su questa riga dovrà comparire il numero intero corrispondente ai giorni che intercorrono tra le due date in input.

11 La biblioteca degli smemorati (2) Assunzioni La seconda data non precede mai la prima. Il numero di giorni considerato non comprende quello iniziale: quindi, ad esempio, tra il 2 gennaio e il 2 gennaio intercorrono 0 giorni, tra il 30 gennaio e il 2 febbraio intercorrono tre giorni, e così via. L'esecuzione del programma deve terminare entro 5 secondi. File input.txt File output.txt

Scuola Secondaria di I Gr. Ugo Foscolo Torino

Scuola Secondaria di I Gr. Ugo Foscolo Torino Scuola Secondaria di I Gr. Ugo Foscolo Torino Classe 2 L - Referente Prof.ssa Daniela Favale 1 - Piergiorgio Balestrieri - I numeri di Gauss Il matematico Carl Gauss, all età di 9 anni, riuscì a risolvere

Подробнее

CALCOLO COMBINATORIO. Psicometria 1 - Lezione 5 Lucidi presentati a lezione AA 2000/2001 dott. Corrado Caudek

CALCOLO COMBINATORIO. Psicometria 1 - Lezione 5 Lucidi presentati a lezione AA 2000/2001 dott. Corrado Caudek CALCOLO COMBINATORIO Psicometria 1 - Lezione 5 Lucidi presentati a lezione AA 2000/2001 dott. Corrado Caudek 1 Il problema del calcolo combinatorio è stabilire in quanti modi diversi una sequenza di eventi

Подробнее

Autore dell esperienza CONTEROSITO Salvatore LICEO ARTISTICO STATALE "FELICE CASORATI" DI NOVARA

Autore dell esperienza CONTEROSITO Salvatore LICEO ARTISTICO STATALE FELICE CASORATI DI NOVARA GOLD 2004 OGGETTO Esperienza n 034 Titolo dell esperienza IL DISEGNO E LA PITTURA COME PROGETTAZIONE E SISTEMA Autore dell esperienza CONTEROSITO Salvatore LICEO ARTISTICO STATALE "FELICE CASORATI" DI

Подробнее

La probabilità. Calcolo combinatorio ed elementi di probabilità

La probabilità. Calcolo combinatorio ed elementi di probabilità La probabilità Calcolo combinatorio ed elementi di probabilità Origini e definizioni Il calcolo delle probabilità è nato intorno ai giochi di azzardo. Oggi è una disciplina a sé stante che può essere di

Подробнее

Kangourou Italia Gara del 17 marzo 2016 Categoria Ecolier Per studenti di quarta o quinta della scuola primaria

Kangourou Italia Gara del 17 marzo 2016 Categoria Ecolier Per studenti di quarta o quinta della scuola primaria Kangourou Italia Gara del 17 marzo 2016 Categoria Ecolier Per studenti di quarta o quinta della scuola primaria I quesiti dal N. 1 al N. 8 valgono 3 punti ciascuno 1. Un cangurino compie oggi 6 settimane

Подробнее

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne

Подробнее

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Подробнее

I files in C. A cura del prof. Ghezzi

I files in C. A cura del prof. Ghezzi I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files

Подробнее

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono

Подробнее

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Подробнее

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE

Подробнее

Lezione 6 Selection/Insertion Sort su interi e stringhe

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

Подробнее

Il teorema di ricorrenza di Poincare, il modello di Ehrenfest ed il principio di Indeterminazione di Heisenberg.

Il teorema di ricorrenza di Poincare, il modello di Ehrenfest ed il principio di Indeterminazione di Heisenberg. Il teorema di ricorrenza di Poincare, il modello di Ehrenfest ed il principio di Indeterminazione di Heisenberg. dr.ing. Alberto Sacchi Sviluppo Progetti Avanzati srl- R&D Dept. [email protected] 1)SINTESI

Подробнее

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Подробнее

Preparazione allo Scritto di Programmazione

Preparazione allo Scritto di Programmazione Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,

Подробнее

Algoritmi di ordinamento: Array e ricorsione

Algoritmi di ordinamento: Array e ricorsione Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Algoritmi di ordinamento: Array e ricorsione 2 1 Indice Algoritmi di ordinamento: Insertion

Подробнее

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Подробнее

Lab 04 Istruzioni, cicli e array"

Lab 04 Istruzioni, cicli e array Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 04 Istruzioni, cicli e array" Lab04 1 Esercizio 1" Si scriva un

Подробнее

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Подробнее

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Подробнее

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti

Подробнее

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol. Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: [email protected] sito: users.iol.it/genna18 Risoluzione di un problema Dato

Подробнее

Fondamenti di Informatica

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

Подробнее

Lezione 8: Stringhe ed array multidimensionali

Lezione 8: Stringhe ed array multidimensionali Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si

Подробнее

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Подробнее

Esercitazione 6. Array

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

Подробнее

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Подробнее

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 18 luglio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi

Подробнее

Verificare se un albero binario è bilanciato

Verificare se un albero binario è bilanciato Verificare se un albero binario è bilanciato Definizione: Un albero è bilanciato nel Numero dei Nodi, brevemente n- bilanciato, quando, per ogni sottoalbero t radicato in un suo nodo, il numero dei nodi

Подробнее

Informatica (A-K) 5. Algoritmi e pseudocodifica

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

Подробнее

Olimpiadi Italiane di Informatica. Selezione Territoriale 14 Aprile Testi e soluzioni ufficiali dei problemi

Olimpiadi Italiane di Informatica. Selezione Territoriale 14 Aprile Testi e soluzioni ufficiali dei problemi Olimpiadi Italiane di Informatica Selezione Territoriale 14 Aprile 2016 Testi e soluzioni ufficiali dei problemi Testi dei problemi William Di Luigi, Gabriele Farina, Luigi Laura, Gemma Martini, Luca Versari

Подробнее

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni con numero variabile di parametri: Funzioni Variadiche in C Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni «variadiche» Le funzioni che ricevono un numero variabile di

Подробнее

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Terzo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini [email protected] - [email protected] 22 marzo 2016 Programma 1. Lettura di un problema tratto dalle

Подробнее

PROGRAMMA = ALGORITMO

PROGRAMMA = ALGORITMO Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca

Подробнее

Quarto allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Quarto allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Quarto allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini [email protected] - [email protected] 30 marzo 2017 Programma 1. Lettura e analisi di un problema 2.

Подробнее

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

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

Подробнее

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Подробнее

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

Подробнее

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è

Подробнее