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.