Sommaire
● Partie 1 : Démarche de résolution de problèmes .....................
I. Introduction
II. Les étapes de résolution d’un problème
● Partie 2 : Les structures simples ..............................................
I. L’opération d’entrée
II. L’opération de sortie
III. L’opération d’affectation
● Partie 3 : Les structures de données ........................................
I. Les constantes
II. Les variables
III. Les types de données
IV. Le tableau à une dimension (Vecteur)
● Partie 4 : Les structures de contrôle conditionnelles ...............
I. La structure conditionnelle simple
II. La structure conditionnelle généralisée
III. La structure conditionnelle à choix
● Partie 5 : Les structures de contrôle itératives .........................
I. La structure itérative complète
II. La structure itérative à condition d’arrêt
● Partie 6 : Les sous programmes ...............................................
I. Les fonctions
II. Les procédures
● Partie 7 : Les interfaces graphiques...............................................
Page -2-
Partie 1 : Démarche de résolution de problèmes
Partie 1 : Démarche de résolution de problèmes
I. Introduction :
L'ordinateur est une machine électronique utilisé presque dans tous les domaines de vie pour
réaliser des différents types de traitements grâce à de programmes enregistrés dans sa mémoire. Ces
programmes sont élaborés par des informaticiens et pour les réaliser il y a toute une démarche à
suivre commençant par l'énoncé du problème jusqu'à abouti à une solution exécutable sur machine.
II. Les étapes de résolution d’un problème
Activité 1 :
On se propose de calculer et d’afficher la surface S et le périmètre P d'un rectangle de longueur Lo et
de largeur La.
a. Spécifier les différentes données nécessaires pour résoudre ce problème
b. Proposer le traitement nécessaire pour avoir le résultat voulu à partir les données
c. Indiquer le résultat à obtenir.
d. Ecrire un algorithme permettant de résoudre ce problème.
e. Implémenter cet algorithme en Python.
Solution :
∙ Données :
...........................................................................
...........................................................................
∙ Traitement :
............................................................................
............................................................................
∙ Résultat :
............................................................................
..........................................................................
Algorithme Implémentation en Python
Algorithme ……………………….
Début ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................
............................................................................
............................................................................
Fin
Objet Type/Nature Résultat d’exécution
……. …………..
…… …………..
…… ……………
…… …………….
T.D.O : (Tableau de déclaration des objets)
Page -3-
Partie 2 : Les structures simples
Partie 2 : Les structures simples
I. L’opération d’entrée :
1. Définition :
L’opération d’entrée c’est l’instruction qui permet à l’utilisateur de rentrer ou de saisir des valeurs au
clavier pour qu’elles soient utilisées par le programme
[Link] et syntaxe :
En algorithme En Python
Lire (nom_variable) nom_variable =input(‘donner la valeur’)
Exemples
En algorithme En Python
Lire (nom) nom = input ( )
Lire(n) n = int (input( ))
Lire(x) x = float (input( ))
3. Remarque :
♣ Quand on demande à la machine de lire une variable, cela implique que l’utilisateur va devoir écrire
cette valeur. ♣ Les données qui sont lues doit être compatibles aux variables réservées en mémoire.
II. L’opération de sortie :
1. Définition :
L’opération de sortie c’est l’instruction qui permet au programme de communiquer des valeurs à
l’utilisateur en les affichant à l’écran.
2. Exemple :
En Algorithme En Python
Affichage d’un texte : print ("La valeur de n est : ")
Ecrire ("La valeur de n est : ")
Affichage de contenu d’une variable : print (n)
Ecrire (n)
Affichage mixte (texte et variable) : print ("La valeur de n est : ", n)
Ecrire ("La valeur de n est : ", n)
Remarque :
♣ Quand on demande à la machine d’écrire une valeur, c’est pour que l’utilisateur puisse la lire.
4. Application :
Ordonner ces instructions pour que l’algorithme affiche le montant m à payer par un client qui a acheté
n cahiers sachant que le prix du cahier est 2500 millièmes et qu’il a une remise r de 10%.
N° d’instruction Instructions
………. Ecrire ("Le montant payé est: ", m)
………. m🡨 2500 * n
………. Ecrire ("Donner la quantité : "), Lire (n)
……… r 🡨(10*m)/100
…………. m 🡨 m-r
En déduire le Tableau de Déclaration des Objets (TDO)
Objet Type/Nature
………… ……………
………….. ……………….
……………. ……………
Page -4-
III. L’opération d’affectation :
1.Définition :
L’opération d’affectation c’est une action qui permet d’affecter une valeur à une variable. Elle est
représentée par une flèche orientée vers la gauche « 🡨 ».
[Link] et syntaxe :
En Algorithme En Python
Variable🡨 valeur Variable = valeur
[Link] :
En Algorithme En Python Résultat
x🡨5 x=5 x contient 5
a🡨 x+3 a= x+3 a contient 8
x🡨x-2 x=x-2 x contient 3
Remarque :
♣ Le type des variables situées à droite doit être de même type ou de type compatible que celle située
à gauche.
Application 1 :
Soit la séquence d'affectations suivante :
1) x🡨 10
2) y 🡨 8
3) z 🡨 x
4) x 🡨 y
5) y 🡨 z
1. Donner le résultat d'exécution de cette séquence sous forme d'un tableau.
N° de
1 2 3 4 5
l'instruction
2. Quelles sont les valeurs finales de x et de y ?
............................................................................x=8
............................................................................
, z=10
3. Quel est le rôle de cette séquence ?
............................................................................ ............................................................................
4. Quelle est l'utilité de la variable z ?
............................................................................ ............................................................................
Application 2 :
1. Compléter le tableau suivant :
Instruction Valeur de A Valeur de B
A🡨5
B🡨7
A🡨A+B
Page -5-
B🡨A-B
A🡨A-B
2. Quel est le rôle cet ensemble d’instructions ?
............................................................................ ............................................................................
[Link] 3 :
Ecrire un algorithme et son implémentation en Python d’un programme qui permet de permuter les
contenus de deux réels a et b.
Solution :
Algorithme Implémentation en Python
Algorithme ……………..
Début
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................
............................................................................
Fin
T.D.O :
Objet Type/Nature
………. ……………
…………. …………….
……….. …………….
Page -6-
Partie 3 : Les structures de données
I. Les constantes et les variables :
1. Les constantes :
Une constante est un objet dont la valeur est fixe au cours de l’exécution du programme.
Une constante est caractérisée par :
• Son nom
• Sa valeur
2.Déclaration :
Tableau de Déclaration des Objets :
Objet Type/Nature
Nom_const Constante de valeur
Exemples :
pi=3,14
Tableau de Déclaration des Objets :
Objet Type/Nature
pi Constante de valeur 3,14
2. Les variables :
Une variable est un objet dont la valeur est susceptible de changer au cours de l’exécution d’un
programme.
Une variable est caractérisée par :
• Son nom
• Son type
• Son contenu
[Link]é 1 :
On se propose de calculer et d’afficher sur l'écran le périmètre P et la surface S d'un cercle de rayon R.
Pour ce fait, on vous demande d'écrire l’algorithme correspondant et son implémentation en Python.
Algorithme Implémentation en Python
Algorithme ………………
Début ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................
Fin
T.D.O : (Tableau de déclaration des objets)
Objet Type/Nature
………. ………………..
………. ………………..
. ………………
……….
.
II. Les types de données :
1. Le type Entier (int) :
a. Définition :
Le type Entier désigne un sous ensemble des nombres entiers relatifs Z.
b. Déclaration :
Objet Type/Nature
Page -7-
Nom_variable entier
Exemple :
Objet Type/Nature
a entier
c. Les opérations arithmétiques et relationnelles sur les entiers :
Application :
On se propose de saisir un nombre t en seconde et de l'affiche en heure h, minute mn et seconde s.
Pour ce fait, on vous demande de d'écrire l'algorithme correspondant et son implémentation en
Python. Exemple : t=4000s le programme affiche : 1 h 6 mn 40 s
Solution :
Algorithme Implémentation en Python
Algorithme ………………..
Début
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
Fin
T.D.O : (Tableau de déclaration des objets)
Objet Type/Nature
………. ……………..
……… …………………..
……………. ……………….
…………… ……………
2. Le type Réel (float) :
a. Définition :
Le type Réel désigne un sous ensemble des nombres Réels IR.
b. Déclaration :
Page -8-
Objet Type/Nature
Nom_variable entier
Exemple :
Objet Type/Nature
x réel
c. Les opérations arithmétiques et relationnelles sur les réels :
Les mêmes opérations que les entiers sauf DIV et MOD.
d. Les fonctions prédéfinies sur les réels :
Page -9-
Les fonctions arithmétiques standards relatives aux types entier et réel :
Nom en algorithme Nom en Python Rôle Exemples
y🡨arrondi (9.499)
Y contient …….
y🡨arrondi (2.5)
Y contient……
Retourne l’entier le plus
y🡨arrondi (x) y=round(x)
proche de la valeur de x
y🡨arrondi (3.5)
Y contient ……….
y🡨arrondi (8.99)
Y contient …….
Retourne la valeur absolue y🡨abs (-5)
y🡨abs (x) y=abs(x)
de x Y contient ………..
from math import *
Retourne la racine carré de y🡨racinecarre(4)
y🡨racine carre (x) print(sqrt(4))
x (si x est positif) Y contient ………..
Retourne un entier entre Y🡨alea(2,5)
from random import *
y🡨alea (a,b) [a et b] Y contient ……………………………
y=randint(a,b)
y🡨ent (3)
Retourne la partie entière de Y contient …………..
y🡨ent (x) y=int(x)
x y🡨ent (3.22)
Y contient …………..
Application : Ecrire un algorithme d’un programme qui permet de calculer puis d’afficher la distance d
entre deux points A(x1, y1) et B(x2, y2) sachant que d(A,B) =
Algorithme Implémentation en Python
Algorithme ………………
Début ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................ ............................................................................
............................................................................
............................................................................
............................................................................
............................................................................
Fin
T.D.O : (Tableau de déclaration des objets)
Objet Type/Nature
………………… ………………
Page -10-
3. Le type Booléen (bool) :
a. Définition :
Le type booléen comporte deux valeurs Vrai et Faux (True et False en Python).
b. Déclaration :
Objet Type/Nature
Nom_variable booléen
Exemple :
Objet Type/Nature
b booléen
c. Opérations logiques sur les Booléens :
Opérateur
Signification
Algorithme Python
NON not Négation( le contraire)
ET and ou & Conjonction
OU or ou | Disjonction
La table de vérité qui manipule ces opérateurs est :
P Q Non(P) P ET Q P OU Q
Faux Fau Vrai Faux Faux
x
Faux Vrai Vrai Faux Vrai
Vrai Vrai Faux Vrai Vrai
Vrai faux Vrai Faux Vrai
Application :
Compléter le tableau suivant :
Page -11-
4. Le type Caractère (str):
a. Définition :
Un caractère (chiffre où lettre où symbole) est représenté le caractère lui-même mis entre guillemets
Exemple : "A", "a", "+",…
Remarque :
- Une variable de type caractère contient un caractère et un seul.
- L'espace " " est le caractère blanc.
b. Déclaration :
Objet Type/Nature
Nom_variable caractere
Exemple :
Objet Type/Nature
c caractere
c. Opération sur les caractères :
À chaque caractère correspond un code appelée code ASCII qui est un entier entre 0 et 255 (voir table
des codes ASCII (American Standard Code for Information Interchange).
Les opérations usuels : +, =, , <=, >=, <>.
Exemple :
"A" < "B" est une proposition vraie car 65<66.
"a" >"b" est une proposition fausse car 97 <98
d. Fonctions prédéfinis sur les caractères :
Nom en Code en
Rôle Exemples
algorithme Python
print(ord(‘A’) )donne ……….
n🡨ord (c) n=ord(c) Retourne le code ASCII du caractère c
print(ord(‘a’) ) donne …………….
Page -12-
c🡨chr(n) c=chr(n) Retourne le caractère dont le code ASCII est n print(chr(65) ) donne …………..
Remarque :
Python ne supporte pas le type caractère. De là un caractère n’est plus qu’une chaine de caractère de
longueur 1
c=’A’
t=len(c) # taille de la chaine c
print(c)
donne 1
5. Le type chaîne de caractère (str):
a.Définition : C'est une succession de n caractère (lettre, symbole, chiffre) avec n ≥ 0.
Une chaîne de caractère doit être placée entre deux guillemets ou entre apostrophes en algorithme et
en python
Remarque :
♣ Si n = 0 alors la chaîne est dite vide ("" : chaîne vide).
♣ Les valeurs chaîne de caractères sont définies entre guillemets
b. Déclaration :
Objet Type/Nature
Nom_variable Chaine de caractère
Exemple :
Objet Type/Nature
ch Chaine de caractère
c. Manipulation de chaîne de caractère :
On peut accéder en lecture et en écriture au ième caractère d'une chaîne Ch en utilisant la notation
CH[i] avec 1 ≤ i ≤ Long (Ch).
Exemple
Ch= B o n j o u r
Indice positif 🡪 0 1 2 3 4 5 6
Ou bien
Indice negatif🡪 -7 -6 -5 -4 -3 -2 -1
Remarque : en python les chaînes de caractères sont immuables ((c-à-d non modifiable : ni
changement, ni suppression et ni insertion ni tri.).
Il est donc, interdit d’écrire par exemple : ch[0]=’P’
d. Opérateurs
Opération Algorithme Python Exemple
Page -13-
Concaténation (la mise bout + + ‘’bon’’+’’jour’’ donne …………….
à bout)
Répétition * * ch= ‘’bon’’*2
ch contient ……………….
LES COMPARAISONS < > <= >= = ≠ < > <= >= == ‘Bonjour ‘< ‘BonJour’ donne
Remarque : != …………..
La comparaison se fait 2 a 2 ‘Bonjour’<’bonjour’ donne …………..
du gauche vers la droite
Appartenance à un intervalle c ∈[‘A’..’C’] in ‘c’ in [‘A’,’b’,’C’] donne …………
ou
‘A<=’c’<=’C’ donne …………..
Ou
‘C’ in ‘ABC’ donne …………….
e. Fonctions prédéfinis sur les chaînes de caractère :
Algorithme Python Description Exemple
l🡨long(ch) l=len(ch) Retourne le nombre de ch🡨’’2020’’
caractères de la chaine ch. l🡨long(ch)
4
l contient …………….
p🡨pos (ch1, ch2) Retourne la première position ch1🡨’’2’’
p=[Link](ch1) de ch1 dans ch2. ch2🡨’’2020’’
Si ch1 n’existe pas dans ch2, ch3🡨’’3’’
retourne -1 p🡨pos(ch1,ch2)
p contient ………….
p🡨pos(ch3,ch2)
p contient ………
ch🡨convch(X) str(X) Retourne la conversion un ch🡨convch (2020)
nombre X en chaine. ch contient …………
a🡨estnum(ch) [Link]() Retourne Vrai si la chaine ch a🡨estnum(’’25’’)
est convertible en numérique, a contient ………..
Faux dans le cas contraire. b🡨estnum(’’a25’’)
a contient ………….
n = int(ch) Retourne la conversion d’une ch🡨’’2020’’
chaine ch en numérique n🡨valeur (ch)
entière si c’est possible. n contient ………….
ch🡨’’2Info2’’
n🡨valeur (ch)
………………..
n🡨valeur(ch) n= float(ch) Retourne la conversion d’une ch🡨’’12.8’’
chaine ch en numérique réelle n🡨valeur (ch)
si c’est possible. n contient ……………
ch1🡨sous_Chaine (ch, d, f) ch1=ch[d:f] Retourne une partie de la ch1🡨souschaine(’’bacc
chaine ch à partir de la alauréat 2023’’,5,12)
position d jusqu’à la position f Ch1 contient ………….
exclue.
ch1🡨effacer (ch, d, f) ch1=ch[:D]+ch[F:] Efface des caractères de la ch🡨’’baccalaureat’’
chaine ch à partir de la ch1🡨effacer(ch, 3,12)
position d jusqu’à la position f ch1 contient …………
exclue.
Page -14-
ch1🡨majus(ch) ch1=[Link]() Convertit la chaine ch en ch1🡨majus(’’Devoir’’)
majuscule. ch1contient ………………
Page -15-
Serie1
Exercice n°1 Donner l’affichage adéquat pour chaque instruction après l’exécution :
Code Exécution
Exercice n°2 Donner le résultat de chacune des instructions suivantes :
Instructions Affichage
ch=’radar’
x=ch[2]+ch[1]+ch[0] • True
y=ch[2 :] • False
print(x==y) • ‘’Rad’’
• 97
ch=’yes we can’ • 99
print(ord(ch[8]) • 101
mot1=’travail’
mot2=’réussir’ • <Class ‘str’>
c=mot1==mot2 • <Class ‘bool’>
print(type(c)) • <Class ‘int’>
mot1=’travail’ • ‘’C’’
c=chr(len(mot1)+61) • ‘’D’’
print(c) • 67
Exercice n°4 : Soit Ch="DevoirdeSynthese" Déterminer la valeur de chaque objet
Actions Resultat
x=len(ch)
print(x)
y=ch[-1]
print(y)
z=ch[ :6]
print(z)
a=[Link]()
print(a)
b=[Link]()
Page -16-