0% ont trouvé ce document utile (0 vote)
6 vues30 pages

Résolution de problèmes en programmation

Transféré par

Adel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues30 pages

Résolution de problèmes en programmation

Transféré par

Adel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

[Link]@tarbia.

tn Lycée 9 avril 1938- Tunis

Pensée computationnelle et programmation


Démarche de résolution de problème
Situation : Préparer un jus d’orange

Compléter le schéma suivant afin d’identifier les outils (entrées), les actions (les traitements) et les résultats (les sorties) de cette situation en réécrivant les étapes de
réalisation.

1
[Link]@[Link] Lycée 9 avril 1938- Tunis
Décrire les éléments essentiels permettant la résolution d’un problème :

Jeu 1 : Lancement de dé

2
[Link]@[Link] Lycée 9 avril 1938- Tunis

Règle du jeu
Le dé contient 6 facettes. Les facettes contiennent des valeurs comprises entre ….. et …..

Travail à faire
a- Ecrire un algorithme qui permet de simuler ce jeu.
………………………………………………………………………………………………
b- En déduire le Tableau de Déclaration des Objets (TDO).

Objet Type

c- Afin d’afficher la valeur choisie par l’ordinateur, il suffit d’utiliser cette instruction :
………………………………………………………………………………………………
La fonction Alea
Définition
Alea est une fonction qui permet de saisir …………………… une valeur comprise entre une valeur
initiale Vi et une valeur finale Vf.
Exercice 1 : Lancer Thonny et remplir le tableau suivant :
Description Algorithme Python
……………………………………………..
……………………………… X  aléa() X = random()
………………………… print (X)
Ex: >>> X= random()
0.49852220170348827
Générer un nombre entier dans ……………………………………………..
[val1, val2] X  Aléa (val1, val2) X = ………………… (val1, val2)
Ex: >>> ………………… (0, 20)
print(X)
20
Générer un nombre réel dans ……………………………………………..
[val1, val2] X = uniform (val1, val2)
Ex: >>> X= uniform (10, 12.5)
……………………………………………..
print("{:10.2f}".format(x))
……………………………………………..

Savoir-faire : Les bibliothèques

from random import *

from math import *

Exercice 2
- Lancer Thonny.
- Implémenter en Python le programme qui permet de simuler le jeu du lancement de dé.
3
[Link]@[Link] Lycée 9 avril 1938- Tunis
- Enregistrer le programme sous le nom « Ex2 » dans votre dossier de travail.
- Ajouter à votre programme cette instruction : print(type(D)).
Remarque : Python est sensible à la casse : print (type(X)) ≠ print (type(x))
 Qu’affiche le programme ?
………………………………………………………………………………
 En déduire le type de x.
……………………………………………………………………………….

Savoir- faire : Les objets


Un objet peut changer de valeur à tout moment dans l’algorithme.
Les types des objets standards :
Algorithme Python
Entier int
Réel float
Booléen bool
Chaîne de caractères str

Exercice 3 : Le jeu de chance Pile / Face


1- Ecrire un algorithme qui permet de simuler le résultat de la lancée d’une pièce de monnaie.
NB : Pile est symbolisée par 1 et face est symbolisée par 0.
…………………………………………………………………………………………
2-
- Lancer Thonny.
- Implémenter en Python le programme qui permet de simuler ce jeu.
- Enregistrer le programme sous le nom « Ex3 » dans votre dossier de travail.

Exercice 4 : Le jeu Taureau/ Vache


1- Ecrire un algorithme qui permet de proposer un entier positif de 4 chiffres à deviner par
l’utilisateur.
…………………………………………………………………………………………
2-
- Lancer Thonny.
- Implémenter en Python le programme qui permet de simuler ce jeu.
- Enregistrer le programme sous le nom « Ex4 » dans votre dossier de travail.

L’affectation
Notation algorithmique
X est une variable à laquelle on associe la valeur de 5.  ………………………………

4
[Link]@[Link] Lycée 9 avril 1938- Tunis
Implémentation Python
L’affectation en Python est représentée sous forme du signe =
Exemple : …………………………………………………………………………………

Savoir- faire : L’affectation


Cette opération permet d’affecter une valeur ou une expression à une variable.
Au niveau de l’algorithme Au niveau du Python
x5 x=5
x  x+2 x=x+2
y  a/b y=a/b

Exercice 5
1- Compléter le tableau suivant :

Instruction Valeur de A Valeur de B Valeur de C


A5
B 7
CA
AB
BC
2- Quel est le rôle de cet ensemble d’instructions ?
…………………………………………………………………………………………
Exercice 6
1- Compléter le tableau suivant :

Instruction Valeur de A Valeur de B


A5
B 7
AA+B
BA-B
AA-B
2- Quel est le rôle cet ensemble d’instructions ?
…………………………………………………………………………………………

