Vous êtes sur la page 1sur 8

Université Moulay Ismaïl 2023-2024

ENSAM – Meknès S2 / 1 ere


Année / API

Travaux Dirigés en Algorithmiques


Exercice 1 :

Exécuter l’algorithme suivant et donner les résultats de son exécution :


Instruction A B C D E
A2
B4
C  A+B
A  A+10
B  A*B
DA>B et A=C
E  A<C et D
Ecrire(A,B,C,D,E)

Exercice 2 :

Exécuter les algorithmes suivants :

Algorithme Algorithme
Variable A,B,C : réel Variable A,B,C :D réel
Début Début
A 2 A 6
B8 B3
CA C  A/B
AB A  B*2
B A B C+3
Ecrire (A,B,C) Ecrire (A,B,C)
Fin Fin
Résultat :…………………………………….. Résultat :……………………………………..
Algorithme Algorithme
Variable A,B,C : réel Variable A,B,C : réel
Début Début
Lire(A) # on a saisi la valeur 10.8 A 12
Lire(B) # on a saisi la valeur 30.7 B  10
C  A*B C  A-B
A4 A  A+3
B  A*5 B B+2
Ecrire (A,B,C) Ecrire (A,B,C)
Fin Fin
Résultat :…………………………………….. Résultat :……………………………………..

Exercice 3 :

1. Écrire un algorithme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le
carré et le cube de ce nombre.
2. Écrire un algorithme qui demande à l’utilisateur d’entrer le rayon (en cm) d’un disque de type
réel, puis qui calcul et affiche la surface de ce disque en cm², mm² et m².
3. Écrire un algorithme qui demande à l’utilisateur d’entrer les coordonnées (de type entier) de
deux points du plan A et B, puis qui calcul et affiche la distance entre les deux points A et B.
4. Donner un algorithme qui permet de calculer la surface et le volume d’un parallélogramme
sachant sa longueur L, largeur l et sa hauteur h, l’algorithme affichera la surface et le volume.

Hosni M. 1/8 18/02/2024


Instructions de Contrôle :

Exercice 4 :

Donner un algorithme qui demande le nom et le prénom d’un étudiant, les notes des matières
scientifiques (Maths, info, lang) avec leurs coefficients.

1. L’algorithme doit calculer et afficher la moyenne des matières de la manière suivantes :

Bonjour, nom prénom votre moyenne est : moyenne


2. Ajouter les instructions qui permettent d’afficher selon la moyenne obtenue avec la mention
validé ou non validé si la moyenne >=11 on affichera Validé, si la moyenne <11 on affichera
Non valider

Exercice 5 :

Un démarcheur à domicile est rémunéré avec un salaire fixe de 3000 dhs par mois. Il perçoit aussi
une commission qui représente 5% du montant des ventes qu'il a réalisé. Le salaire ainsi obtenu est
également augmenté de 10 % pour prendre en compte ses frais de déplacement.

Écrire un algorithme qui calcule son salaire étant donné le montant des ventes réalisé.

Exercice 6 :

Écrire un algorithme qui demande à l’utilisateur d’entrer les informations suivantes d’une personne :
le sexe de type chaîne de caractères (M ou F), la taille en cm et le poids en kg de type réel, puis qui
réalise les opérations suivantes :

1. Le calcul et l’affichage du poids idéal (PI) d’une personne, sachant que ce poids théorique
est donné par la formule de Lorenz comme suit :
• Pour un homme : PI = (Taille − 100) − Taille − 150
4

• Pour une femme : PI = (Taille − 100) − Taille − 120


4

2. Le calcul et l’affichage d’indicateur d’obésité (Body Mass Index) où BMI = Poids2 avec
Taille
taille en mètre.
3. L’affichage d’état d’une personne selon les cas suivants :
Normale : BMI ≤ 27 Obèse : BMI > 27 Malade : BMI ≥ 32

Exercice 7 :

Écrire un algorithme qui lit le salaire d’un employé et calcule le montant à payer au service des
impôts. Sachant que le taux d’impôt est :

Hosni M. 2/8 18/02/2024


