0% ont trouvé ce document utile (0 vote)
82 vues13 pages

Exercices PY

Transféré par

khalidelmajdouly722
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
82 vues13 pages

Exercices PY

Transféré par

khalidelmajdouly722
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 PDF, TXT ou lisez en ligne sur Scribd

LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE

CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Exercices Python Exercice : 009


Ecrire une fonction « tri(a,b,c) renvoie le tri de a, b et c.
Exercice : 001
Ex : tri(5,2,3) ->(2,3,5)
Ecrire une fonction « estPositif(x) » qui renvoie True si le nombre x est
Exercice : 010
positif et False sinon
Ecrire une fonction « equation2d(a,b,c) » qui renvoie les solutions
Exercice : 002
réelles d'une équation du second degré ax2+bx+c = 0
Ecrire une fonction « abs(x) » qui renvoie la valeur absolue de x.
Exercice : 011
Exercice : 003
Ecrire une fonction « mention (moy) » qui renvoie la mention attribuée à
Écrire une fonction « estPair( x ) » qui renvoie True si le nombre x est la moyenne « moy ».
pair et False sinon.
les mentions :[excellent, très bien ,bien, assez bien, passable, faible]
Exercice : 004
Exercice : 012
Écrire une fonction « unites( x ) » qui renvoie le chiffre des unités de x.
Écrire une fonction «croissant(n) » permet d’afficher les entiers de 1 à n
Ex : unites (523) -> 3 dans l’ordre décroissant.
Exercice : 005 Utiliser for et while

Écrire une fonction «dizaines(x) » qui renvoie le chiffre des dizaines de x. Exercice : 013

Ex : dizaines (523) -> 2 Écrire une «decroissant(n) » permet d’afficher les entiers de 1 à n dans
l’ordre décroissant.
Exercice : 006
Utiliser for et while
Écrire une fonction «estDiv(x,y) » qui renvie True si x est divisible par y.
Exercice : 014
Exercice : 007
Écrire la fonction «mul2(n) » qui permet d’afficher les multiples de 2 entre
Ecrire une fonction « max(a,b) » qui renvoie la valeur maximale de a et 1 et n.
b. Utiliser for et while
Exercice : 008 Exercice : 015

Ecrire une fonction « max(a,b,c) » qui renvoie la valeur maximale de a,b Écrire la fonction «mul(x,n) » qui permet d’afficher les multiples de x entre
et c. 1 et n.
[1] [2]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Exercice : 016 Exercice : 022


Écrire la fonction «paires(d,f) » qui permet d’afficher les nombres Écrire une fonction « somChiffre(n) » qui prend un entier positif N en
impaires entre d et f. paramètre et qui fournit la somme des chiffres de N comme résultat.
Utiliser le pas Ex :somChiffre (123987) -> 30.
Exercice : 017 Exercice : 023
Écrire une fonction «muls(x,d,f) » qui permet d’afficher multiples de x Écrire une fonction « MoyChiffre(n) » qui prend un entier positif N en
entre d et f. paramètre et qui fournit la moyenne des chiffres de N comme résultat.
Utiliser le pas Ex !MoyChiffre (123987) -> 5.
Exercice : 018 Exercice : 024
Ecrire une fonction « estPremier(n) »qui retourne True si un nombre « n» Ecrire une fonction « U(n) »qui permet de calculer Un pour n>=1 .
est premier et False si non.
Exercice : 019
Écrire une fonction « NbChiffre(n) » qui prend un entier positif N en
paramètre et qui fournit le nombre de chiffres de N comme résultat. Exercice : 025
Ex :NbChiffre(123987) -> 6. Ecrire une fonction « convertirDB(d) » qui permet de retourner le
Exercice : 020 résultat de la conversion d’un nombre de la base décimale (base 10) en
base binaire (base 2)
Écrire une fonction « MaxChiffre(n) » qui prend un entier positif N en
paramètre et qui fournit le chiffre maximum de N comme résultat. Ex: convertirDB(6) -> 110
Ex : MaxChiffre (123987) -> 9. Exercice : 026
Exercice : 021 Ecrire une fonction « convertirBD(b)» qui permet de retourner la
Écrire une fonction « MinChiffre(n) » qui prend un entier positif N en conversion un nombre de la base binaire (base 2) en base décimale (base
paramètre et qui fournit le chiffre minimum de N comme résultat. 10)
Ex : MinChiffre (123987) -> 1. Ex: convertirBD (110) -> 6

