100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 2
La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.
31. Ecrivez un algorithme pour inverser les chiffres d’un nombre saisi par l’utilisateur.
Exemple de sortie:
Donner un nombre: 123 321
Algorithme InverserUnNombre
Variables Nbr,rev: entiers
Début
rev ← 0
Ecrire("Donner un nombre:")
Lire(Nbr)
TantQue(Nbr > 0) faire
rev ← rev * 10
rev ← rev + (Nbr mod 10)
Nbr ← Nbr div 10
FinTantQue
Ecrire(rev)
Fin
32. Écrire un algorithme permettant d’entrer un nombre et d’afficher le triangle d’étoiles.
Exemple de sortie:
Entrez un nombre: 5
*
***
*****
*******
*********
Algorithme TrianglEtoiles
Variables Nbr,i,j: entiers
Début
Ecrire("Entrez un nombre:")
Lire(Nbr) // Lit le nombre de lignes du triangle
Ecrire("\n")
// Parcourt chaque ligne du triangle
Pour i de 0 à Nbr-1 faire
// Parcourt chaque colonne de la ligne
Pour j de 1 à (Nbr*2)-1 faire
// Vérifie si la position actuelle doit contenir une étoile
Si (j >= Nbr-i et j <= Nbr+i ) alors
Ecrire("*") // Affiche une étoile
SiNon
Ecrire(" ") // Affiche un espace pour centrer le triangle
FinSi
FinPour
Ecrire("\n") // Passe à la ligne suivante
FinPour
Fin
33. Écrire un algorithme qui permet de savoir si le nombre saisi est Premier ou non. (Un nombre premier est un nombre uniquement divisible par 1 ou par lui-même).
Exemple de sortie:
Entrer un nombre : 29 29 est un nombre premier Entrer un nombre : 21 21 n'est pas un nombre premier
21 a quatre diviseurs (1, 3, 7 et 21) donc ce n'est pas un nombre premier.
Algorithme NbrPremier
Variables Nbr,i:entiers
Début
Ecrire("Entrer un nombre:")
Lire(Nbr) // Lit le nombre à tester
i ← 2 // Commence les tests de divisibilité à partir de 2
TantQue(Nbr mod i ≠ 0 et i < Nbr) faire
// Passe au diviseur suivant tant qu'aucun diviseur n'est trouvé
i ← i + 1
FinTantQue
// Si aucun diviseur n'a été trouvé avant d'atteindre Nbr,
// alors le nombre est premier
Si (i = Nbr) alors
Ecrire(Nbr," est un nombre premier")
SiNon
Ecrire(Nbr," n'est pas un nombre premier")
FinSi
Fin
34. Ecrivez un algorithme qui permet de saisir 5 nombres dans un tableau. Comptez ensuite le nombre d'éléments pairs et impairs.
Exemple de sortie:
Entrer un nombre: 1 Entrer un nombre: 3 Entrer un nombre: 2 Entrer un nombre: 6 Entrer un nombre: 9 Total des éléments pairs: 2 Total des éléments impaires: 3
Algorithme NbrPaireImpaire
Variables myTab[10],i,pair,impair :entiers
Début
// Initialise les compteurs des nombres pairs et impairs
pair ← 0
impair ← 0
Pour i de 1 à 5 faire
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Saisit et stocke les 5 nombres dans le tableau
FinPour
Pour i de 1 à 5 faire // Parcourt les éléments du tableau
Si(myTab[i] mod 2 = 0) alors
pair ← pair + 1 // Incrémente le compteur des nombres pairs
SiNon
impair ← impair + 1 // Incrémente le compteur des nbr impairs
FinSi
FinPour
// Affiche le nombre d'éléments pairs et impairs
Ecrire("Total des éléments pairs:",pair)
Ecrire("Total des éléments impaires:",impair)
Fin
35. Ecrivez un algorithme qui demande d'entrer un tableau Tab de 10 nombres, et de placer les éléments pairs dans un tableau Tab1 et les éléments impairs dans un tableau Tab2. Affichez ensuite Tab1 et Tab2.
Exemple de sortie:
Tab : 1 5 2 4 9 3 3 6 8 7 Tab1: 2 4 6 8 Tab2: 1 5 9 3 3 7
Algorithme TabPairImpaire
Variables i,j,k:entiers
Tab[10],Tab1[10],Tab2[10]:tableaux d'entiers
Début
// Initialisent les indices de Tab1 (pairs) et Tab2 (impairs)
j ← 1
k ← 1
Ecrire("Tab:")
Pour i de 1 à 10 faire
Lire(Tab[i]) // Saisit les 10 éléments du tableau Tab
FinPour
Pour i de 1 à 10 faire // Parcourt tous les éléments de Tab
Si(Tab[i] mod 2 = 0) alors
Tab1[j] ← Tab[i] // Copie le nombre pair dans Tab1
j ← j + 1 // Passe à la case suivante de Tab1
SiNon
Tab2[k] ← Tab[i] // Copie le nombre impair dans Tab2
k ← k + 1 // Passe à la case suivante de Tab2
FinSi
FinPour
Ecrire("Tab1:")
Pour i de 1 à j faire // Affiche que les éléments stockés dans Tab1
Ecrire(Tab1[i])
FinPour
Ecrire("Tab2:")
Pour i de 1 à k faire // Affiche que les éléments stockés dans Tab2
Ecrire(Tab2[i])
FinPour
Fin
36. Écrire un algorithme qui lit un caractère et détermine si c'est une lettre ou non, dans le cas d'une lettre, il indique si c'est une minuscule ou une majuscule.
Exemple de sortie:
Donnez une lettre: a C'est une lettre Minuscule Donnez une lettre: A C'est une lettre Majuscule Donnez une lettre: 5 C'est pas une lettre!
Algorithme MinusculeMajuscule
Variables l: caractère
Début
Ecrire("Donnez une lettre:")
Lire(l) // Lit le caractère saisi
// Vérifie si le code ASCII correspond à une lettre majuscule
Si(l >= 65 et l <=90 ) alors
Ecrire("C'est une lettre Majuscule")
SiNon
// Vérifie si le code ASCII correspond à une lettre minuscule
Si(l >= 97 et l <= 122) alors
Ecrire("C'est une lettre Minuscule")
SiNon
// Le caractère n'est ni une majuscule ni une minuscule
Ecrire("C'est pas une lettre!")
FinSi
FinSi
Fin
37. Écrire un algorithme qui compte le nombre d'éléments dupliqués dans un tableau de nombres entiers saisi par l'utilisateur.
Exemple de sortie:
Entrer un nombre: 5 Entrer un nombre: 1 Entrer un nombre: 5 Entrer un nombre: 6 Entrer un nombre: 3 Entrer un nombre: 5 Entrer un nombre: 4 Entrer un nombre: 7 Entrer un nombre: 9 Entrer un nombre: 5 Nombre total d'éléments dupliqués est: 4
Algorithme ElémentsDupliqués
Variables myTab[10],compteur,i,j: entiers
Début
Pour i de 1 à 10 faire
Ecrire("Enter un entier:")
Lire(myTab[i]) // Saisit les 10 éléments du tableau
FinPour
compteur ← 0 // Initialise le compteur des doublons
// Parcourt chaque élément du tableau
Pour i de 1 à 10 faire
// Compare l'élément courant avec les éléments suivants
Pour j de i+1 à 10 faire
Si(myTab[i] = myTab[j]) alors
// Incrémente le compteur lorsqu'un doublon est trouvé
compteur ← compteur + 1
FinSi
FinPour
FinPour
// Affiche le nombre de doublons trouvés
Ecrire("Nombre total d'éléments dupliqués est:",compteur)
Fin
38. Écrire un algorithme qui prend deux entiers de l'utilisateur (un nombre de base et un exposant) et calcule la puissance.
Exemple: Dans le cas de 23
- 2 est le nombre de base
- 3 est l'exposant
- Et la puissance est égale à 2*2*2
Exemple de sortie:
Entrer la base: 2 Entrer l'exposant: 3 2 ^ 3 = 8
Algorithme PuissanceNbr
Variables i,e: entiers
puissance,b :réel
Début
puissance ← 1 // Initialise le résultat à 1
Ecrire("Entrer la base:")
Lire(b) // Lit la base
Ecrire("Entrer l'exposant:")
Lire(e) // Lit l'exposant
Pour i de 1 à e faire // Multiplie la base par elle-même e fois
puissance ← puissance * b
FinPour
Ecrire(b," ^ ",e," = ",puissance) // Affiche le résultat du puissance
Fin
39. Écrire un algorithme qui permet d'entrer 10 nombres entiers et de savoir si ces nombres entiers sont successifs ou non.
Exemple de sortie:
0 1 3 4 5 6 7 8 9 Les nombres ne sont pas successives 11 12 13 Les nombres sont successives
Algorithme NbrSuccessive
Variables myTab[10],i,check: entiers
Début
check ← 0 // Suppose que les nombres sont dans l'ordre
Ecrire("Entrer un nombre:")
Lire(myTab[1]) // Saisit le premier nombre
Pour i de 2 à 10 faire
Ecrire("Entrer un nombre:")
Lire(myTab[i]) // Saisit les autres nombres
// Vérifie si le nombre courant est inférieur au précédent
Si(myTab[i] < myTab[i-1])
check ← 1 // Les nombres ne sont plus dans l'ordre croissant
FinSi
FinPour
// Vérifie si tous les nombres sont restés dans l'ordre
Si(check = 0) alors
Ecrire("Les nombres sont successives")
SiNon
Ecrire("Les nombres ne sont pas successives")
FinSi
Fin
40. Ecrivez un algorithme qui demande l'âge et permet de renseigner sa catégorie sachant que les catégories sont les suivantes:
- Gamin de 6 à 7 ans
- Pupille de 8 à 9 ans
- Jeune de 10 à 11 ans
- Cadet après 12 ans
Exemple de sortie:
Entrer votre age : 6 Vous etes Gamin
Algorithme AgeCategorie
Variables age:réel
Début
Ecrire("Entrer votre age:")
Lire(age) // Lit l'âge de la personne
// Vérifie si l'âge est compris entre 5 et 7 ans
Si(age >= 5 et age <= 7) alors
Ecrire("Vous etes Gamin")
FinSi
// Vérifie si l'âge est compris entre 8 et 9 ans
Si(age >= 8 et age <= 9) alors
Ecrire("Vous etes Pupille")
FinSi
// Vérifie si l'âge est compris entre 10 et 11 ans
Si(age >= 10 et age <= 11) alors
Ecrire("Vous etes Jeune")
FinSi
// Vérifie si l'âge est supérieur ou égal à 12 ans
Si(age >= 12) alors
Ecrire("Vous etes Cadet")
FinSi
Fin
