Php algo td6

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Sujet

Sujet_TD6.pdf

Partie A

Exercice 1

FONCTION ecrire_matrice(MAT)
  VAR:
    i,j	: entiers
    POUR i = 0 JUSQU'A i < len(MAT) {PAR PAS DE 1} FAIRE
        affiche("[")
        POUR j = 0 JUSQU'A j < len(MAT[i]) {PAR PAS DE 1} FAIRE
            affiche(MAT[i][j])
            SI j != len(MAT[i] - 1) ALORS
                affiche(",")
            FIN SI
        FIN POUR
        affiche("]\n")
    FIN POUR
FIN FONCTION


Exercice 2

FONCTION luminosite(MAT)
    VAR:
        i,j,somme, num	: entiers
        somme <-- 0
        num <-- 0
        POUR i = 0 JUSQU'A i < len(MAT) {PAR PAS DE 1} FAIRE
            POUR j = 0 JUSQU'A j < len(MAT[i]) {PAR PAS DE 1} FAIRE
                somme <-- somme + MAT[i][j]
                num++
            FIN POUR
        FIN POUR
    RETOURNE somme / num
FIN FONCTION


Exercice 3

FONCTION contraste(MAT, luminosite)
    VAR:
        i,j	: entiers
    POUR i = 0 JUSQU'A i < len(MAT) {PAR PAS DE 1} FAIRE
        POUR j = 0 JUSQU'A j < len(MAT[i]) {PAR PAS DE 1} FAIRE
            SI MAT[i][j] >= luminosite ALORS
                SI MAT[i][j]*2 > 100 ALORS
                    MAT[i][j] <-- 100
                SINON
                    MAT[i][j] <-- MAT[i][j] * 2
                FIN SI
            SINON
                MAT[i][j] <-- MAT[i][j] / 2
            FIN SI
        FIN POUR
    FIN POUR
    RETOURNE MAT
FIN FONCTION

Partie B

Exercice 4

function ecrire_matrice($MAT) {
    for($i = 0; $i < sizeof ( $MAT ); $i ++) {
        print("[");
        for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
            print($MAT[$i][$j]);
            if($j != sizeof($MAT[$i])-1){
                print(",");
            }
        }
        print("]\n");
    }
}


Exercice 5

function luminosite($MAT){
    $luminosite = 0;
    $num = 0;
    for($i = 0; $i < sizeof ( $MAT ); $i ++) {
        for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
            $luminosite += $MAT[$i][$j];
            $num++;
        }
    }
    return $luminosite / $num;
}


Exercice 6

function contraste($MAT, $luminosite){
    for($i = 0; $i < sizeof ( $MAT ); $i ++) {
        for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
            if($MAT[$i][$j] >= $luminosite){
                $MAT[$i][$j] = $MAT[$i][$j] *2;
                if($MAT[$i][$j] > 100){
                    $MAT[$i][$j] = 100;
                }
            }else{
                $MAT[$i][$j] = $MAT[$i][$j] /2;
            }
        }
    }
    return $MAT;
}


Exercice 7 <source lang="php" style="border:1px solid black;font-size:130%" class="mw-collapsible-content"> <?php function ecrire_matrice($MAT) {

   for($i = 0; $i < sizeof ( $MAT ); $i ++) {
       print("[");
       for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
           print($MAT[$i][$j]);
           if($j != sizeof($MAT[$i])-1){
               print(",");
           }
       }
       print("]\n");
   }

}

function luminosite($MAT){

   $luminosite = 0;
   $num = 0;
   for($i = 0; $i < sizeof ( $MAT ); $i ++) {
       for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
           $luminosite += $MAT[$i][$j];
           $num++;
       }
   }
   return $luminosite / $num;

}

function contraste($MAT, $luminosite){

   for($i = 0; $i < sizeof ( $MAT ); $i ++) {
       for($j = 0; $j < sizeof ( $MAT[$i] ); $j ++) {
           if($MAT[$i][$j] >= $luminosite){
               $MAT[$i][$j] = $MAT[$i][$j] *2;
               if($MAT[$i][$j] > 100){
                   $MAT[$i][$j] = 100;
               }
           }else{
               $MAT[$i][$j] = $MAT[$i][$j] /2;
           }
       }
   }
   return $MAT;

}

function main(){

   $MAT= array( array(0,0,100,50), array(0,0,100,100), array(20,35,50,75));
   echo "La matrince MAT est: \n";
   echo ecrire_matrice($MAT);
   $luminosite = luminosite($MAT);
   echo "La luminosité de MAT  est: ".$luminosite."\n";
   $contraste = contraste($MAT, $luminosite);
   echo "La matrince constraste est: \n";
   echo ecrire_matrice($contraste);

}

main();