0% ont trouvé ce document utile (0 vote)
14 vues4 pages

TP Python Tri Cesar

TP tri César

Transféré par

wilakskasjohnbapt
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)
14 vues4 pages

TP Python Tri Cesar

TP tri César

Transféré par

wilakskasjohnbapt
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

TP d'Informatique : Tri par insertion et chiffrement de César

Question 1 : Tri par insertion avec un nombre impair


Objectif : Écrire un programme Python qui trie une liste d'éléments (de taille impaire)
fournie par l'utilisateur à l'aide du tri par insertion.

Pseudo-code :

Début
Répéter
Afficher "Entrez un nombre impair d'éléments : "
Lire N
Jusqu'à ce que N soit impair (N % 2 ≠ 0)

Créer une liste vide appelée LISTE


Pour i allant de 1 à N
Afficher "Entrez l'élément numéro ", i
Lire VALEUR
Ajouter VALEUR à LISTE

Pour i allant de 1 à N-1


CLE ← LISTE[i]
j←i-1
Tant que j ≥ 0 et LISTE[j] > CLE
LISTE[j + 1] ← LISTE[j]
j←j-1
LISTE[j + 1] ← CLE

Afficher "Liste triée : ", LISTE


Fin

Code Python :

def est_impair(n):
return n % 2 != 0

n = int(input("Entrez un nombre impair d’éléments à trier : "))


while not est_impair(n):
print("Ce nombre est pair. Veuillez entrer un nombre impair.")
n = int(input("Entrez un nombre impair d’éléments à trier : "))

liste = []
for i in range(n):
val = int(input(f"Entrez la valeur {i+1} : "))
liste.append(val)

for i in range(1, len(liste)):


cle = liste[i]
j=i-1
while j >= 0 and liste[j] > cle:
liste[j + 1] = liste[j]
j -= 1
liste[j + 1] = cle

print("Liste triée :", liste)


Question 2 : Chiffrement de César
Objectif : Écrire un algorithme et un programme Python qui chiffre un texte en utilisant le
chiffrement de César avec un décalage donné.

Pseudo-code :

Début
Afficher "Entrez le texte à chiffrer :"
Lire TEXTE
Afficher "Entrez le décalage :"
Lire DECALAGE
TEXTE_CHIFFRE ← ""

Pour chaque CARACTERE dans TEXTE


Si CARACTERE est une lettre alphabétique alors
BASE ← 'A' ou 'a' selon le cas
CODE ← (Code ASCII de CARACTERE - BASE + DECALAGE) % 26
NOUVEAU ← BASE + CODE
Ajouter NOUVEAU à TEXTE_CHIFFRE
Sinon
Ajouter CARACTERE à TEXTE_CHIFFRE

Afficher TEXTE_CHIFFRE
Fin

Code Python :

def cesar_chiffrement(texte, decalage):


resultat = ""
for caractere in texte:
if caractere.isalpha():
base = ord('A') if caractere.isupper() else ord('a')
code = (ord(caractere) - base + decalage) % 26 + base
resultat += chr(code)
else:
resultat += caractere
return resultat

message = input("Entrez le texte à chiffrer : ")


decalage = int(input("Entrez le décalage (ex : 3) : "))
texte_chiffre = cesar_chiffrement(message, decalage)
print("Texte chiffré :", texte_chiffre)

Vous aimerez peut-être aussi