0% ont trouvé ce document utile (0 vote)
102 vues3 pages

Exercice C Chap1 2015-3

Ce document décrit un TD sur l'algorithmique contenant plusieurs exercices: écriture de traces de programmes, instructions itératives et conditionnelles, et construction d'algorithmes tels que le calcul de sommes, produits, carrés etc. Il présente également les bases de la programmation en C avec la structure d'un programme, compilation et exécution.

Transféré par

Michaël
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
102 vues3 pages

Exercice C Chap1 2015-3

Ce document décrit un TD sur l'algorithmique contenant plusieurs exercices: écriture de traces de programmes, instructions itératives et conditionnelles, et construction d'algorithmes tels que le calcul de sommes, produits, carrés etc. Il présente également les bases de la programmation en C avec la structure d'un programme, compilation et exécution.

Transféré par

Michaël
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

Travaux dirigée (TD) de l’algorithmique – chapitre 1

Utilisation d’une trace

Exercice 1.1 : Ecrivez la trace des exercices suivants :


• Instruction d’affectation
void algoCorrect (void)
{ int a, b, c;
a = 4; b = 5;
c = b – a;
a = c + a;
b = a / c; c = 3;
printf("a=%d, b=%d, c=%i\n", a, b, c);
}
• Instruction conditionnelle
void condSimple (void)
{ int x, y;
x = 8; y = 15;
if (x < y)x = x + y;
if (x == y) x = 5 * x;
if (x > y)
{ x = 8;
y = 7;
}
printf("x=%d, y=%d\n", x, y);
}
• void condCompli (void)
{ int x, y;
x = 8; y = 8;
if(x < y)x = x + y;
else if(x == y)x = x * 4;
else x = 10;
printf("x=%d, y=%d\n", x, y);
}
Affichage des résultats d’une fonction
Exercice 1.2 : Instruction itérative. Ecrivez les résultats de la fonction :
void tableMultip (void)
{ int i;
i = 0;
while(i < 10)
{ printf("5 * %d = %d", i, 5*i);
i = i + 1;
}
}
Construction des algorithmes
Exercice 1.3 : écrivez les algorithmes suivants.
1.3.1. Ecrivez l’algorithme de la fonction somEntier qui calcule la somme des n premiers entiers dont l’en-tête
est le suivant : int somEntier (int n)
1.3.2. Ecrivez une fonction qui calcule le produit de 2 nombres a et b sans utiliser l’opération de multiplication,
mais en effectuant b additions.
1.3.3. Ecrivez une fonction qui calcule le tarif d'affranchissement d'une lettre suivant un poids donné, dont
l'entête est : entier tarif (entier poids).
Si le poids de la lettre est inférieur à 50 grammes, le tarif est égal à 300 Ariary,
Si le poids de la lettre est entre 50 et 100 grammes, le tarif est égal à 600 Ariary.
Si le poids est supérieur à 100 grammes, le tarif est de 1000 Ariary.
1.3.4. Ecrivez une fonction qui calcule le carré d'un nombre dont l'entête est int carre(int n).
1.3.5. Ecrivez une fonction qui calcule le cube d'un nombre en utilisant (appelant) la fonction carre.
1.3.6. Ecrivez une fonction qui permet de connaître le plus grand de deux nombres transmis à la fonction comme
arguments (paramètres formels). L'entête de la fonction est : int max2(int a, int b).
a) en utilisant l'instruction if simple.

1
b) en utilisant l'instruction if … else.
1.3.7. Ecrivez une fonction qui permet de connaître le plus grand de trois nombres transmis à la fonction comme
arguments (paramètres formels).L'entête de la fonction est : int max3(int a, int b, int c) en utilisant (appelant) la
fonction max2.
a) sans utiliser de variable locale.
b) en utilisant une variable locale.
1.3.8. Ecrivez un programme en C qui effectue les opérations suivantes :
- saisie d'un nombre entier.
- appel de la fonction carre avec affichage de résultat.
- affichage du résultat contenant l'appel de la fonction cube.
- saisie du poids d'une lettre et affichage de son tarif (appel de la fonction tarif).
- saisie de 3 trois nombres entiers (nb1, nb2 et nb3).
- appel de la fonction max2 et affichage du résultat.
- appel de la fonction max3 et affichage du résultat.

LANGAGE DE PROGRAMMATION C
Le langage est un langage de programmation évolué c’est-à-dire plus proche de notre langage naturel. C'est une
programmation structurée (composée de fonctions).
1. Structure d’un programme en langage C
1.1. Entête du programme
- Directives au compilateur
#include<stdio.h>
#define n 100

- Prototypes des fonctions
void fct1(void);
int fct2(double);
...
1.2. Programme principal ou fonction principale
int main()
{…
return 0;
}
1.3. Définitions des prototypes des fonctions
void fct1(void)
{ printf("La fonction ne retourne rien\n");
}
int fct2(double x)
{….
}

2. Programmes simples en C
# include<stdio.h>
int main(void)
{  int test; // Déclaration de test, variable entière
    test =11; // On affecte la valeur 11 à test
    printf (″la valeur de la variable test est de :%d\n″, test);
    test=11* 2 + 15 - 4;
    printf (″la valeur de la variable \″test \″ est de :%d\n″, test);
return 0;
}
2.1. Analyse du programme
• Entête
• programme principal
2.2. Mise en œuvre
• Créer le programme source : saisir le texte programme avec un éditeur de textes (vi, vim, nano, ...) et
l'enregistrer dans un fichier dont le nom se termine par un c (*.c), par exemple :
~$ vim cyprien1.c //On obtient ainsi un fichier source ou un programme source.
• Compiler le programme source (cc, gcc) avec l'option –o, par exemple :

2
~$ gcc –o res cyprien1.c
La commande gcc produit un code exécutable qui est rangé dans le fichier binaire res.
• exécuter le fichier binaire res.
~$ ./res
// Affichage des résultats à l'écran.
Si vous avez inclus la bibliothèque math.h, par exemple :
#include<math.h> On compile le programme comme suit :
~$ gcc –o res cyprien1.c –lm
L’argument –lm précise au compilateur qu’il faut charger la bibliothèque mathématique.
a) Interface utilisateur
• Lancez le SE linux (Debian),
• Ouvrir une session : nom logique (user)
mot de passe : ****
Mode graphique
Bureau
Application Raccourci Système
Poste de travail
dossier personnel de user
corbeille
...
• Ouvrir le programme Application,
Accessoire → calculatrice
Bureautique capture d'écran
Internet éditeur de textes
… terminal
… …
• Lancez le programme terminal.
Mode utilisateur
user@debian2:~$ ligne de commande

b) Editeur de textes VIM


vi, vim : éditeur de texte de base. vim est une commande Debian.
user@debian2:~$ vim prenom1.c
- mode commande : i, a basculer en mode insertion (saisie).
~
~
~

- mode saisie : on saisit le texte (programme). La touche escape (Esc) permet de revenir au mode commande
puis suivie de (:) on obtient le mode exec.
- mode exec : wq (ou x) permet d'enregistrer le texte dans prenom1.c et sortir de l'éditeur de textes. On se
retrouve à l'invite de Debian. Puis on compile le programme source.
user@debian2:~$ gcc -o res prenom1.c
S'il y a des erreurs, on revient à l'éditeur vim ~$ vim prenom1.c puis on corrige le programme.
S’il n’y a pas d’erreurs, tapez la commande ~$ ./res

Vous aimerez peut-être aussi