ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa."

Transcript

1 3 ITI - a.s 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 secondo con il penultimo, ecc. Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa. Scrivere una funzione che, data una stringa, verifica se è palindroma Scrivere una funzione che, data una stringa, conta il numero di parole contenute in essa Realizzare un programma che permette di generare una password: prese due stringhe rappresentanti nome e cognome di un utente, restituisce una password generata automaticamente. Tale stringa è ottenuta concatenando i primi tre caratteri del cognome e gli ultimi tre del nome. ESERCIZIO 6 Scrivere un programma che conta le occorrenze di una stringa x dentro ad un altra t; Ad esempio: x = buona t = una buona, buona, buonissima ed ancora buona giornata a tutti Risultato: 3 MATRICI Scrivere una funzione che, data una matrice di dimensioni scelte dall'utente, assegna ad ogni suo elemento 1 se la somma degli indici dell'elemento è dispari o 0 se la somma degli indici dell'elemento è pari. Verificare se gli elementi di una matrice quadrata di interi di ordine n x n sono tutti uguali tra loro. Verificare se una matrice quadrata di ordine n x n è unitaria. Una matrice è unitaria se gli elementi sulla diagonale principale sono tutti 1 e i restanti sono uguali a 0. Verificare se gli elementi di due matrice di interi entrambe n x n sono tutti uguali. Compiti delle vacanze Pagina 1 di 6

2 RICORSIONE Scrivere un programma che calcoli il prodotto tra due numeri interi mediante somme successive utilizzando la formula ricorsiva a*b = a*(b-1)+a; Scrivere un programma che calcoli la somma dei primi n numeri interi positivi utilizzando la ricorsione Scrivere un programma che calcoli il corrispondente in base 2 di un numero decimale inserito utilizzando la ricorsione Determina l'elemento massimo di un vettore usando una funzione ricorsiva Scrivere una funzione ricorsiva int somma (int n, int m) che restituisce la somma degli interi tra n a m (n e m compresi). ESERCIZIO 6 Scrivere una funzione ricorsiva che moltiplica per due tutti i valori di un array di interi. Modificarla perchè moltiplichi per due solo i valori dispari. ESERCIZIO 7 Scrivere una funzione ricorsiva che, data una base e un esponente, calcoli l elevamento a potenza di un numero. Esempio: base = 2, esponente = 3, valore di ritorno = 2 3 = 8. ESERCIZIO 8 Si scriva una funzione ricorsiva int prod(int x) che, ricevuto come parametro un numero intero positivo (pari o dispari), calcoli ricorsivamente il prodotto di tutti i numeri dispari compresi tra 1 e quel numero (compreso). ESERCIZIO 9 Si scriva una funzione ricorsiva double f(double c, int m); che calcoli il seguente valore: 0 Si scriva una funzione ricorsiva int s (int n) che calcoli il seguente valore: essendo int pow (int base, int esponente) la funzione potenza che si suppone già disponibile. Compiti delle vacanze Pagina 2 di 6

3 RECORD DI ATTIVAZIONE Si consideri la seguente funzione F: int G(double x){ if (x>0) { x-=2; return G(x)/2; } else return 1; } Si scriva il risultato della funzione quando invocata come G(6) e si disegnino i corrispondenti record di attivazione. Si consideri la seguente funzione F: double F(int x){ if (x<0) { x++; return 3*F(x/2); } else return -1; } Si scriva il risultato della funzione quando invocata come F(-7) e si disegnino i corrispondenti record di attivazione. Si consideri la seguente funzione g(): int g(int a, int b) { if ((a/b) <2 ) return (b-1); else return 1 + g(a-2, b); } Si scriva il risultato della funzione quando invocata come g(9, 2) e si mostrino i record di attivazione. STRUCT E FILE Svolgere i seguenti esercizi creando le opportune strutture e memorizzando in modo permanente le informazioni su file. Per ogni esercizio fornire almeno le funzionalità di inserimento, ricerca, ordinamento e modifica. Scrivere un programma che gestisca le misurazioni delle precipitazioni dato giorno, ora e valore della misurazione utilizzando le struct. Creare una struttura per la gestione delle informazioni di una città: nome, numero di abitanti, numero abitanti dello scorso anno... Scrivere una funzione per individuare la città con il maggior incremento di abitanti. Compiti delle vacanze Pagina 3 di 6

