Vous êtes sur la page 1sur 10

Anne universitaire 2011/2010 SMP S3

Correction du TP N2 Initiation au langage C Par Mr.


Rappel :

Rachid Ait daoud

Les tapes suivre pour raliser un programme sous le logiciel DEV C++ :

1. Utilisation simple de Dev-C++


Fichier nouveau. Si votre programme tient dans un seul fichier et na pas besoin de bibliothques particulires, vous pouvez utiliser Dev-C++ sans crer de projet. Pour cela il vous suffit de lancer Dev-C++ puis de crer un fichier source : commande Nouveau | Fichier Source du menu Fichier (beaucoup de commandes des menus sobtiennent aussi par des boutons de la barre doutils et/ou par des raccourcis clavier). Enregistrez immdiatement ce fichier laide des commandes Sauvegarder ou Sauvegarder Sous... du menu Fichier. Attention : le fichier doit avoir un nom se terminant par .c faites attention au dossier dans lequel le fichier sera rang (ce doit tre un dossier que vous aurez cr en vue dy ranger vos travaux). Fichier existant. Dans le cas o vous voulez travailler sur un fichier qui existe dj, vous pouvez louvrir dans Dev-C++ par la commande Ouvrir Projet ou Fichier... du menu du menu Fichier. Dautre part, si Windows est bien configur (cest le cas, en principe, si linstallation sest bien passe), les icnes des fichiers .c ressemblent lune des suivantes :

et vous pouvez alors lancer Dev-C++ directement en double-cliquant sur une telle icne.

2. Compilation et excution de votre programme


Cela concerne le menu Excuter :

Compilez votre programme laide dune des commandes du menu Excuter : Compiler, Compiler le fichier courant, Compiler & Excuter ou Tout Reconstruire (dans le cas dun unique fichier source, toutes ces commandes en produisent la compilation). Les erreurs la compilation sont affiches dans une fentre en bas de lcran. En double cliquant sur un message derreur on obtient laffichage, dans la fentre principale, du texte de lerreur signal par une couleur spciale et une marque dans la marge. A titre dexemple, observez limage ci-dessous : les quatre lignes non vides de la fentre Compilateur constituent le signalement dune erreur. On y apprend que dans la fonction puiss, plus prcisment la ligne 6 du fichier C:\_\CAtelier\CCourant\CCourant.c,lidentificateur m na pas t dclar. Pas avare de dtails, le compilateur nous dit en outre que cest la premire utilisation [de m] dans cette fonction, et que chaque identificateur non dclar est signal une seule fois dans chaque fonction o il apparat.

En principe, le volet Classes de la fentre de gauche montre les structures, les variables globales et les fonctions de votre programme. En cliquant sur un de ces lments la fentre principale se positionne sur lentit en question. Excutez votre programme par une des commandes Excuter ou Compiler & Excuter.

Algorithme
Exercice 1 : ALGORITHMR Operations Var a,b,S,P,SS : entiers Var q:reel Dbut Ecrire (Entrer le 1er nombre) Lire(a) Ecrire (Entrer le 2eme nombre) Lire(b) Sa+b Pa*b SSa-b Si(b==0) Alors Ecrire(Impossible de deviser par Zero) Else qa/b Fin si Ecrire(la somme de a et b est : ,S ) Ecrire(le produit de a et b est : ,P ) Ecrire(la soustraction de a et b est : ,SS ) Ecrire(le quotient est : ,q ) Fin

Langage C
#include<stdio.h> #include<stdlib.h> int main() { int a,b,S,P,SS; float q; printf("Entrer le 1er nombre"); scanf("%d",&a) ; printf("Entrer le 2eme nombre"); scanf("%d",&b) ; S=a+b ; P=a*b; SS=a-b; if(b==0) printf("Impossible de deviser par Zero"); else q=a/b ; printf("la somme de %d et %d est :%d\n",a,b,S) ; printf("le produit de %d et %d est :%d\n",a,b,P ) ; printf("la soustraction de %d et %d est :%d\n",a,b,SS) ; printf("le quotient de %d et %d est :%f\n",a,b,q ) ; system("pause"); }

Algorithme PRIX_TTC Var ph,tva,ttc :rels Var quantite :entier Dbut Ecrire( "Merci d'entrer le prix hors taxes ") Lire(ph) Ecrire("Merci d'entrer la quantit") Lire(quantite) Ecrire("Merci d'entrer le taux de TVA") Lire(tva) ttc= ph*quantite*(1+tva) Ecrire("Prix hors taxes, Quantit,Taux TVA,Prix total TTC ", ph,quantite,tva,ttc) Fin

#include <stdio.h> #include <stdlib.h> int main() { int quantite; float ph,tva,ttc; printf("Merci d'entrer le prix hors taxes\n"); scanf("%f",&ph); printf("Merci d'entrer la quantit\n"); scanf("%d",&quantite); printf("Merci d'entrer le taux de TVA\n"); scanf("%f",&tva); ttc=ph*quantite*(1+tva); printf("Prix hors taxes--------Quantit--------Taux TVA--------Prix total TTC\n"); printf("%f---------------- %d ----------%f-------%f\n",ph,quantite,tva,ttc); system("PAUSE");

ALGORITHME Var a :entier Dbut

PARITE

#include<stdio.h> #include<stdlib.h> int main() { int a; printf("MERCI D'ENTRER UN NOMBRE ENTIER\n"); scanf("%d",&a); if(a%2==0) printf("Le nombre que vous avez entr est pair\n"); else printf("Le nombre que vous avez entr est impair\n"); system("pause"); }

