Esame 11.06.2014
Transcript
Esame 11.06.2014
Fondamenti di Informatica, a. a. 2013/2014 Prova Scritta dell’11 Giugno 2014 Ricorsione - Traccia 1: si consideri il seguente programma in linguaggio C . #include <stdio.h> #include <stdlib.h> void selection(int [], int, int, int, int); int main(){ int var1 = 5; int var2[var1], i; printf("Inserire 5 valori diversi, interi, positivi e confermare con ENTER:\n"); for (i = 0; i < var1; i++) scanf("%d", &var2[i]); selection(var2, 0, 0, var1, 1); return 0; } void selection(int var3[], int i, int j, int var4, int flag){ int temp; if (i < var4 - 1){ if (flag) j = i + 1; if (j < var4){ if (var3[i] > var3[j]){ temp = var3[i]; var3[i] = var3[j]; var3[j] = temp; } selection(var3, i, j + 1, var4, 0); } selection(var3, i + 1, 0, var4, 1); } } Definiti a vostro piacere i dati richiesti in input, scrivete cosa conterrà il vettore “var2[ ]” del main al termine dell’esecuzione del programma. Gestione file - Traccia 2: si scriva una funzione in linguaggio C che prenda come parametri f1 ed f2 il nome di un file di testo da leggere in input ed il nome di un file di testo in output. La funzione deve leggere il file di input f1, contenente alcune frasi (senza punteggiatura), e deve scrivere nel file di output f2 solo le parole del file f1 che contengono lettere doppie. Ad esempio, nel caso del seguente file di testo dato in input: ESEMPIO di file di input: In Frioli Paese Quantunque Freddo Lieto Di Belle Montagne Di Piu’ Fiumi E Di Chiare Fontane E’ Una Terra Chiamata Udine Nella Quale Fu Gia’ Una Bella E Nobile Donna Chiamata Madonna Dianora E Moglie D’un Gran Ricco Uomo Nominato Gilberto Assai Piacevole E Di Buona Aria. La funzione deve scrivere nel file di output il contenuto seguente: freddo belle terra nella bella donna madonna ricco assai Liste e gestione dinamica della memoria - Traccia 3: Si scriva un programma in C che, richieste in input le dimensioni m ed n di una matrice di interi, allochi in memoria lo spazio necessario a contenerla, inizializzi i valori con numeri casuali quindi copi in una lista di interi (l’ordine non è rilevante) tutti gli elementi della matrice, infine liberi lo spazio impiegato dalla matrice e dalla lista e termini.