Fiche de révision : Introduction à l'algorithmique et ses formalismes

Plan du Cours

  1. Rôle de l’algorithmique
  2. Formalismes de représentation
  3. Structure d’un algorithme
  4. Variables et types de données
  5. Opérateurs en algorithmique
  6. Instructions fondamentales

1. Rôle de l’algorithmique

Notions clés & Définitions

  • Algorithmique : Démarche qui consiste à définir formellement ce que l’ordinateur doit faire pour réaliser une tâche précise.
  • Réflexion : Étape intellectuelle qui démarre quand un problème est identifié puis décomposé en sous-problèmes plus simples.

Points essentiels

  • Maîtriser l’algorithmique aide à améliorer les traitements en vitesse, mémoire et taille du code.
  • Un algorithme décrit un traitement compréhensible et exécutable par l’ordinateur pour une tâche donnée.

2. Formalismes de représentation

Notions clés & Définitions

  • Langage algorithmique : Ensemble de règles syntaxiques servant à écrire un algorithme sous forme de texte compréhensible et correct.
  • Logigramme : Représentation graphique d’un algorithme utilisant des symboles pour montrer le déroulement et les décisions.

Points essentiels

  • Un algorithme doit être lisible et clair, via texte simple ou schéma avec symboles.
  • Le logigramme utilise des rectangles pour les traitements, des losanges pour les décisions, et des flèches pour l’ordre.
  • Les schémas sont moins utilisés pour construire les algorithmes car corriger du dessin est plus difficile que corriger du texte.

3. Structure d’un algorithme

Notions clés & Définitions

  • Entête d’algorithme : Partie qui sert à donner un nom à l’algorithme, précédée par le mot « Algorithme ».
  • Partie déclarative : Section où sont définies les données nécessaires au traitement, notamment via la déclaration des variables.
  • Partie traitement : Zone où s’exécutent les opérations de l’algorithme, délimitée par les mots DEBUT et FIN.

Points essentiels

  • La structure type contient un entête, une partie déclarative (CONST, VAR, STRUCT, PROC) puis la partie traitement entre DEBUT et FIN.
  • Les mots-clés DEBUT et FIN délimitent uniquement la suite d’actions et de conditions à exécuter.
  • La partie déclarative sert à lister précisément les données utilisées pendant le traitement.

4. Variables et types de données

Notions clés & Définitions

  • Variable : Objet manipulé par l’algorithme, défini par un identificateur et un type précis.
  • Type de variable : Propriété qui détermine la nature des valeurs et les opérations autorisées sur une variable.
  • Type complexe : Type constitué de plusieurs variables élémentaires regroupées sous un nom et un identifiant de structure.

Points essentiels

  • Une variable est décrite si elle possède un identificateur et un type bien précis.
  • Les types élémentaires distingués sont caractère, chaîne de caractères, entier, réel et logique (booléen).
  • Une structure complexe regroupe des champs (ex. facture avec numéro de client, nom, ville, numéro de facture, montant) déclarée puis utilisée via VAR.

5. Opérateurs en algorithmique

Notions clés & Définitions

  • Opérateurs arithmétiques : Opérateurs qui relient des variables numériques pour former des expressions (addition, soustraction, multiplication, divisions, modulo, puissance).
  • Opérateurs comparatifs : Opérateurs qui comparent deux valeurs du même type et produisent un résultat de vérité.
  • Opérateurs logiques : Opérateurs qui combinent des valeurs booléennes (ET, OU, NON) pour produire un booléen.

Points essentiels

  • Les opérateurs arithmétiques incluent +, -, *, /, // (division entière), % (reste), et ** (puissance).
  • Les opérateurs comparatifs incluent <, >, == (égal) et != (différent).
  • La priorité indiquée place d’abord + (concaténation) et * (duplication), puis les opérateurs arithmétiques, et enfin les opérateurs logiques avec parenthèses pour forcer l’ordre.

6. Instructions fondamentales

