0% ont trouvé ce document utile (0 vote)
48 vues9 pages

Exercices d'Algorithmique et Programmation

Le document présente une série d'exercices en algorithmique et programmation, incluant des procédures et fonctions pour le calcul du PPCM, PGCD, et la manipulation de matrices. Il décrit également des algorithmes pour remplir des tableaux, vérifier des séquences, et convertir du texte en braille. Chaque exercice est structuré avec des algorithmes détaillés et des explications sur les types de données utilisés.

Transféré par

Abdelkader Barraj
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)
48 vues9 pages

Exercices d'Algorithmique et Programmation

Le document présente une série d'exercices en algorithmique et programmation, incluant des procédures et fonctions pour le calcul du PPCM, PGCD, et la manipulation de matrices. Il décrit également des algorithmes pour remplir des tableaux, vérifier des séquences, et convertir du texte en braille. Chaque exercice est structuré avec des algorithmes détaillés et des explications sur les types de données utilisés.

Transféré par

Abdelkader Barraj
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

Commissariat Régional de l’Éducation de Mahdia - Lycée Souassi

Section : Sciences de l’Informatique


CORRECTION DE LA Matière : Algorithmique et Programmation
SÉRIE D'EXERCICES N°2 Professeur : Abdelkader BARRAJ

Exercice N°1

Ab
de
lk
ad
er
Ba
rr
aj
Exercice N°2 :
Procédure Affiche_PPCM (@M : Mat, N : entier)
Début
Pour L de 1 à N - 1 faire

Ab
Pour C de 0 à (N - L - 1) faire
M[L, C] <--- (M[L - 1, C] * M[L - 1, C + 1]) / PGCD(M[L - 1, C], M[L - 1, C + 1])
Fin Pour
Fin Pour
Écrire ("PPCM =", M[N, 0])
Fin

