Voyons quelques exemples de programmes pour nous familiariser avec C++. Lisez-les, éventuellement, saisissez-les, mais ne vous prenez pas trop la tête avec.
//exemple 1 - Variable de
type entier #include <iostream.h> void main() { int N; N = 666; cout <<"la valeur de N est "; cout <<N<< endl; cout <<"la variable N occupe "; cout <<sizeof (N) <<" octets."<<endl; } |
commentaire fichier d'en-tête pour l'affichage déclaration du programme principal début de bloc déclaration affectation affichage d'une chaîne de caractère affichage de N et passage à la ligne . . fin de bloc |
Résultat d'exécution :
la valeur de N est 666 la variable N occupe 4 octets |
//exemple 2 - Variable de
type caractère #include <iostream.h> void main() { char UnCaractere; UnCaractere = 'C'; cout <<"le caractère est : "<<UnCaractere <<" et il occupe "<<sizeof(UnCaractere) <<" octets"<<endl; cout <<"le code ASCII de " <<UnCaractere<< " est " <<int(UnCaractere)<<endl; } |
. . . . des apostrophes pour un caractère . . . . . conversion d'un caractère vers un entier . |
Résultat d'exécution :
le caractère est : C et
il occupe 1 octets le code ASCII de C est 67 |
//exemple 3 - Variables
de type réel #include <iostream.h> void main() { double x,y; x = 12.3456789 y = x + 5.4e-2 cout <<"x="<<x<<" y="<<y<<endl; } |
. . . . . une autre notation pour 0.054 (5.4 x 10 puissance-2) . . |
Résultat d'exécution :
x=12.3456789 y=12.3997 |
Un peu de cours...
Entrée : saisir une information depuis un périphérique (clavier généralement) et la mettre dans une variable.
Sortie : prendre une information d'une variable et la mettre sur un périphérique (normalement l'écran)
En C++, le canal d'entrée se nomme cin et le canal de sortie s'appelle cout.
saisie d'une variable : cin>>variable;
affichage d'une variable : cout<<variable;
Mémo : La direction des "flèches" indique le sens du tranfert de l'information. Pour la saisie, l'information vient de l'entrée (cin) et va dans la variable, donc la direction de la flèche est de cin vers la variable. Pour l'affichage, l'information vient de la variable et va à la sortie (cout), donc la direction de la flèche est de la variable vers cout.
#include <iostream.h> void main() { int Nombre, Carredunombre; cout<<"entrez un nombre :";cin>>Nombre; Carredunombre = Nombre*Nombre; cout<<"le carré de "<<Nombre<<" est "<<Carredunombre<<endl; } |
Résultat d'exécution :
entrez un
nombre : 13 le carré de 13 est 169 |
13 est tapé
par l'utilisateur |
#include <iostream.h> void main() { char UnCaractere; cout<<"Tapez un caractère et je vous donnerais son code ASCII :"; cin>>UnCaractere; cout<<"Le code ASCII de "<<UnCaractere<< " est " <<int(UnCaractere)<<endl; } |
Résultat d'exécution :
Tapez un
caractère et je vous donnerais son code ASCII : Y Le code ASCII de Y est 89 |
#include <iostream.h> void main(){ double PrixUnite, Reduction, PrixTotal; int NbUnite; cout<<"Entrez le prix par unité : ";cin>>PrixUnite; cout<<"Entrez le nombre d'unités : ";cin>>NbUnite; cout<<"Entrez le coefficient de la réduction obtenue : ";cin >>Reduction; PrixTotal = PrixUnite*NbUnite*(1-Reduction); cout<<"Le prix total est :"<<PrixTotal<<" francs"<<endl; } |
Résultat d'exécution :
Entrez le
prix par unité : 12000 Entrez le nombre d'unité : 20 Entrez le coefficient de la réduction obtenue : 0.1 Le prix total est : 216000 francs |
Algorithmique | C++ |
Si condition alors instruction | if (condition) instruction; |
Si
condition alors début instructions fin |
if (condition) { instructions; } |
Si condition alors début instructions fin sinon début instructions fin |
if (conditions){ instructions; } else { instructions } |
Exemples :
if (nombre<0) Nombre=-Nombre; | calcule la valeur absolue |
char Reponse; cout << "Voulez-vous... (o/n)? ";cin>>Reponse; if (Reponse=='o') cout<< "La réponse est oui. "; else if (Reponse=='n') cout << "La réponse est non. "; else cout << "La réponse est ambiguë. "; |
demander une réponse
de l'utilisateur . si la réponse est "Oui" . si la réponse est "Non" . . . |
Voici les opérateurs qui sont utilisés :
opérateurs de comparaison
: > (strictement supérieur) < (strictement inférieur)
>= (supérieur ou égal) <= (inférieur ou égal) != (différent
de) ==(égal à)
opérateurs logique : && (et) || (ou) ! (non)
(Condition 1 && Condition
2) est vraie quand les 2 conditions sont vraies
(Condition 1 || Condition 2) est vraie quand l'une des 2 est
vraie
!Condition est vraie si Condition n'est pas vraie
Exemples :
if (N<0)... if (A*B<0)... if (N>=6 && N<=13)... |
si N est négatif si un et seulement un des nombres est négatif si N est compris entre 6 et 13 |
Algorithmique | C++ |
Tant que condition
faire début instructions fin |
while (condition) { instructions } |
Exemples :
cout << "Tapez oui/non (o/n)"; cin>>Reponse; while (Reponse != 'o' && Reponse != 'n') { cout << " J'ai dit de taper 'o' ou 'n' !! Il faut obéir à ce que je dis ! "; cin >> Reponse; } |
tant que la réponse n'est pas bonne |
Nombre d'itérations est connu d'avance :
Compteur = 0; while (Compteur<NombreIterations) { ..... ..... Compteur = Compteur+1; } |
initialisation (amorçage) contrôle (test) corps de la boucle (traitement) incrémentation (relance) |
Exemple :
Somme = 0; Compteur = 1; while (Compteur<= 13){ Somme = Somme+Compteur; Compteur = Compteur+1; } cout<<"la somme des nombres entre 1 et 13 est "<<Somme; |
initialisation (amorçage) test (condition) corps de la boucle (traitement) incrémentation (relance) |
Algo | Pour Compteur<== ValInitiale à ValFinale faire début instructions fin |
C++ | for (Compteur = ValInitiale; Compteur<=ValFinale;Compteur=Compteur+1) { instructions } |
Algo | Pour Compteur <= ValInitiale à ValFinale par Pas faire début instructions fin |
C++ | for (Compteur=ValInitiale;Compteur<=ValFinale;Compteur=Compteur+Pas) { instructions } |
Equivalence de for et while en C++
amorçage while (condition) { corps de la boucle relance } |
for (amorçage;condition;relance) { corps de la boucle } |
Exemples :
Somme=0; for (N=1;N<100;N=N+2) Somme=Somme+N |
calculer la somme des nombres impairs entre 1 et 100 |
for (Car='A';Car<='Z';Car=Car+1 cout<<Car; |
afficher toutes les majuscules |
for (N=0;N<13;N=N+1) cout<<'*'; for (N=1; N<=13;N=N+1) cout <<'*'; |
affichage de 13 étoiles une autre façon d'écrire la même chose |
for (N=99; N>=10; N=N-1) cout<<N<<""; |
afficher les nombres à 2 chiffres dans l'ordre inverse |
do while
Algorithmique | C++ |
Répéter instructions Jusqu'à condition |
do { corps de la boucle } while (condition); |
Répéter jusqu'à continue l'itération tant que la condition n'est pas vraie (jusqu'à ce qu'elle devienne vraie).
Comparaison des boucles while et do-while
while (condition){ traitement } |
do { traitement } while (condition); |
La seule différence entre ces deux boucles est le moment de vérification de la condition :
while : la condition est vérifiée avant chaque expression du traitement. Le traitement ne peut donc pas être exécuté.
do-while : la condition est vérifiée après chaque exécution du traitement. Le traitement est exécuté au moins une fois.
Exemples :
do
cin>>Car;
while (Car<'0'||Car>'9');
lecture des caractères jusqu'à un chiffre
do{
cout<<"Tapez un nombre négatif : ";cin>>Nombre;
} while (Nombre>=0);
saisir un nombre négatif avec vérification. Le même programme avec la boucle while :
cout<<"Tapez un nombre négatif : ";cin>>Nombre;
while (Nombre>=0) {
cout<<"Tapez un nombre négatif : ";cin>>Nombre;
}