Notions clés & Définitions

  • Affectation : Instruction qui attribue une valeur à une variable en utilisant une affectation droite→gauche.
  • Lecture / Ecriture : Fonctions d’entrée et de sortie qui affectent dynamiquement des valeurs aux variables pendant l’exécution.
  • Structure de contrôle conditionnelle : Bloc qui choisit entre des blocs d’instructions selon le résultat d’une ou plusieurs conditions.

Points essentiels

  • L’affectation s’écrit x = valeur ou x <- valeur et impose que le type de la valeur corresponde au type de la variable.
  • Les structures conditionnelles s’écrivent « Si Condition Alors ... Sinon ... Fin Si » et peuvent être imbriquées avec des « Sinon, Si ... ».
  • Les répétitions incluent « Boucle Répéter ... Jusqu’à ... », « Tant que ... Faire ... Fin Tant que », et « Pour ... Faire ... Fin Pour ».

Pièges & confusions fréquents

  1. Confondre la déclaration des données (partie déclarative avec VAR/STRUCT) et le traitement exécuté entre DEBUT et FIN.
  2. Écrire une affectation avec un sens incorrect ou un type incompatible entre la valeur et la variable réceptrice.
  3. Mélanger les symboles du logigramme : rectangle pour traitement et losange pour décision.
  4. Croire que toutes les conditions se gèrent sans structure dédiée : les choix nécessitent Si/Alors/Sinon et Fin Si.
  5. Utiliser des comparaisons entre des variables de types différents alors que les opérateurs comparatifs sont donnés pour le même type.
  6. Oublier que les opérateurs logiques attendent des booléens (VRAI/FAUX) plutôt que des nombres ou chaînes.

Checklist Examen

  1. Définir ce qu’est un algorithme et ce qu’il doit produire pour résoudre une tâche précise.
  2. Expliquer pourquoi on décompose un problème en sous-problèmes pour construire un algorithme final.
  3. Nommer et distinguer les deux formalismes : langage algorithmique (texte) et logigramme (schéma).
  4. Décrire ce que représente chaque symbole du logigramme : rectangles, losanges, flèches, rôle d’une condition.
  5. Écrire la structure générale : entête avec « Algorithme », partie déclarative (CONST/VAR/STRUCT/PROC) puis DEBUT/FIN pour le traitement.
  6. Identifier l’objectif de l’entête, de la partie déclarative et de la partie traitement dans une même structure.
  7. Définir une variable et lister les conditions pour qu’elle soit décrite : identificateur et type.
  8. Citer au moins trois domaines de définition des types élémentaires (caractère, chaîne, entier, réel, logique).
  9. Reconnaître un type complexe et savoir qu’il s’obtient via une STRUCT puis une variable de ce type dans VAR.
  10. Donner les règles de nommage des variables : pas d’espace, pas de caractère spécial, casse significative, éviter les mots-clés.
  11. Classer et appliquer les opérateurs : arithmétiques (+, -, *, /, //, %, **), comparatifs (<, >, ==, !=), logiques (ET, OU, NON).
  12. Utiliser la priorité d’évaluation donnée, et savoir que les parenthèses modifient l’ordre des calculs.
  13. Écrire une affectation correcte et justifier que le type de la valeur doit correspondre au type de la variable.
  14. Distinguer lecture (entrée) et écriture (sortie) et donner l’objectif de chacune pendant l’exécution.

Teste tes connaissances

Teste tes connaissances sur Introduction à l'algorithmique et ses formalismes avec 12 questions à choix multiples et corrections détaillées.

1. Quel est le rôle principal de l’algorithmique dans la résolution d’une tâche précise ?

2. Pourquoi la décomposition d’un problème en sous-problèmes est-elle utile en algorithmique ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Introduction à l'algorithmique et ses formalismes avec 12 flashcards interactives.

Rôle de l’algorithmique — définition ?

Définir formellement ce que l’ordinateur doit faire.

Formalismes de représentation — exemples ?

Langage algorithmique et logigramme.

Structure d’un algorithme — éléments ?

Entête, déclaration, traitement entre DEBUT et FIN.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches