Voilà un exemple de d’examen d’algorithmique et de python qui concerne la partie structures (utilisation et déclarations) , fonctions et procédures dans l’ algorithmique (en python : Les dictionnaires, les fonctions) : contrôle 3 v3. Aussi, on vous encourage de ne pas voir la solution qu’après des essais . Bonne chance!
Contrôle 3 V3 (2h)
Exercice 1 : (4 points)
- Donner deux exemples de fonctions Built-in et deux exemples de méthodes de chaine de caractères en python (2 points)
- Quelle est la différence entre les méthodes read() et readline()? (2 points)
Exercice 2 : (12 points)
Un examen a un code, un libelle, une date (jour, mois et année) et le nom du module concerné. Proposer un algorithme, puis un programme qui permet de :
- Créer une procédure ou fonction qui permet d’enregistrer les informations de n examens.
- Créer une procédure ou fonction qui permet d’afficher les infos d’un examen.
- Utiliser les fonctions déjà définies pour :
- enregistrer n examens.
- Afficher les examens passés dans la même date (la date est donnée par l’utilisateur)
Exercice 3 : (4 points)
Vous pouvez proposer un algorithme ou un programme
- Définir une fonction qui retourne le plus grand entre deux nombres réels (2pts)
- Utiliser la fonction déjà définie pour trouver le plus grand nombre entre 10 nombres donnés par l’utilisateur. (2pts)
Contrôle 3 V3 (solution)
Pas de solution pour le moment. Vous pouvez proposer des solutions dans la partie commentaires.
Vous pouvez suivre notre playlist des vidéos (Explication en Darija arabe marocaine) bien organisée qui traite : Les exercices en python.
Aussi, le cours d’algorithmique vous permet d’approfondir vos compétences et surmonter tous les problèmes d’analyse et de résolution de problème.
Aussi, vous avez une playlist des vidéos (Explication en Darija arabe marocaine) bien organisée qui traite : Les algorithmes

Exercice 1:
Fonctions Built-in:
1. `len()`: Cette fonction retourne la longueur d’une chaîne de caractères.
2. `print()`: Cette fonction affiche une chaîne de caractères ou une valeur à la console.
Méthodes de chaîne de caractères:
1. `upper()`: Cette méthode convertit une chaîne de caractères en majuscules.
2. `lower()`: Cette méthode convertit une chaîne de caractères en minuscules.
Difference entre `read()` et `readline()`:
`read()`: Lit tout le contenu d’un fichier en une seule fois et le retourne comme une chaîne de caractères.
`readline()`: Lit une seule ligne d’un fichier à la fois et la retourne comme une chaîne de caractères.
Exercice 2:
Algorithme:
1. Définir une structure pour stocker les informations d’un examen (code, libelle, date, module).
2. Créer une fonction `enregistrer_examen` qui prend un objet examen en paramètre et l’ajoute à une liste d’examens.
3. Créer une fonction `afficher_examen` qui prend un objet examen en paramètre et affiche ses informations.
4. Demander à l’utilisateur le nombre d’examens à enregistrer.
5. Pour chaque examen:
Saisir les informations de l’examen (code, libelle, date, module).
Créer un objet examen avec ces informations.
* Appeler la fonction `enregistrer_examen` pour ajouter l’examen à la liste.
6. Demander à l’utilisateur une date.
7. Parcourir la liste d’examens et afficher les informations des examens passés à cette date.
Programme:
python
class Examen:
def __init__(self, code, libelle, date, module):
self.code = code
self.libelle = libelle
self.date = date
self.module = module
def enregistrer_examen(examens, examen):
examens.append(examen)
def afficher_examen(examen):
print(f »Code: {examen.code} »)
print(f »Libellé: {examen.libelle} »)
print(f »Date: {examen.date} »)
print(f »Module: {examen.module} »)
def main():
examens = []
nombre_examens = int(input(« Nombre d’examens à enregistrer: « ))
for i in range(nombre_examens):
code = input(« Code: « )
libelle = input(« Libellé: « )
jour = int(input(« Jour: « ))
mois = int(input(« Mois: « ))
annee = int(input(« Année: « ))
module = input(« Module: « )
date = datetime.date(annee, mois, jour)
examen = Examen(code, libelle, date, module)
enregistrer_examen(examens, examen)
date_str = input(« Saisir une date (JJ/MM/AAAA): « )
date = datetime.datetime.strptime(date_str, « %d/%m/%Y »)
print(« \nExamens passés à la date: », date)
for examen in examens:
if examen.date == date:
afficher_examen(examen)
print(« ——-« )
if __name__ == « __main__ »:
main()
« `
Exercice 3:
Fonction `max2`:
« `python
def max2(a, b):
if a >= b:
return a
else:
return b
« `
Programme:
« `python
def max10(nombres):
max_nombre = nombres[0]
for nombre in nombres[1:]:
max_nombre = max2(max_nombre, nombre)
return max_nombre
nombres = []
for i in range(10):
nombre = float(input(« Nombre: « ))
nombres.append(nombre)
max_nombre = max10(nombres)
print(« Le plus grand nombre est: », max_nombre)
« `
La fonction `max2` prend deux nombres en paramètres et retourne le plus grand des deux.
La fonction `max10` prend une liste de 10 nombres en paramètre.
Elle initialise une variable `max_nombre` avec le premier nombre de la liste.
Ensuite, elle parcourt la liste et compare chaque nombre à `max_nombre`.
Si le nombre est supérieur à `