Vous êtes sur la page 1sur 21

Labs – CSC 241

Version 1.0

Dernière mise à jour : 12/02/2021

Utilisation : Etudiants

Auteur : Adébayor AYENA


Tel : 99 31 07 10 / 92 07 79 45
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

SOMMAIRE

Page 2 sur 21
© IIT : Ipnet Instiute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

1. PREAMBULE

1.1. OBJECTIFS DE CES SEANCES LABS

Ces exercices ont été créés dans le but de mettre en pratique les notions essentielles à la
bonne maîtrise du cours « CSC 241 - Algorithmes & Introduction à la programmation
structurée avec Python I ».
L’ensemble des notions abordées dans le cours sont ici retranscrites sous forme
d’exercices.
Il est indispensable de pratiquer si vous souhaitez assimiler les connaissances. Ces
exercices ont pour but de vous donner d’autres ressources pour vous exercer, en supplément
des travaux pratiques présentés dans les supports de cours.

1.2. REMARQUES SUR CES SEANCES ET EXERCICES

Les énoncés sont présentés ci-après dans ce document. Pour chacun de ces exercices,
vous trouverez l’énoncé ainsi que les ressources nécessaires dans ce document.

La plupart des exercices présentés dans ce document se suivent. Ainsi, des éléments de
correction de l’exercice n peuvent se trouver dans l’énoncé de l’exercice n+1.

Si vous souhaitez voir ce document enrichi d’autres exercices, n’hésitez pas à contacter
la personne en charge de la matière.

Page 3 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

2. Langage algorithmique : Opérations de base &


Variables

Les algorithmes suivants sont à écrire dans Word.

2.1. Calcul de la somme de deux nombres

Ecrivez un algorithme qui permet de calculer la somme de deux nombres réels.

2.2. Calcul du prix total d’un produit

Ecrire un algorithme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA, et
qui fournit le prix total TTC correspondant.
Prix TTC = Nombre Produit * Prix Hors Taxe * (1+ TVA)

2.3. Calcul de la moyenne de trois notes

Ecrivez un algorithme qui permet de calculer la moyenne de 3 notes.

2.4. Calcul Résistance équivalente

Ecrivez un algorithme qui permet de d’afficher les résistances équivalentes à trois


résistances R1, R2, R3 (type réels),
• Si les résistances sont branchées en série :

Page 4 sur 21
© IIT : Ipnet Instiute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I
Rsér = R1 + R2 + R3
• Si les résistances sont branchées en parallèle :

Page 5 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

3. Python : Opérations de base & Variables

Transformez tous les algorithmes écrits à la question 2. en programmes informatiques en


utilisant Python comme langage de programmation.

Page 6 sur 21
© IIT : Ipnet Instiute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

4. Langage algorithmique : Structures


conditionnelles

Les algorithmes suivants sont à écrire dans Word.

4.1. Signe d’un nombre

Ecrivez un algorithme qui permet de lire un nombre réel, et dire s'il est positif ou strictement
négatif.

4.2. Nombre Paire/Impaire

Ecrire l'algorithme qui permet de déterminer si un entier lu est pair ou impair.

4.3. Comparaison de deux nombres

Ecrire l'algorithme qui permet de saisir deux nombres A et B et de déterminer si la valeur de


A est supérieure, inférieure ou égale à B.

4.4. Signe d’un produit de deux nombres

Ecris un algorithme qui lit deux valeurs entières au clavier et qui affiche le signe du produit
de ces valeurs sans faire la multiplication.

Page 7 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

4.5. Calcul moyenne

Ecrivez un algorithme qui calcule la moyenne de 3 notes (sur 20) et affiche à l’utilisateur :
• « Excellent » si la moyenne des notes est supérieure ou égale à 18 ;
• « Très Bien » si la moyenne est supérieure ou égale à 16 et strictement inférieure à 18
;
• « Bien » si la moyenne est supérieure ou égale à 14 et strictement inférieure à 16 ;
• « Assez Bien » si la moyenne est supérieure ou égale à 12 et strictement inférieure à
14 ;
• « Passable » si la moyenne est supérieure ou égale à 10 et strictement inférieure à 12
;
• « Insuffisant » si la moyenne strictement inférieure à 10.

Page 8 sur 21
© IIT : Ipnet Instiute of Technologie – http://www.ipnetuniversity.com
5. Python : Structures conditionnelles

Transformez tous les algorithmes écrits à la question 4. en programmes informatiques en


utilisant Python comme langage de programmation.
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I

6. Langage algorithmique : Structures répétitives


(Boucles)

Les algorithmes suivants sont à écrire dans Word.

