Fondamenti di Informatica A
Esercitazione n. V
Esercizio:
Scrivere un modulo in C, vet_io.c che:
- contenga una procedura leggi_vet che legge da tastiera un vettore di interi
- contenga una procedura stampa_vet che stampa su video un vettore di interi
Si faccia uso di un file header vet_io.h contenente la dichiarazione delle funzioni e delle strutture dati ritenute necessarie.
Esercizio
Progettare un programma C che, utilizzando il modulo vet_io,
- Legga da tastiera un vettore di valori interi
- Calcoli la media dei valori pari presenti nel vettore
- Stampi il risultato
Si strutturi opportunamente il programma in procedure e funzioni.
Nota: È vietato includere nel file principale il file vet_io.c. Si includa, invece, il file header vet_io.h e si inserisca il file vet_io.c nel file di progetto.
Esercizio:
Aggiungere al modulo vet_io una procedura che legge un vettore di interi ordinato in modo crescente. Si progetti poi un programma C che:
- Legga da tastiera un vettore V di valori ordinati in senso crescente
- Legga un elemento E da tastiera
-
Effettui la ricerca binaria dell'elemento E sul vettore V. La ricerca deve
essere effettuata con una funzione definita ricorsivamente che restituisce
la posizione dell'elemento nel vettore oppure un valore negativo se l'elemento
non è presente.
- Visualizzi a video il risultato della ricerca
Esercizio: Naive Sort
Dato un vettore di elementi di un certo tipo, sul quale è definita una relazione
d'ordine totale (ad esempio, tipo float), l'algoritmo di ordinamento Naive sort (o selection sort, o ordinamento per minimi
successivi) ad ogni passo seleziona il minimo nel vettore e lo pone nella prima posizione, richiamandosi ed escludendo dal vettore il primo elemento.
Scrivere un programma C che utilizza il modulo vet_io. Un ulteriore modulo vet_sort contiene (ed esporta, nel corrispondente file header vet_sort.h) le seguenti procedure e funzioni:
- Procedura minimo, ricorsiva, che, dati un vettore ed un indice Start, restituisce il più piccolo elemento del vettore successivo a Start e la sua posizione nel vettore.
- Procedura Naive_sort che ordina, tramite una procedura ricorsiva, il vettore usando l'algoritmo Naive Sort.
La funzione main, che si troverà su un modulo esercizi.c esegue la lettura di un vettore e stampa la versione ordinata del vettore.
Esercizio:
Scrivere una funzione C che, data una stringa A ed una stringa
B,
calcoli il numero di occorrenze della stringa A in
B.
Ad esempio, se B="tre tigri contro tre tigri" ed A="tr",
deve restituire 3.