Vous êtes sur la page 1sur 9

Série de révision : algorithmique & programmation

Exercice N°1 :
 Dans le tableau ci-dessous, remplir les deux colonnes « Résultat » et « Type de
résultat » par le résultat et le type correspondant à chacune des expressions de la première
colonne.
Expression résultat Type résultat
X =RANDINT(10,99) < SQR(10)
Y =INT(345/10)
Z=ROUND(7.45) // SQRT(4)
V=ORD(CHR(48))
W=(ROUND(1.67)+SQRT(4)) >INT(1.67)
A=INT(5.5) * ROUND(5.5)
B= "CMAF" .find("CAF") + (32 MOD 17)
D =(ORD(CHR(65))-5)
E ="info".upper()
F ="SMART".lower()
G=F[:1]+F[4:]
H=E[2:3]
Exercice N°2 :
 Soient les variables chaînes de caractères suivantes ainsi définies :
Ch = "2022/2023" ;
Ch1 = "serie 1"
Ch2 = "algo&prog"
Ch3= "Python"
 En utilisant les chaînes de caractères déjà définies. Ecrire les instructions permettant de
trouver les résultats suivants :
Instruction résultat
Notation algorithmique Notation en python
Ch4sous_chaine( …….., …….. , …… ) Ch4=ch[ …………………… ] Ch4 = "23"
Ch5efface(……………….., …………….. , ………..) Ch5=ch1[……]+ch1[………] Ch5 = "s1"
Lvaleur(sous_chaine(….… , ………. , ………….)) L=22
Ch6sous_chaine( …….., …….. , …… ) Ch6= "&"
Ch5efface(……………….., …………….. , ………..) Ch5="algo"
Nvaleur(………………….) N=23
Ppos("……",………………………………) P=ch.find("…………..") P=4
Exercice N°3 :
Soit le programme suivant : Soit le programme suivant :

-quel est le résultat affiché par ce programme -quel est le résultat affiché par ce programme
lorsque ch="ProgPython" lorsque ch="A9/b5"
Réponse : ……………………………. Réponse : …………………………….
-Quel est le rôle de ce programme ? -Quel est le rôle de ce programme ?
……………………………………………………….. ………………………………………………………..
Exercice N°3 : Cocher la bonne réponse

X=3 Y=4
X=7 Y=2
X=8 Y=3

Exercice N°3 :
Soit le programme intitulé info qui permet de :
✔ Saisir la taille N d’un tableau T, avec (1<N<15).
✔ Remplir un tableau T par N chaînes des caractères tel que la taille de chacune est dans [3..20].
✔ Chercher et afficher tous les chaînes Totalogramme contenue dans T.
« Une chaîne de caractères est dite Totalogramme si elle commence et se termine par la même
lettre. »
(Sans distinction entre majuscule et minuscule)
Exemple : Pour N=6 :

Les mots totalogramme sont : temporairement, ses, elle


Exercice N°3 :
Ecrire un algorithme qui permet de vérifier si un entier N donné à quatre chiffres est propre.
Un entier N composé de 4 chiffres est dit propre si en le multipliant par son chiffre des
unités, on obtient l’entier résultat de l’inversion des chiffres de N.
Exemples
- l’entier N =1089 est propre (En effet 1089*9 = 9801, en inversant les chiffres de 9801 on
obtient 1089=N)
- l’entier N =1002 n’est pas propre (En effet 1002*2=2004, en inversant les chiffres de 2004
on obtient l’entier 4002 ≠ 1002)
readln(ch);
x :=0 ;
For i :=1 to length(ch) do
begin
If ( upcase(ch[i]) in [‘A’..’Z’] ) then x:=x+1;
end;
Writeln(x);
1- Déclarer les variables utilisées (en pascal):
var
x,i:integer;
ch:string;
2- Pour la chaine suivante : ‘Bac2016’ , quel est le résultat affiché par le programme ?
Réponse : 3
3- Quel est le rôle du bloc1 ?
II. La structure itérative à condition d'arrêt : La boucle [Tant que … Faire] :
Activité 3 :
On se propose de chercher le PGCD (plus grand commun diviseurs) de deux entiers m et n
par la méthode de la différence.
Pour mieux comprendre la méthode, prenons un exemple: si m=10 et n=16
PGCD (10, 16) = PGCD (10, 16-10)
= PGCD (10-6, 6)
= PGCD (4, 6-4)
= PGCD (4-2, 2)
=2
● Le nombre de répétition est inconnu donc impossible d’opter pour la boucle Pour … Faire
● Voyons s’il est possible d’utiliser la boucle Répéter … Jusqu’à.
Saisir un entier N de 3 chiffres et vérifier s’il est cubique ou non.
Exemple : 153=13+53+33 est un nombre cubique.
Ecrire un algorithme intitulé PALINDROME, qui permet de lire un mot M qui ne dépasse par 15
caractères et de verifier s'il est palindrome ou non. (Un mot palindrome se lit dans les deux sens tel
que les mots
RADAR, ELLE, …).
11) Soit le programme intitulé info qui permet de :
✔ Saisir la taille N d’un tableau T, avec (1<N<15).
✔ Remplir un tableau T par N chaînes des caractères tel que la taille de chacune est dans [3..20].
✔ Chercher et afficher tous les chaînes Totalogramme contenue dans T.
« Une chaîne de caractères est dite Totalogramme si elle commence et se termine par la même
lettre. »
(Sans distinction entre majuscule et minuscule)
Exemple : Pour N=6 :