[3] [4]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Exercice : 027 str Exercice : 034 str


Écrire une fonction isUpperChar(c) qui retourne True si le caractère c Écrire une fonction « count(s,c)» qui compte le nombre d'occurrences
est majuscule, False sinon. d'un caractère c dans une chaîne s.
Exercice : 028 str Exercice : 035 str
Écrire une fonction isLowerChar (c) qui retourne True si le caractère c Écrire une fonction Maxc(ch) qui retourne le caractère ayant le plus grand
est minuscule, False sinon. code ASCII.
Exercice : 029 str Exercice : 036 str
Écrire une fonction isChiffre(c) qui retourne True si le caractère c est Écrire une fonction rang(c) qui retourne le rang de caractère c dans
un chiffre, False sinon. l’alphabet.
Exercice : 030 str Ex: rang(‘A ‘) 1 | rang(‘a ‘) 1 | rang(‘Z ‘) 26
Écrire une fonction isVowels(c) qui retourne True si le caractère c est Exercice : 037 str
une voyelle, False sinon.
Écrire une fonction maxl(ch) qui retourne la lettre ayant le plus grand
Exercice : 031 str rang dans l’alphabet.
Écrire une fonction isUpper(ch) qui retourne True si la chaine de Ex: maxl(‘abFuSde98’)’S’
caractères ch est majuscule, False sinon.
Exercice : 038 str
Exercice : 032 str
Écrire une fonction « delete (s,c)» qui supprime tous les occurrences
Écrire une fonction isAlphaNum(ch) qui renvoie True si les caractères de c dans s.
dans cette chaîne sont alphanumériques et il y a au moins un caractère.
Exercice : 039 str
Ex: isAlphaNum (‘Abfsf12554‘)True
Écrire une fonction « remplacer (s,c,r)» qui recherche dans une chaîne
Exercice : 033 str chaque caractère c pour le remplacer par un caractère r.
Écrire une fonction «recherche(s,c)» qui renvoie tue si le caractère c
Exercice : 040 str
existe dans la chaîne s.
Écrire une fonction « UpperChar (c)» qui renvoie le caractère c en
majuscule.

[5] [6]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Exercice : 041 str Exercice : 048 str


Écrire une fonction « LowerChar (c)» qui renvoie le caractère c en Ecrire une fonction Commence (s1, ch) qui renvoie True si la chaîne
minuscule. ch commence par la sous-chaîne s1.

Exercice : 042 str Exercice : 049 str


Ecrire une fonction « upper (s)» qui transforme chaque caractère Ecrire une fonction seTerminePar(s1, ch) qui renvoie True si la chaîne
minuscule de s en majuscule. ch se termine par la sous-chaîne s1.

Exercice : 043 str Exercice : 050 str

Ecrire une fonction PremierMaj() qui renvoie une copie de cette Ecrire une fonction Trouver(s1, ch) qui retourne l’indice le plus bas
chaîne avec seulement le premier caractère en majuscule. où s1 commence dans cette chaîne, ou -1 si s1 ne se trouve pas dans
cette chaîne.
Exercice : 044 str
Ex: Trouver(’ABC’, ‘xxxABCyyyABCzzz’)3
Ecrire une fonction « copie (s , i , j)» qui retourne une sous chaine
Exercice : 051 str
de s entre l’indice i et j.
Ecrire une fonction TrouverDroite(s1, ch) qui renvoie l’indice le plus
Ex: Copie1 (‘abcdefghijk’, 1 , 4) ’bcde’
élevé où s1 commence dans cette chaîne, ou -1 si s1 ne se trouve pas
Exercice : 045 str dans cette chaîne.

