34
1 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 Esempi di Problemi Iterativi C. Limongelli Dicembre 2011

2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

1 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Dispensa E07 Esempi di Problemi Iterativi

C. Limongelli Dicembre 2011

Page 2: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

2 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Contenuti

q  Esercizi:

§  Palindroma

§  Anagramma §  Fibonacci

Page 3: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

3 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Palindroma

q Scrivere un programma che verifica se una stringa, non vuota, data in input sia palindroma

q Esempi: “anna”: è palindroma

“anno”: non è palindroma “anilina”: è palindroma “f”: è palindroma “”: è palindroma

Page 4: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

4 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Palindroma: verifica di correttezza public static void test(){ String s; //stringa su cui vengono effettuate le prove

/* stringa vuota */ s = ""; System.out.println(palindroma(s) + " = true");

/* stringa formata da un solo elemento */ s = "a"; System.out.println(palindroma(s) + " = true");

/* stringa palindroma formata da due elementi */ s = "bb"; System.out.println(palindroma(s) + " = true");

/* stringa NON palindroma formata da due elementi */ s = "bc"; System.out.println(palindroma(s) + " = false");

/* stringa palindroma con 3 o piu' elementi dispari */ s = "madamimadam"; System.out.println(palindroma(s) + " = true");

Page 5: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

5 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

…Palindroma: verifica di correttezza

/* stringa NON palindroma con 3 o piu' elementi dispari */ s = "barba"; System.out.println(palindroma(s) + " = false");

/* stringa palindroma con 4 o piu' elementi pari */ s = "acca"; System.out.println(palindroma(s) + " = true");

/* stringa palindroma con 4 o piu' elementi pari */ s = "arca"; System.out.println(palindroma(s) + " = false");

/* i primi due elementi esaminati sono diversi */ s = "anccno"; System.out.println(palindroma(s) + " = false");

/* gli ultimi due elementi esaminati sono diversi */ s = "abcdefxyfedcba"; System.out.println(palindroma(s) + " = false");

}//end test

Page 6: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

6 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Palindroma: analisi del problema

q Che tipo di verifica è? §  Verifica Universale: devo verificare che tutte le

coppie di caratteri simmetrici siano uguali. Dualmente: devo verificare che esiste almeno una coppia di caratteri simmetrici che sono diversi.

q Algoritmo: §  Esamino gli estremi della stringa e mi muovo verso il

centro verificando che i caratteri simmetrici in esame siano uguali

§  Il ciclo si interrompe quando gli indici si sono “accavallati” oppure quando trovo due caratteri simmetrici diversi

Page 7: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

7 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Palindroma: il metodo… /* metodo che restituisce vero se la stringa e'

palindroma, falso altrimenti */ public static boolean palindroma(String s){ //pre: s non nulla boolean palindroma; int inf,sup; //indici per analizzare i caratteri

/* assumo che la parola sia palindroma finche'

non trovo una coppia di caratteri distinti */ palindroma = true;

/* inizializzo gli indici che si riferiscono agli

estremi della stringa */ inf = 0; sup = s.length()-1;

Page 8: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

8 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

…Palindroma: il metodo /* il ciclo si ferma quando una delle due condizioni e‘

falsa: inf >=sup : gli indici sono sul carattere centrale

se la parola e' di lunghezza dispari oppure gli indici si sono "accavallati"

palindroma e' false: sono stati trovati due caratteri simmetrici che sono diversi tra loro */

while (inf<sup && palindroma){ if (s.charAt(inf)!=s.charAt(sup)) palindroma = false; inf = inf+1; sup = sup-1; }

return palindroma; }// end palindroma

Page 9: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

9 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Esempio di esecuzione

true = true true = true true = true false = false true = true false = false true = true false = false false = false false = false Press any key to continue . . .

Page 10: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

10 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Anagramma

q Scrivere un programma che, date due stringhe, verifica se una stringa è anagramma dell’altra.

q Esempi: “” e “” sono anagrammi “a” e “a” sono anagrammi “aroma” e “amaro” sono anagrammi “Aroma” e “amaro” non sono anagrammi

Page 11: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

11 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Anagramma: verifica di correttezza… public static void testAnagramma(){ String s,t; //stringa su cui vengono effettuate

le prove /* stringa vuota */ s = ""; t= ""; System.out.println(anagramma(s,t) + " = true");

/* verifico con una stringa formata da un solo

elemento */ s = "a"; t = "b"; System.out.println(anagramma(s,t) + " = false");

/* verifico con una stringa formata da un solo

elemento */ s = "a"; t = "a"; System.out.println(anagramma(s,t) + " = true");

/* verifico con ...*/ s = "ccc"; t = "ccc"; System.out.println(anagramma(s,t) + " = true");

Page 12: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

12 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

… Anagramma: verifica di correttezza /* verifico con ... */ s = "ciao"; t = "caio"; System.out.println(anagramma(s,t) + " = true");

/* verifico con ... */ s= "roma"; t = "aroma"; System.out.println(anagramma(s,t) + " = false");

/* verifico con ... */ s= "roma"; t = "mara"; System.out.println(anagramma(s,t) + " = false");

}//end testAnagramma

