Algorithmique &
Python — Types,
Variables, Operateurs
Cours & Exercices Corriges | Baccalaureat Niveau : 4eme Annee | Prof :
Informatique — Tunisie FENNI-S | 2024-2025
1. Les Types de Donnees Simples
En algorithmique et en Python, chaque variable possede Python
un type qui definit la nature des donnees qu'elle contient. .
Les types simples sont : entier (int), reel (float), booleen : (int) (float) (bool)
(bool) et chaine de caracteres (str). (str).
En
En Python Exemple
Algorithmique
Entier int() age = 17 ■■■ ■■■■
Reel float() moy = 13.5 ■■■ ■■■■■
Booleen bool() test = True ■■■■■
Caractere str() c = "A" ■■■■
Chaine str() nom = "Ali" ■■■■■ ■■■■■
2. Declaration des Variables (T.D.O)
En algorithmique, on declare les variables dans un
Tableau de Declaration des Objets (T.D.O). En Python, (T.D.O). Python
la variable est creee automatiquement lors de sa .
premiere affectation. L'identificateur est sensible a la .
casse (age ≠ Age ≠ AGE).
Structure T.D.O /
Objets | Type/Nature
Pi | Constante = 3.14
N | Entier
Moy | Reel
Nom | Chaine de caracteres
Test | Booleen
3. Les Operateurs
3.1 Operateurs Arithmetiques |
Operation Algo Python Exemple Resultat
Addition + + 6 + 4.5 10.5
Soustraction - - 10 - 3 7
Multiplication * * 3 * "AB" "ABABAB"
Division / / 6/4 1.5
Division entiere DIV // 6 // 4 1
Reste (modulo) MOD % 6%4 2
3.2 Operateurs Logiques |
Les operateurs logiques travaillent sur des valeurs
booleennes : :
• non / not : negation — not True = False • not : — not True = False
• et / and : conjonction — True and False = False • and : — True and False = False
• ou / or : disjonction — True or False = True • or : — True or False = True
3.3 Priorite des Operateurs |
Priorite Algorithmique Python
1 (plus haute) ( ... ) ( ... )
2 - (oppose) ; NON - ; not
3 * ; / ; DIV ; MOD ; ET * ; / ; // ; % ; and
4 + ; - ; OU + ; - ; or
5 (plus basse) = ; < ; <= ; > ; >= ; ≠ == ; < ; <= ; > ; >= ; !=
4. Fonctions Predefinies
4.1 Sur les types arithmetiques |
Algorithmique Python Role Exemple
NArrondi(x) round(x) Entier le plus proche round(3.5) → 4
from math import sqrt
NRacineCarree(x) Racine carree sqrt(25) → 5.0
sqrt(x)
from random import randint
NAlea(vi, vf) Entier aleatoire randint(1,6) → ?
randint(vi,vf)
NEnt(x) int(x) Partie entiere int(4.9) → 4
NAbs(x) abs(x) Valeur absolue abs(-7) → 7
4.2 Sur les chaines de caracteres |
Algo Python Exemple
Long(ch) len(ch) len("Bonjour") → 7
Pos(ch1, ch2) [Link](ch1) "Bonjour".find("o") → 1
Convch(x) str(x) str(17.2) → "17.2"
Valeur(ch) int(ch) / float(ch) int("12") → 12
Sous_chaine(ch,d,f) ch[d:f] "Bonjour"[0:3] → "Bon"
Majus(ch) [Link]() "jour".upper() → "JOUR"
Estnum(ch) [Link]() "154".isdecimal() → True
Exercices Corriges
Question : Donner le type et la valeur de chaque expression Python : a) 7 // 2 b) 7 % 2 c) 3 * "AB" d) not
(5 > 3)
Reponse Corrigee :
# Reponses :
a = 7 // 2 # type: int, valeur: 3
b = 7 % 2 # type: int, valeur: 1
c = 3 * "AB" # type: str, valeur: "ABABAB"
d = not (5>3) # type: bool, valeur: False
Explication : DIV et MOD donnent toujours un entier. La multiplication d'une chaine par un entier la repete. not inverse un
booleen.
Question : Evaluer l'expression : (3 + 2) * 4 - 10 // 3 + not False
Reponse Corrigee :
# Ordre de priorite :
# 1. (3 + 2) = 5
# 2. 10 // 3 = 3
# 3. not False = True = 1
# 4. 5 * 4 = 20
# 5. 20 - 3 + 1 = 18
resultat = 18
Explication : Respecter l'ordre : parentheses, puis *, puis DIV, puis + et -. En Python, True vaut 1 dans un contexte
arithmetique.
Question : Ecrire les instructions Python pour saisir deux entiers a et b, puis afficher leur somme,
produit et quotient entier.
Reponse Corrigee :
a = int(input("Donner a : "))
b = int(input("Donner b : "))
print("Somme =", a + b)
print("Produit =", a * b)
print("Quotient entier =", a // b)
Explication : input() retourne une chaine — conversion obligatoire avec int() pour les calculs numeriques.
Question : Soit ch = "Informatique". Donner le resultat de : a) len(ch) b) ch[0:5] c) [Link]("mat") d)
[Link]()
Reponse Corrigee :
ch = "Informatique"
a = len(ch) # → 12
b = ch[0:5] # → "Infor"
c = [Link]("mat") # → 5
d = [Link]() # → "INFORMATIQUE"
Explication : L'indice commence a 0. ch[d:f] retourne les caracteres de d a f exclu. find() retourne -1 si la sous-chaine n'est pas
trouvee.
Question : Ecrire un algorithme et son equivalent Python qui lit un reel x et affiche sa racine carree si x
>= 0, sinon affiche un message d'erreur.
Reponse Corrigee :
from math import sqrt
x = float(input("Entrer x : "))
if x >= 0:
print("Racine =", round(sqrt(x), 4))
else:
print("Erreur : x doit etre positif")
Explication : On teste toujours la validite de x avant sqrt(). round() limite les decimales affichees.