Les mots totalogramme sont : temporairement, ses, elle


Exercice5 :
Ecrire l’algorithme du sous-programme qui permet de vérifier si un entier N donné à quatre
chiffres est propre. Un entier N composé de 4 chiffres est dit propre si en le multipliant par
son
chiffre des unités, on obtient l’entier résultat de l’inversion des chiffres de N.
Exemples
1) l’entier N =1089 est propre
(En effet 1089*9 = 9801, en inversant les chiffres de 9801 on obtient 1089=N)
2) l’entier N =1002 n’est pas propre
(En effet 1002*2=2004, en inversant les chiffres de 2004 on obtient l’entier 4002 ≠ 1002)
La structure itérative à condition d'arrêt : La boucle [Répéter … Jusqu'à] :
La structure Répéter … Jusqu’à est utilisée lorsqu'on a dans le cas ou le nombre de répétition
d’un traitement donné est inconnu et que le traitement sera exécuté au moins une fois.
Vocabulaire et syntaxe :

Application :
Donner le résultat retourner le programme suivant lorsque n=4

Enoncé de l’Exercice:
Donner l’algorithme qui calcule le PGDC (plus grand diviseur commun).
Exemple : calcul du PGDC des deux nombres 1000 et 24

Pour plus de Simplicité :


À chaque ligne suivante:
A prend la valeur de B,
B celle de R.
Et, on recommence la division avec ces nouvelles valeurs de B et R.
On s’arrête lorsque R est nul.
Le PGCD est égal au B final.
Implémentation en python :
La structure itérative à condition d'arrêt : La boucle [Tant que … Faire] :
2. Définition :
La structure Tant que … Faire est utilisée lorsqu'on a dans le cas ou le nombre de répétition d’un
traitement donné est inconnu et que le traitement sera exécuté zéro ou un nombre variable de fois.
3. Vocabulaire et syntaxe :

Activité :
On se propose de chercher le PGCD (plus grand commun diviseurs) de deux entiers m et n par la
méthode de la différence. Pour mieux comprendre la méthode, prenons un exemple: si m=10 et
n=16 PGCD (10, 16) = PGCD (10, 16-10) = PGCD (10-6, 6) = PGCD (4, 6-4) = PGCD (4-2, 2) = 2
 Le nombre de répétition est inconnu donc impossible d’opter pour la boucle Pour … Faire
Impl

 Voyons s’il est possible d’utiliser la boucle Répéter … Jusqu’à.

II Multiplication russe
C’est un algorithme inspiré de la multiplication égyptienne.
• On place A dans la colonne de gauche et B dans
celle de droite.
• Colonne de gauche : on multiplie par 2
• Colonne de droite : à chaque nombre succède son
quotient dans la division euclidienne par 2.
• On s’arrête lorsqu’on obtient un 1 , à droite.
Ensuite
• Si le nombre de droite est pair, on barre la ligne
correspondante.
• Si le nombre de droite est impair, on encadre le
nombre de gauche correspondant.
• Le produit A × B est la somme des nombres encadrés.

 Écrire une analyse puis un algorithme qui permet de saisir une date de naissance sous la forme
"jj/mm/aaaa" puis d’afficher l’age.
 Exemple :

Soit la date="22/O2/1995", le programme affichera : l’age=2013-1995=18

 Ecrire un programme qui permet de saisir une chaîne de caractères CH puis d’afficher la chaîne DH
sachant que DH est formée par les deux premiers et les deux derniers caractères de CH.

 Exemple :

Lorsque CH = "GI12NHGA" on obtient le résultat HD = "GIGA"

 Ecrire une analyse puis un algorithme qui permute la partie entière et la partie décimale d’un réel x donnée.
Exemples :

x=13,68 === le résultat devient x=68,13

x=5,497 === le résultat devient x=497,5

 Ecrire une analyse puis un algorithme qui pour toute date saisie à partir du clavier sous forme d’un entier
mmaa (supposée correcte) affichera la même date dans une chaîne de caractère sous la forme "aaaa/mm"

 Exemples :

Pour 1204 donne : "2004/12"

Pour 0105 donne : "2005/01"

Ecrire une analyse, un algorithme et la traduction pascal d’un programme intitulé DATE qui pour toute date saisie
à partir du clavier sous forme d’un entier long jjmmaaaa (supposée correcte) affichera la même date sous forme
d’une chaîne de caractères sous la forme “aaaa/mm/jj’’.

Exemple :
 Pour 03032004 donne "2004/03/03"
 Pour 17112006 donne "2006/11/17"
 Pour 18092001 donne "2001/09/18"
Ecrire une analyse, un algorithme et la traduction pascal d’un programme intitulé DATE qui pour toute date saisie
à partir du clavier sous forme d’un entier long jjmmaaaa (supposée correcte) affichera la même date sous forme
d’une chaîne de caractères sous la forme “aaaa/mm/jj’’.

Exemple :
 Pour 03032004 donne "2004/03/03"
 Pour 17112006 donne "2006/11/17"
 Pour 18092001 donne "2001/09/18"

Vous aimerez peut-être aussi