Différences entre versions de « C algo td4 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 69 : Ligne 69 :
 
</div>
 
</div>
 
= Exercice 2 =
 
= Exercice 2 =
 +
 +
Écrire un programme permettant de manipuler des polynômes. Un polynôme de degré d peut s’écrire sous la forme :
 +
 +
<center>
 +
<math>P(X) = c_0.X^0 + c_1.X^1 + c_2.X^2 + \cdots + c_d.X^d \,</math>
 +
</center>
 +
 +
On limitera le degré de nos polynômes à la valeur 10 et nous considérerons seulement les polynômes dans <math>\N</math>.
 +
 +
== 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.

Version du 12 mars 2014 à 14:29

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 C.

Afficher la solution:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
   int ligne, colonne, i, j;
   /* Récupération des paramètres de la matrice */
   printf("Combien de lignes : ");
   scanf("%d", &ligne);
   printf("Combien de colonnes : ");
   scanf("%d", &colonne);
   /* Déduction des paramètres de la séquence d'initialisation */
   int seq_size = ligne + colonne - 1, sequence[seq_size];
   int mat[ligne][colonne];
   printf("\n");
   for (i = 0; i < seq_size; i++) {
      printf("Rentrez la valeur de l'index %d : ", i + 1);
      scanf("%d", &sequence[i]);
   }
   /* Construction de la matrice */
   for (i = 0; i < ligne; i++) {
      for (j = 0; j < colonne; j++) {
         if (i == 0) {
            mat[i][j] = sequence[j];
         } else {
            if (j == 0) {
               mat[i][j] = sequence[colonne + i - 1];
            } else {
               mat[i][j] = mat[i - 1][j - 1];
            }
         }
      }
   }
   /* Affichage de la matrice */
   for (i = 0; i < ligne; i++) {
      printf("|");
      for (j = 0; j < colonne; j++) {
         printf("%d", mat[i][j]);
         if (j < colonne - 1) {
            printf(",");
         }
      }
      printf("|\n");
   }
   return EXIT_SUCCESS;;
}

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.