Documente Academic
Documente Profesional
Documente Cultură
Exercice N° 1
a, b, c et d sont quatre variables numériques. Donnez les valeurs finales de a, b, c et d après exécution de
l’algorithme suivant, les valeurs initiales sont :
Exercice N° 2
Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si le produit est négatif ou positif
(on inclut cette fois le traitement du cas où le produit peut être nul). Attention toutefois, on ne doit pas calculer le
produit !
Exercice N° 3
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
• "Poussin" de 6 à 7 ans
• "Pupille" de 8 à 9 ans
• "Minime" de 10 à 11 ans
• "Cadet" après 12 ans
Peut- on concevoir plusieurs algorithmes équivalents menant à ce résultat ?
Exercice N° 4
Ecrire un algorithme qui permet de lire 3 nombres entiers n1, n2 et n3 et qui permet d’affecter la valeur « vrai » à une
variable booléenne Ok si les deux nombres n1 et n2 sont plus grands que 15 et si n3 est positif.
Exercice N° 5
Ecrire un algorithme qui permet d’imprimer le résultat d’un étudiant à un module sachant que ce module est
sanctionné par une note d’oral de coefficient 1 et d’une note d’écrit de coefficient 2. La moyenne obtenue doit être
supérieure ou égale à 10 pour valider le module.
L’algorithme devra afficher « reçu » si le module est validé ou « refusé » sinon.
Exercice N° 6 : Trouver les 3 plus petits nombres parmi 4
Soient trois nombres distincts x, y et z classés par ordre croissant (donnés par l’utilisateur au clavier) et un nombre
quelconque n (également donné par l’utilisateur). Afficher les 3 plus petites valeurs de ces 4 variables.
Exercice N° 7 : Max et min
Soient deux nombres entiers x et y. Rangez dans x la plus petite valeur et dans y la plus grande. Affichez la plus
petite puis la plus grande.
Exercice N° 8 : Calcul d’un salaire
Ecrire un algorithme permettant de calculer le salaire d’un employé payé à l’heure à partir de son salaire horaire et
du nombre d’heures de travail. Les règles de calcul sont les suivantes : le taux horaire est majoré pour les heures
supplémentaires : 25% au‐delà de 160h et 50% au‐delà de 200h.
Exercice N° 9 : Résolution d’une équation du second degré ax²+bx+c
Écrire un algorithme qui demande à l’utilisateur la valeur de a,b et c et indique si elles existent les éventuelles
solutions.
Rappel : Calcul du discriminant Δ = b2 − 4ac
Si Δ < 0, pas de solution réelle
Si Δ = 0, une solution pour x1 = -b/2a
Si Δ > 0, deux solutions, x1 et x2
Page 1
Exercice N° 10 :
Ecrire un programme qui demande la température extérieure en degrés celsius et affiche "il gèle" si le nombre est
négatif et "alerte à la canicule" si le nombre est supérieur à 30.
Exercice N° 11 : Transcription littérale des nombres
Transcrire littéralement en français un entier entre 1 et 1000 (exemple 31 = trente et un ; 279 = deux cent soixante-
dix-neuf) puis l’afficher
Exercice N° 12 : L'horloge
La transcription littérale de l'heure en adoptant le parler usuel (cinq heures moins vingt ; midi et quart ; etc.) fournit
un bel exemple de programme se découpant en petites fonctions conduisant à des emboîtements de conditions qui
demandent une certaine attention.
Exercice N° 25 :
Ecrire un algorithme et un programme Pascal qui permet de lire l’année, et le nombre d’un mois puis affiche le
nombre de jours correspondant à ce mois.
Exercice N° 26 :
Ecrire un algorithme et un programme Pascal qui permet de lire 3 réels a, b et c puis les afficher dans l’ordre
croissant.
Exercice N° 27 :
Ecrire un algorithme et un programme Pascal qui permet de lire un entier composé de deux chiffres et puis d’afficher
sa traduction en langage écrit,
Exemple : 21 : Vingt-et-un.
Exercice N° 28 : Date du lendemain
On souhaite écrire un programme calculant la date du lendemain d’un jour donné.
Question 1 : Écrire une fonction calcul_lendemain(jour,mois,annee) réalisant ce calcul. Elle utilisera des fonctions qui
seront explicitées plus tard : teste_dernier_jour(jour,mois,annee) et teste_dernier_mois(mois). Vous devez expliquer
ce que doivent faire ces fonctions sans écrire le détail de leur algorithme, et en particulier l’utilisation des
paramètres.
Question 2 : Écrire l’algorithme de la fonction teste_dernier_mois(mois).
Question 3 : Écrire l’algorithme de la fonction teste_dernier_jour(jour,mois,annee).
Question 4 : Écrire ces algorithmes en langage C. La fonction principale main devra calculer la date du lendemain du
31 décembre 2006, du 28 février 1900, du 28 février 2000, du 28 février 2003 et du 30 juin 2005.
Exercice N° 29 :
Ajouter des parenthèses explicitant l’ordre d’évaluation des expressions suivantes:
a+b*c
*p++
a = b == c
g(1,2,3) + 4
a=b=c=0
Exercice N° 30 :
On se propose d’écrire un programme permettant de calculer la durée de vol d'un avion connaissant son heure de
départ et son heure d’arrivée (heure, minute, seconde) en supposant que le départ et l'arrivée ont eu lieu le même
jour.
Exercice N° 31 :
On se propose d’écrire un programme qui permet de saisir 3 chaines de caractères et d’afficher la chaine qui a le
plus grand nombre de caractères.
Exercice N° 32 : Bac Tunisien, Pratique, 2001
Ecrire un programme qui permet de saisir les coordonnées des trois sommets A, B et C d'un triangle puis détermine
et affiche la nature du triangle (isocèle, équilatéral ou quelconque).
Exemple :
Entrée : A(0,0), B(2,2), C(1,5)
Sortie : ABC est isocèle
Exercice N° 33 :
On vous donne trois nombres entiers non nuls. Ecrire un programme qui détermine si l'un d'eux est égal à la somme
des deux autres. La fonction renvoie ce nombre s'il existe, 0 sinon.
Exemple :
Entrée1 : x=18, y=42, z=24
Page 3
Sortie1 : 42
Entrée2 : a=11, b=37, c=18
Sortie2 : 0
Exercice N° 34 :
Construire une calculette simple avec les opérations (+,-,*,/)
Exercice N° 35 :
Écrire un algorithme et un programme intitulé JOURS, qui affiche le nombre de jours d'un mois donné.
On convient que le mois est saisi sous forme d'un entier ente 1 et 12
Remarque : pour le moi de Février (2) le programme demandera l'année.
Exemple
• Entrée : 4
• Sortie : 30
Il s'agit de déterminer le nombre de jours d'un mois donné. Le problème se pose pour le mois de février qui est de 29
jours pour les années bissextiles. Une année est bissextile si elle est divisible par 4 quand elle est non multiple de
100 sinon c'est son quotient par 100 qui doit être multiple de 4. Exemple : 1900 est une année non bissextile par
contre 2000 l'est.
Résultat = Écrire("Le nombre de jours du mois saisi est ", nbj)
nbj = [Lire("N° mois : ", m), nbj = 31 ] si (m dans {4,6,9,11}) alors
[nbj = 30]
sinon
[Lire("Année : ",an), nbj=28]
si (an MOD 400 = 0) or ((an MOD 4 =0) and (an MOD 100)<>0) alors
[nbj = 29]
FinSi
Fin nbr_jours_mois
Exercice N° 36 : Bases d’ADN
Écrire un programme qui lit le nom de l’une des bases constituantes l'ADN puis affiche sa base complémentaire.
Votre programme doit aussi afficher un message d'erreur dans le cas où la base n'existe pas.
Exemple :
Entrée1 : B="A"
Sortie1 : La base correspondante est T
Entrée2 : B="C"
Sortie2 : La base correspondante est G
Entrée3 : B="D"
Sortie3 : Erreur
program ADNBase;
uses wincrt;
var base:char;
begin
writeln('Donner la base de l''ADN');
readln(base);
base:=UpCase(base);
Case base of
'A':writeln('T');
'T':writeln('A');
'C':writeln('G');
'G':writeln('C');
else writeln('Entrée non valide');
end;
end.
Exercice N° 37 :
Page 4