Le type entier
Définition : C’est l’ensemble Z des entiers relatifs.

Savoir- faire

5
[Link]@[Link] Lycée 9 avril 1938- Tunis
Opérateurs arithmétiques : +, -, *, /, div, mod Opérateurs de comparaison : ≤, ≥, <, >, ≠, =
Algorithme Python Algorithme Python
div // ≠ !=
mod % = ==

Exercice 7
Compléter le tableau suivant :

Instruction Résultat Type


A  5+7
B 5-7
C 5*7
D5/7
E5 div 7
F5 mod 7
G5>7
H5≠7

Le type booléen
Définition : Le type booléen prend comme valeurs : vrai (True) ou faux (False)
Table de vérité

A B Non(A) A ou B A et B
V V
V F
F V
F F
Savoir- faire
Notation algorithmique / Notation Python

Algorithme Python
non not
et and
ou or
Exercice 8
Compléter le tableau suivant :

Instruction Résultat Type


A  (2>7) et (-2<5)
B (Alea (1,3)<10) ou (4>2)
C non (10≠-2)
6
[Link]@[Link] Lycée 9 avril 1938- Tunis

L’affichage
Savoir- faire
Algorithmique : Forme générale

Forme générale Exemples


Ecrire (variable) Ecrire (C)
Ecrire (message) Ecrire (‘’Bonjour’’)
Ecrire (message,variable) Ecrire (‘’La somme est :’’,S)
Python : Forme générale

Forme générale Exemples


print (variable) print (C)
print(message) print(‘Bonjour’)
print(message,variable) print(‘La somme est :’,S)

Exercice 9
1- Réécrire l’ensemble des instructions de l’Exercice 5 et afficher les valeurs finales de A et B.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………
2-
- Lancer Thonny.
- Implémenter cet algorithme en Python.
- Enregistrer le programme sous le nom « Ex9 » dans votre dossier de travail.
Exercice 10
1- Réécrire l’ensemble des instructions de l’Exercice 6 et afficher les valeurs finales de A et B.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………
2-
- Lancer Thonny.
- Implémenter cet algorithme en Python.
- Enregistrer le programme sous le nom « Ex10 » dans votre dossier de travail.
7
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exercice 11
a- Ecrire ce programme sur votre b- Enregistrer le programme sous le nom
« Ex11 » dans votre dossier de travail.
c- Exécuter le programme.
d- En déduire son rôle.
…………………………………………….

machine :

Jeu 2 : Chilaformi (Version 1)

Règles du jeu
- L’ordinateur saisit aléatoirement un nombre V1 compris entre 0 et 5.
- L’utilisateur saisit un nombre V2 compris entre 0 et 5.
- Calculer la somme de V1 et V2.
- Si la somme est paire, alors afficher « Ordinateur gagnant ».
Si la somme est impaire, alors afficher « Utilisateur gagnant ».

8
[Link]@[Link] Lycée 9 avril 1938- Tunis

Travail à faire
a- Ecrire un algorithme qui permet de simuler ce jeu.
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………
b- En déduire le Tableau de Déclaration des Objets (TDO).

Objet Type

c- Implémenter cette solution en Python.


Lecture / Saisie d’un objet
Savoir- faire
Algorithme Python
Ecrire (« Donner un nombre : ») x=int(input(‘Donner un nombre :’))
Lire (x) print(type(x))  ……………………
Lire (x) x=str(input())
print(type(x))  ……………………
Ecrire (« Donner votre nom : ») nom=input(‘Donner votre nom :’)
Lire (nom) print(type(nom))  ……………………
Ecrire (« Donner une note : ») note=float(input(‘Donner une note :’))
Lire (note) print(type(note))  ……………………

Exercice 12
a- Réorganiser ces instructions pour que l’algorithme affiche le montant à payer par un client qui a
acheté q cahiers sachant que le prix du cahier est 2500 millimes et qu’il a une remise de 10%.

1. Ecrire (“Le montant payé est : ”, m)


2. m  2500 * q
3. Ecrire (“Donner la quantité : ”), Lire (q)
4. r  (10*m)/100
5. m  m-r

9
[Link]@[Link] Lycée 9 avril 1938- Tunis

b- En déduire le Tableau de Déclaration des Objets (TDO)

Objet Type

