100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 5
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.
61. Écrire une fonction qui permet de calculer le PGCD(Plus Grand Commun Diviseur) de deux nombres.
Fonction calculerPGCD(n1,n2:entier):entier Début Tantque(n1 * n2 ≠ 0) Faire Si(n1 > n2) Alors n1 ← n1 - n2 Sinon n2 ← n2 - n1 FinSi FinTantque Si(n1 = 0) alors retourner n2 Sinon retourner n1 FinSi Fin
62. Ecrire une procédure qui prend deux nombres, calcule la somme et la multiplication de ces deux nombres et affiche si le résultat est négatifs ou positifs.
Procédure testSigne(n1,n2: réel) Variables sum, mult: réels Début Lire(n1, n2) sum ← n1 + n2 mult ← n1 * n2 Si(sum ≥ 0) Alors Ecrire("Somme positive") Sinon Ecrire("Somme négative") FinSi Si(mult ≥ 0) Alors Ecrire("Multiplication positif") Sinon Ecrire("Multiplication négatif") FinSi FinProcédure
63. Écrire une procédure qui permet d’afficher si un nombre est premier ou non.
Procédure nbrPremier(N:entier) Variables flag:booleen compteur:entier Début flag ← Vrai compteur ← 2 Tantque(compteur ≤ N/2 et flag = Vrai) Faire Si(N mod compteur = 0) Alors flag ← Faux Sinon compteur ← compteur + 1 FinSi FinTantque Si(flag = Vrai) Alors Ecrire(N, " est premier") Sinon Ecrire(N, " n'est pas premier") FinSi Fin
64. Écrire une fonction récursive qui calcule le factorielle d’un nombre passé en paramétre.
Fonction fact(N: entier):entier Début Si (N=0 ou N=1) alors retourner 1 Sinon retourner fact(n-1) * n FinSi Fin
65. Écrire une procédure qui prend deux nombre N1 et N2 et affiche toutes les valeurs paires entre N1 et N2 si N1 < N2.
Procédure NbrPaires(N1,N2:entiers) Début Si(N1 >= N2) Alors Ecrire("Erreur: N1 doit étre inférieur à N2!") Sinon Tantque(N1 < N2) Faire Si(N1 mod 2 = 0) Alors Ecrire(N1) FinSi N1 ← N1 + 1 FinTantque FinSi Fin
66. Écrire une fonction récursive qui calcule la série de Fibonacci d'un nombre passé en paramétre.
Fonction Fibonacci(N: entier): entier Début Si(N=0 ou N=1) alors Retourner 1 Sinon Retourner Fibonacci(N-2) + Fibonacci(N-1) FinSi FinFonction
67. Écrire une fonction récursive qui affiche les entiers de N1 à N2. Où N1 et N2 sont passés en paramètres.
Procédure nbrCompris(N1:entier, N2:entier) Début Ecrire(N1) Si(N1 < N2) alors N1 ← N1 + 1 nbrCompris(N1,N2) FinSi FinProcédure
68. Écrire une fonction récursive qui affiche les entiers de 0 à 20. Cette fonction reçoit un seul paramètre.
Procédure afficherNbrs(n: entier) Début Ecrire(20 - n) Si (n > 0) alors n ← n + 1 afficherNbrs(n) FinSi FinProcédure
69. Écrire une fonction récursive qui calculer b puissance e.
Exemple: Dans le cas de 23
- 2 est le nombre de base
- 3 est l'exposant
- Et la puissance est égale à 2*2*2
Fonction pow(b:réel, n:entier): réel Début Si(e = 0) alors retourner 1 Sinon retourner pow(b, e-1) * b FinSi FinFonction
70. Écrire une fonction récursive qui prend N et calcule la somme suivante 1+2+3+...+N.
Fonction sum(N: entier): entier Début Si(N=0) alors retourner 0 Sinon retourner sum(N-1) + N FinSi FinFonction
71. Écrire une fonction récursive qui permet de calculer le PGCD(Plus Grand Commun Diviseur) de deux nombres.
Fonction PGCD(n1:entier,n2:entier): entier Début Si(n2 = 0) alors retourner n1 FinSi retourner PGCD(n2, n1 mod n2) FinFonction
72. Écrire une procédure qui lit un tableau d'entiers dont la dernière valeur = -1 et affiche le nombre d’entiers pairs et leur pourcentage par rapport au nombre d’entiers donnés.
Procédure NombresPairs Variables i,count,NbrPairs: entiers p : reel Début count ← 0 NbrPairs ← 0 Répéter Lire(i) count ← count + 1 Si (i mod 2 = 0) alors NbrPairs ← NbrPairs + 1 FinSi Jusqu’à(i = -1) p ← NbrPairs * 100/count Ecrire("Nbr de valeurs paires =",NbrPairs,"| pourcentage =",p) Fin
73. Écrire une fonction qui calcule le prix TTC, cette fonction reçoit deux paramètres "prixHT" et "tva".
Fonction calculerTTC(ht,tva:réel): réel Variables ttc:réel Début ttc ← ht * (1 + tva / 100) retourner ttc FinFonction
74. Écrire une fonction récursive qui affiche les éléments d'une matrice donnée.
Procédure echoMatrice(matrice[2][3]:tableau d'entiers,ligne,col:entier) Début Si(ligne < 2) alors Si(col < 3) alors Ecrire(matrice[ligne][col]) echoMatrice(matrice,ligne,col+1) Sinon echoMatrice(matrice,ligne+1,0) FinSi FinSi FinProcédure