Note :
L’instruction « i Suivant » est l’incrémentation de i de 1 en langage algorithmique.
C’est-à-dire i++ ou i+=1 en Python.

6.1. Contrôle saisie de l’utilisateur

Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce


que la réponse convienne.

6.2. Contrôle saisie de l’utilisateur + affichage d’un message

Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la
réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus
petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.

6.3. Affichage d’une suite continue de 10 entiers

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres
suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres
de 18 à 27.

Page 10 sur 21
© IIT : Ipnet Instiute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241

ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE


AVEC PYTHON I
En utilisant :
a. Une boucle Tant…Que
b. Une boucle Pour

6.4. Somme et moyenne d’une suite de nombres saisis au clavier

Écrire un algorithme qui demande des entiers positifs à l’utilisateur, les additionne, calcule
leur moyenne, et qui s’arrête en affichant les résultats dès que l’utilisateur saisi un entier
négatif.

6.5. Table de multiplication

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche la table de
multiplication de 1 à 10 de ce nombre, présentée comme suit (cas où l'utilisateur entre le
nombre 7) :

En utilisant :
a. Une boucle Tant…Que
b. Une boucle Pour

Page 11 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

7. Python : Structures répétitives (Boucles)

Transformez tous les algorithmes écrits aux questions 6. en programmes informatiques


en utilisant Python comme langage de programmation.

Page 12 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

8. Langage algorithmique : Fonctions et


Procédures

Programmation d'une MINI CALCULATRICE permettant d’effectuer les quatre (4)


opérations mathématiques de base (Addition, Soustraction, Multiplication, Division).

Ecrivez quatre (4) fonctions permettant d’effectuer chaque opération mathématique


ainsi du programme principal en affichant un menu correspondant à chaque opération
en langage algorithmique.

L’utilisateur doit avoir la possibilité d’effectué une autre opération après avoir fini une.

Page 13 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

9. Python : Fonctions et Modules

Transformez l’algorithme écrit à la questions 8. en programme informatique en utilisant


Python comme langage de programmation et en implémentant les fonctions dans un
module.

Page 14 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I
10. Langage algorithmique : Les tableaux à une
dimension

Problème : Gestion complète des notes des étudiants dans une UE.

L’enseignant de l’UE CSC 241 à IPNET INSTITUTE OF TECHNOLOGY vous demande de lui
mettre en place un système de gestion des notes des étudiants dans son UE.
Chaque étudiant a deux (2) notes :
• Une note de Devoir Surveillé qui va compter pour 40% dans la pondération finale
du calcul de la moyenne générale ;
• Et une note d’Examen Final qui va compter pour 60% dans la pondération finale
du calcul de la moyenne générale.
Il souhaite à partir du système pouvoir effectuer les tâches suivantes :
1. Saisir le nom, la note du Devoir Surveillé et la note de l’Examen Final pour chaque
étudiant.
2. Afficher par ordre de saisie, les notes des étudiants au format ci-dessous :

N° Nom Devoir Surveillé Examen Final


1 Et1 15 18
2 Et2 17 19
… … … …

3. Calculer la moyenne générale de chaque étudiant.


4. Afficher par ordre de mérite décroissant, la Moyenne Générale des étudiants (de
la moyenne la plus forte à la moyenne la plus faible) au format ci-dessous :

N° Nom Devoir Surveillé Examen Final Moyenne Générale


1 Et2 17 19 18.20
2 Et1 15 18 16.80
… … … … …

Page 15 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

Où la Moyenne Générale de chaque étudiant est obtenue par le calcul suivant :

MoyenneGenerale = (NoteDevoirSurveille*40/100) + (NoteExamenFinal*60/100)

5. Afficher le nom, la note du Devoir Surveillé, la note de l’Examen Final et la note


de la Moyenne Générale de l’étudiant (ou des étudiants) ayant :
• La Moyenne Générale la plus élevée ;
• La Moyenne Générale la plus faible.
6. Afficher la Moyenne Générale globale des étudiants dans l’UE. Cela correspond
à la moyenne des Moyennes Générales de tous les étudiants.
7. Afficher le nombre d’étudiants ayant :
• Une Moyenne Générale supérieure ou égale à 10 ;
• Une Moyenne Générale inférieure à 10.
8. Rechercher un étudiant à partir de son nom et afficher sa note du Devoir
Surveillé, sa note d’Examen et sa Moyenne Générale.
Si aucun étudiant n’a le nom saisi, vous lui afficherez un message l’informant
qu’il n’y a pas un étudiant avec ce nom.

