Mathématiques

Question

DM de spécialité maths: Les matrices

Bonjour, vous pouvez vous m'aidez à comprendre cet exercice svp:
On considère l'algorithme suivant:
Saisir une matrice A;
n=nombre de lignes A;
p=nombre de colonnes de A;
Pour i allant de 2 à n faire
Pour j allant de 2 à p faire
A[i][j]=A[i-1][j]+A[i][j-1];
FinPour
FinPour
Afficher la matrice A

1. Exécuter l'algorithme afin de compléter la matrice suivante: A=( 0 1 2 3 4
-1
-3 )
2. Lors d'une autre simulation, l'affichage a bogué et seulement une partie de la matrice était visible:
A= (
4 7 16 15
9 16 32 47)
a) Peut-on retrouver tous les coefficients? Expliquer pourquoi
b) Retrouver le maximum de coefficients
c) On donne a11=-5, cette donnée permet-elle de retrouver les coefficients manquants?
d) Même question avec en plus a12=4

1 Réponse

  • Programme 1: calcul de A
    CONST n = 3
    CONST p = 5

    DIM SHARED A(n, p) AS DOUBLE
    DIM i AS INTEGER, j AS INTEGER
    A(1, 1) = 0: A(1, 2) = 1: A(1, 3) = 2: A(1, 4) = 3: A(1, 5) = 4
    A(2, 1) = -1
    A(3, 1) = -3



    FOR i = 2 TO n
        FOR j = 2 TO p
            PRINT A(i, j); "=>"; A(i - 1, j); "+ "; A(i, j - 1); "=";
            A(i, j) = A(i - 1, j) + A(i, j - 1)
            PRINT A(i, j)
        NEXT j
        CALL See
    NEXT i
    END

    SUB See
    SHARED A() AS DOUBLE
    DIM i AS INTEGER, j AS INTEGER
    FOR i = 1 TO n
        FOR j = 1 TO p
            PRINT A(i, j); " ";
        NEXT j
        PRINT
    NEXT i
    END SUB
    --------------------------------------------------------------------------------------------
    Programme 2: calcul de B



    CONST n = 3
    CONST p = 5

    DIM SHARED A(n, p) AS DOUBLE
    DIM i AS INTEGER, j AS INTEGER
    A(1, 1) = 9999: A(1, 2) = 9999: A(1, 3) = 9999: A(1, 4) = 9999: A(1, 5) = 9999
    A(2, 1) = 9999: A(2, 2) = 4: A(2, 3) = 7: A(2, 4) = 16: A(2, 5) = 15
    A(3, 1) = 9999: A(3, 2) = 9: A(3, 3) = 16: A(3, 4) = 32: A(3, 5) = 47
    CALL See

    i = 1
    FOR j = 3 TO p
        PRINT A(i, j); "=>"; A(i + 1, j); "-"; A(i + 1, j - 1); "=";
        A(i, j) = A(i + 1, j) - A(i + 1, j - 1)
        PRINT A(i, j)
    NEXT j
    CALL See
    A(3, 1) = A(3, 2) - A(2, 2)
    CALL See



    END

    SUB See
    SHARED A() AS DOUBLE
    DIM i AS INTEGER, j AS INTEGER
    FOR i = 1 TO n
        FOR j = 1 TO p
            PRINT A(i, j); " ";
        NEXT j
        PRINT
    NEXT i
    END SUB



Autres questions