Différences entre versions de « Php algo td4 »
(Page créée avec « = 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 ga... ») |
|||
Ligne 16 : | Ligne 16 : | ||
*Afficher cette matrice. | *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 '' | + | 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:700px"> | ||
+ | <big>Exercice 1</big> | ||
+ | <source lang="text" style="border:1px solid black;font-size:130%" class="mw-collapsible-content"> | ||
+ | <?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 . " ligne 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"; | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | </div> | ||
= Exercice 2 = | = Exercice 2 = |
Version du 17 mars 2014 à 10:28
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 . " ligne 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";
}
}
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.