Indications :
Utilisez différents tableaux pour stocker :
• Les noms des étudiants ;
• Leurs notes du Devoir Surveillé ;
• Leurs notes d’Examen Final ;
• Ainsi qu’un autre pour leurs Moyenne Générale.
Dans ces tableaux, le premier étudiant aura ses informations à l’indice 0 de chaque
tableau, ainsi de suite.
Vous pouvez utiliser d’autres tableaux au besoin.
Créez des fonctions ou procédures correspondant à chaque opération que l’enseignant
pourra effectuer afin que votre programme soit bien modulaire.

Page 16 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

Fonctionnement :
Au démarrage, l’enseignant va renseigner le nombre d’étudiants inscrits dans l’UE.
Il saisit ensuite le nom, la note du Devoir Surveillé et la note de l’Examen Final de
chaque étudiant.
Vous calculerez ensuite la Moyenne Générale de chaque étudiant (à enregistrer dans un
tableau).

Vous lui affichez ensuite un menu correspondant aux opérations décrite plus haut qu’il
pourra effectuer à partir de votre programme.
Menu :
a- Liste des notes des étudiants.
b- Liste des Moyennes Générales des étudiants.
c- Informations de l’étudiant ou des étudiants ayant la plus forte et de l’étudiant
ou des étudiants ayant la plus faible Moyenne Générale.
d- Moyenne Générale globale des étudiants dans l’UE.
e- Nombre d’étudiants ayant une moyenne générale supérieure ou égale à 10 et
nombre d’étudiants ayant une moyenne générale inférieure à 10.
f- Recherche d’un étudiant à partir de son nom et affichage de ses informations.

Pour utiliser une fonctionnalité du menu, l’enseignant va saisir la lettre correspondante.


Vous effectuez l’opération ; lui affichez le résultat et ensuite le menu pour lui
permettre d’effectuer une autre opération.

Travail à Faire :
Ecrivez le programme principal ainsi que les différentes fonctions utilisées par le
programme principal en langage algorithmique.
Utilisez des noms explicites pour vos variables (variables simples, tableaux) et pour vos
fonctions.

Page 17 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

11. Python : Les tableaux, les listes et les tuples


à une dimension

Transformez l’algorithme écrit à la question 10. en programme informatique en utilisant


Python comme langage de programmation.

NB : A la place des tableaux, vous pouvez utiliser les listes. Et vous pouvez utiliser les
tuples pour manipuler les fonctions pouvant retourner plusieurs valeurs.

Page 18 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I
12. Langage algorithmique : Les tableaux à une
dimension (suite)

Problème : Gestion complète des notes des étudiants dans une UE.

Mêmes traitements que ceux décrits au niveau du problème du point 10 en prenant en


compte les nouvelles contraintes ci-dessous.

Maintenant pour le calcul des moyennes des étudiants, vous allez prendre en compte,
les différentes notes suivantes :
• Quizzes/Interrogations (Participation au cours) - 20%
• Travaux Pratiques (Devoirs de Maison) - 20%
• Devoir Surveillé - 20%
• EXAMEN Final - 40%

Vous allez récupérer la filière de chaque étudiant dans un format comme suit :
• GL : correspondant à la filière « Génie Logiciel » ;
• RSS : correspondant à la filière « Réseaux Systèmes et Sécurité » ;
• CS : correspondant à la filière « Cybersécurité » ;
• DW : correspondant à la filière « Développement Web » ;
• WIM : correspondant à la filière « Webdesign Infographie Multimédia ».

L’enseignant en plus des précédentes tâches, doit pouvoir :


9. Afficher les moyennes générales globales des étudiants dans chaque filière (de
la moyenne générale globale la plus forte à la moyenne générale globale la plus
faible) au format ci-dessous :
N° Filière Moyenne Générale
1 GL 17.90
2 DW 15.36
… … …
Page 19 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I

10. Afficher les étudiants ayant les plus fortes moyennes générales dans chaque
filière.

Ajoutez des menus lui permettant ces tâches.

Faites les contrôles nécessaires :


• Les notes sont comprises entre 0 et 20 ;
• Les filières à saisir doivent respecter le format demander ;
• Etc.

Page 20 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com
Labs – CSC 241
ALGORITHMES & INTRODUCTION A LA PROGRAMMATION STRUCTUREE
AVEC PYTHON I
13. Python : Les tableaux, les listes et les tuples
à une dimension (Suite)

Transformez l’algorithme écrit à la question 12. en programme informatique en utilisant


Python comme langage de programmation.

NB : A la place des tableaux, vous pouvez utiliser les listes. Et vous pouvez utiliser les
tuples pour manipuler les fonctions pouvant retourner plusieurs valeurs.

Page 21 sur 21
© IIT : Ipnet Institute of Technologie – http://www.ipnetuniversity.com