Prof. Claudio Sartori

Laboratorio di Informatica


Torna a Claudio Sartori - Didattica

Informativa Privacy

Uso di procedure e files

a. Calcolo dei numeri di Fibonacci

I numeri di Fibonacci sono una successione di interi, definiti come segue

fib(0)=0, fib(1)=1

fib(n)=fib(n-2)+fib(n-1) per ogni n>=2

Scrivere un programma che ripetutamente acquisisce da input un intero n non negativo (con controllo) e visualizza l'n-esimo numero di Fibonacci. Il calcolo del numero di Fibonacci deve essere realizzato in una funzione su file separato, fibonacci.c, con il relativo file di intestazione fibonacci.h

Esempio di comportamento del programma:

Inserire intero non negativo 4
Il numero di Fibonacci di posizione 4 e' 3
Continuare (s/n)? s
Inserire intero non negativo 7
Il numero di Fibonacci di posizione 7 e' 13
Continuare (s/n)? s
Inserire intero non negativo 1
Il numero di Fibonacci di posizione 1 e' 1
Continuare (s/n)? s
Inserire intero non negativo -3
Inserire intero non negativo 6
Il numero di Fibonacci di posizione 6 e' 8
Continuare (s/n)? s
Inserire intero non negativo 9
Il numero di Fibonacci di posizione 9 e' 34
Continuare (s/n)? n
Per la richiesta di continuazione si può utilizzare la seguente funzione continua.c con intestazione continua.h

Suggerimento per il calcolo della funzione. Se n è 0 o 1 il calcolo è immediato. Negli altri casi occorre eseguire il calcolo iterativamente, utilizzando il numero corrente e i due numeri precedenti per la somma, poi aggiornando i due numeri precedenti.

Soluzione: funzione per il calcolo di Fibonacci, header file, programma principale.

b. Elaborazione di dati da file

È dato un file "punti.txt" che contiene coppie di valori float, ogni valore rappresenta le coordinate px e py di un punto p nel piano

Scrivere un programma che acquisisce da input le coordinate di due punti c1x, c1y, c2x, c2y, quindi legge il file "punti.txt" e per ogni punto presente stabilisce se questo è più vicino a c1 o a c2 e scrive sul file "punti_a.txt" le coordinate di ogni punto, affiancate da c1 o c2, a seconda del punto più vicino.

La distanza viene calcolata da un'apposita funzione che prende in input le coordinate di due punti e restituisce in output la distanza. La formula della distanza è quella nota di radice quadrata della somma dei quadrati delle differenze di coordinate omologhe. In caso di uguaglianza delle distanze attribuire i punti a c1.

Esempio di output

Inserire coordinate del punto 1 8 8
Inserire coordinate del punto 2 1 1
Dati scritti sul file punti_a.txt
Premere un tasto per continuare . . .

Esempio di file di input punti.txt e di output punti_a.txt

0 0
1 1
4 4
5 5
6 6
7 7
2 2
3 3
8 8
9 9
0.000000 0.000000 c2
1.000000 1.000000 c2
4.000000 4.000000 c2
5.000000 5.000000 c1
6.000000 6.000000 c1
7.000000 7.000000 c1
2.000000 2.000000 c2
3.000000 3.000000 c2
8.000000 8.000000 c1
9.000000 9.000000 c1

Soluzione: funzione per il calcolo della distanza, header file, programma principale

Per qualsiasi problema su questa pagina contattare il webmaster.