Vous êtes sur la page 1sur 28

imen.essassi@tarbia.

tn Lycée 9 avril 1938- Tunis

Pensée computationnelle et programmation


Démarche de résolution de problème
Situation : Préparer un jus d’orange

Compléter le schéma suivant afin d’identifier les outils (entrées), les actions (les traitements) et les résultats (les sorties) de cette situation en réécrivant les étapes de
réalisation.

1
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Jeu 1 : Lancement de dé

Règle du jeu
Le dé contient 6 facettes. Les facettes contiennent des valeurs comprises entre ….. et …..

Travail à faire
a- Ecrire un algorithme qui permet de simuler ce jeu.
………………………………………………………………………………………………
b- En déduire le Tableau de Déclaration des Objets (TDO).

Objet Type

c- Afin d’afficher la valeur choisie par l’ordinateur, il suffit d’utiliser cette instruction :
………………………………………………………………………………………………
La fonction Alea
Définition
Alea est une fonction qui permet de saisir aléatoirement( au hasard) une valeur comprise entre une
valeur initiale Vi et une valeur finale Vf.
Exercice 1 : Lancer Thonny et remplir le tableau suivant :
Description Algorithme Python
from random import *
Retourne un nombre réel X  aléa() X = random()
aléatoire entre 0 et 1 print (X)
Ex: >>> X= random()
……………………………………………..
Générer un nombre entier dans ……………………………………………..
[val1, val2] X  Aléa (val1, val2) X = ………………… (val1, val2)
Ex: >>> ………………… (0, 20)
print(X)
…………………………………………….
Générer un nombre réel ……………………………………………..
dans ]val1, val2[ X = ………………………………………..
Ex: >>> X= uniform (10, 12.5)
……………………………………………..
print("{:10.2f}".format(x))
……………………………………………..

Savoir-faire : Les bibliothèques

from random import *

from math import *

Exercice 2
- Lancer Thonny.
2
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
- Implémenter en Python le programme qui permet de simuler le jeu du lancement de dé.
- Enregistrer le programme sous le nom « Ex2 » dans votre dossier de travail.
- Ajouter à votre programme cette instruction : print(type(D)).
Remarque : Python est sensible à la casse : print (type(X)) ≠ print (type(x))
 Qu’affiche le programme ?
………………………………………………………………………………
 En déduire le type de x.
……………………………………………………………………………….

Savoir- faire : Les objets


Un objet peut changer de valeur à tout moment dans l’algorithme.
Les types des objets standards :
Algorithme Python
Entier int
Réel float
Booléen bool
Chaîne de caractères str

Exercice 3 : Le jeu de chance Pile / Face


1- Ecrire un algorithme qui permet de simuler le résultat de la lancée d’une pièce de monnaie.
NB : Pile est symbolisée par 1 et face est symbolisée par 0.
…………………………………………………………………………………………
2-
- Lancer Thonny.
- Implémenter en Python le programme qui permet de simuler ce jeu.
- Enregistrer le programme sous le nom « Ex3 » dans votre dossier de travail.

Exercice 4 : Le jeu Taureau/ Vache


1- Ecrire un algorithme qui permet de proposer un entier positif de 4 chiffres à deviner par
l’utilisateur.
…………………………………………………………………………………………
2-
- Lancer Thonny.
- Implémenter en Python le programme qui permet de simuler ce jeu.
- Enregistrer le programme sous le nom « Ex4 » dans votre dossier de travail.

L’affectation
Notation algorithmique

3
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
X est une variable à laquelle on associe la valeur de 5.  ………………………………
Implémentation Python
L’affectation en Python est représentée sous forme du signe =
Exemple : …………………………………………………………………………………

Savoir- faire : L’affectation


Cette opération permet d’affecter une valeur ou une expression à une variable.
Au niveau de l’algorithme Au niveau du Python
x5 x=5
x  x+2 x=x+2
y  a/b y=a/b

Exercice 5
1- Compléter le tableau suivant :

Instruction Valeur de A Valeur de B Valeur de C


A5
B 7
CA
AB
BC
2- Quel est le rôle de cet ensemble d’instructions ?
…………………………………………………………………………………………
Exercice 6
1- Compléter le tableau suivant :

Instruction Valeur de A Valeur de B


A5
B 7
AA+B
BA-B
AA-B
2- Quel est le rôle cet ensemble d’instructions ?
…………………………………………………………………………………………

Le type entier
Définition : C’est l’ensemble Z des entiers relatifs.

Savoir- faire
4
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Opérateurs arithmétiques : +, -, *, /, div, mod Opérateurs de comparaison : ≤, ≥, <, >, ≠, =
Algorithme Python Algorithme Python
div // ≠ !=
mod % = ==

Exercice 7 : Compléter le tableau suivant :

Instruction Résultat Type


A  5+7
B 5-7
C 5*7
D5/7
E5 div 7
F5 mod 7
G5>7
H5≠7

Le type booléen
Définition : Le type booléen prend comme valeurs : vrai (True) ou faux (False)
Table de vérité

A B Non(A) A ou B A et B
V V
V F
F V
F F
Savoir- faire
Notation algorithmique / Notation Python

Algorithme Python
non not
et and
ou or

Exercice 8 : Compléter le tableau suivant :

Instruction Résultat Type


A  (2>7) et (-2<5)
B (Alea (1,3)<10) ou (4>2)
C non (10≠-2)
D  5  [2..10]

5
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

L’affichage
Savoir- faire
Algorithmique : Forme générale

Forme générale Exemples


Ecrire (variable) Ecrire (C)
Ecrire (message) Ecrire (Bonjour)
Ecrire (message,variable) Ecrire (La somme est : ,S)
Python : Forme générale

Forme générale Exemples


print (variable) print (C)
print(message) print(Bonjour)
print(message,variable) print(La somme est : ,S)

Exercice 9
1- Réécrire l’ensemble des instructions de l’Exercice 5 et afficher les valeurs finales de A et B.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………
2-
- Lancer Thonny.
- Implémenter cet algorithme en Python.
- Enregistrer le programme sous le nom « Ex9 » dans votre dossier de travail.
Exercice 10
1- Réécrire l’ensemble des instructions de l’Exercice 6 et afficher les valeurs finales de A et B.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………
2-
- Lancer Thonny.
- Implémenter cet algorithme en Python.
- Enregistrer le programme sous le nom « Ex10 » dans votre dossier de travail.
6
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Exercice 11
a- Ecrire ce programme sur votre b- Enregistrer le programme sous le nom
« Ex11 » dans votre dossier de travail.
c- Exécuter le programme.
d- En déduire son rôle.
…………………………………………….

machine :

Jeu 2 : Chilaformi (Version 1)

Règles du jeu
- L’ordinateur saisit aléatoirement un nombre V1 compris entre 0 et 5.
- L’utilisateur saisit un nombre V2 compris entre 0 et 5.
- Calculer la somme de V1 et V2.
- Si la somme est paire, alors afficher « Ordinateur gagnant ».
Si la somme est impaire, alors afficher « Utilisateur gagnant ».

7
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

Travail à faire
a- Ecrire un algorithme qui permet de simuler ce jeu.
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………
b- En déduire le Tableau de Déclaration des Objets (TDO).

Objet Type

c- Implémenter cette solution en Python.


Lecture / Saisie d’un objet
Savoir- faire
Algorithme Python
Ecrire (Donner un nombre : ) x=int(input(Donner un nombre : ))
Lire (x) print(type(x))  ……………………
Lire (x) x=str(input())
print(type(x))  ……………………
Ecrire (Donner votre nom : ) nom=input(Donner votre nom : )
Lire (nom) print(type(nom))  ……………………
Ecrire (Donner une note : ) note=float(input(Donner une note : ))
Lire (note) print(type(note))  ……………………
Exercice 12
a- Réorganiser ces instructions pour que l’algorithme affiche le montant à payer par un client qui a
acheté q cahiers sachant que le prix du cahier est 2500 millimes et qu’il a une remise de 10%.

1. Ecrire (“Le montant payé est : ”, m)


2. m  2500 * q
3. Ecrire (“Donner la quantité : ”), Lire (q)
4. r  (10*m)/100
5. m  m-r

b- En déduire le Tableau de Déclaration des Objets (TDO)


8
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Objet Type

Exercice 13 : Ecrire un algorithme qui permet de saisir deux entiers A et B puis calculer et afficher la
somme et le produit de A et B.
Exemple : A=5, B=3  le programme affiche : S=8, P=15
Exercice 14 : Ecrire un algorithme qui permet de saisir deux entiers A et B puis les permuter et les afficher.
Exemple : A=5, B=13  le programme affiche : A=13, B=5
Exercice 15 : Ecrire un algorithme qui permet de saisir un rayon r strictement positif puis calculer le
périmètre d’un cercle. Périmètre d’un cercle=2 π r ( π est une constante = 3,14).
Exercice 16 : Ecrire un algorithme qui permet de saisir un entier n composé de 3 chiffres puis afficher son
inverse.
Exemple : n=256  le programme affiche : nombre inversé=652
Exercice 17 : Ecrire un algorithme qui permet de saisir un entier n composé de 4 chiffres puis afficher la somme
de ses chiffres.
Exemple : n=1024 le programme affiche : S=7
Exercice 18 : Ecrire un algorithme qui permet de saisir deux entiers N et M (N et M sont deux entiers
dont chacun est composé de 2 chiffres) puis former et afficher un entier R de 4 chiffres et ceci en
intercalant le nombre N entre les 2 chiffres de M.
Exemple : Si M=56 et N=21 alors l’entier R sera égal à 5216.
Exercice 19
Ecrire un algorithme qui permet de saisir un temps t en secondes puis afficher son équivalent en heures,
minutes et secondes.
Exemple : t=4000s  le programme affiche : 1 h 6 mns 40 s

Le types caractère et chaîne de caractères


Savoir-faire : Le type chaîne de caractères
Une chaîne de caractères est une suite de caractères. Elle est composée de caractères : lettres
alphabétiques majuscules ou minuscules (M, a, …), des chiffres (0, 1,…), des signes de
ponctuation (., ?,…) et des symboles (#, &,…). Exemples : Maths / 123 / 17/02/2021 /
1+3-5 ! /  est appelée chaîne vide

Savoir-faire : Les fonctions prédéfinies sur le type chaine de caractères

Algorithme Python Description

9
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

Long(S) len(S) Retourne le nombre de caractères de la chaine S.

Retourne la première position de S1 dans S2.


Pos (S1, S2) S2.find(S1)
Si S1 n’existe pas dans S2, retourne -1

Convch(X) str(X) Convertit un nombre X en chaine.

Retourne Vrai si la chaine S est convertible en


Estnum(S) S.isnumeric()
numérique, Faux dans le cas contraire.

Retourne la conversion d’une chaine S en numérique si


Valeur(S) int(S)
c’est possible.

Retourne une partie de la chaine S à partir de la


Sous_Chaine (S, D, F) S[d:f]
position D jusqu’à la position F exclue.

Efface des caractères de la chaine S à partir de la


Effacer (S, D, F) S[:D]+S[F:]
position D jusqu’à la position F exclue.

Majus(S) S.upper() Convertit la chaine S en majuscule.

Savoir- faire : Opérateur de concaténation +


Algorithme Python Type
Ch 1+2
Ch=………..

Savoir-faire : Le type caractère


Les lettres alphabétiques majuscules ou minuscules (A..Z, a..z), les chiffres (0..9), les
signes de ponctuation (., ?,…) et les symboles (#, &, …)
   le caractère espace

Savoir-faire : Les fonctions sur le type caractère


Algorithme & Python Rôle Exemples
A ord(c) A contient le code ASCII du caractère c print(ord(A))=……
 ord(B)=……
print(ord(a))=……
 ord(b)=……
C chr(d) C contient le caractère dont le code ASCII est d print(chr(65))=……
 chr(66)=……
print(chr(97))=……
 chr(98)=……

10
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Exercice 20 : Ecrire un algorithme qui permet de saisir une chaîne de caractères composée de 5 chiffres
puis afficher ses caractères séparés par le caractère *.
Exemple : ch=12345  le programme affiche : 1*2*3*4*5
Exercices 16, 17 et 18
Exercice 21 : Ecrire un algorithme qui permet de saisir une lettre alphabétique minuscule puis afficher son
équivalent en majuscule.
Exemple : Let=a  Let en majuscule=A
Exercice 22 : Ecrire un algorithme qui permet de saisir une chaine de caractères de taille impaire, puis afficher la
chaine contenant sa longueur, son premier caractère, le caractère du milieu ainsi que le dernier caractère.
Exemple : ch=poste  Le programme affiche : 5pse
Exercice 23 : Ecrire un algorithme qui permet de saisir une chaine de caractères de taille maximale 7 puis
remplacer son premier caractère par son successeur. (2 méthodes)
Exemple : ch=portail  Le programme affiche qortail
Exercice 24 : Exécution manuelle
Soit l’algorithme suivant :
Début
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
D  n mod 100
SC+D
Ecrire(S=,S)
Fin
Questions
1- Exécuter manuellement cet algorithme pour les valeurs suivantes :
 n=123
n C D S
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
D  n mod 100
SC+D
Ecrire(S=,S)
 n=269

11
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
n C D S
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
D  n mod 100
SC+D
Ecrire(S=,S)
2- Quel est le rôle de cet algorithme ?
……………………………………………………………………………………………………
3- En utilisant une autre méthode, écrire un algorithme ayant le même rôle.

Savoir-faire : Le type chaîne de caractères


En python, le type chaîne de caractères est un type immutable c’est-à-dire un objet de type chaine de caractères
ne peut pas être modifié.

Savoir-faire : Structure conditionnelle simple : Syntaxe


Algorithme Python
Si condition Alors Traitement 1 if conditions(s) :
Sinon Traintement 2 Traitement 1
Fin si else :
Traitement 2
Savoir- faire : Structure conditionnelle généralisée : Syntaxe
Algorithme Python
Si condition Alors Traitement1 if conditions 1 :
Sinon si condition 2 Alors Traitement 2 Traitement 1
Sinon si ……… Alors elif condition 2 :
Traitement 2

Sinon Traitement n else :


Fin si Traitement n

Exercice 25 : Un algorithme peut aussi être représenté sous forme graphique. On parle d'organigramme (ou
d'ordinogramme).
a- Transformer cet organigramme en un algorithme.

12
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

b- Implémenter cette solution en Python.

Savoir- faire : Structure conditionnelle à choix : Syntaxe


Au niveau de l’algorithme Au niveau du Python
Selon Sélecteur Faire
V1_1, V1_2,…,V1_n : Traitement
1
V2_1..V2_n : Traitement 2

[Sinon Traitement n]
Fin Selon

Savoir- faire : Le type scalaire


Prédécesseur Valeur Successeur Type
10

13
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
5
C
d

5,2

7,05

porte
Le type scalaire a un et un seul prédécesseur et un et un seul successeur. Exemples :
……………………………………………………………………………………………………………
Exercice 26 : Ecrire un algorithme qui permet de saisir un entier composé de 3 chiffres et de vérifier s’il est
cubique. Un entier naturel de 3 chiffres est dit cubique s’il est égal à la somme des cubes de ses trois chiffres. (2
méthodes).

Exemples : 153 est cubique car 153=13+53+33, 300 n’est pas cubique car 300 ≠ 33+03+03 (=27)
Exercice 27 : Ecrire un algorithme qui permet de saisir deux entiers A et B puis afficher le maximum de ces deux
entiers.
Exemple : a=5, B=-7  le programme affiche : Le maximum de 5 et -7 est 5.
Exercice 28 : Ecrire un algorithme qui permet de saisir une chaîne ch contenant des chiffres et un caractère c qui
doit être un chiffre puis afficher si c existe ou non dans ch.
Exemple : ch=1568 et c=8  Le programme affiche : 8 existe dans 1568
Exercice 29 : Ecrire un algorithme qui permet de saisir une lettre alphabétique (majuscule ou minuscule) puis
afficher son rang dans l’alphabet. (2 méthodes)
Exemple : Let= B  Rang dans l’alphabet=2
Exercice 30 : Ecrire un algorithme qui permet de saisir un entier X puis afficher s’il est positif ou négatif.
Exemple : X=5  5 positif
Exercice 31 : Ecrire un algorithme qui permet de saisir un entier X puis afficher s’il est positif ou négatif ou neutre.
Exemple : X=0  0 neutre
Exercice 32 : Ecrire un algorithme qui permet de saisir deux entiers A et B puis afficher le signe de leur produit :
positif, négatif ou neutre. Nb : Ne calculer pas le produit
Exemple : A=7, B=-2  Le signe du produit est négatif
Exercice 33
Le jeu consiste à tirer au hasard un entier X formé de deux chiffres.
 Si le chiffre de dizaine est égal au chiffre d'unité, on gagne 10 points.
 Si le nombre est divisible par 3, on gagne 2 points.
 Si le chiffre de dizaine est impair, on gagne 1 point.
 Si les 3 conditions sont vérifiées alors afficher X est un nombre magique
14
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
 Afficher le score final.
Exemple : si le nombre tiré est 99, on gagne 13 pts  99 est un nombre magique
Ecrire un algorithme qui permet de calculer, afficher le score obtenu et afficher si le nombre est magique.
Exercice 34 : Ecrire un algorithme qui permet de saisir un entier J compris entre 1 et 7 puis afficher le jour
correspondant.
Exemple : J=1  Jour=dimanche
Exercice 35 : Ecrire un algorithme qui permet de saisir un mois m compris entre 1 et 12 et une année a composée
de 4 chiffres puis afficher le nombre de jours du mois.
NB : Une année est dite bissextile si elle est divisible par 4.
Exemples

 m=5  Nbjours=31
 m=4  Nbjours=30
 m=2, a=2000 (année bissextile)  Nbjours=29
 m=2, a=1999 (année non bissextile)  Nbjours=28

Exercice 36 : Ecrire un algorithme qui permet de saisir l’heure (comprise entre 0 et 23) et les minutes
(comprises entre 0 et 59) puis afficher l’heure qu’il sera une minute plus tard.
Exemples

 Si l'utilisateur tape 21 puis 32, le programme affiche : "Dans une minute, il sera 21 h 33 mns".
 Si l'utilisateur tape 21 puis 59, le programme affiche : "Dans une minute, il sera 22 h 00 mns".
 Si l'utilisateur tape 23 puis 59, le programme affiche : "Dans une minute, il sera 00 h 00 mns".
Exercice 37 : Ecrire un algorithme qui permet de saisir deux réels a et b puis résoudre dans R l’équation ax+b=0.
Exemple : a= 2, b=6  x=-3
Exercice 38 : Ecrire un algorithme qui permet de saisir 3 réels a, b et c puis résoudre dans R l’équation
ax2+bx+c=0.
 Si a ≠ 0, il s’agit de calculer =b2-4ac
−b− √ ❑ −b+ √ ❑
 Si =0 puis x1¿ et x2¿
2a 2a
−b
 Si =0 alors le programme affiche une solution unique : ¿
2a
 Si <0alors le programme affiche « Pas de solutions réelles ».
 Sinon (a=0), l’équation devient de premier degré :
−c
 Si b ≠ 0 alors le programme affiche la solution : ¿
b
 Sinon (b = 0) :
 Si c ≠ 0 alors le programme affiche « Ensemble vide ».
 Sinon (c = 0) alors le programme affiche « Ensemble R ».
Tester ce programme pour :
 a=2, b= -5, c= 2
 a=2, b= -1, c= 6
15
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
 a=2, b=4, c=2
a- Implémenter cette solution en Python.

Savoir-faire : Fonctions prédéfinies des types numériques

Exercice 39 : Ecrire un algorithme qui permet de saisir un caractère c puis afficher s’il est consonne majuscule ou
voyelle majuscule ou consonne minuscule ou voyelle majuscule ou point de ponctuation ou chiffre ou symbole.
Exemple : c=!  Le programme affiche : signe de ponctuation
Exercice 40 : Ecrire un algorithme qui permet de saisir deux entiers A≥0 et B≥0 et un opérateur op ( +, -, *,
/) puis afficher le résultat de A op B.

Exemple : Si A=7, B=2, op=/ alors le programme affiche : 7/2=3,5

Exercice 41 : Ecrire un algorithme qui permet de saisir deux dates valides d1 et d2 sous forme jj/mm/aaaa puis
afficher la date la plus récente.

Exemple : d1=31/01/2017, d2=02/02/2018  02/02/2018 est plus récente que 31/01/2017

Jeu 3 : Chilaformi (Version 2)

Règles du jeu
- L’ordinateur saisit aléatoirement un nombre V1 compris entre 0 et 5.
- L’utilisateur saisit un nombre V2 compris entre 0 et 5.
- Calculer la somme de V1 et V2.
- Si la somme est paire, on ajoute 1 au score S1 de l’ordinateur.

16
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Si la somme est impaire, on ajoute 2 au score S2 de l’utilisateur.
- Le jeu s’arrête quand l’un des scores (S1 ou S2) atteint 5.
- Afficher le joueur gagnant.
Savoir faire : Structure itérative à condition d’arrêt : Syntaxe
Algorithme Python
Traitement

Tant que condition faire

Traitement Traitement

Fin Tant que while condition :

Traitement Traitement
Répeter

Traitement

Jusqu’à condition(s)
Exercice 42 : Transformer l’organigramme suivant en un algorithme.

Exercice 43 : Ecrire un algorithme qui permet de saisir une chaîne ch de taille maximale 10 puis afficher
si elle ne contient que des lettres alphabétiques et des espaces ou non.
Exemples : Ab Cd Gh est une chaine alphabétique, Ab1c2.+ n’est pas une chaîne alphabétique
Exercice 44 : PGCD (Méthode de différence)
Ecrire un algorithme qui permet de saisir 2 entiers a et b strictement positifs puis calculer et afficher leur
PGCD en utilisant la méthode de différence.
Exemple : a=12, b=8
17
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
PGCD (12, 8) = ?
12>8  PGCD (12, 8) = PGCD (12-8,8) = PGCD (4,8)
4<8  PGCD (4,8) = PGCD (4,8-4) = PGCD (4,4)
4=4 Donc PGCD (12, 8)=4
Exercice 45 : PPCM
Ecrire un algorithme qui permet de saisir deux entiers A0 et B0, calculer et afficher PPCM(A,B).
Exemple : a=8, c=12  PPCM(8,12)=24
Exercice 46 : Palindrome
Ecrire un algorithme qui permet de saisir une chaîne de taille 0 puis vérifier si elle est palindrome. Une
chaine est dite palindrome si elle est la même de droite à gauche et de gauche à droite.
Exemples : AZZA, radar
Exercice 47 : Nombre Premier
Ecrire un algorithme qui permet de saisir un entier N0 puis vérifier s’il est un nombre premier.
Un nombre est dit premier s’il est divisible par 1 et par lui- même.
Exemples : 5, 7, 11 sont des nombres premiers.

Savoir- faire : Structures itératives complètes : Syntaxe


Algorithme Python
for element in sequence :
Traitement
La variable element est dite variable d’‘itération, elle prend
successivement les différentes valeurs de la sequence
Pour compteur de Vi à Vf faire
Exemples
Traitement for i in range(10) :
print(i) # affiche les entiers de 0 à 9
for i in range(5,10) :
18
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Finpour print(i) # affiche les entiers de 5 à 9
for n in range(10,20,2):
Vi : valeur intiale du compteur print(n) # affiche les entiers de 10 a 18
avec un pas =2 (10,12 ,14,16,18)
Vf : valeur finale du compteur
for i in range (10,0,-1) :
print (i) #affiche les entiers de 10 à 1
avec un pas = -1
Exercice 48 : Ecrire un algorithme qui permet de saisir un entier n≥0 puis calculer et afficher n !.
n !=1*2*3*4*…*(n-1)
Exemples :
 n=0  0 !=1
 n=1  1 !=1
 n=4  4 !=1*2*3*4=24
Exercice 49 : Ecrire un algorithme qui permet de saisir deux entiers x et y (x 0, y0) puis calculer et afficher
xy.
Exemple : x=3, y=2  32=8
Exercice 50 : Ecrire un algorithme qui permet d’afficher les nombres pairs composés de 2 chiffres.
Le programme affiche : 10, 12, 14,…..,98
Exercice 51 : Ecrire un algorithme qui permet de saisir un entier n0 puis afficher s’il est parfait ou non.
Un nombre n est dit parfait s’il est égal à la somme de ses diviseurs sauf lui- même
Exemple : n=6, les diviseurs de 6 sauf lui- même : 1, 2 et 3  1+2+3=6  6 est parfait
Exercice 52 : Ecrire un algorithme qui permet de saisir une chaîne ch non vide et de taille maximale 10,
puis calculer le nombre de lettres, de chiffres et de symboles dans cette chaîne.

Exemple : ch=a1$BC#  nbre de lettres = 3, nbre de chiffres = 1, nbre de symboles = 2

Exercice 53 : Ecrire un algorithme qui permet de saisir une chaîne ch de taille minimale 4 puis calculer la
somme des chiffres dans ch.
Exemple : ch=a1$BC#7  S=8
Exercice 54 : Ecrire un algorithme qui saisit une chaîne ch non vide puis affiche le nombre de mots
de cette chaîne. On suppose que deux mots sont séparés par un et un seul espace.
Exemple : ch=Bonjour la Tunisie.  nbre de mots = 3
Exercice 55 : Ecrire un algorithme qui permet de saisir une chaîne ch de taille minimale 4 puis afficher la
chaîne des lettres, la chaîne des chiffres et la chaîne des symboles.
Exemple : ch=a1$BC#  chv=aBC, chc=1, chs=$#

Exercice 56 : Ecrire un algorithme qui permet de saisir une chaîne ch numérique non vide, saisir un chiffre
c puis calculer le nombre d’occurrences de c dans ch.

19
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Exemple : ch=123451211, c=1  Nbre d’occurrences=4
Exercice 57 : Ecrire un algorithme qui permet de saisir deux entiers n et p (0 p≤n) puis calculer et afficher

Savoir- faire
Les fonctions : Syntaxe algorithmique
Fonction Nom_fonction (pf1 : type1, pf2 : type2, … ,pfn : typen) : type_résultat
DEBUT
Traitement
Retourner Résultat
FIN
Les fonctions : Appel algorithmique
ObjetNom_fonction (pe1, pe2, …, pen)
NB : pf est un paramètre formel défini au niveau de la définition de la fonction. pe est un paramètre effectif
utilisé lors de l’appel de la fonction.
Savoir- faire
Les procédures : Syntaxe algorithmique
Procédure Nom_procedure (pf1 : type1, pf2 : type2, … ,pfn : typen)
DEBUT
Traitement
FIN
Les procédures : Appel algorithmique
Nom_procedure (pe1, pe2, …, pen)

20
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

Exercice 58 : Ecrire un algorithme qui permet de saisir un nombre n>10 puis affiche s’il est sublime ou
non. Un nombre est dit sublime si le nombre de ses diviseurs et la somme de ses diviseurs sont parfaits.
Un nombre est dit parfait s’il égal à la somme de ses diviseurs sauf lui-même.
Exemple : 12 est un nombre sublime
Diviseurs : 1, 2, 3, 4, 6, 12
Nombre de diviseurs = 6  parfait // Somme des diviseurs = 28  parfait
Exercice 59 : Ecrire un algorithme qui permet de saisir une chaîne ch non vide, saisir aléatoirement un
entier p (0<p<long(ch)-1), inverser la chaîne (caractère d’indice 0, caractère d’indice p), inverser la chaîne
(caractère d’indice p+1, caractère d’indice long(ch)-1) puis concaténer les deux chaînes inversées et
afficher la chaîne résultat.

Exemple : ch=abc1 2+59?, p=3, chaîne résultat : 1cba 95+2.


Exercice 60 : Ecrire un algorithme qui permet de saisir n1 et n2 (n1>0, n2> 0 et n1≠n2) puis afficher s’ils
sont jumeaux.
Deux nombres n1 et n2 sont dits jumeaux si n1 et n2 sont premiers et n2=n1+2
Exemples : 5 et 7 sont jumeaux

Jeu 4 : Jeu de dominos

21
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

D 0 0 0 6 6 1 1 5
0 1 2 3 4 5 6 7
Les paires (D[0], D[1]), (D[2], D[3]), (D[4], D[5]), (D[6], D[7]) représentent une suite de 4 dominos.

Savoir- faire : La structure tableau à une dimension


En algorithme
Déclaration : Méthode 1 Déclaration : Méthode 2
TDO Tableau de Déclaration des Nouveaux Types
Objet Type / Nature (TDNT)
Nom_tableau Tableau de n type_élément Type
Nom_type=Tableau de n type_élément
TDO
Objet Type / Nature
Nom_tableau Nom_type

En python
On utilisera la bibliothèque numpy pour implémenter les tableaux.

22
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

Exercice 61 : Ecrire un algorithme qui permet de saisir un entier n pair, remplir un tableau T par n entiers
positifs, calculer et afficher la somme des éléments de T.
Exemple : n=6

T 15 125 4 0 -2 -13
0 1 2 3 4 5
S=129
Exercice 62 : Ecrire un algorithme qui permet de saisir un entier n 0, remplir T1 par n chaînes numériques
non vides et de taille maximale 7, remplir un tableau T2 telle que : T2[i] = Somme des chiffres de T1[i]
puis afficher T2.
Exemple : n=4

T1 157 11 4 1078 T2 13 2 4 16


1 2 3 4 1 2 3 4

Exercice 63 : Saisir n pair, remplir T par n entiers strictement positifs puis afficher le minimum et le
maximum dans T.
Exemple : n=6

T 15 125 4 40 2 13
0 1 2 3 4 5
Min=2, Max=125

23
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Exercice 64 : Saisir n (2<n<10), de remplir aléatoirement T par n lettres minuscules, de diviser T en 2
tableaux (T1 : tableau de voyelles, T2 : tableau de consonnes) et d’afficher T1 et T2.
Exemple : n=6

T a b c d e f



0 1 2 3 4 5

T1 b e
a c d e
0 1

T2
0 1 2 3

Exercice 65 : Recherche séquentielle


Saisir n pair, remplir un tableau T par n entiers (chaque entier est impair et composé de 3 chiffres), saisir X
un entier impair et composé de 3 chiffres et afficher si X existe ou non dans T.
Exemple : n=6

T 151 125 417 369 421 133


1 2 3 4 5 6
X=125  X existe dans T // X=127  X n’existe pas dans T
Exercice 66 : Saisir n0, remplir T par n lettres alphabétiques et afficher le nombre de voyelles et la chaîne
des consonnes dans ce tableau T.
Exemple : n=6

T a b c d e f



0 1 2 3 4 5
Nbv=2, Chc=bcdf
Exercice 67 : Saisir 5≤n≤20, remplir T par n entiers composés de 2 chiffres, saisir p (compris entre 0 et n-1),
saisir X composé de 2 chiffres, insérer X dans le tableau T à la position p et afficher T.
Exemple : n=6

T 24 10 68 66 84 20
0 1 2 3 4 5
X=12, p=4
T 24 10 68 66 12 84 20
0 1 2 3 4 5 6
Exercice 68 : Saisir (2<n<20). Chaque chaîne doit être alphabétique et doit avoir un nombre de caractères
strictement supérieur à son indice dans le tableau puis afficher pour chaque élément T[i] du tableau les
(i+1) premiers caractères de la chaîne.
Exemple : n=6
T Bit Modem Ecran Souris Processeur Memoire

24
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
0 1 2 3 4 5

Le programme affiche :
B
Mo
Ecr
Sour
Proce
Memoir
Exercice 69 : Saisir n (2 ≤ n ≤ 15), remplir T1 et T2 par n entiers de 2 chiffres, former un tableau T tel que
T[i] est le résultat de la fusion des deux éléments T1[i] et T2[i] selon le principe suivant :
 Insérer le chiffre des dizaines du plus petit nombre parmi T1[i] et T2[i] entre les 2 chiffres
du plus grand nombre parmi T1[i] et T2[i].
 Mettre le chiffre des unités du plus petit nombre parmi T1[i] et T2[i] à droite du nombre
obtenu.
Exemple : T1[i]=52, T2[i]=36  T[i]=5326
Exercice 70 : Saisir n pair, remplir un tableau T par n cartes d’identités sachant que chaque carte d’identité
est composée de 8 chiffres et unique puis afficher T.
Exercice 71 : Saisir n (5 ≤ n ≤ 30), remplir aléatoirement le tableau T par n entiers compris entre 0 et 100,
saisir p compris entre 1 et n-1, vérifier si T[p] est égal à la somme d’un certain nombre d’éléments
consécutifs de T qui le précèdent immédiatement. Dans ce cas, le programme affiche ces éléments, sinon, il
affiche Condition non vérifiée.
Exemple : n=7, p=5
T 3 2 4 6 12 18 20
0 1 2 3 4 5 6
Le programme affiche : 6,4,2
Exercice 72 : Multiplication russe
Saisir deux entiers A et B (2 ≤ A ≤ 100 et 2 ≤ B ≤ 100) puis calculer et afficher le produit de A et B en
utilisant la méthode russe. Il s’agit d’utiliser seulement la division, la multiplication par 2 et l’addition
selon le principe suivant :

 Le premier nombre est divisé par 2 (division entière) et le deuxième nombre est multiplié par 2.
 Ce processus est répété jusqu’à avoir 1 comme valeur du premier nombre.
 Les deux nombres de départ ainsi que les résultats de calcul seront mis dans 2 tableaux DIVIS
et MULT : DIVIS contient les différentes valeurs du premier nombre et MULT contient les
différentes valeurs du deuxième nombre.
 Le résultat du produit recherché est la somme des nombres du tableau MULT qui sont en face
des nombres impairs du tableau DIVIS.
25
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis
Exemple : A=11, B=13

DIVIS 1 5 2 1
1
0 1 2 3

MULT 1 26 52 104
3
0 1 2 3
11*13= 13+26+104=143
Exercice 73 : Soit la suite U définie par :
U0=1
U1=3
Un=2*Un-1+3*Un-2 pour tout n ≥ 3
Saisir n (3 ≤ n ≤ 20) puis afficher les n premiers termes de la suite U.
Exemple : n=5
Le programme affiche : 1, 3, 9, 21, 69

Correction des exercices (Python)

Exercice 63 Exercice 65

26
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

Exercice 64

Exercice 67

Exercice 72 Exercice 68
27
imen.essassi@tarbia.tn Lycée 9 avril 1938- Tunis

28

Vous aimerez peut-être aussi