4 Le trasmissioni in prima serata di un canale televisivo nei diversi giorni di un mese sono organizzate in una tabella con giorno, titolo, regista, durate. L elenco viene successivamente ordinato. L utente può ottenere, fornendo da tastiera il giorno, il titolo della trasmissione, il nome del regista e la durata. Dato il file testo.txt copiare le linee pari nel file pari.txt e quelle dispari nel file dispari.txt Contare il numero di volte che una parola ricevuta dall utente compare nel file testo.txt PUNTATORI Scrivere una funzione con prototipo void somma(double *sum, double x, double y); che assegna la somma fra il secondo e il terzo argomento (passati per valore) al primo argomento (passato per riferimento) Si consideri il seguente programma: main () { float **A; float *B; float C; B = &C; A = &B; **A = 12.5; *B = 1.3; printf( il valore finale di **A è %d \n, **A); } Si dica, spiegandone brevemente le ragioni, quale sarà l output del programma. Si consideri il seguente programma: main () { int **P; int *Q; int x; x = 27; Q = malloc(sizeof(int)); P = malloc(sizeof(int *)); *P = Q; **P = 4; Q = &x; P = &Q; *Q = 5; printf( il valore finale di **P è %d e quello di x è %d \n, **P, x); } Si dica, spiegandone brevemente le ragioni, quale sarà l output del programma. Scrivere una funzione che restituisca il puntatore alla prima occorrenza del numero x in un array di interi int * cerca(int a[], int x, int size) Compiti delle vacanze Pagina 4 di 6

5 Data una funzione calcola: int calcola( int *a, int b, int *c) { *a = *a * 2; b = b * 2; *c = *c - 2; return *a + b + *c; } Qual è l'output del seguente frammento di programma? int z,x,*y; y = &x; z = 1; *y = 2; x = 3; z = calcola(&z,x,y); printf("%d, %d",z,x); ESERCIZIO 6 Simulare l'esecuzione di ciascuna delle 4 chiamate a sottoprogrammi, limitandosi alla descrizione dei valori stampati tramite le "printf". int X = 60; int p1(int par) { par = par - 10; return (par); } int p2(int *par) { X = *par; *par = *par - 5; return (X); } int p3(int par) { int X = par + 1; printf("\n3) X = %d", ); return (X); } main() { /* situazione iniziale */ int Y = 0, Z = 30; printf ("\n0) X = %d, Y = %d, Z = %d ", X, Y, Z); /* passo 1 */ X = p1(z); printf ("\n1) X = %d, Y = %d, Z = %d ", X, Y, Z); /* passo 2 */ Y = p2(&z); printf ("\n2) X = %d, Y = %d, Z = %d ", X, Y, Z); /* passo 3 */ Y = p3(z); printf ("\n4) X = %d, Y = %d, Z = %d ", X, Y, Z); /* passo 4 */ Y = p2(&y); printf ("\n5) X = %d, Y = %d, Z = %d ", X, Y, Z); } Compiti delle vacanze Pagina 5 di 6

6 LISTE Scrivere una funzione che restituisca l elemento in coda ad una lista Scrivere una funzione che faccia la copia di una lista in ingresso Letta in input una sequenza di numeri interi positivi memorizzarla in una lista. Costruire una seconda lista contenente soltanto gli elementi pari della prima lista. Stampare la seconda lista. Lette in input due liste di numeri interi ognuna delle quali ordinata, costruire una terza lista di numeri interi ordinata, mediante la fusione delle prime due. Stampare la lista. Letta in input una lista, costruire una seconda lista con gli elementi disposti al contrario rispetto alla lista originale (es.: se la lista letta in input è viene costruita la lista 4 8 1). Stampare la seconda lista. Compiti delle vacanze Pagina 6 di 6

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

ESERCIZIO: Analisi di un programma. Dato il seguente programma C:

ESERCIZIO: Analisi di un programma. Dato il seguente programma C: : Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

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à

