Rado A. Rakotonarivo

ATER (Attaché Temporaire d'Enseignement et de Recherche), IRIF, Université de Paris, France

raktn at irif.fr

« Retour

Vous trouverez les énoncés des TD sur le moodle du cours ici.

TD 2 : premiers pas en C

Identificateurs

Un identificateur en C sert à identifier une variable (mais pas que ... on verra plus tard qu'il peut aussi à identifier autre chose qu'une variable), ou plus simplement la nommer. Il renseigne au programme à quel endroit de la mémoire récupérer la valeur de la variable qu'il identifie. Il est donc important de bien nommer nos variables. Pour cela il existe quelques règles à respecter :

Donc ici rendez_vous est valide tandis que 1par1 ne l’est pas car commence par un chiffre et else non plus puisque c’est un mot-clé du langage.

Déclaration et affectation de variables impératives

Du coup pour la question 1, j’ai mis en commentaire ce que fait le programme.

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdlib.h>
#include <stdio.h>

int main() {

int x; // déclaration d'un variable de type entière x
x = 3; // affectation de la valeur 3 dans x
x = x + 1; // affectation de la dernière valeur de x plus 1 dans x
printf("x = %d\n", x); // affiche à l'écran x = 4

return EXIT_SUCCESS;
}

Trace d'un programme

Il s'agit de faire une simulation d'execution du programme dans un tableau : c'est-à-dire regarder ligne par ligne quels sont les valeurs successives que prennent nos variables. On peut également afficher ce qui sort à l'écran.

  lignes | x | Sortie écran
  -----------------------------
     6   | ? |
     7   | 3 |
     8   | 4 |
     9   |   | x = 4
  -----------------------------
    11   | Renvoie EXIT_SUCCESS

Ecriture d'un programme

Dans notre exercice, l'algorithme ne prend rien en entrée car la valeur dont on va calculer le carré et le cube sera directement initialisée dans notre algo. Il ne renvoie rien en sortie, on affichera juste un résultat.

Algorithme : Calcule le carré et le cube d'une valeur contenue dans une variable
Entrées : Rien
Sorties : Rien
début:
  soit x un entier, carre un entier, cube un entier
  x <- 2
  carre <- x * x
  cube <- carre * x
  afficher ("x^2 = carre et x^3 = cube")
:fin

Ensuite, pour écrire le code correspondant, il faudra transcrire ligne par ligne notre algorithme en langage C.

1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
#include<stdlib.h>

int main() {
  int x, carre, cube;
  x = 2;
  carre = x * x;
  cube = carre * x;
  printf("x^2 = %d et x^3 = %d\n", carre, cube)
  return EXIT_SUCCESS;
}
Trace du programme

Je vous laisse le soin de faire la trace du programme :).