- 0% si le salaire <2000 Dh
- 5% si le salaire appartient à [2000,4000[
- 10% si le salaire appartient à [4000, 10000[
- 20% si le salaire est >= 10000.
Exercice 8 :

Écrire un algorithme qui permet de lire 3 nombres et les afficher dans l’ordre décroissant.

Exercice 9 :

Écrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :

• "bébé" moins de 2 ans


• "Poussin" de 2 à 6 ans
• "Pupille" de 6 à 9 ans
• "Minime" de 10 à 11 ans
• "Cadet" après 12 ans

Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ?

Exercice 10 : Contrôle Mars 2023

Écrire un algorithme qui permet d’entrer la date d’aujourd’hui (mm, jj, aa) puis demande le nom de
la personne ; si ce nom = Ali il y a affichage de "Bienvenue Ali" puis lui demande sa date
d’anniversaire et la compare à la date d’aujourd’hui si c’est la même il y a affichage de "Joyeux
Anniversaire Ali" sinon il y a affichage "Erreur de personne !"
N.B : mm, jj, et aa sont des entiers qui représentent le mois, le jour et l’année respectivement.

Boucles :
Exercice 11 :

• Écrire un algorithme qui calcule la somme S et le produit P des N premiers termes positifs
avec N donné par l’utilisateur 𝑆 = ∑𝑁 𝑁
𝑖=1 𝑖 et 𝑃 = ∏𝑖=1 𝑖 .
• Modifier l’algorithme pour calculer la somme des N premiers termes positifs impaires.
• Modifier l’algorithme pour calculer la somme des N premiers termes positifs pairs non
multiple de 3.
• Donner un algorithme qui calcule la somme suivante 1/2 + 1/4 + 1/8 +…+1/2N (N Є IN*).

Exercice 12 : Nombre premier

• Donner un algorithme qui demande d’entrer un nombre entier N, puis il affiche si le nombre est

Hosni M. 3/8 18/02/2024


premier ou non. Un nombre premier est un nombre qui accepte que deux diviseurs 1 et lui-
même.
• Ajouter les instructions qui permettent d’afficher tous les nombres premiers inférieurs à un
nombre entier N donné par l’utilisateur.
• Changer l’algorithme pour qu’il affiche tous les nombres premiers entre a et b donné par
l’utilisateur.
• Ajouter les instructions qui permettent de faire la somme des nombres premiers entre a et b.

Exercice 13 : Nombre parfait

Un nombre est dit parfait s'il est égal à la somme de tous ses diviseurs stricts.

Exemple : 28 est parfait car 28=1+2+4+7+14.

• Écrire un algorithme qui permet de saisir un nombre entier et détermine s’il parfait.
• Donner un algorithme qui permet d’afficher tous les parfaits premiers inférieurs ou égaux à un
nombre P saisi au clavier.
• Modifier l’algorithme précédent pour qu’il affiche tous les nombres parfaits compris entre les
entiers a et b et affiche leurs nombres.

Exercice 14 : Les suites

Soit la suite suivante :

U0=3 Un= 2*Un-1


• Donner un algorithme qui demande un nombre entier n et qui calcule et affiche la valeur de
terme Un.
• Les nombres de Fibonacci sont caractérisés par la série suivante :
U0=0
U1=1
Un= Un-1+ Un-2
• Donner un algorithme qui calcule et affiche le Nième terme de cette suite. N sera saisi au
clavier.

Exercice 15 :

Écrire un programme qui affiche le plus petit entier n tel que 1² + 2² + 3² + ... + n² dépasse 12345.

Exercice 16 :

Écrire un Algorithme qui demande à l’utilisateur un nombre compris entre 10 et 20, jusqu’à ce que
la réponse convienne.
En cas de réponse supérieure à 20, on fera apparaitre le message : ‘Plus Petit !’, et inversement ‘Plus

Hosni M. 4/8 18/02/2024


Grand !’, si le nombre es inférieure à 10.

Exercice 17 : Chiffres d’un nombre

• Écrire un algorithme qui affiche les chiffres d’un nombre entier N saisi par l’utilisateur.
• Modifier l’algorithme pour calculer la somme des chiffres d’un nombre entier

Exemple : si N= 4523, l’algorithme calculera la somme suivante S = 4+5+2+3 = 14.

Exercice 18 :

• Écrire un algorithme qui permet d’afficher le premiers rang N tel que la somme
S= 1+1/2-1/3+1/4- 1/5+…±1/N soit proche de 1,33 (avec erreur de 1/100 près).

Exercice 19 :

Soit un montant m donné déposé dans une caisse d’épargne à un taux d'intérêt annuel t donné.

• Elaborez un algorithme qui calcule :


- Le montant épargné après 10 ans.
- Le nombre d’années nécessaires pour que ce montant atteigne 1 000 000 DH.

Exercice 20 :

Écrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres
suivants. Exemple :
• Si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27.

Exercice 21 :

Écrire un algorithme qui calcul la puissance d’un nombre A entré par l’utilisateur à la puissance n
entre par l’utilisateur sans utiliser l’opérateur ^ et la fonction pow.

Exercice 22 :

Écrire un algorithme lit un nombre entier positif et le convertit en binaire.

Exercice 23 :

• Calculer la racine carrée d’un nombre X par La suite suivante :


1 𝑋
𝑈0 = 1 𝑒𝑡 𝑈𝑛+1 = 2 ∗ (𝑈𝑛 + 𝑈 )
𝑛

• Écrire un algorithme qui permet de lire un nombre X et une valeur entière n puis affiche tous les
termes de la suite 𝑈𝑛 , On remarquera que 𝑈𝑛 converge vers √𝑋.

Hosni M. 5/8 18/02/2024


Exercice 24 :

Nous nous intéressons à une suite de nombres entiers terminée par la saisie d’un zéro qui ne fait pas
partie de la suite. Exemple : 1, 5, 2, 8, 9, 3, 4, 0.

Écrire un algorithme permettant de réaliser les tâches suivantes :

1) Détermination du plus grand élément de la suite,


2) Détermination du plus petit élément de la suite,
3) Calcul de la somme des éléments de la suite,
4) Calcul de la moyenne des éléments de la suite,
5) Calcul de la somme des éléments pairs de la suite,
6) Prévoir un affichage à l’écran de tous les résultats calculés.