Dettagli

ESERCIZIO: SHIFT ARRAY (1)

ESERCIZIO: SHIFT ARRAY (1) ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza

Dettagli

PARTE

PARTE Programmazione CdS in Matematica Appello d esame 4 Luglio 2008 Nome.. Cognome... Matricola.. INDICARE SUBITO NOME, COGNOME, E MATRICOLA NON è permesso (pena espulsione) usare la calcolatrice e consultare

Dettagli

Introduzione al C. Lez. 2. Funzioni e Puntatori

Introduzione al C. Lez. 2. Funzioni e Puntatori Introduzione al C Lez 2 Funzioni e Puntatori Esercizio 1: test primalità Scrivere un programma che prenda in input un intero n, e stampa SI se n è primo, NO altrimenti (NB: un intero n è primo se è solo

Dettagli

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie

Dettagli

Introduzione al C. Lez. 2 Funzioni e Puntatori

Introduzione al C. Lez. 2 Funzioni e Puntatori Introduzione al C Lez 2 Funzioni e Puntatori Esercizio 1: test primalità Scrivere un programma che prenda in input un intero n, e stampa SI se n è primo, NO altrimenti (NB: un intero n è primo se e solo

Dettagli

PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A

PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A Esercizio 1 (punti 5) Si scriva una funzione ricorsiva int doppio(int a, int n); che calcoli il seguente valore:

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Esercizio sintesi (1) Esercizio sintesi (1)

Esercizio sintesi (1) Esercizio sintesi (1) Esercizio sintesi (1) Una compagnia di autobus che effettua servizio su lunghe distanze vuole realizzare un programma di controllo delle prenotazioni dei posti. A tal scopo rappresenta ogni prenotazione

Dettagli

Parte 1: tipi primitivi e istruzioni C

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

Dettagli

Corso di Informatica 1 Esercitazione n. 7

Corso di Informatica 1 Esercitazione n. 7 Corso di Informatica 1 Esercitazione n. 7 Marco Liverani Esercizio n. 1 Letta in input una sequenza di numeri interi memorizzarli in una lista e stampare la lista stessa. Eliminare dalla lista i nodi che

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e

Dettagli

Esempio di Prova Scritta

Esempio di Prova Scritta Esempio di Prova Scritta La prova scritta è composta da alcuni esercizi per un totale di 12 punti, sufficienza con 7 punti (durata: circa 1h). Le tipologie di esercizi possibili comprendono: sintesi di

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Esercizio 1 Liste: calcolo perimetro di un poligono

Esercizio 1 Liste: calcolo perimetro di un poligono Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 12 Esercitazione: 28 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo perimetro di

Dettagli

Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)

Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta) Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 14 novembre 2014 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

Dettagli

Lezione 6: Array e puntatori

Lezione 6: Array e puntatori Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci

Dettagli

Esercizio 1. Liste di interi

Esercizio 1. Liste di interi Esercizio 1. Liste di interi Si legga una sequenza di numeri interi da tastiera, dopo ogni inserimento chiedere all'utente se vuole continuare, quindi: Creare due liste L1 e L2 con inserimento ordinato;

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Esempio di Prova Scritta

Esempio di Prova Scritta Esempio di Prova Scritta La prova scritta è composta da alcuni esercizi per un totale di 10 punti (durata:circa 1h15 ). Le tipologie di esercizi possibili comprendono:! sintesi di una funzione ricorsiva/iterativa,

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Dettagli

Esercizio 1 Liste: calcolo del numero di elementi ripetuti in una lista

Esercizio 1 Liste: calcolo del numero di elementi ripetuti in una lista Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 11 Esercitazione: 27 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo del numero di

Dettagli

Esercizi su strutture dati

Esercizi su strutture dati Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 08 Stringhe e strutture Lab12 1 Esercizio

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez /12/2018

Esercitazioni di Fondamenti di Informatica - Lez /12/2018 Esercitazioni di Fondamenti di Informatica - Lez. 0 //08 Esercizi su Python. ESAME 3/08/07 es. 6. Scrivere un programma Python 3 che definisce un apposito dizionario che contiene, attraverso le coppie

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 Riepilogo sulla ricorsione Un algoritmo o una funzione matematica sono definiti ricorsivamente quando possono essere definiti facendo riferimento a se stessi. Si tratta cioè di un applicazione del principio

