Chapitre 01 - Notions de base

358 vues

Publié le

Notions de base :
- programme
- programmation
- langages de programmation
Une petite introduction au langage C++ :
- Historique
- Place de C++ par rapport aux autres langages de programmation
Mettre en place les différents outils nécessaires pour pouvoir programmer en C++ :
- éditeur de texte
- compilateur
- débugger
les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré
Création et discussion de notre premier programme C++

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
358
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chapitre 01 - Notions de base

  1. 1. Introduction au langage C++ Chapitre 1 Notions de base Youssouf EL ALLIOUI, youssouf.elallioui@uhp.ac.ma Université Hassan Premier de Settat Objectif de ce chapitre  Notions de base :  programme  programmation  langages de programmation  Une petite introduction au langage C++ :  Historique  Place de C++ par rapport aux autres langages de programmation  Mettre en place les différents outils nécessaires pour pouvoir programmer en C++ :  éditeur de texte  compilateur  débugger  les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré  Création et discussion de notre premier programme C++ Entraînez-vous via  Exercices applicatifs  QCM fourni à la fin de la séance  Les TPs 2016
  2. 2. 1 | 12 1 Introduction au langage C++ | Chapitre 1 : Notions de base Sommaire Qu’est-ce qu’un programme ? ______________________________________________ 2 Les langages de programmation ____________________________________________ 2 Le C++ face aux autres langages de programmation _____________________________ 3 De C au C++ ____________________________________________________________ 5 Les logiciels nécessaires pour programmer ____________________________________ 5 Création et lancement d’un premier programme _______________________________ 6 Commentez vos programmes ! ____________________________________________ 10 Mettez votre code en forme ______________________________________________ 11 Ce que vous devez retenir ! _______________________________________________ 11 Références Cours de C/C++ [Ouvrage] / aut. Casteyde Christian. - 2001. - Vol. Version 1.40.1 : p. 501. Programmez avec le langage C++ [Ouvrage] / aut. Mathieu Nebra et Matthieu Schaller. - [s.l.] : le Livre du Zéro, 2015.
  3. 3. 2 | 12 2 Introduction au langage C++ | Chapitre 1 : Notions de base Qu’est-ce qu’un programme ? Les programmes sont à la base de l'informatique. Ce sont eux qui vous permettent d'exécuter des actions sur votre ordinateur. Prenons par exemple la figure suivante qui représente une capture d'écran de mon ordinateur. On y distingue 3 fenêtres correspondant à 3 programmes différents (Figure 1 : Exemple de programmes) : - Le navigateur web Google Chrome - L’explorateur de fichiers - Microsoft Word Figure 1 : Exemple de programmes Comment alors, pouvons-nous réaliser des programmes ? La réponse est tout simplement via l’utilisation des langages de programmation qui permettent d'expliquer à l'ordinateur ce qu'il doit faire. Qu’est-ce que alors un langage de programmation ? Les langages de programmation Votre ordinateur est une machine étonnante et complexe. À la base, il ne comprend qu'un langage très simple constitué de 0 et de 1. Ainsi, un message tel que la Figure 2 peut signifier quelque chose comme « Affiche une fenêtre à l'écran » ! 1010010010100011010101001010111010100011010010 Figure 2 : Exemple d'un message écrit en langage machine Est-ce qu’on va être obligé d'apprendre ce langage ? bien sûr que non. Ce qu’on doit apprendre c’est un langage intermédiaire qui s’appelle langage de programmation.
  4. 4. 3 | 12 3 Introduction au langage C++ | Chapitre 1 : Notions de base Un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent1 . Tous les langages de programmation ont le même but : vous permettre de parler à l'ordinateur plus simplement qu'en binaire. Voici comment cela fonctionne (Figure 3) : Figure 3 : Compilation d'un code source en code machine - Etape 1 : Vous écrivez des instructions pour l'ordinateur dans un langage de programmation, c’est le code source. - Etape 2 : Les instructions sont traduites en binaire grâce à un programme de « traduction » appelé Compilateur. - Etape 3 : L'ordinateur peut alors lire le binaire et faire ce que vous avez demandé. Le C++ est un langage de programmation : il sert donc à écrire des applications informatiques. Il s'agit d'ailleurs d'un des langages de programmation les plus utilisés aujourd'hui. Chaque programme en C++ doit être écrit en respectant des règles d'écriture très strictes que nous étudierons petit à petit. Le C++ face aux autres langages de programmation Parmi les centaines de langages de programmation qui existent, certains sont plus populaires que d'autres. Sans aucun doute, le C++ est un langage très populaire. La popularité n’est pas le seul critère pour choisir un langage. Le plus important est le niveau du langage. Il existe des langages de haut niveau et d'autres de plus bas niveau (Figure 4). Les langages de haut niveau sont plus simples mais plus éloigné du fonctionnement de la machine. Par contre, les langages de bas niveau sont plus complexe mais plus proche du fonctionnement de la machine. NB : En programmation, la notion de « niveau » est relative. Globalement, on peut dire que le C++ est « bas niveau » par rapport au Python, mais il est plus « haut niveau » que l'assembleur. Tout dépend de quel point de vue on se place. 1 https://fr.wikipedia.org/wiki/Langage_de_programmation
  5. 5. 4 | 12 4 Introduction au langage C++ | Chapitre 1 : Notions de base Figure 4 : Niveaux des langages de programmation Les points forts du langage C++ Il est très répandu : On trouve beaucoup de documentation sur Internet et on peut facilement avoir de l'aide sur les forums. Il est rapide : C’est un langage de bas niveau (Figure 4), ce qui en fait un langage de choix pour les applications critiques qui ont besoin de performances. Il est portable : en effet, c’est un langage multiplateforme. Le même code source peut théoriquement être transformé sans problème en exécutable sous Windows, Mac OS et Linux. Il existe de nombreuses bibliothèques pour le C++ : De base, le C++ ne sait pas faire grande chose mais, en le combinant avec de bonnes bibliothèques, on peut créer des programmes 3D, réseaux, audio, fenêtrés, etc. Il est multi-paradigmes : ce que signifie qu'on peut programmer de différentes façons en C++. L’une des plus célèbres façons de programmation est la Programmation Orientée Objet (POO). C'est une technique qui permet de simplifier l'organisation du code dans nos programmes et de rendre facilement certains morceaux de codes réutilisables. Les points faibles du langage C++ Bien entendu, le C++ n'est pas le langage incontournable. Il a lui-même ses défauts par rapport à d'autres langages, sa complexité en particulier. Vous avez beaucoup de contrôle sur le fonctionnement de votre ordinateur (et sur la gestion de la mémoire) : cela offre une grande puissance mais, si vous l'utilisez mal, vous pouvez plus facilement faire planter votre programme. Ne vous en faites pas, nous découvrirons tout cela progressivement dans ce cours. Langage Binaire Langages de bas niveau Langages de haut niveau
  6. 6. 5 | 12 5 Introduction au langage C++ | Chapitre 1 : Notions de base De C au C++ Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 80, Bjarne Stroustrup, un informaticien originaire du Danemark, fait évoluer le langage C vers le langage C++ en lui rajoutant notamment les notions orientées objet. Toutefois, bien que le C++ ait évolué à partir du C, et ait gardé un grand nombre de notions et de syntaxes de son «ancêtre», il s'agit de deux langages différents. Bjarne Stroustrup est aujourd'hui professeur d'informatique à l'université Texas A&M, aux Etats-Unis. Il s'agit d'une importante figure de l'univers informatique qu'il faut connaître, au moins de nom. De nombreux langages de programmation se sont par la suite inspirés du C++. C'est notamment le cas du langage Java. Le langage C++, bien que relativement ancien, continue à être amélioré. Les logiciels nécessaires pour programmer Pour pouvoir programmer en C++, Voici le strict minimum dont vous avez besoin : - Un éditeur de texte pour écrire le code source du programme en C++. Les fichiers source sont des fichiers texte lisibles dont le nom se termine en général par .c, .cpp ou .h. - Un compilateur pour transformer (« compiler ») votre code source en binaire (ou exécutable). Les fichiers exécutables portent en général l'extension .exe sous windows et ne portent pas d'extension sous Linux. - Un débugger (« Débogueur » ou « Débugueur » en français) pour vous aider à traquer les erreurs dans votre programme (un truc qui corrigerait tout seul nos erreurs). À partir de maintenant nous avons deux possibilités : 1) Soit récupérer chacun de ces 3 programmes séparément. C'est plus compliquée, mais elle fonctionne. 2) Soit on utilise un programme « 3-en-1 » qui combine éditeur de texte, compilateur et débugger. Ces programmes « 3-en-1 » sont appelés IDE (ou en français « EDI » pour « Environnement de Développement Intégré »). Il existe plusieurs IDE. Ils vous permettront tous de programmer et de suivre le reste de ce cours sans problème.
  7. 7. 6 | 12 6 Introduction au langage C++ | Chapitre 1 : Notions de base Durant tout ce cours, j'utiliserai Code::Blocks. Il s’agit d’un IDE libre et gratuit, disponible pour Windows, Mac et Linux. Si vous voulez avoir exactement les mêmes écrans que moi, surtout au début pour ne pas être perdus, je vous recommande donc de commencer par installer Code::Blocks2 . Pour le faire vous pouvez consulter le lien : http://www.codeblocks.org/downloads/binaries. Si vous êtes sous Windows, repérez la section « Windows » un peu plus bas sur cette page. Téléchargez le logiciel en choisissant le programme dont le nom contient mingw (ex. : codeblocks-16.01mingw-setup.exe) (Figure 5). Figure 5 : Code Blocks avec mingw (version à installer) Création et lancement d’un premier programme Pour commencer à programmer, la première étape consiste à créer un nouveau projet. Pour cela, sélectionnez File > New > Project (Figure 6). 2 http://www.codeblocks.org/
  8. 8. 7 | 12 7 Introduction au langage C++ | Chapitre 1 : Notions de base Figure 6 : Création de Nouveau projet sur Code::Blocks Un assistant s'ouvre « New from template », choisissez « console application ». À la fin des étapes de l'assistant, le projet est créé et contient un premier fichier main.cpp. Ce fichier est notre premier code source et il est déjà un peu rempli (Figure 7). Figure 7 : Mon premier programme Sans trop entrer dans les détails, nous allons expliquer à quoi sert chacune des lignes de ce code (code de la Figure 7).
  9. 9. 8 | 12 8 Introduction au langage C++ | Chapitre 1 : Notions de base #include 1 #include <iostream> On place en général au début du programme un certain nombre d'instructions commençant par #include. C'est ce qu'on appelle une directive de préprocesseur. Son rôle est de « charger » des fonctionnalités du C++ pour que nous puissions effectuer certaines actions (la définition de certains objets, types ou fonctions). Ces extensions qui nous offrent de nouvelles possibilités sont appelées des bibliothèques. Dans cet exemple (première ligne de la Figure 7), nous chargeons le fichier iostream, ce qui nous permet d'utiliser la bibliothèque d'affichage de messages à l'écran dans la console. iostream est pour « Input Output Stream » ou bien « Flux d'entrée-sortie », ce que signifie que cette bibliothèque nous permet également de faire plus qu'afficher des messages à l'écran : on pourra aussi récupérer ce que saisit l'utilisateur au clavier, comme nous le verrons plus tard. Dans un ordinateur, l'entrée correspond en général au clavier ou à la souris, et la sortie à l'écran. Notez bien qu'on peut charger autant de bibliothèques que l'on veut à la fois (chaque une par ligne). using namespace std; 3 using namespace std; Un programme important utilise de nombreuses bibliothèques, fonctions et objets ou variables. Pour éviter les problèmes de conflit de noms, on utilise des espaces de noms (namespace) : - on associe un nom à un ensemble de variables, types, fonctions - leur nom complet est : leur nom d’espace suivi de :: et de leur nom la fonction int f(){...} définie dans le domaine A aura pour nom complet A::f() Figure 8 : Exemple d'utilisation de namespace Les noms complets de cout et cin sont std::cout et std::cin. Pour éviter d’écrire les noms complets, on utilise : using namespace std ; Créer un espace de nom namespace toto { int N = 10 ; int Test() { cout << "test... " ; }
  10. 10. 9 | 12 9 Introduction au langage C++ | Chapitre 1 : Notions de base } Figure 9 : Exemple de Création d’un namespace Les objets N et Test ont pour nom toto::N et toto::Test. La fonction main() 12 int main() 13 { ... ... ; 23 } C'est ici que commence vraiment le cœur du programme. Comme nous le verrons un peu plus tard, les programmes sont essentiellement constitués de fonctions. Chaque fonction a un rôle et peut appeler d'autres fonctions pour effectuer certaines actions. Tous les programmes possèdent une fonction dénommée « main », ce qui signifie la fonction principale du programme. Une fonction a la forme suivante : Les accolades ({ et }) déterminent le début et la fin de la fonction. Comme vous le voyez dans le code source qui a été généré par Code::Blocks (Figure 7), il n'y a rien après la fonction main(). C'est normal : à la fin de la fonction main() le programme s'arrête ! Tout programme commence au début de la fonction main() et se termine à la fin de celle- ci. Cout 7 cout << "Hello world!" << endl; Voici enfin la première ligne qui sera exécutée par l'ordinateur (les lignes que nous avons vues précédemment ne sont en fait que des préparatifs pour le programme). Il y a 3 éléments sur cette ligne : - cout : commande l'affichage d'un message à l'écran ; - "Hello world!" : indique le message à afficher ; - endl : crée un retour à la ligne dans la console. Il est possible de combiner plusieurs messages en une instruction. Notez bien que :  cout est fourni par iostream. Si vous n'incluez pas iostream au début de votre programme, le compilateur se plaindra de ne pas connaître cout et vous ne pourrez pas générer votre programme !  Chaque instruction se termine par un point-virgule ! C'est d'ailleurs ce qui vous permet de différencier les instructions du reste. Si vous oubliez le point-virgule, la compilation ne fonctionnera pas et votre programme ne pourra pas être créé ! return ou le Retour de la fonction return 0;
  11. 11. 10 | 12 10 Introduction au langage C++ | Chapitre 1 : Notions de base Cette instruction clôt généralement les fonctions. En fait, la plupart des fonctions renvoient à la fin de son exécution une valeur appelée « retour de la fonction » (un nombre, une chaine de caractères, etc.). Ici, la fonction main() renvoie 0 pour indiquer que tout s'est bien passé (toute valeur différente de 0 aurait indiqué un problème). Commentez vos programmes ! En plus du code qui donne des instructions à l'ordinateur, vous pouvez écrire des commentaires pour expliquer le fonctionnement de votre programme. Par exemple, si vous envoyez votre code à un ami, il aura des difficultés pour comprendre ce que vous avez essayé de faire juste en lisant votre code source. C'est là que les commentaires entrent en jeu ! Les commentaires n'ont aucun impact sur le fonctionnement de votre logiciel : en fait, le compilateur ne les lit même pas et ils n'apparaissent pas dans le programme généré. Il existe deux types de commentaires en C++ : les commentaires de type C et les commentaires de fin de ligne (qui ne sont disponibles qu’en C++). Il y a deux façons d'écrire des commentaires selon leur longueur : Les commentaires courts : uniligne Pour écrire un commentaire court, sur une seule ligne, il suffit de commencer par // puis d'écrire votre commentaire. // Ceci est un commentaire court sur une seule ligne Les commentaires longs : multilignes Si votre commentaire tient sur plusieurs lignes, ouvrez la zone de commentaire avec /* et fermez-la avec */. /* Ceci est un commentaire long peu complexe alors je l’écris sur plusieurs lignes */ Exemple Reprenons le code source que nous avons étudié dans ce chapitre (Figure 7) et complétons- le de quelques commentaires pour nous souvenir de ce qu'il fait (Figure 10). 1 #include <iostream> // Inclut la bibliothèque iostream (affichage de texte) 2 3 using namespace std; // Indique quel espace de noms on va utiliser 4 5 /* 6 Fonction principale "main" 7 Tous les programmes commencent par la fonction main 8 */ 9 int main() 10 { 11 cout << "Hello world!" << endl; // Affiche un message
  12. 12. 11 | 12 11 Introduction au langage C++ | Chapitre 1 : Notions de base 12 return 0; // Termine la fonction main et donc le programme 13 Figure 10 : Mon premier programme complété par quelques commentaires Mettez votre code en forme Imaginez maintenant que votre programme fasse des centaines de lignes de long, si vous n’avez pas met votre code en forme de manière plus lisible, cela deviendra vite incompréhensible. Pour nous aider dans cette tâche, Code::Blocks met à disposition un outil. Ouvrez le menu Plugins puis sélectionnez Source code formatter (AStyle). Figure 11 : Mettre son code en forme Votre code source se met alors en forme tout seul et devient automatiquement plus lisible. Cela n'a rien changé pour le compilateur, le programme fera toujours exactement la même chose, par contre, pour vous (et vos collègues travaillant sur le même projet), cela change tout. Vous verrez que plus on avance dans ce cours, plus cela deviendra important d'avoir un code mis en forme proprement et bien commenté. Ce que vous devez retenir !  Les programmes permettent de réaliser toutes sortes d'actions sur un ordinateur : navigation sur le Web, rédaction de textes, manipulation des fichiers, etc.  Pour réaliser des programmes, on écrit des instructions pour l'ordinateur dans un langage de programmation. C'est ce qu’on appelle « code source ».  Le « code source » doit être traduit en « code binaire » (ou code exécutable ») par un outil (un programme) appelé compilateur. En effet, l'ordinateur ne comprend que le binaire (l’exécutable).
  13. 13. 12 | 12 12 Introduction au langage C++ | Chapitre 1 : Notions de base  Le C++ est un langage de programmation très répandu et rapide. C'est une évolution du langage C.  Un IDE est un outil tout-en-un à destination des développeurs, qui permet de créer des programmes. Il est composé d'un éditeur de texte, d'un compilateur et d'un debugger.  Code::Blocks, Visual C++ et Xcode sont parmi les IDE les plus connus pour programmer en C++.  On distingue deux types de programmes : les programmes graphiques (GUI) et les programmes console.  Un programme possède toujours une fonction main() : c'est son point de démarrage.  La directive cout permet d'afficher du texte dans une console.  On peut ajouter des commentaires dans notre « code source » pour expliquer son fonctionnement. Ils prennent la forme // Commentaire (pour des commentaires uniligne) ou /* Commentaire */ (pour des commentaires multilignes).

×