Exercice 13
Ecrire un algorithme qui permet de saisir deux entiers A et B puis calculer et afficher la somme et le produit
de A et B.
Exemple : A=5, B=3  le programme affiche : S=8, P=15
Exercice 14
Ecrire un algorithme qui permet de saisir deux entiers A et B puis les permuter et les afficher.
Exemple : A=5, B=13  le programme affiche : A=13, B=5
Exercice 15
Ecrire un algorithme qui permet de saisir un rayon r strictement positif puis calculer le périmètre
d’un cercle. Périmètre d’un cercle=2 π r ( π est une constante = 3,14).
Exercice 16
Ecrire un algorithme qui permet de saisir un entier n composé de 3 chiffres puis afficher son inverse.
Exemple : n=256  le programme affiche : nombre inversé=652
Exercice 17
Ecrire un algorithme qui permet de saisir un entier n composé de 4 chiffres puis afficher la somme de ses
chiffres.
Exemple : n=1024 le programme affiche : S=7
Exercice 18
Ecrire un algorithme qui permet de saisir deux entiers N et M (N et M sont deux entiers dont
chacun est composé de 2 chiffres) puis former et afficher un entier R de 4 chiffres et ceci en
intercalant le nombre N entre les 2 chiffres de M.
Exemple : Si M=56 et N=21 alors l’entier R sera égal à 5216.
Exercice 19
Ecrire un algorithme qui permet de saisir un temps t en secondes puis afficher son équivalent en heures,
minutes et secondes.
Exemple : t=4000s  le programme affiche : 1 h 6 mns 40 s
Le types caractère et chaîne de caractères
Savoir-faire : Le type chaîne de caractères
Une chaîne de caractères est une suite de caractères. Elle est composée de caractères : lettres
alphabétiques majuscules ou minuscules ( M, a, …), des chiffres (0, 1,…), des signes de

