240 likes | 429 Views
Langage de programmation. Qu'est-ce que c’est ?. Pascal. Writeln ("Bonjour");. Ada. PUT_LINE ("Bonjour");. System.out.println ("Bonjour");. Java. printf ("Bonjour<br>");. C. Perl. PHP. cout << "Bonjour" << endl;. C++. Editeur de texte. Fichier source. Fichier exécutable.
E N D
Langage de programmation Qu'est-ce que c’est ? Pascal Writeln ("Bonjour"); Ada PUT_LINE ("Bonjour"); System.out.println ("Bonjour"); Java printf ("Bonjour\n"); C Perl PHP cout << "Bonjour" << endl; C++
Editeur de texte Fichier source Fichier exécutable Compilateur path/a.out Exécution Résultat de l’exécution sur disque dans un répertoire Code source /users/etud1/ taralf/ tp/tpC++/ tp_01/ Bonjour .cxx
nom du compilateur g++ Bonjour.cxx a.out Compilation allegro/users/etud1/taralf/tp/tpC++/tp_01> allegro/users/etud1/taralf/tp/tpC++/tp_01> Bonjour allegro/users/etud1/taralf/tp/tpC++/tp_01>
/** * * @File : Bonjour.cxx * * @Author : D. Mathieu * * @Date : 18/07/2003 * **/ Premier programme #include <iostream> using namespace std; int main () { } cout << "Bonjour" << endl; return 0; // main()
commentaires instruction bloc d’instructions fonction flux de sortie injecteur chaîne de caractères littéral (constante) entier manipulateur mot clé mot réservé identificateurs opérateurs préprocesseur
Qu'est-ce qu'un type ? Quelques types standard du C++ int unsigned char -N .... 0 .... +N 0 .... +N .... +2N
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" << " tout" << " le" << " monde" << endl; 5 injections cout << "Bonjour" " tout" " le" " monde" << endl; 2 injections
Caractère d'échappement Chaîne contenant le caractère " cout << "Rencontre du troisième \"type\"" << endl;
allegro>nom_du_programme 12 -25 123.45 salut cout << 12 << endl << -25 << ' ' << 123.45 << '\n' << "salut" << '\t' << " à toi"; à toi
allegro>nom_du_programme 121314 120130140 12 13 14 120 130 140 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 12 13 14 120 130 140 allegro>nom_du_programme 12 13 14 120 130 140 ou, mieux : cout << 12 << '\t' << 13 << '\t' << 14 << '\n' << 120 << '\t' << 130 << '\t' << 140 << endl; mais, si la tabulation vaut 3 caractères :
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
Alignement vertical 1 instruction 2 lignes 1 instruction 3 lignes Traduction des schémas de programme en C++ Rappel : séquence d’instructions instruction1; instruction2; instruction3; cout << "Bonjour" << " tout"; cout << " le" << " monde" << endl;
(au sein d'une séquence) instruction1; instruction2; Traduction des schémas de programme en C++ Rappel : bloc d’instructions { séquence d’instructions; }
Alignements verticaux Traduction des schémas de programme en C++ Schéma alternatif if (condition) { séquence d'instructions; } else { séquence d'instructions; } si (condition) alors Action1; sinon Action2; fin
exemple if (i == 1) { cout << "i est égal à 1"; } else { cout << "i est différent de 1"; } cout << endl;
if ( expression conditionnelle ) instruction instruction else Diagrammes syntaxiques schéma alternatif
if ( expression conditionnelle ) schéma alternatif (maison !!!) { suite d'instructions } else { suite d'instructions }
if (A==B) if (A<B) == < if (A!=B) if (A<=B) if (A>=B) if (A>B) != <= > >= opérateurs de comparaison opérateurs d'égalité
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 Action1; si (condition) alors sortir; Action2; fin répéter for ( ; ;) { séquence d'instructions; if (condition) break; séquence d'instructions; }