Dettagli

Laboratorio 26/09/2000

Laboratorio 26/09/2000 Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo

Dettagli

Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof.

Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof. Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof. Paolo Bellavista Il compitino comprenderà un esercizio (simile a uno di quelli

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

Lezione 6 Struct e qsort

Lezione 6 Struct e qsort Lezione 6 Struct e qsort Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Struct Struct Fino ad ora abbiamo utilizzato

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

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

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

Dettagli

Capitolo 19. Ricorsione

Capitolo 19. Ricorsione Capitolo 19 La ricorsione Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a sé stessa Esempio: Funzione fattoriale su interi non negativi: f(n) = n!

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 7 0/11/018 Esercizi sull allocazione dinamica della memoria in C 1. Cosa stampa il seguente programma? 1 #d e f i n e MAXLENGTH 0 4 typedef struct { char

Dettagli

ESERCIZIO 1 ESERCIZIO 2

ESERCIZIO 1 ESERCIZIO 2 ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 08 Stringhe e strutture Lab8 1 Esercizio 1 n Scrivere una funzione che data una stringa A calcoli la sua lunghezza.

Dettagli

Calcolatori Elettronici Lezione 2 8/10/2012. Emiliano Casalicchio

Calcolatori Elettronici Lezione 2 8/10/2012. Emiliano Casalicchio Calcolatori Elettronici Lezione 2 Emiliano Casalicchio Emiliano.Casalicchio@uniroma2.it Argomenti della lezione Esercitazione collettiva. La lezione si svolge come segue: Docente: Esposizione del problema

Dettagli

Esercitazione 7. Soluzione:

Esercitazione 7. Soluzione: Esercitazione 7 Esercizio 1: Scrivere una funzione ricorsiva che calcoli il MCD di due numeri interi positivi. Ricordare che la funzione MCD(N,M) termina quando N == M e si ritorna N. int MCD(int N, int

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Esercizio 1: parole nel testo

Esercizio 1: parole nel testo Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da

Dettagli

#include <stdio.h> #include <stdlib.h> #define L 20 void Proc(char [], int); int N=L; main () { char *s; int i;

#include <stdio.h> #include <stdlib.h> #define L 20 void Proc(char [], int); int N=L; main () { char *s; int i; Fondamenti di Informatica L-A (A.A. 2002/2003) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista Prova d Esame di Martedì 09/09/2003 durata 2h:30m ESERCIZIO 1 (12 punti) Si scriva una procedura

Dettagli

Complessità algoritmi su strutture dati (riassunto)

Complessità algoritmi su strutture dati (riassunto) Complessità algoritmi su strutture dati (riassunto) Struttura di dato Algoritmo di ricerca Complessità (caso peggiore) applicabile Tavola come array non Ricerca sequenziale O(N) ordinato (N elementi) Tavola

Dettagli

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano Scope delle variabili e passaggio parametri Danilo Ardagna Politecnico di Milano 1-4-2014 Introduzione! Con le funzioni è stato introdotto un meccanismo per definire dei piccoli programmi all interno di

Dettagli

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica II prova in itinere 25 gennaio 2011 Matricola Cognome Nome Durata prova: 2 ore Istruzioni

Dettagli

Progetti su più File Array e Funzioni

Progetti su più File Array e Funzioni - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica LA Corso di laurea in Ingegneria Elettrica - Anno Accademico 2007-2008 Progetti su più File Array e Funzioni ESERCIZIO 1 Scrivere

Dettagli

PROVA SCRITTA 23 MARZO 2010

PROVA SCRITTA 23 MARZO 2010 PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa

Dettagli

Implementazione dell albero binario in linguaggio C++

Implementazione dell albero binario in linguaggio C++ Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018 Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.

Dettagli

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904] Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica B [079904] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009) Cognome

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

Ricerca binaria ricorsiva!

