Différences entre versions de « Php algo td4 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 18 : Ligne 18 :
 
Faire une analyse du sujet en décrivant les fonctionnalités du programme en langage naturel ou sous forme d’algorigramme et écrivez le en ''PHP''.
 
Faire une analyse du sujet en décrivant les fonctionnalités du programme en langage naturel ou sous forme d’algorigramme et écrivez le en ''PHP''.
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:1100px">
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:1120px">
 
<big>Exercice 1</big>
 
<big>Exercice 1</big>
 
<source lang="php" style="border:1px solid black;font-size:130%" class="mw-collapsible-content">
 
<source lang="php" style="border:1px solid black;font-size:130%" class="mw-collapsible-content">
Ligne 37 : Ligne 37 :
 
         return false;
 
         return false;
 
     }
 
     }
     echo "Generation d une matrice de " . $ligne . " ligne et " . $colonne . " colonnes avec la sequence " . $argv [3];
+
     echo "Generation d une matrice de " . $ligne . " lignes et " . $colonne . " colonnes avec la sequence " . $argv [3];
 
     $matrice = array ();
 
     $matrice = array ();
 
     for($i = 0; $i < $ligne; $i ++) {
 
     for($i = 0; $i < $ligne; $i ++) {
Ligne 64 : Ligne 64 :
 
     }
 
     }
 
}
 
}
 +
 +
main($argv);
 +
?>
 
</source>
 
</source>
 
</div>
 
</div>
 +
= Exécution =
 +
<pre>
 +
# php -f toeplitz.php 4 5 0,1,2,3,4,5,6,7
 +
Generation d une matrice de 4 lignes et 5 colonnes
 +
avec la sequence 0,1,2,3,4,5,6,7
 +
Voici le resultat:
 +
| 0, 1, 2, 3, 4 |
 +
| 5, 0, 1, 2, 3 |
 +
| 6, 5, 0, 1, 2 |
 +
| 7, 6, 5, 0, 1 |
 +
</pre>
  
 
= Exercice 2 =
 
= Exercice 2 =

Version du 18 mars 2014 à 11:10

Exercice 1

Une matrice de Toeplitz (du nom du mathématicien allemand Otto Toeplitz 1881-1940) est une matrice dont les coefficients sur une diagonale descendant de gauche à droite sont les mêmes.

Par exemple, la matrice suivante est une matrice de Toeplitz :

On souhaite écrire un programme qui permette de créer et d’afficher des matrices de Toeplitz. Ce programme devra effectuer les opérations suivantes :

  • Demander à l’utilisateur la saisie d’un nombre de lignes et d’un nombre de colonnes ;
  • Demander à l’utilisateur la saisie d’une séquence d’initialisation ;
  • Générer la matrice correspondante ;
  • Afficher cette matrice.

Faire une analyse du sujet en décrivant les fonctionnalités du programme en langage naturel ou sous forme d’algorigramme et écrivez le en PHP.

Exercice 1

<?php
$args_num = 4;
function main($argv) {
    global $args_num;
    if (sizeof ( $argv ) < $args_num) {
        echo "Pas assez d arguments !";
        return false;
    }
    $ligne = $argv [1];
    $colonne = $argv [2];
    $seq_size = $ligne + $colonne - 1;
    $sequence = explode ( ',', $argv [3] );
    if (sizeof ( $sequence ) < $seq_size) {
        echo "La taille de la sequence d initialisation ne correspond pas !";
        return false;
    }
    echo "Generation d une matrice de " . $ligne . " lignes et " . $colonne . " colonnes avec la sequence " . $argv [3];
    $matrice = array ();
    for($i = 0; $i < $ligne; $i ++) {
        for($j = 0; $j < $colonne; $j ++) {
            if ($i == 0) {
                $matrice [$i] [$j] = $sequence [$j];
            } else {
                if ($j == 0) {
                    $matrice [$i] [$j] = $sequence [$colonne - 1 + $i];
                } else {
                    $matrice [$i] [$j] = $matrice [$i - 1] [$j - 1];
                }
            }
        }
    }
    echo "Voici le resultat:\n";
    for($i = 0; $i < $ligne; $i ++) {
    echo "| ";
    for($j = 0; $j < $colonne; $j ++) {
        echo $matrice [$i] [$j];
        if($j < $colonne-1){
            echo ", ";
        }
    }
    echo " |\n";
    }
}

main($argv);
?>

Exécution

# php -f toeplitz.php 4 5 0,1,2,3,4,5,6,7
Generation d une matrice de 4 lignes et 5 colonnes
avec la sequence 0,1,2,3,4,5,6,7
Voici le resultat:
| 0, 1, 2, 3, 4 |
| 5, 0, 1, 2, 3 |
| 6, 5, 0, 1, 2 |
| 7, 6, 5, 0, 1 |

Exercice 2

Écrire un programme permettant de manipuler des polynômes. Un polynôme de degré d peut s’écrire sous la forme :

On limitera le degré de nos polynômes à la valeur 10 et nous considérerons seulement les polynômes dans .

Question 1

Écrire un programme permettant la saisie des coefficients d’un polynôme de degré d.

Question 2

Ajouter des instructions permettant l’affichage à l’écran un polynôme de degré d.

Question 3

Ajouter des instructions permettant d’effectuer la somme de deux polynômes de degrés au plus d.

Question 4

Ajouter des instructions permettant d’évaluer un polynôme pour une valeur x particulière.