Vous êtes sur la page 1sur 22

Langage de programmation

Qu'est-ce que c’est ?


Writeln ("Bonjour"); Pascal

PUT_LINE ("Bonjour"); Ada


System.out.println ("Bonjour"); Java
printf ("Bonjour\n"); C Perl PHP
cout << "Bonjour" << endl; C++
Editeur
de texte
Fichier sur disque
Code source source dans un répertoire

/users/etud1/taralf/tp/tpC++/tp_01/Bonjour.cxx

Compilateur Fichier path/a.out


exécutable

Exécution
Résultat de l’exécution
Compilation

nom du compilateur

allegro/users/etud1/taralf/tp/tpC++/tp_01> g++ Bonjour.cxx

allegro/users/etud1/taralf/tp/tpC++/tp_01> a.out
Bonjour
allegro/users/etud1/taralf/tp/tpC++/tp_01>
/**
*
* @File : Bonjour.cxx
* Premier
* @Author : D. Mathieu programme
*
* @Date : 18/07/2003
*
**/
#include <iostream>

using namespace std;


int main ()
{
cout << "Bonjour" << endl;

return 0;

} // main()
commentaires entier

instruction manipulateur

bloc d’instructions mot clé

fonction mot réservé

flux de sortie identificateurs

injecteur opérateurs

chaîne de caractères préprocesseur

littéral (constante)
Qu'est-ce qu'un type ?

Quelques types standard du C++

int -N .... 0 .... +N


unsigned 0 .... +N .... +2N
char
On peut injecter des tas de choses dans le flux :

des nombres,

des caractères,

des chaînes de caractères,

des manipulateurs,

et + si affinités ! : tout ce qui peut être affiché


cout << "Bonjour"
5 injections
<< " tout"
<< " le"
<< " monde" << endl;

cout << "Bonjour"


" tout" 2 injections
" le"
" monde" << endl;
Chaîne contenant le caractère "

cout << "Rencontre du troisième \"type\"" << endl;

Caractère d'échappement
cout << 12 << endl

<< -25 << ' '


<< 123.45 << '\n'
<< "salut" << '\t'
<< " à toi";

allegro>nom_du_programme
12

-25 123.45

salut à toi
Soigner l'affichage
(sortie formattée)

cout << 12 << 13 << 14 << '\n'


<< 120 << 130 << 140 << endl;

cout << 12 << ' ' << 13 << ' ' << 14 << '\n'
<< 120 << ' ' << 130 << ' ' << 140 << endl;

allegro>nom_du_programme
121314
120130140
12 13 14
120 130 140
ou, mieux :

cout << 12 << '\t' << 13 << '\t' << 14 << '\n'
<< 120 << '\t' << 130 << '\t' << 140 << endl;

allegro>nom_du_programme
12 13 14
120 130 140

mais, si la tabulation vaut 3 caractères :


allegro>nom_du_programme
12 13 14
120 130 140
ou, ENCORE mieux :
#include <iostream>
#include <iomanip> // setw()
cout << setw (4) << 12
<< setw (4) << 13
<< setw (4) << 14 << '\n'
<< setw (4) << 120
<< setw (4) << 130
<< setw (4) << 140 << endl;

allegro>nom_du_programme
12 13 14
120 130 140
Traduction des schémas de programme
en C++
Rappel :

séquence d’instructions

instruction1;
instruction2;
instruction3;

Alignement vertical

cout << "Bonjour" 1 instruction


<< " tout"; 2 lignes
cout << " le"
<< " monde" 1 instruction
<< endl; 3 lignes
Traduction des schémas de programme
en C++
Rappel :

bloc d’instructions (au sein d'une séquence)

instruction1;
{
séquence d’instructions;
}

instruction2;
Traduction des schémas de programme
en C++
Schéma alternatif

if (condition)
si (condition) {
alors séquence d'instructions;
Action1; }
sinon else
{
Action2;
séquence d'instructions;
fin }

Alignements verticaux
exemple

if (i == 1)
{
cout << "i est égal à 1";
}
else
{
cout << "i est différent de 1";
}
cout << endl;
Diagrammes syntaxiques

schéma alternatif

if ( expression conditionnelle )

instruction

else instruction
schéma alternatif (maison !!!)

if ( expression conditionnelle )

{ suite d'instructions }

else { suite d'instructions }


opérateurs d'égalité

== if (A == B)

!= if (A != B)

opérateurs de comparaison

< if (A < B)

<= if (A <= B)

> if (A > B)

>= if (A >= B)
N compris entre 0 et 9 ?
...
if (N <= 9)
{
if (N >= 0)
{
cout << "0 <= " << N << "<= 9" << endl;
}
} else
{
cout << N << " < 0" << endl;
}
}
else
{
cout << N << " > 9" << endl;
}
Traduction des schémas de programme
en C++
Schéma répétitif
répéter
for ( ; ; )
Action1; {
séquence d'instructions;
si (condition) alors sortir;
if (condition) break;
Action2;
séquence d'instructions;
}
fin répéter