Exercice 25 : Test C++ 2021-2022

• Ecrire un algorithme qui permet de lire 30 entiers et de vérifier s’ils sont consécutifs (dans
l’ordre croissant) ou non, sans déclarer 30 variables. On utilisera juste quelques variables.
Exemples :

• 5 6 7 ...... 33 34 35 : Les 30 valeurs sont consécutives.


• 5 6 7 ... 11 12 16 17 18 ... 37 38 39 : les 30 valeurs ne sont pas consécutives.

Exercice 26 : Contrôle Mars 2023

Compléter l’algorithme suivant conformément à son exécution ci-dessous.


Algorithme: GuessMe_CompleteMe
Déclaration:
Variables:
a, b, n, less, high: Entiers
Début
………………………………………………………………………….;
high <- 0;
Ecrire("Donner deux valeurs du borne a et b");
Lire(a,b);
………………………………………………………………………….
Ecrire("Donner un nombre entier");
…………………………………………………………… ;
Si(n<a) Faire
…………………………………………… ;
FinSi
Si(n>b) Faire
…………………………………………… ;
FinSi
…………………………………………………………………………………. ;
Ecrire("Vous avez gagné, la valeur", …..…….., "exsiste dans l'intervalle ", ……..……," et ", ……………..);
Ecrire(", après", ……………………………….., " tentatives \n");
Ecrire("Fin du programme");
Fin

Hosni M. 6/8 18/02/2024


Exécution

Exercice 27 : Contrôle Mars 2023

On considère un nombre entier positif AB à deux chiffres A et B tels que A diffère de B.


Soit par exemple AB = 19 :
• En inversant les chiffres on obtient 91.
• On effectue la différence entre 91 et 19 pour obtenir le nombre 72 = 91 – 19.
On répète ce procédé avec 72, on obtient 45 = 72 – 27.
Une dernière répétition de cette méthode donne 9 = 54 – 45.

La liste des nombres ainsi générée est appelée liste vers 9 car elle s'arrête toujours avec le nombre
9.

Travail à faire :
Écrire un algorithme qui lit un nombre entier N, et vérifie que ce dernier est bien positif à
deux chiffres distincts. Si c’est le cas, le programme affichera la liste des nombres vers 9 à partir
de N. Sinon le programme affichera un message d’erreur.

Exemples :

• Pour N = 19, on affichera 19, 72, 45, 9.


• Pour N = 24, on affichera 24, 18, 63, 27, 45, 9.
• Pour N = 22 ou N = 5, on affichera « Nombre invalide ! ».

Exercice 28 :

Écrire un algorithme qui saisit un entier et qui l’affiche à l’envers.


Exemple : l’utilisateur saisit 123456 et l’algorithme affiche 654321.

Exercice 29 :

Hosni M. 7/8 18/02/2024


Écrivez un algorithme qui lit un entier strictement positif et affiche la valeur de la plus grande
puissance de 2 qui soit inférieure ou égale à ce nombre.

Exemples :
• L’utilisateur a entré 10, Résultat : 3 car (23=8).
• L’utilisateur a entré 73, Résultat : 6 car (26 = 64).

Exercice 30 :

Écrire un algorithme qui permet de trouver si un nombre introduit par l’utilisateur est factoriel
d’un entier.

Exercice 31 :

Écrire un programme qui prend un entier et vérifie qu’il est strictement positif puis affiche :

• Les chiffres de ce nombre par ordre de la droite vers la gauche.


• Le produit de ces chiffres.
• Les tentatives avant saisir un entier strictement positif.

Exercice 32 : Watermelon Problem

Un jour d'été torride, Pete et son ami Billy ont décidé d'acheter une pastèque. Ils ont choisi
la plus grosse et la plus mûre, selon eux. Après cela, la pastèque a été pesée, et les balances ont montré
w kilos. Ils se sont précipités à la maison, mourant de soif, et ont décidé de diviser le fruit, mais ils ont
rencontré un problème difficile.

Pete et Billy sont de grands fans des nombres pairs, c'est pourquoi ils veulent diviser la
pastèque de manière à ce que chacune des deux parties pèse un nombre pair de kilos, tout en n'étant
pas obligatoirement égales. Les garçons sont extrêmement fatigués et veulent commencer leur repas
le plus rapidement possible, c'est pourquoi vous devriez les aider et découvrir s'ils peuvent diviser la
pastèque comme ils le souhaitent. Bien sûr, chacun d'eux devrait obtenir une partie de poids positif.

Entrée

La première (et unique) ligne d'entrée contient un nombre entier w (1 ≤ w ≤ 100) — le poids
de la pastèque achetée par les garçons.

Sortie

Imprimez OUI, si les garçons peuvent diviser la pastèque en deux parties, chacune pesant
un nombre pair de kilos ; et NON dans le cas contraire.

Hosni M. 8/8 18/02/2024

Vous aimerez peut-être aussi