0% ont trouvé ce document utile (0 vote)
12 vues1 page

Corrigé du Problème du Cavalier 4SI

Ce document présente le corrigé d'une application sur le problème du cavalier, incluant des procédures pour remplir une matrice, générer un fichier de solutions et afficher ces solutions. Il décrit également les algorithmes utilisés pour le tri et le traitement des données. Les procédures sont détaillées avec des exemples de code pour illustrer leur fonctionnement.
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)
12 vues1 page

Corrigé du Problème du Cavalier 4SI

Ce document présente le corrigé d'une application sur le problème du cavalier, incluant des procédures pour remplir une matrice, générer un fichier de solutions et afficher ces solutions. Il décrit également les algorithmes utilisés pour le tri et le traitement des données. Les procédures sont détaillées avec des exemples de code pour illustrer leur fonctionnement.
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

4SI-Algorithme et programmation -Corrigé de l’application 3 du « problème du cavalier » 4SI-Algorithme et programmation -Corrigé de l’application 3 du « problème du cavalier »

Corrigé Applica on 3: Problème du cavalier Procédure Generer_fichier (M : Mat, nph2 : chaîne)


Début
# Remplissage d’un tableau d’enregistrements à partir de la matrice M
T.D.N.T T.D.O.G
k0
Nouveaux Types Objet Type /
Algorithme PB_cavalier Mat = Tableau de 8 × 8 entier nature Pour i de 1 à 8 faire T.D.O.L
Début M Mat Pour j de "a" à "h" faire Objet Type / nature
Enreg = Enregistrement
Remplir_matrice ("[Link]", M) ind_col : caractère Remplir_matrice Procédure T[k].ind_lig  i k, i Entier
Generer_fichier(M, "[Link]") ind_lig : entier Generer_fichier Procédure T[k].ind_col  j j Caractère
num_mov : entier Afficher_solution Procédure T[k].num_mov  M[i, j] T Tab
Afficher_solution ("[Link]")
Fin k k + 1 f2 Fich
Fin Tab = Tableau de 64 Enreg Tri Procédure
Fin pour
Fich = Fichier d’Enreg
Fin pour
Tri(T,k) # Tri du tableau d’enregistrements par ordre croissant selon le champ « num_mov »
# Déclaration de la Procédure Remplir_matrice Version1 # Stockage du contenu du tableau trié dans le fichier « [Link] »
Procédure Remplir_matrice (nph1 : chaîne, @ M : Mat) Ouvrir (nph2, f2, "wb")
Début Pour k de 0 à 63 faire
Ouvrir (nph1, ft1 , "r") T.D.O.L Écrire (f2, T[k])
Pour i de 1 à 8 faire Objet Type / nature Fin pour
Lire_ligne (ft1, ch) ft1 Fichier texte Fermer (f2)
Pour j de "a" à "g" faire i, p Entier Fin
p  Pos ("˽", ch) j Caractère
M[i, j]Valeur (Sous-chaîne (ch, 0, p)) ch Chaîne
ch Sous-chaîne (ch, p+1, Long(ch)) Procédure Tri (@ T : Tab, n : entier)
Fin pour Début
M[i, "h"] Valeur (ch) #Méthode de tri choisie: tri par insertion T.D.O.L
Fin pour Pour i de 1 à n faire Objet Type / nature
Fermer(ft1) aux  T[i] i, j Entier
Fin ji aux Enreg
Tant que (j > 0) ET (aux.num_mov < T[j-1].num_mov) faire
# Déclaration de la Procédure Remplir_matrice Version2 T[j]T[j-1]
Procédure Remplir_matrice (nph1 : chaîne, @ M : Mat) jj-1
Début Fin Tant que
Ouvrir (nph1, ft1 , "r") T.D.O.L T[j] aux
Pour i de 1 à 8 faire Objet Type / nature Fin pour
Lire_ligne (ft1, ch) ft1 Fichier texte Fin
j "a" i, p Entier
ch  ch + "˽" j Caractère Procédure Afficher_solution (nph2 : chaîne)
ch Chaîne Début
tant que ch ≠ "˽" faire j de "a" à "g"
p  Pos ("˽", ch) Ecrire ("Une solution possible au problème du cavalier est :") T.D.O.L
M[i, j]Valeur (Sous-chaîne (ch, 0, p)) Ouvrir (nph2, fb2, "rb") Objet Type / nature
ch Sous-chaîne (ch, p+1, Long(ch)) Pour k de 0 à 63 faire fb2 Fich
j chr(ord(j)+1) Lire (f2, e) k entier
Fin pour Ecrire (e. ind_col, e. ind_lig, "˽") e Enreg
Fin pour Fin Pour
Fermer (ft1) Fermer (fb2)
Fin Fin

Page 1 sur 2 Année scolaire : 2025/2026 Page 2 sur 2 Année scolaire : 2025/2026

Vous aimerez peut-être aussi