Vous êtes sur la page 1sur 63

Pensée computationnelle

et programmation
Les étapes de résolution d’un problème

1. Définition et analyse du problème

▪ Les entrées

▪ Les sorties

▪ Le Traitement

2. Algorithme

3. Implémentation en Python

4. Compilation et exécution
Problème: Jeu Questions-Réponses
• Chaque question s’affiche sur l’écran avec les
propositions. Par exemple:
Lequel de ces langages n'existe pas?
1. Python
2. C
3. Java
4. QCM

• Le joueur choisit parmi les propositions.


• La réponse du joueur est comparée avec la réponse
correcte.
• Un message est affiché pour indiquer si la réponse
du joueur est correcte ou non.
Étape N°1:
Définition et analyse du problème

Entrées traitement Sorties


• La réponse du • Comparer la • Un message
joueur:answer réponse du indiquant si la
joueur avec la réponse est
réponse correcte ou
correcte non
Organigramme
Étape N°2:
Algorithme
ALGORITHME questionnaire
DEBUT
Ecrire("Lequel de ces langages n'existe pas?
1. Python
2. C
3. Java
4. QCM ")
Ecrire(" Saisir votre réponse ")
Lire (answer)
Si (answer ≤ 3) Alors
Ecrire (" La réponse est fausse! " )
Sinon
Ecrire (" La réponse est correcte. " )
FinSi
FIN
Déclaration des objets

Objet Type / Nature


answer Entier
Étape N°3:
Implémentation en python
Étape N°4:
Compilation et exécution
Étape N°4:
Compilation et exécution
Les structures de contrôle conditionnelles
❑ La forme simple

Définition:
Syntaxe:

Algorithme Python

Si Condition Alors IF Condition:


Traitement Traitement
FinSi
Les structures de contrôle conditionnelles
❑ La forme complète

Définition:
Syntaxe:

Algorithme Python

Si Condition Alors IF Condition:


Traitement1 Traitement1
Sinon ELSE:
Traitement2 Traitement2
FinSi
Constatation:

Lorsque le joueur choisit une réponse inférieure à 1,


le message affiché est « La réponse est fausse ».

Lorsque le joueur choisit une réponse supérieure à 4,


le message affiché est « La réponse est correcte ».

La réponse doit être soit 1, 2, 3 ou 4,


sinon il s’agit d’une erreur de saisie.
Organigramme
Solution avec la forme
conditionnelle généralisée :
Algorithme
ALGORITHME questionnaire
DEBUT
Ecrire("Lequel de ces langages n'existe pas?
1. Python
2. C
3. Java
4. QCM ")
Ecrire(" Saisir votre réponse ")
Lire (answer)
Si (answer=1 ou answer=2 ou answer = 3) Alors
Ecrire (" La réponse est fausse! " )
Sinon Si (answer=4) Alors
Ecrire (" La réponse est correcte. " )
Sinon
Ecrire (" Erreur de saisie. " )
FinSi
FIN
Déclaration des objets

Objet Type / Nature


answer Entier
Implémentation en python
Les structures de contrôle conditionnelles
❑ La forme conditionnelle généralisée
Définition:
Algorithme Python
Syntaxe:
SI Condition1 ALORS IF Condition1 :
Traitement1 Traitement1
SINON SI Condition2 ALORS ELIFCondition2 :
Traitement2 Traitement2
SINON SI Condition3 ALORS ELIFCondition3 :
Traitement3 Traitement3
SINON SI ... ELIF...
... ...
SINON SI ConditionN ALORS ELIFConditionN :
TraitementN TraitementN
SINON ELSE:
TraitementN+1 TraitementN+1
FINSI
Constatation:

Lorsque le joueur choisit une réponse non numérique,


une erreur est survenue.

Il faut un contrôle de saisie avant de


passer au test.
Organigramme
ALGORITHME questionnaire
DEBUT
Ecrire("Lequel de ces langages n'existe pas?
1. Python
2. C
3. Java
4. QCM ")
Répéter
Ecrire(" Saisir votre réponse ")
Lire (answer)
Jusqu’à (answer ∈ [1,2,3,4])
Si (answer = 4) Alors
Ecrire (" La réponse est correcte! " )
Sinon
Ecrire (" La réponse est fausse. " )
FinSi
FIN
Implémentation en python
Les structures de contrôle itératives
❑ La structure de contrôle itérative à condition d'arrêt

Définition:
Syntaxe:
Algorithme Python

Répéter While (True):


Traitement Traitement
Jusqu'à condition IF Condition :
break

NB : La structure itérative à condition d’arrêt


répéter…jusqu’à répète le traitement, elle
s’arrête lorsque la condition est vraie.
break : permet de quitter la boucle.
La différence entre
pour, tant que et
répéter jusqu’à
Exécuter le programme ci-dessous puis déduire
son rôle.

Affiche le message "bonjour" 8 fois.


i ∈ [2,3,4,5,6,7,8,9]
Exécuter le programme ci-dessous puis déduire son
rôle.

Le programme répète la demande


d’un entier x jusqu’à 5<=x<=10.
Exécuter le programme ci-dessous puis déduire son
rôle.
Exécuter les programmes ci-dessous pour i=1 et i=6
puis déduire la différence entre eux.

Pour i=1 aucune différence entre les deux programmes


Pour i=6 le deuxième programme répète le traitement
une fois.
Exécuter le programme ci-dessous puis déduire le rôle de
"continue".
Les structures
de contrôle

conditionnelles itératives

À condition
simple Complète généralisée Complète
d’arrêt

Répéter
Tant que
jusqu’à
Structure modulaire
Programme modulaire: programme dans lequel
chaque tâche du programme a sa propre fonction.

Dans ce programme, la
tâche a été divisée en
plusieurs tâches plus
petites, chacune étant
Ce programme est une longue et complexe exécutée par une fonction
séquence d'instructions distincte.
Avantages des solutions modulaires

✓ Code plus simple


✓ Réutilisation du code: écrivez le code une fois et appelez-le
plusieurs fois
✓ Meilleurs tests et débogage: Peut tester et déboguer chaque
module individuellement.
✓ Développement plus rapide
✓ Facilitation du travail d'équipe: Différents membres de l'équipe
peuvent écrire différents modules.
Les procédures
Définition

Une procédure est un sous programme qui permet la résolution d’un problème précis
et qui peut avoir plusieurs résultats.
Syntaxe
Algorithme
La déclaration
Procédure Nom_procédure (pf 1 : type 1 , pf 2 : type 2 , … , pf n : type n )
DEBUT
Traitement
FIN
L’appel Nom_procédure (pe 1 , pe 2 , … , pe n )

Python
La déclaration L’appel
def Nom_procédure(liste de paramètres): Nom_procédure(liste de paramètres)
Traitement
Les fonctions
Définition

Une fonction est un sous programme qui permet la résolution d’un problème précis et
doit avoir un seul résultat de type simple (entier, réel, booléen, caractère ou chaîne de
caractère)
Syntaxe
Algorithme
La déclaration
Fonction Nom_fonction (pf 1 : type 1 , pf 2 : type 2 , … , pf n : type n ) : Type_résultat
DEBUT
Traitement
Retourner Résultat
FIN
L’appel Objet  Nom_fonction (pe 1 , pe 2 , …, pe n )

Python
La déclaration L’appel
def Nom_fonction(liste de paramètres):
Traitement Objet=Nom_fonction(liste de paramètres)
return Résultat
Projet
La procédure main

Appel de la procédure main


La procédure display_menu
La procédure search_by_name
La procédure display_car_data
Les tableaux
Le tableau à une dimension
Application

Ecrire un algorithme et son implémentation en Python d’un programme qui permet de


trouver et d'afficher le plus grand élément d’un tableau T de n entiers avec (5≤n≤20).

 Exemple : On donne pour n = 8, T =


le résultat est " Max = 9 ".
Algorithme

Fonction saisir( ) : entier


Début
Répéter
Ecrire ("saisir la taille du tableau n="), Lire (n)
Jusqu’à (5≤n≤20)
Retourner (n)
Fin

Tableau de déclaration des objets locaux(T.D.O.L)

Objet Type / Nature


n Entier
Implémentation en python
Algorithme

Fonction remplir( n : entier ) : Tab


Début
Pour i de 0 à n-1 Faire
Ecrire (" T[ ", i , " ]= "), Lire(T[i])
Fin pour
Retourner (T)
Fin
T.D.O.L
Objet Type / Nature
i Entier
T Tab
Implémentation en python
Algorithme

Procédure AfficheMax(T :Tab ; n :entier)


Début
Max  T[0]
Pour i de 1 à n-1 Faire
Si T[i]>Max Alors
Max  T[i]
Fin Si
Fin pour
Ecrire ("Max = ", Max) T.D.O.L
Fin
Objet Type / Nature
Max,i Entier
Implémentation en python
Algorithme
ALGORITHME MaxTab
DEBUT Tableau de déclaration des
taille  saisir() nouveaux types(T.D.N.T)
T  remplir(taille)
affiche_max(T,taille) Nouveau type
FIN Tab= tableau de 20 entiers

T.D.O.G(Globaux)
Objet Type / Nature
taille Entier
T Tab
saisir fonction
remplir fonction
affiche_max procédure
Implémentation en python

Vous aimerez peut-être aussi