Saisie et affichage : Instructions de base pour interagir avec l'utilisateur dans un algorithme.
- Déclarer les variables nécessaires
- Utiliser LIRE pour la saisie
- Utiliser ECRIRE pour l'affichage
- Respecter la syntaxe du pseudo-code
│Début │
└──────┬──────┘
│
┌─────▼─────┐
│Déclaration│
│variables │
└─────┬─────┘
│
┌─────▼─────┐
│LIRE(nom) │
└─────┬─────┘
│
┌─────▼─────┐
│LIRE(age) │
└─────┬─────┘
│
┌─────▼─────┐
│LIRE(taille)│
└─────┬─────┘
│
┌─────▼─────┐
│ECRIRE( │
│résultats) │
└─────┬─────┘
│
┌─────▼─────┐
│Fin │
└───────────┘
Identifier les données nécessaires et leurs types
Demander à l'utilisateur les informations requises
Montrer les informations à l'utilisateur
Algorithme complet permettant l'interaction avec l'utilisateur
• Clarté : Utiliser des noms de variables explicites
• Syntaxe : Respecter les majuscules pour les mots-clés
• Structure : Organiser logiquement les instructions
Structure conditionnelle : Instruction qui exécute un bloc de code seulement si une condition est vraie.
instructions
FIN SI
instructions
SINON
instructions
FIN SI
valeur1 : instructions
valeur2 : instructions
FIN SUIVANT
│Début │
└──────┬──────┘
│
┌─────▼─────┐
│LIRE(note) │
└─────┬─────┘
│
┌─────▼─────┐
│note>=16? │
├─Oui─┐ ┌─Non─┤
│ │ │ │
┌────▼──┐ │ │ ┌───▼──────────────┐
│mention│ │ │ │note>=14? │
│←"TB" │ │ │ │ ├─Oui─┐ ┌─Non─┤
└───────▲┘ │ │ │ │ │ │ │
│ │ │ │┌───▼──┐ │ │ ┌───▼─────────────┐
│ │ │ │mention│ │ │ │note>=12? │
│ │ │ │←"Bien"│ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ └──────▲┘ │ │ │ │ │ │ │
│ │ │ │ │ │ │┌────▼──┐ │ │ ┌───▼─────────────┐
│ │ │ │ │ │ ││mention│ │ │ │note>=10? │
│ │ │ │ │ │ ││←"AB" │ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ │└──────▲┘ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │┌────▼──┐ │ │ ┌───▼──────────┐
│ │ │ │ │ │ │ │ │ │ ││mention│ │ │ │mention │
│ │ │ │ │ │ │ │ │ │ ││←"Pass"│ │ │ │←"Insuffisant"│
│ │ │ │ │ │ │ │ │ │ │└──────▲┘ │ │ │└─────────────▲┘
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└─┼─┼────────┼─┼─┼─┼───────┼─┼─┼─┼─┼───────┼─┼─┼─┼─────────────┼─┘
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
┌────▼─▼────────▼─▼─▼─▼───────▼─▼─▼─▼─▼───────▼─▼─▼─▼─────────────▼──┐
│ECRIRE("Votre mention est : ", mention) │
└─────────────────────────────────────────────────────────────────┘
Identifier la variable à tester et les seuils
Utiliser des structures SI/SINON SI pour les alternatives
Assigner la valeur appropriée selon la condition remplie
Structure conditionnelle complète avec plusieurs alternatives
• Hiérarchie : Les conditions sont évaluées dans l'ordre
• Exclusivité : Un seul bloc est exécuté dans une structure SI/SINON
• Clôture : Toute structure ouverte doit être fermée (FIN SI)
Boucle : Structure qui répète un bloc d'instructions tant qu'une condition est remplie ou pour un nombre fixe d'itérations.
instructions
FIN POUR
instructions
FIN TANT QUE
instructions
JUSQU'A condition
POUR pour un nombre connu d'itérations, TANT QUE ou REPETER pour des conditions
Préparer les variables de contrôle avant la boucle
Assurer la modification des variables pour éviter les boucles infinies
Les trois types de boucles sont utilisés avec leurs spécificités
• Contrôle : La variable de boucle doit être modifiée pour terminer la boucle
• Initialisation : Initialiser correctement les variables de contrôle
• Clôture : Fermer chaque boucle avec le mot-clé approprié
Fonction : Bloc de code nommé qui effectue une tâche spécifique et peut retourner une valeur.
Spécifier le nom, les paramètres et le type de retour
Écrire le corps de la fonction avec les instructions nécessaires
Utiliser RETOURNER pour renvoyer la valeur calculée
Fonctions réutilisables avec paramètres et valeurs de retour
• Signature : Spécifier clairement les paramètres et le type de retour
• Responsabilité : Une fonction devrait avoir une seule tâche
• Appel : Une fonction peut être appelée plusieurs fois avec différents arguments
Algorithme complexe : Combinaison de plusieurs structures algorithmiques pour résoudre un problème complexe.
│Début │
└──────┬──────┘
│
┌─────▼─────┐
│Menu │
│affiché │
└─────┬─────┘
│
┌─────▼─────┐
│LIRE(choix)│
└─────┬─────┘
│
┌─────▼─────┐
│choix = 1? │
├─Oui─┐ ┌─Non─┤
│ │ │ │
┌────▼──┐ │ │ ┌───▼─────────────┐
│Saisir │ │ │ │choix = 2? │
│note │ │ │ │ ├─Oui─┐ ┌─Non─┤
└─────▲─┘ │ │ │ │ │ │ │
│ │ │ │┌───▼─┐ │ │ ┌───▼─────────────┐
│ │ │ │Calc │ │ │ │choix = 3? │
│ │ │ │moyenne│ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ └───▲─┘ │ │ │┌───▼─┐ │ │ ┌───▼─────────────┐
│ │ │ │ │ │ ││Affi│ │ │ │choix = 4? │
│ │ │ │ │ │ ││cher│ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ ││notes│ │ │ │ │ │ │ │
│ │ │ │ │ │ │└───▲─┘ │ │ │┌───▼─┐ │ │ ┌───▼─────────────┐
│ │ │ │ │ │ │ │ │ │ ││Quit│ │ │ │Autres options │
│ │ │ │ │ │ │ │ │ │ ││ter │ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ │ │ │ │ │└───▲─┘ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │┌───▼─┐ │ │ ┌───▼─────────────┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Affi│ │ │ │Boucle │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││cher│ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││erreur│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │└───▲─┘ │ │ │┌───▼─┐ │ │ ┌───▼─────────────┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Retour│ │ │ │Fin programme │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││menu │ │ │ │ ├─Oui─┐ ┌─Non─┤
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │└───▲─┘ │ │ │ │ │ │ │
└─┼─┼─┼─────┼─┼─┼─┼─────┼─┼─┼─┼─┼─┼─┼────┼─┼─┼─┼────┼─┼─┼────┼─┼─┼────┼─┼─┼─┼─┼────┼─┼─┼────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼......
Pseudo-code lisible
Exercices corrigés
Maîtrisez le pseudo-code lisible : structure, variables, conditions, boucles et bonnes pratiques grâce à ces 5 exercices détaillés.
Variable : Emplacement mémoire nommé qui stocke une valeur pouvant changer durant l'exécution de l'algorithme.
- Déclarer les variables avec VAR nom: type
- Utiliser ← pour l'affectation
- Donner des noms descriptifs aux variables
- Respecter les types de données
│Début │
└──────┬──────┘
│
┌─────▼─────┐
│Déclaration│
│variables │
└─────┬─────┘
│
┌─────▼─────┐
│Lire a, b │
└─────┬─────┘
│
┌─────▼─────┐
│resultat ← │
│a + b │
└─────┬─────┘
│
┌─────▼─────┐
│Afficher │
│resultat │
└─────┬─────┘
│
┌─────▼─────┐
│Fin │
└───────────┘
On déclare a, b et resultat comme des entiers
On lit les valeurs de a et b depuis l'utilisateur
On calcule la somme et on affecte le résultat à la variable resultat
L'algorithme lit deux nombres, calcule leur somme et affiche le résultat
• Clarté : Utilisation de noms de variables descriptifs
• Structure : Respect de la syntaxe du pseudo-code
• Flux : Instructions exécutées dans l'ordre
Structure conditionnelle : Permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse.
On lit la note de type réel depuis l'utilisateur
On teste la note contre différents seuils
On affecte la mention appropriée selon la note
L'algorithme attribue une mention selon la note entrée
• Hiérarchie : Les conditions sont testées dans l'ordre
• Exclusivité : Une seule branche est exécutée
• Structure : Chaque SI est terminé par FIN SI
Boucle : Structure qui répète un bloc d'instructions tant qu'une condition est remplie ou pour un nombre fixe d'itérations.
On initialise les variables nécessaires (somme = 0)
On répète n fois l'addition de i à somme
On répète tant que la condition est vraie
Calcul de la somme des entiers de 1 à n et affichage de nombres par intervalles
• Initialisation : Variables correctement initialisées
• Contrôle : La boucle doit se terminer (condition de sortie)
• Structure : Chaque boucle est terminée par FIN
Sous-programme : Partie de l'algorithme qui effectue une tâche spécifique et peut être appelée depuis d'autres parties.
On définit des fonctions et procédures pour des tâches spécifiques
On appelle les sous-programmes depuis le programme principal
Les sous-programmes peuvent être réutilisés plusieurs fois
Structure modulaire avec programme principal et sous-programmes spécialisés
• Modularité : Découpage en sous-programmes spécialisés
• Interface : Spécification claire des paramètres et retour
• Réutilisation : Les sous-programmes peuvent être appelés plusieurs fois
Lisibilité : Qualité d'un pseudo-code qui permet de le comprendre facilement et rapidement.
Commentaires pour expliquer le but de l'algorithme
Sections bien délimitées (constantes, variables, programme)
Utilisation cohérente pour améliorer la lisibilité
Pseudo-code bien structuré, commenté et facile à comprendre
• Commentaires : Explication des parties complexes
• Structure : Sections logiques bien séparées
• Consistance : Style uniforme dans tout le pseudo-code
- Variables : VAR nom: type (ENTIER, REEL, CHAINE, BOOLEEN)
- Affectation : variable ← valeur
- Lecture/Écriture : LIRE(variable), ECRIRE(message)
- Conditions : SI condition ALORS ... SINON ... FIN SI
- Boucles : POUR, TANT QUE, REPETER JUSQU'A
- Sous-programmes : FONCTION, PROCEDURE
- Chaque structure doit avoir une ouverture et une fermeture claire
- Les variables doivent être déclarées avant utilisation
- Respectez la logique algorithmique et l'ordre d'exécution
- Utilisez des noms cohérents et descriptifs
- Documentez les parties complexes avec des commentaires