Ecrire("MERCI D'ENTRER UN NOMBRE ENTIER") Lire(a) Si(a MODULO 2==0) Ecrire ("Le nombre que vous avez entr est pair") Sinon Ecrire("Le nombre que vous avez entr est impair") Fin Si Fin

ALGORITHME SIGNE_PRODUIT Var a,b :rels Dbut Ecrire("Merci d'entrer deux nombres") Lire(a,b) Si ((a>0 && b>0) || (a<0 && b<0)) Ecrire("Le produit de a et b est positif") Sinon Ecrire("Le produit de a et b est negatif") Fin si Fin #include<stdio.h> #include<stdlib.h> int main() { float a,b; printf ("Merci d'entrer deux nombres\n"); scanf("%f %f",&a,&b); if((a>0 && b>0) || (a<0 && b<0)) printf("Le produit de a et b est positif\n"); else

/////Cas ou le produit peut tre Nul ALGORITHME SIGNE_PRODUIT Var a,b :rels Dbut Ecrire("Merci d'entrer deux nombres") Lire(a,b) Si (a==0 OU b==0) Ecrire("Leproduit de a et b est Nul") Fin si Si ((a>0 && b>0) || (a<0 && b<0)) Ecrire("Le produit de a et b est positif") Sinon Ecrire("Le produit de a et b est negatif") Fin si Fin

printf("Le produit de a et b est negatif\n"); system("pause"); } /////Cas ou le produit peut tre Nul #include<stdio.h> #include<stdlib.h> int main() { float a,b; printf ("Merci d'entrer deux nombres\n"); scanf("%f %f",&a,&b); if (a==0 || b==0) printf("Leproduit de a et b est Nul"); else if((a>0 && b>0) || (a<0 && b<0)) printf("Le produit de a et b est positif\n"); else printf("Le produit de a et b est negatif\n"); system("pause"); } #include<stdio.h>

ALGORITHME MontantNET Var montant,taux,MontantNet :rels Dbut Ecrire (" Entrez le montant :") Lire (montant) Si montant < 2000 Alors taux 0 Sinon Si montant 5000 Alors taux 10 Sinon taux 20 Fin SI Fin Si MontantNet montant * (1 taux / 100)

#include<stdlib.h> int main() { float montant,taux,MontantNet; printf("Merci d'entrer le montant\n"); scanf("%f",&montant); if(montant<2000)

Ecrire ("Le montant net est : ", MontantNet) Fin

taux==0; else if(montant<=5000) taux=10; else taux=20; MontantNet=montant*(1-taux/100); printf("Le montant net est :%f\n",MontantNet); system("pause"); }

ALGORITHME Var nbr :rels Dbut Ecrire ("Entrez un nombre compris entre 10 et 20 : ")
Lire (nbr) Tant Que nbr< 10 OU a > 20 Si nbr < 10 Alors Ecrire ("Plus grand ! ") Sinon Ecrire ("Plus petit ! ") Fin Si Ecrire ("Veuillez Saisir une valeur comprise entre 10 et 20

#include<stdio.h> #include<stdlib.h> int main() { float nbr; printf("Entrer un bombre compris entre 10 et 20\n"); scanf("%f",&nbr); while(nbr<10 || nbr>20) { if(nbr<10) { printf("Plus grand!\n"); } else if(nbr>20) { printf("Plus petit!\n"); } printf("Merci de resaisir un nombre compris

")
Lire (nbr) Fin Tant Que Fin

entre 10 et 20\n"); scanf("%f",&nbr); } system("pause"); }


ALGORITHME Var prixlu,Suiteprix,prixpaye,reste : Entiers DEBUT Ecrire Entrez le prix Lire prixlu mdu 0 mdu Suiteprix + prixlu TANT QUE prixlu <> 0 Ecrire Entrez le prix Lire prixlu Suiteprix Suiteprix + prixlu FIN TANT QUE Ecrire Entrez le prix pay Lire (prixpaye) reste prixpaye - Suiteprix Ecrire Le reste est : , reste FIN

#include<stdio.h> #include<stdlib.h> int main() { int prixlu,Suiteprix,prixpaye,reste; printf("Entrer le prix\n"); scanf("%d",&prixlu); Suiteprix=0; Suiteprix=Suiteprix + prixlu; while (prixlu != 0) { printf("Entrer le prix\n"); scanf("%d",&prixlu); Suiteprix=Suiteprix + prixlu; } printf("Entrer le prix pay\n"); scanf("%d",&prixpaye); reste=prixpaye-Suiteprix; printf("Le reste est%d:\n",reste); system("pause"); }

ALGORITHME

#include<stdio.h>

Var x,n,s,I,fact:entiers Ecrire("Entrer X=") Lire(x) Ecrire("Entrer lordre n=") Lire(n) Fact 1 S 1 Pour(i=1 A n) Factfact+i Ss+x
i

#include<stdlib.h> #include<math.h> int main() { int x,n,s,i,fact; printf("Entrer X= "); scanf("%d",&x); printf("Entrer l'ordre n= "); scanf("%d",&n); fact=1; s=1; for (i=1;i<=n;i++) { fact=fact+i; s=s+pow(x,i)/fact; } printf("La somme de la suite est:%d\n",s); system("pause");

Fin pour Ecrire ("La somme de la suite est : ",s);


Fin