10
[Link]@[Link] Lycée 9 avril 1938- Tunis
ponctuation (., ?,…) et des symboles (#, &,…). Exemples : Maths / 123 /
17/02/2021 / 1+3-5 ! /  est appelée chaîne vide

Savoir-faire : Les fonctions prédéfinies sur le type chaine de caractères

Algorithme Python Description

Long(S) len(S) Retourne le nombre de caractères de la chaine S.

Retourne la première position de S1 dans S2.


Pos (S1, S2) [Link](S1)
Si S1 n’existe pas dans S2, retourne -1

Convch(X) str(X) Convertit un nombre X en chaine.

Retourne Vrai si la chaine S est convertible en


Estnum(S) [Link]()
numérique, Faux dans le cas contraire.

Retourne la conversion d’une chaine S en numérique si


Valeur(S) int(S)
c’est possible.

Retourne une partie de la chaine S à partir de la


Sous_Chaine (S, D, F) S[d:f]
position D jusqu’à la position F exclue.

Efface des caractères de la chaine S à partir de la


Effacer (S, D, F) S[:D]+S[F:]
position D jusqu’à la position F exclue.

Majus(S) [Link]() Convertit la chaine S en majuscule.

Savoir- faire : Opérateur de concaténation +


Algorithme Python Type
Ch 1+2
Ch=………..

Savoir-faire : Le type caractère


Les lettres alphabétiques majuscules ou minuscules (A..Z, a..z), les chiffres (0..9),
les signes de ponctuation (., ?,…) et les symboles (#, &, …)
   le caractère espace

Savoir-faire : Les fonctions sur le type caractère


Algorithme & Python Rôle Exemples
A ord(c) A contient le code ASCII du caractère c print(ord(A))=……
 ord(B)=……
print(ord(a))=……
 ord(b)=……
11
[Link]@[Link] Lycée 9 avril 1938- Tunis
C chr(d) C contient le caractère dont le code ASCII est d print(chr(65))=……
 chr(66)=……
print(chr(97))=……
 chr(98)=……

Exercice 20 : Ecrire un algorithme qui permet de saisir une chaîne de caractères composée de 5 chiffres
puis afficher ses caractères séparés par le caractère *.
Exemple : ch=12345  le programme affiche : 1*2*3*4*5
Exercices 16, 17 et 18
Exercice 21 : Ecrire un algorithme qui permet de saisir une lettre alphabétique minuscule puis afficher son
équivalent en majuscule.
Exemple : Let=a  Let en majuscule=A
Exercice 22 : Ecrire un algorithme qui permet de saisir une chaine de caractères de taille impaire, puis afficher la
chaine contenant sa longueur, son premier caractère, le caractère du milieu ainsi que le dernier caractère.
Exemple : ch=poste  Le programme affiche : 5pse
Exercice 23 : Ecrire un algorithme qui permet de saisir une chaine de caractères de taille maximale 7 puis
remplacer son premier caractère par son successeur. (2 méthodes)
Exemple : ch=portail  Le programme affiche qortail
Exercice 24 : Exécution manuelle
Soit l’algorithme suivant :
Début
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
D  n mod 100
SC+D
Ecrire(S=,S)
Fin
Questions
1- Exécuter manuellement cet algorithme pour les valeurs suivantes :
 n=123
n C D S
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
12
[Link]@[Link] Lycée 9 avril 1938- Tunis
D  n mod 100
SC+D
Ecrire(S=,S)
 n=269
n C D S
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (100≤n≤999)
C  n div 100
D  n mod 100
SC+D
Ecrire(S=,S)
2- Quel est le rôle de cet algorithme ?
3- En utilisant une autre méthode, écrire un algorithme ayant le même rôle.

Savoir-faire : Le type chaîne de caractères


En python, le type chaîne de caractères est un type immutable c’est-à-dire un objet de type chaine de caractères
ne peut pas être modifié.

Savoir-faire : Structure conditionnelle simple : Syntaxe


Algorithme Python
Si condition Alors Traitement 1 if conditions(s) :
Sinon Traintement 2 Traitement 1
Fin si else :
Traitement 2
Savoir- faire : Structure conditionnelle généralisée : Syntaxe
Algorithme Python
Si condition Alors Traitement1 if conditions 1 :
Sinon si condition 2 Alors Traitement 2 Traitement 1
Sinon si ……… Alors elif condition 2 :
Traitement 2

Sinon Traitement n else :


Fin si Traitement n

Exercice 25 : Un algorithme peut aussi être représenté sous forme graphique. On parle d'organigramme (ou
d'ordinogramme).
a- Transformer cet organigramme en un algorithme.

13
[Link]@[Link] Lycée 9 avril 1938- Tunis

b- Implémenter cette solution en Python.

Savoir- faire : Structure conditionnelle à choix : Syntaxe


Au niveau de l’algorithme Au niveau du Python
Selon Sélecteur Faire
V1_1, V1_2,…,V1_n : Traitement
1
V2_1..V2_n : Traitement 2

[Sinon Traitement n]
Fin Selon

Savoir- faire : Le type scalaire


Prédécesseur Valeur Successeur Type
10
5
C
d

14
[Link]@[Link] Lycée 9 avril 1938- Tunis
5,2

7,05

porte
Le type scalaire a un et un seul prédécesseur et un et un seul successeur. Exemples :
……………………………………………………………………………………………………………
Exercice 26
a- Ecrire un algorithme qui permet de saisir un entier composé de 3 chiffres et de vérifier s’il est cubique. Un
entier naturel de 3 chiffres est dit cubique s’il est égal à la somme des cubes de ses trois chiffres. (2
méthodes).

Exemples : 153 est cubique car 153=13+53+33, 300 n’est pas cubique car 300 ≠ 33+03+03 (=27)
b- Implémenter cette solution en Python.
Exercice 27
a- Ecrire un algorithme qui permet de saisir deux entiers A et B puis afficher le maximum de ces deux entiers.
Exemple : a=5, B=-7  le programme affiche : Le maximum de 5 et -7 est 5.
b- Implémenter cette solution en Python.
Exercice 28
a- Ecrire un algorithme qui permet de saisir une chaîne ch contenant des chiffres et un caractère c qui doit
être un chiffre puis afficher si c existe ou non dans ch.
Exemple : ch=1568 et c=8  Le programme affiche : 8 existe dans 1568
b- Implémenter cette solution en Python.
Exercice 29
a- Ecrire un algorithme qui permet de saisir une lettre alphabétique (majuscule ou minuscule) puis
afficher son rang dans l’alphabet. (2 méthodes)
Exemple : Let= B  Rang dans l’alphabet=2
b- Implémenter cette solution en Python.
Exercice 30
a- Ecrire un algorithme qui permet de saisir un entier X puis afficher s’il est positif ou négatif.
Exemple : X=5  5 positif
b- Implémenter cette solution en Python.
Exercice 31
a- Ecrire un algorithme qui permet de saisir un entier X puis afficher s’il est positif ou négatif ou neutre.
Exemple : X=0  0 neutre
b- Implémenter cette solution en Python.
Exercice 32

15
[Link]@[Link] Lycée 9 avril 1938- Tunis
a- Ecrire un algorithme qui permet de saisir deux entiers A et B puis afficher le signe de leur produit :
positif, négatif ou neutre. Nb : Ne calculer pas le produit
Exemple : A=7, B=-2  Le signe du produit est négatif
b- Implémenter cette solution en Python.
Exercice 33
Le jeu consiste à tirer au hasard un entier X formé de deux chiffres.
 Si le chiffre de dizaine est égal au chiffre d'unité, on gagne 10 points.
 Si le nombre est divisible par 3, on gagne 2 points.
 Si le chiffre de dizaine est impair, on gagne 1 point.
 Si les 3 conditions sont vérifiées alors afficher X est un nombre magique
 Afficher le score final.
Exemple : si le nombre tiré est 99, on gagne 13 pts  99 est un nombre magique
a- Ecrire un algorithme qui permet de calculer, afficher le score obtenu et afficher si le nombre est
magique.
b- Implémenter cette solution en Python.
Exercice 34
a- Ecrire un algorithme qui permet de saisir un entier J compris entre 1 et 7 puis afficher le jour
correspondant.
Exemple : J=1  Jour=dimanche
b- Implémenter cette solution en Python.
Exercice 35
a- Ecrire un algorithme qui permet de saisir un mois m compris entre 1 et 12 et une année a composée de
4 chiffres puis afficher le nombre de jours du mois.
NB : Une année est dite bissextile si elle est divisible par 4.
Exemples
 m=5  Nbjours=31
 m=4  Nbjours=30
 m=2, a=2000 (année bissextile)  Nbjours=29
 m=2, a=1999 (année non bissextile)  Nbjours=28
b- Implémenter cette solution en Python.
Exercice 36
a- Ecrire un algorithme qui permet de saisir l’heure (comprise entre 0 et 23) et les minutes (comprises
entre 0 et 59) puis afficher l’heure qu’il sera une minute plus tard.
Exemples
 Si l'utilisateur tape 21 puis 32, le programme affiche : "Dans une minute, il sera 21 h 33 mns".
 Si l'utilisateur tape 21 puis 59, le programme affiche : "Dans une minute, il sera 22 h 00 mns".
 Si l'utilisateur tape 23 puis 59, le programme affiche : "Dans une minute, il sera 00 h 00 mns".
b- Implémenter cette solution en Python.
Exercice 37
a- Ecrire un algorithme qui permet de saisir deux réels a et b puis résoudre dans R l’équation ax+b=0.
16
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exemple : a= 2, b=6  x=-3
b- Implémenter cette solution en Python.
Exercice 38
a- Ecrire un algorithme qui permet de saisir 3 réels a, b et c puis résoudre dans R l’équation ax2+bx+c=0.
 Si a ≠ 0, il s’agit de calculer =b2-4ac
−b− √ ❑ −b+ √ ❑
 Si =0 puis x1¿ et x2¿
2a 2a
−b
 Si =0 alors le programme affiche une solution unique : ¿
2a
 Si <0alors le programme affiche « Pas de solutions réelles ».
 Sinon (a=0), l’équation devient de premier degré :
−c
 Si b ≠ 0 alors le programme affiche la solution : ¿
b
 Sinon (b = 0) :
 Si c ≠ 0 alors le programme affiche « Ensemble vide ».
 Sinon (c = 0) alors le programme affiche « Ensemble R ».
Tester ce programme pour :
 a=2, b= -5, c= 2
 a=2, b= -1, c= 6
 a=2, b=4, c=2
b- Implémenter cette solution en Python.

Savoir-faire : Fonctions prédéfinies des types numériques

Exercice 39
a- Ecrire un algorithme qui permet de saisir un caractère c puis afficher s’il est consonne majuscule ou
voyelle majuscule ou consonne minuscule ou voyelle majuscule ou point de ponctuation ou chiffre ou
symbole.
Exemple : c=!  Le programme affiche : signe de ponctuation
b- Implémenter cette solution en Python.
Exercice 40
a- Ecrire un algorithme qui permet de saisir deux entiers A≥0 et B≥0 et un opérateur op (+, -, *,
/) puis afficher le résultat de A op B.
Exemple : Si A=7, B=2, op=/ alors le programme affiche : 7/2=3,5
b- Implémenter cette solution en Python.
Exercice 41

a- Ecrire un algorithme qui permet de saisir deux dates valides d1 et d2 sous forme jj/mm/aaaa puis
afficher la date la plus récente.
17
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exemple : d1=31/01/2017, d2=02/02/2018  02/02/2018 est plus récente que 31/01/2017
b- Implémenter cette solution en Python.
Exercice 42 : Transformer cet organigramme en un algorithme.

Jeu 3 : Chilaformi (Version 2)

Règles du jeu
- L’ordinateur saisit aléatoirement un nombre V1 compris entre 0 et 5.
- L’utilisateur saisit un nombre V2 compris entre 0 et 5.
- Calculer la somme de V1 et V2.
- Si la somme est paire, on ajoute 1 au score S1 de l’ordinateur.
Si la somme est impaire, on ajoute 2 au score S2 de l’utilisateur.
- Le jeu s’arrête quand l’un des scores (S1 ou S2) atteint 5.
- Afficher le joueur gagnant.
Savoir faire : Structure itérative à condition d’arrêt : Syntaxe
Algorithme Python
Traitement

Tant que condition faire

Traitement Traitement

Fin Tant que while condition :

Traitement Traitement
Répeter

Traitement

Jusqu’à condition(s)
Exercice 43
a- Transformer l’organigramme suivant en un algorithme.

18
[Link]@[Link] Lycée 9 avril 1938- Tunis

b- Implémenter cette solution en Python.


Exercice 44
a- Ecrire un algorithme qui permet de saisir une chaîne ch de taille maximale 10 puis afficher si elle
ne contient que des lettres alphabétiques et des espaces ou non.
Exemples : Ab Cd Gh est une chaine alphabétique, Ab1c2.+ n’est pas une chaîne
alphabétique
b- Implémenter cette solution en Python.
Exercice 45 : PGCD (Méthode de différence)
a- Ecrire un algorithme qui permet de saisir 2 entiers a et b strictement positifs puis calculer et afficher
leur PGCD en utilisant la méthode de différence.
Exemple : a=12, b=8
PGCD (12, 8) = ?
12>8  PGCD (12, 8) = PGCD (12-8,8) = PGCD (4,8)
4<8  PGCD (4,8) = PGCD (4,8-4) = PGCD (4,4)
4=4 Donc PGCD (12, 8)=4
b- Implémenter cette solution en Python.
Exercice 46 : PPCM
c- Ecrire un algorithme qui permet de saisir deux entiers A0 et B0, calculer et afficher PPCM(A,B).
Exemple : a=8, c=12  PPCM(8,12)=24
d- Implémenter cette solution en Python.
Exercice 47 : Palindrome

19
[Link]@[Link] Lycée 9 avril 1938- Tunis
a- Ecrire un algorithme qui permet de saisir une chaîne de taille0 puis vérifier si elle est palindrome.
Une chaine est dite palindrome si elle est la même de droite à gauche et de gauche à droite.
Exemples : AZZA, radar
b- Implémenter cette solution en Python.
Exercice 48 : Nombre Premier
a- Ecrire un algorithme qui permet de saisir un entier N0 puis vérifier s’il est un nombre premier.
Un nombre est dit premier s’il est divisible par 1 et par lui- même.
Exemples : 5, 7, 11 sont des nombres premiers.
b- Implémenter cette solution en Python.

Savoir- faire : Structures itératives complètes : Syntaxe


Algorithme Python
for element in sequence :
Traitement
La variable element est dite variable d’‘itération, elle prend
successivement les différentes valeurs de la sequence
Pour compteur de Vi à Vf faire
Exemples
Traitement for i in range(10) :
print(i) # affiche les entiers de 0 à 9
Finpour for i in range(5,10) :
print(i) # affiche les entiers de 5 à 9
Vi : valeur intiale du compteur for n in range(10,20,2):
print(n) # affiche les entiers de 10 a 18
Vf : valeur finale du compteur
avec un pas =2 (10,12 ,14,16,18)
for i in range (10,0,-1) :
print (i) #affiche les entiers de 10 à 1
avec un pas = -1

Exercice 49
a- Ecrire un algorithme qui permet de saisir un entier n≥0 puis calculer et afficher n !.
n !=1*2*3*4*…*(n-1)
Exemples :
 n=0  0 !=1
 n=1  1 !=1
 n=4  4 !=1*2*3*4=24
b- Implémenter cette solution en Python.
20
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exercice 50
a- Ecrire un algorithme qui permet de saisir deux entiers x et y (x0, y0) puis calculer et afficher xy.
Exemple : x=3, y=2  32=8
b- Implémenter cette solution en Python.
Exercice 51
a- Ecrire un algorithme qui permet d’afficher les nombres pairs composés de 2 chiffres.
Le programme affiche : 10, 12, 14,…..,98
b- Implémenter cette solution en Python.
Exercice 52
a- Ecrire un algorithme qui permet de saisir un entier n0 puis afficher s’il est parfait ou non.
Un nombre n est dit parfait s’il est égal à la somme de ses diviseurs sauf lui- même
Exemple : n=6, les diviseurs de 6 sauf lui- même : 1, 2 et 3  1+2+3=6  6 est parfait
b- Implémenter cette solution en Python.
Exercice 53
a- Ecrire un algorithme qui permet de saisir une chaîne ch non vide et de taille maximale 10, puis
calculer le nombre de lettres, de chiffres et de symboles dans cette chaîne.
Exemple : ch=a1$BC#  nbre de lettres = 3, nbre de chiffres = 1, nbre de symboles = 2
b- Implémenter cette solution en Python.
Exercice 54
a- Ecrire un algorithme qui permet de saisir une chaîne ch de taille minimale 4 puis calculer la somme
des chiffres dans ch.
Exemple : ch=a1$BC#7  S=8
b- Implémenter cette solution en Python.
Exercice 55
a- Ecrire un algorithme qui saisit une chaîne ch non vide puis affiche le nombre de mots de cette
chaîne. On suppose que deux mots sont séparés par un et un seul espace.
Exemple : ch=Bonjour la Tunisie.  nbre de mots = 3
b- Implémenter cette solution en Python.
Exercice 56
a- Ecrire un algorithme qui permet de saisir une chaîne ch de taille minimale 4 puis afficher la chaîne
des lettres, la chaîne des chiffres et la chaîne des symboles.
Exemple : ch=a1$BC#  chv=aBC, chc=1, chs=$#
b- Implémenter cette solution en Python.

21
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exercice 57
a- Ecrire un algorithme qui permet de saisir une chaîne ch numérique non vide, saisir un chiffre c puis
calculer le nombre d’occurrences de c dans ch.
Exemple : ch=123451211, c=1  Nbre d’occurrences=4
b- Implémenter cette solution en Python.
Exercice 58
a- Ecrire un algorithme qui permet de saisir deux entiers n et p (0p≤n) puis calculer et afficher

b- Implémenter cette solution en Python.

Savoir- faire
Les fonctions : Syntaxe algorithmique
Fonction Nom_fonction (pf1 : type1, pf2 : type2, … ,pfn : typen) : type_résultat
DEBUT
Traitement
Retourner Résultat
FIN
Les fonctions : Appel algorithmique
ObjetNom_fonction (pe1, pe2, …, pen)
NB : pf est un paramètre formel défini au niveau de la définition de la fonction. pe est un paramètre effectif
utilisé lors de l’appel de la fonction.
Savoir- faire
Les procédures : Syntaxe algorithmique
Procédure Nom_procedure (pf1 : type1, pf2 : type2, … ,pfn : typen)
DEBUT
Traitement
FIN
Les procédures : Appel algorithmique
Nom_procedure (pe1, pe2, …, pen)

22
[Link]@[Link] Lycée 9 avril 1938- Tunis

Exercice 59
a- Ecrire un algorithme qui permet de saisir un nombre n>10 puis affiche s’il est sublime ou non. Un
nombre est dit sublime si le nombre de ses diviseurs et la somme de ses diviseurs sont parfaits.
Un nombre est dit parfait s’il égal à la somme de ses diviseurs sauf lui-même.
Exemple : 12 est un nombre sublime
Diviseurs : 1, 2, 3, 4, 6, 12
Nombre de diviseurs = 6  parfait // Somme des diviseurs = 28  parfait
b- Implémenter cette solution en Python.
Exercice 61
a- Ecrire un algorithme qui permet de saisir une chaîne ch non vide, saisir aléatoirement un entier p
(0<p<long(ch)-1), inverser la chaîne (caractère d’indice 0, caractère d’indice p), inverser la chaîne
(caractère d’indice p+1, caractère d’indice long(ch)-1) puis concaténer les deux chaînes inversées et
afficher la chaîne résultat.

Exemple : ch=abc1 2+59?, p=3, chaîne résultat : 1cba 95+2.


b- Implémenter cette solution en Pyhton.
Exercice 62

23
[Link]@[Link] Lycée 9 avril 1938- Tunis
a- Ecrire un algorithme qui permet de saisir n1 et n2 (n1>0, n2> 0 et n1≠n2) puis afficher s’ils sont
jumeaux.
Deux nombres n1 et n2 sont dits jumeaux si n1 et n2 sont premiers et n2=n1+2
Exemples : 5 et 7 sont jumeaux
b- Implémenter cette solution en Pyhton.

Jeu 4 : Jeu de dominos

D 0 0 0 6 6 1 1 5
0 1 2 3 4 5 6 7
Les paires (D[0], D[1]), (D[2], D[3]), (D[4], D[5]), (D[6], D[7]) représentent une suite de 4 dominos.

24
[Link]@[Link] Lycée 9 avril 1938- Tunis

Savoir- faire : La structure tableau à une dimension


En algorithme
Déclaration : Méthode 1 Déclaration : Méthode 2
TDO Tableau de Déclaration des Nouveaux Types
Objet Type / Nature (TDNT)
Nom_tableau Tableau de n type_élément Type
Nom_type=Tableau de n type_élément
TDO
Objet Type / Nature
Nom_tableau Nom_type

En python
On utilisera la bibliothèque numpy pour implémenter les tableaux.

25
[Link]@[Link] Lycée 9 avril 1938- Tunis

Exercice 63
a- Ecrire un algorithme qui permet de saisir un entier n pair, remplir un tableau T par n entiers positifs,
calculer et afficher la somme des éléments de T.
Exemple : n=6

T 15 125 4 0 -2 -13
0 1 2 3 4 5
S=129
b- Implémenter cette solution en Python.
Exercice 64
a- Ecrire un algorithme qui permet de saisir un entier n0, remplir T1 par n chaînes numériques non
vides et de taille maximale 7, remplir un tableau T2 telle que : T[i] = Somme des chiffres de T1[i]
puis afficher T2.
Exemple : n=4

T1157 11 4 1078 T2 13 2 4 16


   
b- Implémenter cette solution en Python.
Exercice 65 : Saisir n pair, remplir T par n entiers strictement positifs puis afficher le minimum et le
maximum dans T.
Exercice 66 : Saisir n (2<n<10), de remplir aléatoirement T par n lettres minuscules, de diviser T en 2
tableaux (T1 : tableau de voyelles, T2 : tableau de consonnes) et d’afficher T1 et T2.
Exercice 67 : Recherche séquentielle
Saisir n pair, remplir un tableau T par n entiers (chaque entier est impair et composé de 3 chiffres), saisir X
un entier impair et composé de 3 chiffres et afficher si X existe ou non dans T.
Exercice 68 : Saisir n0, remplir T par n lettres alphabétiques et afficher le nombre de voyelles et la chaîne
des consonnes dans ce tableau T.

26
[Link]@[Link] Lycée 9 avril 1938- Tunis
Exercice 69 : Saisir 5≤n≤20, remplir T par n entiers composés de 2 chiffres, saisir p (compris entre 0 et n-1),
saisir X composé de 2 chiffres, insérer X dans le tableau T à la position p et afficher T.
Exercice 70 : Saisir (2<n<20). Chaque chaîne doit être alphabétique et doit avoir un nombre de caractères
strictement supérieur à son indice dans le tableau puis afficher pour chaque élément T[i] du tableau les
(i+1) premiers caractères de la chaîne.
Exemple : n=6
T Bit Modem Ecran Souris Processeur Memoire
0 1 2 3 4 5
Le programme affiche :
B
Mo
Ecr
Sour
Proce
Memoir
Exercice 71 : Saisir n (2 ≤ n ≤ 15), remplir T1 et T2 par n entiers de 2 chiffres, former un tableau T tel que
T[i] est le résultat de la fusion des deux éléments T1[i] et T2[i] selon le principe suivant :
 Insérer le chiffre des dizaines du plus petit nombre parmi T1[i] et T2[i] entre les 2 chiffres
du plus grand nombre parmi T1[i] et T2[i].
 Mettre le chiffre des unités du plus petit nombre parmi T1[i] et T2[i] à droite du nombre
obtenu.
Exemple : T1[i]=52, T2[i]=36  T[i]=5326
Exercice 72 : Saisir n pair, remplir un tableau T par n cartes d’identités sachant que chaque carte d’identité
est composée de 8 chiffres et unique puis afficher T.
Exercice 73 : Saisir n (5 ≤ n ≤ 30), remplir aléatoirement le tableau T par n entiers compris entre 0 et 100,
saisir p compris entre 1 et n-1, vérifier si T[p] est égal à la somme d’un certain nombre d’éléments
consécutifs de T qui le précèdent immédiatement. Dans ce cas, le programme affiche ces éléments, sinon, il
affiche Condition non vérifiée.
Exemple : n=7, p=5
T 3 2 4 6 12 18 20
0 1 2 3 4 5 6
Le programme affiche : 6,4,2
Exercice 74 : Multiplication russe
Saisir deux entiers A et B (2 ≤ A ≤ 100 et 2 ≤ B ≤ 100) puis calculer et afficher le produit de A et B en
utilisant la méthode russe. Il s’agit d’utiliser seulement la division, la multiplication par 2 et l’addition
selon le principe suivant :
27
[Link]@[Link] Lycée 9 avril 1938- Tunis
 Le premier nombre est divisé par 2 (division entière) et le deuxième nombre est multiplié par 2.
 Ce processus est répété jusqu’à avoir 1 comme valeur du premier nombre.
 Les deux nombres de départ ainsi que les résultats de calcul seront mis dans 2 tableaux DIVIS
et MULT : DIVIS contient les différentes valeurs du premier nombre et MULT contient les
différentes valeurs du deuxième nombre.
 Le résultat du produit recherché est la somme des nombres du tableau MULT qui sont en face
des nombres impairs du tableau DIVIS.
Exemple : A=11, B=13

DIVIS 1 5 2 1
1
0 1 2 3

MULT 1 26 52 104
3
0 1 2 3
11*13= 13+26+104=143
Exercice 75 : Soit la suite U définie par :
U0=1
U1=3
Un=2*Un-1+3*Un-2 pour tout n ≥ 3
Saisir n (3 ≤ n ≤ 20) puis afficher les n premiers termes de la suite U.
Exemple : n=5
Le programme affiche : 1, 3, 9, 21, 69

Correction des exercices (Python)

Exercice 65 Exercice 67

28
[Link]@[Link] Lycée 9 avril 1938- Tunis

Exercice 66

Exercice 69

29
[Link]@[Link] Lycée 9 avril 1938- Tunis

Exercice 74 Exercice 70

30

Vous aimerez peut-être aussi