Page 13: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

13 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Anagramma: analisi del problema

q Che tipo di verifica è? §  Verifica Universale: date le stringhe s e t ogni

carattere di s deve trovarsi in t, anche se in posizione diversa

q Algoritmo: §  Se le stringhe hanno diversa lunghezza non sono

anagrammi §  Verifico che ogni carattere di s occorre nella stringa

t: se cio’ accade elimino da t il carattere individuato §  Se al termine dell’esame dei caratteri di s, t e’ vuota

allore le stringhe originali sono una l’anagramma dell’altra

Page 14: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

14 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Anagramma: raffinamento dell’algoritmo

q  Input: s,t q Output: true/false q Algoritmo:

§  Per i=1,fino alla fine della stringa •  prendo l'i-esimo carattere di s •  verifico se occorre nella stringa t: pos restituisce l'eventuale

posizione •  Se (pos >= 0) allora elimino il carattere dalla stringa t

nel caso in cui pos<0 non viene eliminato nessun carattere dalla stringa t, quindi t non sara' vuota alla fine del ciclo

§  uscita dal ciclo se t e' vuota allora la t e' anagramma di s

Page 15: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

15 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Anagramma: il metodo… public static boolean anagramma(String s, String t){ //pre: s non nulla //verifica universale: ogni carattere di s deve trovarsi in t, anche se in posizione diversa

boolean anagramma; int ls,lt; //lunghezza delle stringhe int i; //contatore char c; //appoggio int pos; //posizione del carattere da eliminare

ls = s.length(); lt = t.length(); if (ls!=lt) anagramma = false;//se non hanno la

stessa lunghezza else{ . . .

Page 16: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

16 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

…Anagramma: il metodo… . . .

for (i=0; i<ls; i++){ //prendo l'i-esimo carattere di s c= s.charAt(i); //verifico se occorre nella stringa t: //pos restituisce l'eventuale posizione pos = t.indexOf(c); if (pos >= 0) //elimino il carattere dalla stringa t t = elimina(t,pos);

/* nel caso in cui pos<0 non viene eliminato nessun carattere dalla stringa t, quindi t non sara' vuota alla fine del ciclo */

} //end for . . .

Page 17: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

17 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

. . . Anagramma: il metodo . . .

/* uscita dal ciclo se t e' vuota allora la t

e‘ anagramma di s */ if (t.equals("")) anagramma = true; else anagramma = false; } // end else return anagramma; }// end anagramma

Page 18: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

18 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Il metodo elimina /* metodo che restituisce una nuova stringa che e' come s ma non contiene la prima occorrenza del carattere c */

public static String elimina(String s, int i){ //pre: s non vuota //pre: i corrisponde alla posizione del carattere

da eliminare String nuova;//nuova stringa costruita int l; //lunghezza della stringa l=s.length(); nuova = s.substring(0,i) + s.substring(i+1,l); return nuova; }

Page 19: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

19 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Verifica del metodo elimina… public static void testElimina(){ String s; int i;

/*un solo elemento */ s = "a"; i=0; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

/* due elementi */ s="ab"; i=1; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

. . .

Page 20: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

20 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

…Verifica del metodo elimina… . . . s= "ab"; i=0; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

/* tre o piu' caratteri: */

/* primo carattere */

s = "capra"; i=0; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

. . .

Page 21: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

21 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

…Verifica del metodo elimina . . .

/* generico carattere centrale */ s = "capra"; i=3; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

/* ultimo carattere */ s = "capra"; i=4; System.out.print("stringa: " + s); System.out.print(" indice del carattere da eliminare " + i); System.out.println(" stringa risultato: " + elimina(s,i));

}//end testElimina

Page 22: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

22 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Esempio di esecuzione

*** TEST DEL METODO DI SUPPORTO *** stringa: a indice del carattere da eliminare 0 stringa risultato: stringa: ab indice del carattere da eliminare 1 stringa risultato: a stringa: ab indice del carattere da eliminare 0 stringa risultato: b stringa: capra indice del carattere da eliminare 0 stringa risultato: apra stringa: capra indice del carattere da eliminare 3 stringa risultato: capa stringa: capra indice del carattere da eliminare 4 stringa risultato: capr *** TEST DEL METODO ANAGRAMMA *** true = true false = false true = true true = true true = true false = false false = false Press any key to continue . . .

Page 23: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

23 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

I numeri di Fibonacci

q Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri della successione di Fibonacci: q I primi due numeri della successione di Fibonacci valgono 1 q Ciascun termine della successione è dato dalla somma dei due termini che lo precedono q Esempio: per n = 9 si ha:

1 1 2 3 5 8 13 21 34 …

Page 24: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

24 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Visualizzazione dei numeri di Fibonacci: analisi del problema

q Che tipo di problema è? §  E’ un problema sia di conteggio che di

accumulazione:

prec succ f

0 1 1

1 1 1

2 1 1 2

3 1 2 3

4 2 3 5

Algoritmo per il calcolo di fib(n): fib(0) = 1 prec fib(1) = 1 succ fib(2) = prec +succ prec = succ succ = fib(2) …

Page 25: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

25 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Visualizzazione dei numeri di Fibonacci: algoritmo

q  Input: n q Output: primi n+1 numeri di Fibonacci

§  Per i=0,n •  Calcolo fib(i); •  Lo stampo

q Calcolo di Fib(i) §  Servono due variabili prec e succ che rappresentano I due

precedenti numeri di Fibonacci: §  prec = 1; §  succ = 1; §  f e’ l’accumulatore in cui viene memorizzato il risultato f=1;

if (n>1) for (i=2; i<=n; i++){ f = prec + succ; prec = succ; succ = f;} return f;

Page 26: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

26 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Generazione dell’n-esmio numero di Fibonacci: il metodo public static int fib(int n){ int f; //valore di ritorno del metodo int i; //indice per l'istruzione iterativa int prec,succ; //i due precedenti numeri di

Fibonacci calcolati prec = 1; //Fib(0) succ = 1; //Fib(1) f =1; if (n>1) for (i=2; i<=n; i++){ f = prec + succ; prec = succ; succ = f;} return f; }// end fib

Page 27: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

27 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Generazione dell’n-esmio numero di Fibonacci: la classe

/* classe che crea i numeri di Fibonacci */ class Fibonacci{ public static void main(String[] args){ int n; // n-esimo numero di Fibonacci int i; //contatore System.out.println("Metodo che calcola i primi n numeri di Fibonacci");

System.out.println("scrivi un numero >=0"); n = Lettore.in.leggiInt();

for (i=0; i<n; i++) System.out.println("Fib("+i+") = " + fib(i));

}//end main

Page 28: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

28 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Riflessioni

q Ogni volta bisogna ricominciare a contare da fib(0) e fib(1)

q Si puo’ tenere conto dei valori calcolati precedentemente per non ripetere ogni volta I conti?

q In questo caso il metodo deve essere unico §  Input: n §  Output: stampa dei primi n numeri di Fibonacci

Page 29: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

29 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Il metodo stampaFib /* crea e stampa n numeri di Fibonacci "tutti insieme" */ public static void stampaFib(int n){ int f; //valore di ritorno del metodo int i; //indice per l'istruzione iterativa int prec,succ; //i due precedenti numeri di Fibonacci if (n==0) System.out.println("Fib(0)=1"); else if (n==1){ System.out.println("Fib(0)=1"); System.out.println("Fib(1)=1");} else{ System.out.println("Fib(0)=1"); System.out.println("Fib(1)=1"); prec = 1; //Fib(0) succ = 1; //Fib(1) f =1; for (i=2; i<=n; i++){ f = prec + succ; prec = succ; succ = f; System.out.println("Fib("+i+") = "+f);}}}

Page 30: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

30 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Somma dei primi N numeri di Fibonacci

q Scrivere un programma che calcola la somma dei primi n numeri di Fibonacci

q Esempio: per n = 4 si ha: 1 + 1 + 2 + 3 = 7

Page 31: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

31 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

prec = 1; succ = 1; somma =2; for (i=2; i<n; i++) { //calcolo l'iesimo numero di Fibonacci f = prec+succ; //aggiorno la somma somma = somma+f; prec = succ; succ = f; }// end for

Somma dei primi N numeri di Fibonacci: l’algoritmo

prec succ f somma

0 1 1 1

1 1 1 1 2

2 1 1 2 4

3 1 2 3 7

4 2 3 5 12

+

+

+

Page 32: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

32 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Somma dei primi N numeri di Fibonacci: il metodo . . . public static int sommafib(int n){ int f; //numero di fibonacci int i; //indice per l'istruzione iterativa int prec,succ; // i due precedenti numeri di Fibonacci calcolati int somma; if (n==1) somma = 1; else if (n==2) somma = 2; else { // n>2 prec = 1; succ = 1; somma = 2;

. . .

Page 33: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

33 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Somma dei primi N numeri di Fibonacci: il metodo

. . . for (i=2; i<n; i++){ //calcolo l'iesimo numero di Fibonacci f = prec+succ; //aggiorno la somma somma = somma+f; prec = succ; succ = f; }// end for }//end else return somma;}

Page 34: 2011 E07 Esempi Problemi Iterativi - Roma Tre University · I numeri di Fibonacci !Scrivere un programma che, dato un numero naturale n, visualizza sullo schermo i primi n numeri

34 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di Problemi Iterativi

Esempio di esecuzione

Metodo che calcola i primi n numeri di Fibonacci scrivi un numero > 0 6 Fib(0) = 1 Fib(1) = 1 Fib(2) = 2 Fib(3) = 3 Fib(4) = 5 Fib(5) = 8 Metodo che calcola la somma dei primi n numeri di Fibonacci scrivi un numero > 0 6 La somma dei primi 6 numeri di Fibonacci e' 20 Press any key to continue . . .