Devoir de synthèse N°3
Page 1 sur 1
Re: Devoir de synthèse N°3
Exercice 1 :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
1- M :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Résultat = PROC afficher (S, N , Pi)
(S, N , Pi) = PROC calculer (S , N , Pi)
DEF PROC afficher (S : réel ; N : entier ; Pi : réel)
Résultat = écrire ("S = ",S," N = ",N," Pi = ",Pi)
DEF PROC calculer (var S : reél ; var N : entier ; var Pi : réel)
Résultat = Répéter
pour i de 1 à n faire
S ← S + h * FN f(a)
A ← a + h
Fin pour
Jusqu'à abs(S – S1) Pi ← 4*S
Exercice 4 :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Résultat = PROC afficher (f)
F = PROC former (f,m)
M = PROC remplir (m,n)
N = PROC saisir (n)
DEF PROC saisir (var n : entier)
Résultat = [ ] Répéter
Lire(n)
Jusqu'à n dans [4..20]
DEF PROC afficher (var f : texte)
Résultat = [ouvrir(f)] Tantque non fin_fichier (f) faire
Lire_nl (f,ch)
Ecrire (ch)
Fin tantque
DEF PROC remplir (var m : mat ; n : entier)
Résultat = [ ] pour li de 1 à n faire
[ ] pour co de 1 à n faire
[ ] Répéter
Lire (m[li,co])
Jusqu'à FN verif (li,co,m[lli,co])
Fin pour
Fin pour
DEF FN verif (li,co,A : entier) : booléen
Résultat = verif ← (li = 0) ou (co = 0)
Li = [ ] Répéter
Li ← li – 1
Jusqu'à (m[li,co] = A) ou (li = 0)
Co = [ ] Répéter
Co ← co – 1
Jusqu'à (m[li,co] = A) ou (co = 0)
DEF PROC former (var f : texte ; m : mat)
Résultat = [associer(f,"c:\bac2014\cols.txt"), recréer(f)] pour li de 1 à n faire
[ ] pour co de 1 à n faire
[ ] Si FN test (m[li,co],li,co) alors
écrire (f,"point col=",m[li,co]," : ligne = ",li," : colonne = ",co)
fin si
fin pour
fin pour
DEF FN test (A,li,co : entier) : booléen
Résultat = ((test ← FN minl(li)=A)et(FN maxc (co)=A))ou
((test ← FN minc(co)=A)et(FN maxl (li)=A))
DEF FN minl (i : entier) : entier
Résultat = minl ← mi
Mi = [mi←m[i,1]] pour k de 2 à n faire
Si m[i,k] < mi alors mi ← m[i,k]
Fin si
Fin pour
DEF FN minc (i : entier) : entier
Résultat = minc ← mi
Mi = [mi←m[1,i]] pour k de 2 à n faire
Si m[k,i] < mi alors mi ← m[k,i]
Fin si
Fin pour
DEF FN maxl (i : entier) : entier
Résultat = maxl ← ma
Ma = [ma←m[i,1]] pour k de 2 à n faire
Si m[i,k] > ma alors ma ← m[i,k]
Fin si
Fin pour
DEF FN maxc (i : entier) : entier
Résultat = maxc ← ma
Ma = [ma←m[1,i]] pour k de 2 à n faire
Si m[k,i] > ma alors ma ← m[k,i]
Fin si
Fin pour
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
1- M :
9 | 6 | 0 |
4 | 5 | 2 |
3 | 7 | 1 |
[rtl]Inconnu (M,3,1,1)[/rtl] |
| |||||||||
Inconnu (M,3,2,1) |
| |||||||||
Inconnu (M,3,2,2) |
| |||||||||
Inconnu (M,3,3,1) |
| |||||||||
Inconnu (M,3,3,2) |
| |||||||||
Inconnu (M,3,3,3) |
| |||||||||
Inconnu (M,3,4,1) | Arrêt |
2 - Cette procédure renverse les éléments de la matrice sauf la première diagonale.
Exercice 2 :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
1- fonction puissance
0) DEF FN puiss (b : réel ; k : entier) : réel
1) P ←1
2) Pour i de 1 à k faire
P ← p * b
Fin pour
3) Puiss ← p
4) Fin
2- fonction calcul
0) DEF FN calcul (a : réel ; n : entier) : réel
1) X0 ← 0
2) X k ← ((n – 1)*x0 + a / FN puiss (x0 , n – 1)) / n
3) Tantque abs (x0 – xk )> eps faire
X0 ← xk
Xk ← ((n – 1)*x0 + a / FN puiss (x0 , n – 1)) / n
Fin tantque
4) Calcul ← xk
5) fin
Exercice 3 :=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
1- fonction puissance
0) DEF FN puiss (b : réel ; k : entier) : réel
1) P ←1
2) Pour i de 1 à k faire
P ← p * b
Fin pour
3) Puiss ← p
4) Fin
2- fonction calcul
0) DEF FN calcul (a : réel ; n : entier) : réel
1) X0 ← 0
2) X k ← ((n – 1)*x0 + a / FN puiss (x0 , n – 1)) / n
3) Tantque abs (x0 – xk )> eps faire
X0 ← xk
Xk ← ((n – 1)*x0 + a / FN puiss (x0 , n – 1)) / n
Fin tantque
4) Calcul ← xk
5) fin
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Résultat = PROC afficher (S, N , Pi)
(S, N , Pi) = PROC calculer (S , N , Pi)
Objet | Type / Nature | Objet |
Afficher S N Pi Calculer eps | Procédure Réel Entier Réel Procédure constante = 1e-06 | Afficher s,n et pi Surface Nombre de subdivisions Valeur approchée de Pi Calculer s,n et pi epsilon |
DEF PROC afficher (S : réel ; N : entier ; Pi : réel)
Résultat = écrire ("S = ",S," N = ",N," Pi = ",Pi)
DEF PROC calculer (var S : reél ; var N : entier ; var Pi : réel)
Résultat = Répéter
pour i de 1 à n faire
S ← S + h * FN f(a)
A ← a + h
Fin pour
Jusqu'à abs(S – S1)
Exercice 4 :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Résultat = PROC afficher (f)
F = PROC former (f,m)
M = PROC remplir (m,n)
N = PROC saisir (n)
Type |
Mat = matrice de 20 lignes et 20 colonnes d'entier |
Objet | Type / Nature | Rôle |
Afficher F Former M Remplir N Saisir | Procédure Texte Procédure Mat Procédure Entier Procédure | Afficher f "c:\bac2014\cols.txt" Former f Matrice des entiers Remplir m Taille de la matrice Saisir n |
DEF PROC saisir (var n : entier)
Résultat = [ ] Répéter
Lire(n)
Jusqu'à n dans [4..20]
DEF PROC afficher (var f : texte)
Résultat = [ouvrir(f)] Tantque non fin_fichier (f) faire
Lire_nl (f,ch)
Ecrire (ch)
Fin tantque
DEF PROC remplir (var m : mat ; n : entier)
Résultat = [ ] pour li de 1 à n faire
[ ] pour co de 1 à n faire
[ ] Répéter
Lire (m[li,co])
Jusqu'à FN verif (li,co,m[lli,co])
Fin pour
Fin pour
DEF FN verif (li,co,A : entier) : booléen
Résultat = verif ← (li = 0) ou (co = 0)
Li = [ ] Répéter
Li ← li – 1
Jusqu'à (m[li,co] = A) ou (li = 0)
Co = [ ] Répéter
Co ← co – 1
Jusqu'à (m[li,co] = A) ou (co = 0)
DEF PROC former (var f : texte ; m : mat)
Résultat = [associer(f,"c:\bac2014\cols.txt"), recréer(f)] pour li de 1 à n faire
[ ] pour co de 1 à n faire
[ ] Si FN test (m[li,co],li,co) alors
écrire (f,"point col=",m[li,co]," : ligne = ",li," : colonne = ",co)
fin si
fin pour
fin pour
DEF FN test (A,li,co : entier) : booléen
Résultat = ((test ← FN minl(li)=A)et(FN maxc (co)=A))ou
((test ← FN minc(co)=A)et(FN maxl (li)=A))
DEF FN minl (i : entier) : entier
Résultat = minl ← mi
Mi = [mi←m[i,1]] pour k de 2 à n faire
Si m[i,k] < mi alors mi ← m[i,k]
Fin si
Fin pour
DEF FN minc (i : entier) : entier
Résultat = minc ← mi
Mi = [mi←m[1,i]] pour k de 2 à n faire
Si m[k,i] < mi alors mi ← m[k,i]
Fin si
Fin pour
DEF FN maxl (i : entier) : entier
Résultat = maxl ← ma
Ma = [ma←m[i,1]] pour k de 2 à n faire
Si m[i,k] > ma alors ma ← m[i,k]
Fin si
Fin pour
DEF FN maxc (i : entier) : entier
Résultat = maxc ← ma
Ma = [ma←m[1,i]] pour k de 2 à n faire
Si m[k,i] > ma alors ma ← m[k,i]
Fin si
Fin pour
Sujets similaires
» devoir de synthése
» Devoir de synthèse N°2
» Devoir de synthèse N° 2
» Devoir de synthèse N°2
» Devoir de synthèse N°2
» Devoir de synthèse N°2
» Devoir de synthèse N° 2
» Devoir de synthèse N°2
» Devoir de synthèse N°2
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|