Ricerca binaria ricorsiva! ESERCIZIO: RICERCA BINARIA! Soluzione Iterativa! int ricerca_bin (int vet[], int el) {int first=0, last=n-1, med=(first+last)/2; int T=0; while ((first

Dettagli

Elementi di Informatica e Programmazione Allievi Ingegneria Informatica, Elettronica e delle Telecomunicazioni, Automazione Industriale

Elementi di Informatica e Programmazione Allievi Ingegneria Informatica, Elettronica e delle Telecomunicazioni, Automazione Industriale Elementi di Informatica e Programmazione Allievi Ingegneria Informatica, Elettronica e delle Telecomunicazioni, Automazione Industriale Fac-simile della Prova di Programmazione 1:1 Cognome e nome Num.

Dettagli

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche ESERCIZIO Grammatiche (1) Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {, , , , , S = 1 P = { ESERCIZIO

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,

Dettagli

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti) Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di USB stick

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Informatica (A-K) 14. Linguaggio C -4

Informatica (A-K) 14. Linguaggio C -4 Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Informatica (A-K) 14. Linguaggio C -4 Strutture Dati tipiche

Dettagli

Complessità algoritmi su strutture dati

Complessità algoritmi su strutture dati Complessità algoritmi su strutture dati Struttura di dato Ricerca Complessità (caso peggiore) Tavola non ordinata (N Ricerca O(N) elementi) sequenziale Tavola ordinata (N Ricerca binaria O(log2N) elementi)

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Strutture dati. Le liste

Strutture dati. Le liste Strutture dati Le liste Introduzione Una lista è una successione finita di valori di un tipo (insieme di valori e ordine). Come tipo di dato è qualificata dalle operazioni che ci si possono svolgere: inserimento

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Le Funzioni e la Ricorsione

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

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Linguaggi di programmazione + laboratorio a.a. 2012/2013

Linguaggi di programmazione + laboratorio a.a. 2012/2013 Linguaggi di programmazione + laboratorio a.a. 2012/2013 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a

Dettagli

Esercitazioni di Prog. II (funzioni su insiemi) Chiara Petrioli

Esercitazioni di Prog. II (funzioni su insiemi) Chiara Petrioli Esercitazioni di Prog. II (funzioni su insiemi) Chiara Petrioli Esercizi per la manipolazione di insiemi (rappresentati tramite liste) Insiemi.c /*Questo file include i prototipi e le definizioni di specifiche

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

I puntatori e l allocazione dinamica di memoria. Esercizi risolti

I puntatori e l allocazione dinamica di memoria. Esercizi risolti I puntatori e l allocazione dinamica di memoria Esercizi risolti 1 Esercizio Si vuole realizzare un tipo struct, utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Versione del: venerdì 3 maggio 2013 07.XX METODI ESERCIZI Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi Esercizi sui metodi in Visual C#. Esercizio 1. scelta della firma Lo studente risponda

Dettagli

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice: Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,

Dettagli

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

Dettagli

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori

Dettagli

Esercizi di preparazione alla prova scritta

Esercizi di preparazione alla prova scritta Esercizi di preparazione alla prova scritta ARGOMENTI: Istruzione dominante, complessità ESERCIZIO n 1 Si analizzi il seguente frammento di codice C: #define N 10 int V[N]={1,2,3,4,5,6,7,8,9,10;... main()

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento

Dettagli

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Gli studenti dell a.a. 2007-2008 e 2006-2007 (6CFU) devono svolgere i 6 esercizi. Gli studenti degli anni precedenti non

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 05 Array Lab06 1 Esercizio 1 n Creare un programma che legga da input un numero non noto a priori di interi (al

Dettagli

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE Scrivere in stampatello COGNOME, NOME e MATRICOLA su ogni foglio consegnato N.B.: In tutti gli esercizi viene valutata anche

Dettagli

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

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Esercizio 1 File: ordinamento di un archivio di studenti (file binario)

Esercizio 1 File: ordinamento di un archivio di studenti (file binario) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 9 Esercitazione: 19 gennaio 2005 Esercizi sui file e sulle liste. Scaletta Esercizio 1 File: ordinamento di un archivio

Dettagli