Correction d'examen +aide (procedure,digonal)
adel_3n1
Messages postés
17
Statut
Membre
-
anouar -
anouar -
Salut;
S.v.p la corection et aide pour mon examen que j'ai passe Merci
Exercice 1:Exercice 1 : Soit deux tableaux A(3x3) et B(3x3) définis comme suit:
tableaux A
2 4 6
8 10 12
14 16 18
Tableaux B
1 3 5
7 9 11
13 15 17
Ecrire en langage pascal un programme qui permet de :
1)créer les deux tableaux A et B tels qui sont donnes ci-dessus
2) Calculer et imprimer la somme des digonales de A et de B (à la fois) ( indication : A[i,i] et B[i,i] avec i=1,2,3 ; sont respectivement
les élément de la digonale da A et B)
3) Ecrire une procédure MAX(x :array[1..3,1..3] of integer ; var max :integer)
qui determine le max du tableaux X et retourne la maximum dans la varibles max.
4)Ecrire un programme principal dans lequel on utilise la procédure MAX de la
question 3) pour calculer et imprimer le max des tableaux A et B ,
soit maxA et maxB ,soit maxAB.
Ma Réponse :
Program tableaux;
Var
Max(a,b),maxA,maxB,i,j,k:integer;
Tableaux :array [1..3,1..3] of integer;
A,B :tableaux;
Procedure creetableuxA (var d:tableaux);
Var
begin
K,i,j:integer;
For i:=1 to 3 do
For j:=1 to 3 do
Begin
D[i,j]:=k;
K:=k+2;
End;
End;
Procedure creetableauxB (var m:tableaux);
Var
K,i,j:integer;
Begin
K:=1;
For i:=1 to 3 do
For j:=1 to 3 do
Begin
M[i,j]:=k;
K:=k+2;
End;
End;
Procedure affichertableaux(xx:tableaux);
Begin
Var
I,j:integer
Begin
For i:=1 to 3 do
For j:=1 to 3 do begin {je me rappel pas si dans la feuille d’examen
Write xx[i,j]; j’ai écrie pour sauter chaque ligne}
End;
Writeln
End;
(*Calculer le Max*)
procedure Max (x:tbleaux;var max:integer);
begin
MAX:=[1,1];
For i:=1 to 3 do
For j:=1 to 3 do
If max<x[i,j] then
Max :=x[i,j];
Write (max);
End;
Begin (*p.p*)
Creetableaux (A);
Affichertableaux (A);
Creetableaux (B);
Affichertableaux (B) ;
Max (A,maxA) ; {s.v.p c’est juste ici}
Max (B ,maxb) ; {s.v.p c’est juste ici}
(*calcule du max (A, b) 1er méthode*) {s.v.p c’est juste les deux méthodes}
max(a,b) :=maxA
if max(A,B)<maxB then
max(A,B):=maxB
else max(A,B):=maxA;
(*calcule du max(a,b) une deuxième méthode
j’ai oublier laquelle que j’ai utiliser*)
max(a,b) :=MaxA
if maxA>maxB then
max(a,b):=maxA
Else
Max(a,b):=maxB;
End.
REPONSE Exercice n°2:
Program digonale;
Diag,var,somme1,somme2,i,j :integer ;
A, B:array [1..3,1..3] of integer;
Begin
Somme:=0;
For i:=1 to 3 do
Begin
Diag:=A[i,i] ;
Somme1 :=somme1+diag ;
End ;
Write (somme1);
For i:=1 to 3 do
Begin
Diag:=B[i,i];
Somme2:=somme2 + diag;
End;
Write (somme2);
End.
Sil vous plait des questions ?
1)pour les question de notre exercices de l’examen EMD2 s.v.p
quelle est la solution optimal dans un seule programme d’après les question
sans isoler la question n° 2 ?
2) je n’est pas arriver a l’examen a transformer la question n°2
en procédure (somme digonales),s.v.p comment faire,pour avoir un seule programme globale avec les questions 1) 2)et 3) en procédures et 4) en programme principal ?
3) S.V.P et ce que ont fait la somme de la digonale total somme1+somme2 comme il a dit a la fois ?
Merci
S.v.p la corection et aide pour mon examen que j'ai passe Merci
Exercice 1:Exercice 1 : Soit deux tableaux A(3x3) et B(3x3) définis comme suit:
tableaux A
2 4 6
8 10 12
14 16 18
Tableaux B
1 3 5
7 9 11
13 15 17
Ecrire en langage pascal un programme qui permet de :
1)créer les deux tableaux A et B tels qui sont donnes ci-dessus
2) Calculer et imprimer la somme des digonales de A et de B (à la fois) ( indication : A[i,i] et B[i,i] avec i=1,2,3 ; sont respectivement
les élément de la digonale da A et B)
3) Ecrire une procédure MAX(x :array[1..3,1..3] of integer ; var max :integer)
qui determine le max du tableaux X et retourne la maximum dans la varibles max.
4)Ecrire un programme principal dans lequel on utilise la procédure MAX de la
question 3) pour calculer et imprimer le max des tableaux A et B ,
soit maxA et maxB ,soit maxAB.
Ma Réponse :
Program tableaux;
Var
Max(a,b),maxA,maxB,i,j,k:integer;
Tableaux :array [1..3,1..3] of integer;
A,B :tableaux;
Procedure creetableuxA (var d:tableaux);
Var
begin
K,i,j:integer;
For i:=1 to 3 do
For j:=1 to 3 do
Begin
D[i,j]:=k;
K:=k+2;
End;
End;
Procedure creetableauxB (var m:tableaux);
Var
K,i,j:integer;
Begin
K:=1;
For i:=1 to 3 do
For j:=1 to 3 do
Begin
M[i,j]:=k;
K:=k+2;
End;
End;
Procedure affichertableaux(xx:tableaux);
Begin
Var
I,j:integer
Begin
For i:=1 to 3 do
For j:=1 to 3 do begin {je me rappel pas si dans la feuille d’examen
Write xx[i,j]; j’ai écrie pour sauter chaque ligne}
End;
Writeln
End;
(*Calculer le Max*)
procedure Max (x:tbleaux;var max:integer);
begin
MAX:=[1,1];
For i:=1 to 3 do
For j:=1 to 3 do
If max<x[i,j] then
Max :=x[i,j];
Write (max);
End;
Begin (*p.p*)
Creetableaux (A);
Affichertableaux (A);
Creetableaux (B);
Affichertableaux (B) ;
Max (A,maxA) ; {s.v.p c’est juste ici}
Max (B ,maxb) ; {s.v.p c’est juste ici}
(*calcule du max (A, b) 1er méthode*) {s.v.p c’est juste les deux méthodes}
max(a,b) :=maxA
if max(A,B)<maxB then
max(A,B):=maxB
else max(A,B):=maxA;
(*calcule du max(a,b) une deuxième méthode
j’ai oublier laquelle que j’ai utiliser*)
max(a,b) :=MaxA
if maxA>maxB then
max(a,b):=maxA
Else
Max(a,b):=maxB;
End.
REPONSE Exercice n°2:
Program digonale;
Diag,var,somme1,somme2,i,j :integer ;
A, B:array [1..3,1..3] of integer;
Begin
Somme:=0;
For i:=1 to 3 do
Begin
Diag:=A[i,i] ;
Somme1 :=somme1+diag ;
End ;
Write (somme1);
For i:=1 to 3 do
Begin
Diag:=B[i,i];
Somme2:=somme2 + diag;
End;
Write (somme2);
End.
Sil vous plait des questions ?
1)pour les question de notre exercices de l’examen EMD2 s.v.p
quelle est la solution optimal dans un seule programme d’après les question
sans isoler la question n° 2 ?
2) je n’est pas arriver a l’examen a transformer la question n°2
en procédure (somme digonales),s.v.p comment faire,pour avoir un seule programme globale avec les questions 1) 2)et 3) en procédures et 4) en programme principal ?
3) S.V.P et ce que ont fait la somme de la digonale total somme1+somme2 comme il a dit a la fois ?
Merci
A voir également:
- Correction d'examen +aide (procedure,digonal)
- Activer correction automatique android - Guide
- Le correcteur automatique de votre smartphone vous rend fou ? Voici comment le désactiver - Accueil - Mobile
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Mode correction word - Guide
- Correction transmath 3eme ✓ - Forum Loisirs / Divertissements
6 réponses
je veut une repance de ce exercice s v p
ecrure un programme pascale qui calcule le determinant d'une matrice de n collonne et n lgne avec (procedure ,function)
voila j'atton votre repance et merçi
ecrure un programme pascale qui calcule le determinant d'une matrice de n collonne et n lgne avec (procedure ,function)
voila j'atton votre repance et merçi
Je doute que tu es beaucoup de reponse, personne n'a trop envie de faire des exams la :-D
En plus c'est long...enfin chacun fait ce qu'il veut hein, mais si j'etais toi je ne poserai que les parties sur lesquelles j'ai des doutes et avec des questions precises, la tu auras sans doute des reponses...
. .
\_/
En plus c'est long...enfin chacun fait ce qu'il veut hein, mais si j'etais toi je ne poserai que les parties sur lesquelles j'ai des doutes et avec des questions precises, la tu auras sans doute des reponses...
. .
\_/
Bonsoir;
S.v.p concernant L’exercice N°1 :
Réorganisation des deux tableaux A et B pour qu’il soient clair et plus lisable,commença chere lecteur vous pouvez bien comprendre s.v.p votre sujet Merci :
Tableux A
2 4 6
8 10 12
14 16 18
Tableaux B
1 3 5
7 9 11
13 15 17
S.v.p concernant L’exercice N°1 :
Réorganisation des deux tableaux A et B pour qu’il soient clair et plus lisable,commença chere lecteur vous pouvez bien comprendre s.v.p votre sujet Merci :
Tableux A
2 4 6
8 10 12
14 16 18
Tableaux B
1 3 5
7 9 11
13 15 17
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si n=2 alors on fait un bête a*d-b*c, sinon on fait un développement suivant la première ligne (ou colonne) avec des appels récursifs (et des matrices de tailles n-1 en paramètres)
Exemple n=3 : | 5 7 4 | Determinant( | 3 6 2 | ) = 5*Determinant( | 6 2 | ) | 4 9 7 | | 9 7 | -3*Determinant( | 7 4 | ) | 9 7 | +4*Determinant( | 7 4 | ) | 6 2 | = 5*(6*7-2*9) - 3*(7*7-4*9) + 4*(7*2-4*6) = 41Par contre pour le type des matrices je te propose : C'est un type qui devrait permettre de résoudre relativement facilement le problème...program CalculDeterminant; const nmax=10; type matrice=record n:integer; m:array[1..nmax,1..nmax] of real; end; function CreerMatrice:matrice; var i,j:integer; begin write('n = '); readln(result.n); writeln; for i:=1 to result.n do for j:=1 to result.n do begin write('a[',i,',',j,'] = '); readln(result.m[i,j]); end; writeln; end; function SousMatrice(a:matrice;i,j:integer):matrice; var u,v:integer; begin result.n:=a.n-1; for u:=1 to i-1 do begin for v:=1 to j-1 do result.m[u,v]:=a.m[u,v]; for v:=j+1 to a.n do result.m[u,v-1]:=a.m[u,v]; end; for u:=i+1 to a.n do begin for v:=1 to j-1 do result.m[u-1,v]:=a.m[u,v]; for v:=j+1 to a.n do result.m[u-1,v-1]:=a.m[u,v]; end; end; function Gamma(r:real;k:integer):real; begin if odd(k) then result:=-r // odd(k) <=> (-1)^(i+j) = -1 else result:=r end; function Determinant(a:matrice):real; var i:integer; begin if a.n=1 then result:=a.m[1,1] else begin result:=0; for i:=1 to a.n do result:=result+Gamma(a.m[i,1],i+1)*Determinant(SousMatrice(a,i,1)); end; end; begin writeln(Determinant(CreerMatrice):0:5); readln; end.