Ecrire une fonction « inverse ( s )» qui retourne l’inverse de la Ex: TrouverDroite (‘xxxABCyyyABCzzz’, ’ABC’)9
chaine s. Exercice : 052 str
Ex: inverse (‘abcdef’) ’fedcba’ Ecrire une fonction Compter(s1,ch) qui renvoie le nombre
d’occurrences de s1 dans ch.
Exercice : 046 str
Ex: Compter(‘xxxxxxxxxx’,’xxx’)3
Ecrire une fonction « palindrome (s)» qui vérifie si la chaine s et
palindrome ou non.

Ex: palindrome (‘123454321’) -> True


Exercice : 047 str
Ecrire une fonction « sousCH (s1,s2)» qui lit deux chaînes de
caractères et vérifie si la deuxième est une sous chaîne de la première
ou non.
[7] [8]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Exercices sur les listes indicesPos(L) :retourne les indices des éléments positifs .

Implémenter les fonctions suivantes sous Python EXERCICE 063


EXERCICE 053
index(L,x) : retourne l’indice de x dans L .
afficheR(L) : affiche les éléments d’une liste L. (utiliser range)
EXERCICE 064
EXERCICE 054
indexMax(L,x) : retourne l’indice maximum de x dans L .
AfficheF(L) : affiche les éléments d’une liste L. (utiliser for sans
range) Ex: indexMax ([1,2,3,4,2,5,6,2], 2 ) 7

EXERCICE 055 EXERCICE 065

