Générer une suite de Fibonacci en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, nous apprendrons à générer une suite de Fibonacci en C. La suite de Fibonacci est une suite mathématique bien connue où chaque nombre est la somme des deux nombres précédents. Nous commencerons par lire le nombre de termes de l'utilisateur, puis utiliserons une boucle pour générer la suite, et enfin afficherons la suite de Fibonacci résultante. Ce laboratoire couvre des concepts fondamentaux en théorie des nombres et en mathématiques discrètes en utilisant le langage de programmation C.

Lecture du nombre de termes

Dans cette étape, nous allons apprendre à lire le nombre de termes pour générer une suite de Fibonacci en C. Il s'agit de la première étape cruciale dans la création de notre programme de suite de Fibonacci.

Tout d'abord, créons un nouveau fichier C dans le répertoire ~/project :

cd ~/project
nano fibonacci.c

Maintenant, écrivons le code initial pour lire le nombre de termes de l'utilisateur :

#include <stdio.h>

int main() {
    int n;

    printf("Entrez le nombre de termes de la suite de Fibonacci : ");
    scanf("%d", &n);

    printf("Vous avez entré %d termes.\n", n);

    return 0;
}

Compilons et exécutons le programme pour tester notre entrée :

gcc fibonacci.c -o fibonacci
./fibonacci

Sortie d'exemple :

Entrez le nombre de termes de la suite de Fibonacci : 10
Vous avez entré 10 termes.
Explication
  • scanf("%d", &n) lit une entrée entière de l'utilisateur et la stocke dans la variable n
  • Nous utilisons printf() pour demander à l'utilisateur et afficher le nombre de termes entrés
  • Le programme valide que nous pouvons capturer avec succès l'entrée utilisateur pour la longueur de la suite.

Utiliser une boucle pour générer les termes

Dans cette étape, nous allons modifier notre programme précédent de suite de Fibonacci pour générer la suite à l'aide d'une boucle. Nous allons construire sur le code de l'étape précédente pour créer la suite de Fibonacci elle-même.

Mettre à jour le fichier fibonacci.c :

cd ~/project
nano fibonacci.c

Maintenant, modifions le code pour générer les termes de Fibonacci à l'aide d'une boucle for :

#include <stdio.h>

int main() {
    int n, first = 0, second = 1, next;

    printf("Entrez le nombre de termes de la suite de Fibonacci : ");
    scanf("%d", &n);

    printf("Suite de Fibonacci de %d termes : \n", n);

    for (int i = 0; i < n; i++) {
        if (i <= 1)
            next = i;
        else {
            next = first + second;
            first = second;
            second = next;
        }
        printf("%d ", next);
    }
    printf("\n");

    return 0;
}

Compiler et exécuter le programme :

gcc fibonacci.c -o fibonacci
./fibonacci

Sortie d'exemple :

Entrez le nombre de termes de la suite de Fibonacci : 10
Suite de Fibonacci de 10 termes :
0 1 1 2 3 5 8 13 21 34
Explication
  • Nous initialisons first et second comme les deux premiers termes de la suite de Fibonacci
  • La boucle for génère les termes suivants en additionnant les deux termes précédents
  • next = first + second calcule le terme suivant
  • Nous mettons à jour first et second à chaque itération pour maintenir la progression de la suite
  • La boucle continue jusqu'à ce que nous ayons généré le nombre de termes spécifié.

Afficher la suite

Dans cette dernière étape, nous allons améliorer notre programme de suite de Fibonacci en ajoutant des options de formatage et en améliorant la présentation de la sortie.

Mettre à jour le fichier fibonacci.c pour améliorer l'affichage de la suite :

cd ~/project
nano fibonacci.c

Modifiez le code pour ajouter plus d'options de formatage et d'affichage :

#include <stdio.h>

int main() {
    int n, first = 0, second = 1, next;

    printf("Entrez le nombre de termes de la suite de Fibonacci : ");
    scanf("%d", &n);

    printf("Suite de Fibonacci de %d termes :\n", n);

    printf("Index\tValeur\n");
    printf("-----\t-----\n");

    for (int i = 0; i < n; i++) {
        if (i <= 1)
            next = i;
        else {
            next = first + second;
            first = second;
            second = next;
        }
        printf("%d\t%d\n", i, next);
    }

    return 0;
}

Compiler et exécuter le programme :

gcc fibonacci.c -o fibonacci
./fibonacci

Sortie d'exemple :

Entrez le nombre de termes de la suite de Fibonacci : 8
Suite de Fibonacci de 8 termes :
Index	Valeur
-----	-----
0	0
1	1
2	1
3	2
4	3
5	5
6	8
7	13
Explication
  • Nous avons ajouté un tableau formaté avec les colonnes « index » et « valeur »
  • \t est utilisé pour les colonnes séparées par des tabulations afin de créer une disposition de tableau propre
  • Chaque terme est maintenant affiché avec son index correspondant
  • La sortie fournit une vue claire et structurée de la suite de Fibonacci.

Résumé

Dans ce laboratoire, nous avons appris à lire le nombre de termes à partir de l'utilisateur pour générer une suite de Fibonacci en C. Nous avons d'abord demandé à l'utilisateur d'entrer le nombre de termes souhaité, puis nous avons utilisé une boucle pour calculer et afficher la suite de Fibonacci. Les étapes clés consistent à initialiser les deux premiers nombres de Fibonacci, puis à les mettre à jour à chaque itération de la boucle pour générer le nombre suivant de la suite.

Enfin, nous affichons la suite de Fibonacci complète en fonction de l'entrée de l'utilisateur. Ce laboratoire fournit un exemple pratique de l'utilisation de boucles et de variables pour générer une suite mathématique classique dans un langage de programmation.