de
lk
Fonction PGCD (a, b : entier) : entier
Début
ad
Tant que (a # b) faire
Si a > b alors
a <-- a - b
Sinon
b <-- b - a
er
Fin Si
Fin Tant Que
Retourner a
Fin
Exercice N°3 :
Ba
rr
aj
aj
rr
Ba
er
ad
lk
de
Ab
aj
rr
Ba
er
ad
lk
de
Ab

Exercice N°4 :
Ab
de
lk
Exercice N°5 :
ad
Procédure L_C_SYM(m : mat , n :entier,@f :texte)
Début
Phrase_ligne  ‘’ ’’
Phrase_col  ‘’ ‘’
Nb_L  0
er
Nb_col  0
Pour i de 0 à n-1 faire
mot_col  ‘’ ‘’
mot_ligne  ‘’ ‘’
Pour j de 0 à n-1 faire
mot_ligne  mot_ligne + m[i,j]
mot_col  mot_col + m[j,i]
Fin Pour
Ba
Si palind(mot_ligne) alors
Phrase_ligne  phrase_ligne + mot_ligne + ‘’*’’
nb_L  nb_L + 1
Fin Si
Si palind(mot_col) alors
rr
Phrase_col  phrase_col + mot_col + ‘’ * ‘’
nb_col  nb_col + 1
Fin Si
Fin pour
Ouvrir(f,’’symetrie.txt’’,’’w’’)
aj

Ecrire_nl (f,sous_chaine(phrase_ligne,0,long(phrase_ligne)-1))
Ecrire_nl(f,convch(nb_l))
Ecrire_nl(f,sous_chaine(phrase_col,0,long(phrase_col)-1))
Ecrire_nl(f,convch(nb_col))
Fin
Fonction palind(ch :chaine) : booléene
Début
test  vrai
i0
tantque (test = vrai ) et (i <= long(ch) div 2 ) faire

Ab
si ( ch[i] ≠ ch[long(ch) – i – 1]) alors
test  faux
sinon
i  i+1
fin si

Fin
fin tantque
Retourner test

Exercice N°6 :
de
Algorithme Exercice_6
Debut
lk
Remplir_Mat (M, L, C)
Remplir_tab (M,L, C,T,NB)
Remplir_fiche (T,F,NB)
ad
Fermer (F)
Fin
---------------------------------------------------------------------------------------------------------------
T.D.N.T T. D. O. G
er
Tуре Objet Type/Nature
Enreg = Enregistrement M Mat
NL,ICD,ICF:entier T Tab
Fin Enreg NB, L, C Entier
Tab= tableau de 288 enreg F Texte
Mat = tableau de 24*24 entiers Remplir_Mat,Remplir_fiche Procédures
Ba
Remplir_tab
---------------------------------------------------------------------------------------------------------------
Procédure Remplir_Mat (@ M : Mat , @ L :entier,@C : entier)
Début
rr
Répéter
Lire (L)
Jusqu’à 3<= L<=24
Répéter
Lire (C)
aj

Jusqu’à 3<= C<=24


Pour i de 0 à L-1 faire
Pour j de 0 à C-1 faire
Répéter
Lire (M [i, j])
Jusqu’à (M [i, j] ≠ 0)
Fin pour
Fin pour
Fin
Procédure Remplir_tab (M : Mat, ; L, C : entier ; @ T : Tab ; @ NB : entier)
Début
NB ← 0
Pour i de 0 à L-1 faire
Pour j de 0 à (C - 2) faire

Ab
Si (verif_seq (M [i, j]) ≠ -1) alors T.D.O.L
NB ← NB + 1
T[NB].NL ← i Objet Type/Nature
T[NB].ICD ← j
i, j Entier
T[NB].ICF ← verif_seq(M[i, j])

Fin
Fin pour
Fin Fi
Fin pour
de verif_seq Fonction

lk
ad
er
Ba
rr
aj
Exercice N°7 :
Algorithme du programme_principal
Début
Écrire (Convertir (G, F))

Ab
Fermer(G)
Fermer(F)
Fin

Tableau de déclaration des nouveaux types

de Type
CodeBraille=Enregistrement
L : Caractère
Code : Chaine
lk Fin CodeBraille

Carte = Fichier de CodeBraille

Le tableau de déclaration des objets globaux


ad
Objet Type/Nature Rôle
Convertir Fonction Retourne l'équivalent alphabétique du texte écrit en
braille.
G Texte Un fichier texte contenant le texte à convertir
er
F Carte Un fichier binaire contenant les lettres majuscules et
leurs équivalents en brailles
Fonction Convertir (@ G :Texte ; @ F : Carte) : Chaine
Début
Ouvrir(G,’’c:/braille.txt’’,’’r’’)
Ch←""
Tant que Non(Fin_Fichier(G)) Faire
Ba
Lire_ligne(G,Ligne)
Ch←Ch+DetMot(Ligne, F)+" "
Fin Tant que
Retourner Sous_chaine(Ch,0,Long(Ch)-1)
Fin
rr
Le tableau de déclaration des objets locaux
Objet Type/Nature Rôle
Ch Chaine La chaine alphabétique équivalente à la conversion du texte en Braille
Ligne Chaine Une variable servant à sauvegarder les lignes du texte en braille
aj

DetMot Fonction Servant à déterminer le mot équivalent à une ligne écrite en Braille

Fonction DetMot (Ligne : Chaine ; @ F : Carte) : Chaine


Début
d←0, M←""
Tant que d<Long(Ligne)-1 Faire
Ch←Sous_chaîne(Ligne,d,d+6)
M ← M+ RechercheLettre(Ch,F)
d←d+6
Fin Tantque
Retourner M
Fin
Le tableau de déclaration des objets locaux
Objet Type/Nature Rôle
d Entier Compteur
Ch Chaine Une séquence de 6 caractères dans une ligne Braille
Une variable servant à sauvegarder un mot qui représente

Ab
M Chaine l'équivalent d'une ligne du texte en braille
Servant à retourner la lettre équivalente à une séquence de 6
RechercheLettre Fonction
caractères écrits en Braille.

Fonction RechercheLettre (Ch : Chaine ; @ F : Carte) : Caractère


Début
de
Ouvrir(F,’c:/codes_brailles.dat’,’rb’)
Répéter
Lire(F,Enreg)
Jusqu'à Enreg.Code=Ch
lk
Retourner Enreg.L
Fin
ad
er
Ba
rr
aj

Vous aimerez peut-être aussi