AfficheW(L) : affiche les éléments d’une liste L. (utiliser while) indices(L,x) : retourne les indices de x dans L .
Ex: indices ([1,2,3,4,2,5,6,2], 2 ) [1,4,7]
EXERCICE 056
AfficheInvR(L) : affiche les éléments d’une liste par ordre inversé sur les EXERCICE 066
indices. (utiliser range) max(L) : retourne la valeur maximale d’une liste L.
EXERCICE 057
EXERCICE 067
AfficheInvF(L) : affiche les éléments d’une liste par ordre inversé sur les
indiceMax(L) : retourne l’indice de la valeur maximale d’une liste L.
indices. (utiliser for sans range)
EXERCICE 068
EXERCICE 058
append(L,x) : ajouter x à la fin de la liste L (sans utiliser la méthode
AfficheInvW(L) : affiche les éléments d’une liste par ordre inversé sur les
append).
indices. (utiliser while)
EXERCICE 069
EXERCICE 059
debut(L,x) : ajouter x au début de la liste L (utiliser la méthode insert).
affichePos(L) : affiche les éléments positifs d’une liste L .
EXERCICE 070
EXERCICE 060
debut2(L,x) : ajouter x au début de la liste L (sans utiliser la méthode
affichePos(L) : affiche les éléments positifs d’une liste L .
insert).
EXERCICE 061
EXERCICE 071
affficheIndicesPos (L) : affiche les indices des éléments positifs
nb(L,x) : retourne le nombre de x dans L.
d’une liste L.
EXERCICE 072
EXERCICE 062
copie(L) : retourne une copie de la liste L.
[9] [ 10 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

EXERCICE 073 Ex: scinde([1,2,3,4,5,6,7,8,9,10,11], 3 ) [ [1,2,3,4], [5,6,7,8], [9,10,11] ]


clear(L) : permet de supprimer tous les éléments d’une liste. EXERCICE 082
EXERCICE 074 abs(L) : retourne la valeur absolu de la liste L.
inverse(L) : retourne l’inverse de la liste L. Ex: abs([1,-2,3,-4,5,-6,7]) [1,2,3,4,5,6,7]
EXERCICE 075 EXERCICE 083
SuppPrem(L,x) : supprimer le premier occurrence de x dans la liste. Som(L1,L2) : retourne la somme de L1 et L2.
Ex: SuppPrem ([1,2,3,4,2,5,6,2],2) [1,3,4,2,5,6,2] Ex: Som([1,-2,3],[1,2,3]) [2,0,6]
EXERCICE 077 EXERCICE 084
SuppDern(L,x) : supprimer le dernier occurrence de x dans la liste L. join(L) :. permet de rassembler un ensemble de chaînes,
Ex: suppDern([1,2,3,4,2,5,6,2],2) [1,2,3,4,2,5,6] Ex: join([‘abc’ , ’defg’ , ’hijk’ , ’lmno’ , ’pqr’])‘abcdefghijklmnopqr’
EXERCICE 078 EXERCICE 085
SuppPartie(L,d,f) : supprimer les éléments entre l’indice d et l’indice f. split(ch,c) :. Retourne une liste des sous-chaînes . On choisissant le
Ex: suppPartie([1,2,3,4,2,5,6,2],2,5) [1,2,6,2] caractère séparateur c,

EXERCICE 079 Ex: split(‘abcxdefgxhijkxlmnoxpqr’ , ’x’) [‘abc’ , ’defg’ , ’hijk’ , ’lmno’ , ’pqr’]

SuppDoublons(L) : supprimer les éléments doublons . EXERCICE 086

Ex: suppDoublons([1,2,4,3,1,4,3,2,3,1,5,6,2]) [1,2,4,3,5,6,] counts(ch) :. Retourne une liste qui contient le nombre d’occurrence de
chaque caractère.
EXERCICE 080
Ex: counts(‘aababcabcdabcde’] [[‘a’,5],[‘b’,4],[‘c’,3],[‘d’,2], [‘e’,1]]
Supp(L,x) : supprimer les occurrences de x dans la liste L.
EXERCICE 087
Ex: supp([1,2,3,4,2,5,6,2],2) [1,3,4,5,6]
changeSigne(L) :Retourne le nombre de fois que le signe des éléments
EXERCICE 081 est changé .
Scinde(L) : scinder la liste L en deux listes.
Ex: changeSigne([1 , -1 , -3, 4 , -1 , 2 , 2 , -3 , -4 , -4 , -5 , 5])  6
Ex: scinde( [1,2,3,4,9,10,11] ) [ [1,2,3,4],[9,10,11] ]
1 2 3 4 5 6
EXERCICE 081
Scindes(L,n) : scinder la liste L à n listes.

[ 11 ] [ 12 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

[ 13 ] [ 14 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

[ 15 ] [ 16 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

EXERCICE1:C
Exercice 092 ryptographie EXERCICE 093 La théorie des graphes
a)La légende raconte que Jules César transmettait ses messages en
La représentation d’un graphe par une matrice d'adjacence
décalant chaque lettre de 3 positions : A devient D, B devient E,... W
La représentation par matrice d'adjacence consiste en l'utilisation
devient Z, X devient A, Y devient B et Z devient C. d'une matrice carrée ayant pour taille le nombre de sommets du
Les chiffres sont décalés de la même façon, les autres caractères (espaces, graphe. Sur les lignes et les colonnes on trouve les noms des sommets.
En général, on donne des numéros aux sommets, ce qui facilite la
virgules, points...) ne sont pas modifiés. lecture.
Écrire deux fonctions Chiffre_Cesar(msg) et Dechiffre_Cesar(msg) Exemple :
réalisant le chiffrement et le déchiffrement d’un message représenté par
une chaîne.

b) Le code de César et ses dérivés sont très simples à craquer. Il suffit de


trouver la valeur du décalage pour décoder le message.

L’idée du code de Vigénére est d’utiliser une clé de codage qui encode le
décalage de chaque lettre. Par exemple, voici comment on code le message
'RENDEZ VOUS DEMAIN' avec la clé 'MPSI' . Chaque lettre de la clé
indique le décalage de la lettre correspondante : A décalede 1, B de 2,... Y
de 25 et Z de 26.

Message R E N D E Z V O U S D E M A I N
Clé M P S I M P S I M P S I M P S I M P
Code E U G M R P E B K L Q U F J V D Graphe orienté valué

Écrire les fonctions Codage_Vig(msg, cle) et Decodage_Vig(msg, cle) de Le graphe ci-dessus est représenté par la matrice d’adjacence
suivante :
codage et de décodage, prenant enargument deux chaînes, le message et la
clé, et renvoyant le message transformé.

[ 17 ] [ 18 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Ecrire la fonction « estChemin(chem,Gr) » qui renvoie True si


0 1 2 3 4 5 6 7 « chem » est un chemin dans le graphe « Gr » et revoie False si
0 0 7 1 0 0 0 0 0 non.
1 0 0 O 14 0 4 0 0
2 0 0 0 0 2 0 0 22
Gr= 3
4
20
3
0
3
0
0
0
0
0
0
0
0
0
0 0
6

5 0 0 0 5 0 0 6 0 Ecrire une fonction « estCircuit (chem,Gr) » qui renvoie True si


6 0 0 6 0 14 0 0 0 « chem » est un circuit dans le graphe « Gr » et revoie False si non.
7 0 0 0 0 0 4 18 0

Le Travail à faire sous Python


Ecrire une fonction « estCircuitSimple(chem,Gr) » qui renvoie
Définir la fonction «matriceZeros(N) » qui permet de retourner
True si « chem » est un circuit simple dans le graphe « Gr » et
une matrice carrée de dimension « n » (Graphe) dont les valeurs
revoie False si non.
sont nulles.
Circuit simple :pas 2 fois le même arc
Ecrire la fonction « setVal(M,i,j,val) » qui permet de modifier la
valeur de l’élément (i,j) par « val » dans la matrice « M ».

Ecrire la fonction « affiche(M) » qui permet d’afficher la matrice


M. Ecrire une fonction « estCircuitElementaire (chem,Gr) » qui
renvoie True si « chem » est un circuit élémentaire dans le graphe
Ecrire le code Python qui permet de définir le graphe sous-dessus
« Gr » et revoie False si non.
« Gr ».
Circuit elémentaire :pas 2 fois le même sommet
Ecrire la fonction « estLien(i,j, Gr) » qui renvoie True si on a un
lien entre le sommet « i » et le sommet « j » et revoie False si non.

[ 19 ] [ 20 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

Un graphe hamiltonien est un graphe possédant au moins un cycle EXERCICE 094


passant par tous les sommets une fois et une seule. Un tel cycle
élémentaire est alors appelé cycle hamiltonien.
Ecrire une fonction « estHamiltonien(chem,GR) » qui renvoie True
si « chem » est un circuit hamiltonien dans le graphe « Gr » et
revoie False si non.

Un graphe eulérienne est un graphe possédant au moins un cycle


passant par toutes les arêtes une fois et une seule « Gr ». un tel
cycle simple est alors appelé cycle eulérienne.
Ecrire une fonction « estEulerienne (chem,GR) » qui renvoie True
si « chem » est un circuit eulérienne dans le graphe « Gr » et
revoie False si non.

[ 21 ] [ 22 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

EXERCICE 096 La théorie des graphes


EXERCICE 095 :Dictionnaireset fichiers
Afin de gérer les scores réalisés par les participants à un jeu, nous proposons de
les enregistrer dans un fichier texte sous la forme suivante : La représentation d’un graphe par une liste d'adjacence
Pseudo1 La représentation par une liste d'adjacence consiste en l'utilisation
Score 1 Exemple : [Link]
Ali d'une liste ayant pour taille le nombre de sommets du graphe.
Pseudo2
800
Score 2 Rachid Exemple :
628 …..
Walid
870

1. Écrire une fonction dictionnaire(fichier)qui étant donné comme argument le


nom d’un fichier des scores renvoie un dictionnaire dont les clés sont les
pseudos et les valeurs sont les scores.
2. Écrire une fonction Exite(pseudo , fichier)qui permet de vérifier si un pseudo
figure dans le fichier des scores passé en paramètre.
3. Écrire une fonction EnregistrerDic(dicScore, fichier)qui permet d’enregistrer le
contenu d’un dictionnaire dans un nouveau fichier.
4. Écrire une fonction AjoutScore(pseudo, score, fichier)qui permet d’ajouter un
score réalisé par un participant au fichier passé en paramètre .
Remarque : le fichier ne doit pas contenir des doublons.
Si le pseudo existe déjà dans le fichier mais avec un score inférieur à celui
passé en paramètre alors il faut mettre à jour le fichier en procédant comme
suit :
a) Lire le contenu du fichier et le mettre dans un dictionnaire,
b) Mettre à jour la valeur du score dans le dictionnaire, Graphe orienté valué
c) Enregistrer le contenu du dictionnaire dans le même fichier en
Le graphe ci-dessus est représenté par la liste d’adjacence suivante :
utilisant le mode "w" pour écraser l’ancien contenu.
5. Écrire une fonction PseudoScoreMax(fichier) qui étant donné comme
argument le nom d’un fichier renvoie un tuple contenant le pseudo et le score
relatif au score maximal.

[ 23 ] [ 24 ]
LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE LYCEE LISSANE EDDINE IBN AL KHATIB INFORMATIQUE
CPGE-LAAYOUNE PROF CHAHDI Abdelmounim CPGE-LAAYOUNE PROF CHAHDI Abdelmounim

0 1 2 3 4 5 6 7 Ecrire une fonction « estCircuitSimple(chem,Gr) » qui renvoie


True si « chem » est un circuit simple dans le graphe « Gr » et
Gr= revoie False si non.
3,20 0,7 0,1 1,14 2,2 1,4 5,6 2,22
4,3 4,3 6,6 5,5 6,14 7,4 7,18 3,6
Circuit simple :pas 2 fois le même arc

Le Travail à faire sous Python

Ecrire une fonction « estCircuitElementaire (chem,Gr) » qui


Ecrire le code Python qui permet de définir le graphe sous-dessus
renvoie True si « chem » est un circuit élémentaire dans le graphe
« Gr ».
« Gr » et revoie False si non.

Ecrire la fonction « estLien(i,j, Gr) » qui renvoie True si on a un Circuit elémentaire :pas 2 fois le même sommet
lien entre le sommet « i » et le sommet « j » et revoie False si non.

Un graphe hamiltonien est un graphe possédant au moins un cycle


passant par tous les sommets une fois et une seule. Un tel cycle
Ecrire la fonction « estChemin(chem,Gr) » qui renvoie True si
élémentaire est alors appelé cycle hamiltonien.
« chem » est un chemin dans le graphe « Gr » et revoie False si
non. Ecrire une fonction « estHamiltonien(chem,GR) » qui renvoie True
si « chem » est un circuit hamiltonien dans le graphe « Gr » et
revoie False si non.

Ecrire une fonction « estCircuit (chem,Gr) » qui renvoie True si


« chem » est un circuit dans le graphe « Gr » et revoie False si non.
Un graphe eulérienne est un graphe possédant au moins un cycle
passant par toutes les arêtes une fois et une seule « Gr ». un tel
cycle simple est alors appelé cycle eulérienne.
Ecrire une fonction « estEulerienne (chem,GR) » qui renvoie True
si « chem » est un circuit eulérienne dans le graphe « Gr » et
revoie False si non.
[ 25 ] [ 26 ]

Vous aimerez peut-être aussi