Algorithmes et structures de données

10 cartes

Exercices sur les séries numériques, matrices et gestion de données aéroportuaires.

10 cartes

Réviser
La répétition espacée te présente chaque carte au moment optimal pour la mémoriser durablement, en espaçant les révisions de façon croissante.
Question
Quel est le but d'un algorithme pour la série 1, 11, 111...?
Réponse
Calculer la somme des n premiers termes de la série où chaque terme est une répétition du chiffre 1.
Question
Quelle est la limite pour le nombre n dans l'algorithme de la série?
Réponse
Le nombre n doit être un entier entre 1 et 9. Les autres valeurs sont refusées par le programme.
Question
Que représente "n répétitions du digit 1" dans la série?
Réponse
Si n=3, le terme est 111. Si n=5, le terme est 11111, et ainsi de suite pour chaque terme.
Question
Quelle est la taille maximale d'une matrice MAT?
Réponse
La matrice MAT a un maximum de N lignes et M colonnes, avec N <= 15 et M <= 20.
Question
Comment la matrice MAT doit-elle être remplie?
Réponse
La matrice MAT doit être remplie uniquement avec des valeurs strictement positives.
Question
Que doit-on calculer pour chaque colonne de la matrice MAT?
Réponse
Il faut calculer la somme des nombres pairs pour chaque colonne et stocker les résultats dans un tableau T.
Question
Quelles sont les informations clés pour un avion?
Réponse
Un avion est défini par son numéro d'immatriculation, sa désignation (nom et série), sa capacité et sa catégorie.
Question
Quelle information peut être utilisée pour identifier un avion de manière unique?
Réponse
Le numéro d'immatriculation est une chaîne de caractères unique qui identifie chaque avion.
Question
Comment la structure de données du parking des avions est-elle caractérisée?
Réponse
Le parking peut contenir un maximum de 30 avions, nécessitant une structure capable de gérer cet inventaire.
Question
Quelle est la capacité maximale d'avions dans le parking?
Réponse
Le parking est conçu pour accueillir un maximum de 30 avions à la fois.

Feuille de Rappel : Algorithmes et Structures de Données

Ce document récapitule les concepts clés et les exigences pour les exercices d'algorithmique et de structures de données.

Exercice 1 : Somme de Série Numérique

Objectif : Calculer la somme d'une série spécifique basée sur une entrée utilisateur.

  • Saisie utilisateur sécurisée : Demander un nombre `n` entre 1 et 9. Rejeter toute autre valeur.
  • Série : `s = i + ii + iii + ...` où le `n`-ième terme est composé de `n` répétitions du chiffre 1.
    • Formule du terme `k` : Si le terme est 5 (ex: 55555), il s'agit de `5 * (10^k - 1) / 9`.
  • Exemple de calcul : Pour `n = 5` et le chiffre souhaité est 1 (implicite des 'i', 'ii', 'iii'...), la question originale fait une erreur en utilisant "5 + 55 + 555..." mais son explication "le n-ième terme contient n répétitions du chiffre 1" indique que c'est "1 + 11 + 111..." mais l'exemple de solution affiche "5 + 55 + 555 + 5555 + 55555". Nous allons assumer que l'exemple numérique est le cas d'usage où le chiffre utilisé est `n` répété `n` fois.
  • Calcul du terme général : Un terme `k` répété `k` fois peut être calculé par (chiffre_de_repétition * (pow(10, k) - 1)) / 9. Dans l'exemple, le chiffre de répétition est `n`.
  • Affichage : Afficher la somme calculée `s`.
Note : L'exemple "1459 = 9 + 4*10 + 5*100 + 1*1000" est une décomposition décimale standard et peut être utilisé pour comprendre comment construire un nombre à partir de ses chiffres, mais pas directement pour la série "1+11+111" ou "5+55+555".

Exercice 2 : Traitement de Matrice

Objectif : Manipuler une matrice d'entiers avec des contraintes spécifiques.

  • Déclaration : Matrice `MAT` de taille `N * M`.
  • Contraintes : `N <= 15`, `M <= 20`.
  • Opérations :
    1. Remplir la matrice : Avec uniquement des valeurs strictement positives.
    2. Déterminer et afficher l'étendue (range) : C'est la différence entre la valeur maximale et la valeur minimale de la matrice.
    3. Somme des nombres pairs par colonne :
      • Calculer la somme des nombres pairs pour chaque colonne.
      • Stocker ces sommes dans un tableau `T`.
      • Afficher le tableau `T`.

Exercice 3 : Gestion de Parking Avion

Objectif : Développer une application de gestion pour un parking d'avions.

Structure de Données : Avion

Chaque avion est défini par :

  • Numéro d'immatriculation : Chaîne de caractères unique (clé d'identification).
  • Désignation : Contient Nom (Chaîne) et Série (Entier).
  • Capacité : Entier.
  • Nombre de vols mensuels : Tableau d'entiers (12 mois, de Janvier à Décembre).
  • Catégorie : Chaîne ("National" ou "International").

Structure de Données : Parking

  • Peut contenir un maximum de 30 avions.
  • Représentation : Un tableau statique ou dynamique d'objets (ou structures) "Avion".

Questions et Algorithmes Associés

  1. Structure du parking : Un tableau d'Avions (ex: Avion parking[30]; ou une liste chaînée si la taille est variable et la limite de 30 est une capacité max et non une taille fixe).
  2. Ajout d'avions : Ajouter 7 avions au parking (initialement vide). Implique une fonction d'ajout.
  3. Afficher les avions nationaux : Parcourir le parking et afficher les avions de Catégorie = "National".
  4. Suppression d'un avion :
    • Basé sur le Numéro d'immatriculation.
    • Nécessite la recherche de l'avion puis sa suppression effective (décalage des éléments si tableau statique, ou modification des pointeurs si liste chaînée).
  5. Calcul des vols annuels pour un avion :
    • Prendre le numéro d'immatriculation en entrée.
    • Sommer les 12 vols mensuels pour cet avion.
  6. Calcul des vols annuels totaux pour tous les avions :
    • Parcourir tous les avions dans le parking.
    • Pour chaque avion, sommer ses vols mensuels (comme en Q5).
    • Additionner toutes ces sommes individuelles.

Lancer un quiz

Teste tes connaissances avec des questions interactives