WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude et realisation d'un dispositif de controle par ordinateur d'un hélicoptere modele reduit

( Télécharger le fichier original )
par Ismael MBIYA KANYINDA
I.S.T.A - ingenieur en génie electrique orientation informatique appliquee 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.5 Classification des Langages de Programmation10 La figure 2.4 montre la classification des langages

Figure.2.4 classification de langag

Dans la classification, nous distinguons plusieurs types de langages :

> Langages Impératifs: Langages incluant des moyens pour le programmeur d'attribuer des valeurs à des locations (Variables) en mémoire.

> Langages Déclaratifs: Langages pour lesquels le programmeur réfléchit en terme de valeurs des fonctions et de relations entre entités diverses. Il n'y a pas d'attribution de valeurs aux variables.

> Programmation Procédurale: Le programme est divisé en blocs qui peuvent contenir leurs propres variables ainsi que d'autres blocs.

> Programmation Orientée Objet: Programmation qui supporte l'interaction d'objets. Un objet contient des données ainsi que des fonctions qui peuvent s'appliquer a ces données.

> Programmation Concurrente: Langages de programmation qui s'appliquent à plusieurs CPU 's qui opèrent en parallèle. Les données peuvent être partagées ou non.

> Programmation Fonctionnelle: Un programme est un appel de fonction avec un certain nombre de paramètres, qui eux-mêmes peuvent être des appels à d'autres fonctions. Le programme renvoie donc un seul résultat, qui peut être assez complexe.

10 J.-L. LAURIERE, Eléments de programmation dynamique, Collection Programmation, Ed. Gauthier-Villars, Paris, 1979.

--' 21 --' II.6 Langage de programmation C++

II.6.1 Introduction11

Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme la programmation procédurale, la programmation orientée objet et la programmation générique.

C++ est actuellement le 3e langage le plus utilisé au monde. Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin d'une autorisation ou obligation de payer pour avoir le droit d'utilisation.

II.6.2 Histoire

Bjarne Stroustrup a développé C++ au cours des années 1980, alors qu'il travaillait dans le laboratoire de recherche Bell d'AT&T. Il s'agissait en l'occurrence d'améliorer le langage C. Il l'avait d'ailleurs nommé C with classes (<< C avec des classes »). Les premières améliorations se concrétisèrent donc par la prise en charge des classes, ainsi que par de nombreuses autres fonctionnalités comme les fonctions virtuelles, la surcharge des opérateurs, l'héritage (simple ou multiple), les << templates », la gestion des exceptions, etc.

Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998 (ISO/CEI 14882:1998), sa dernière de 2003 (ISO/CEI 14882:2003). La normalisation de 1998 standardise la base du langage (Core Language) ainsi que la bibliothèque standard de C++ (C++ Standard Library).

En langage C, ++ est l'opérateur d'incrémentation, c'est-à-dire l'augmentation de la valeur d'une variable de 1. C'est pourquoi C++ porte ce nom : cela signifie que C++ est un niveau au-dessus du C. Il existe de nombreuses bibliothèques C++ en plus de celle qui est incluse dans la norme. Par ailleurs, C++ permet l'utilisation de l'ensemble des bibliothèques C existantes.

11 Bjarne Stroustrup, Le langage C++, Pearson, 2000 [détail de l'édition]

La figure 2.4 montre Bjarne Stroustrup, l'inventeur de C++

Figure24 Bjarne Stroustrup, linventeur d 2.6.3 Histoire de C++

Stroustrup a commencé à travailler sur C avec classes en 1979. L'idée de créer un nouveau langage vient de l'expérience en programmation de Stroustrup pour sa thèse de doctorat. Stroustrup trouvait que Simula avait des fonctionnalités très utiles pour le développement de gros programmes mais qu'il était trop lent pour être utilisé en pratique (cela était dû à un problème d'implémentation du compilateur Simula), tandis que BCPL était rapide mais de trop bas niveau et non adapté au développement de gros logiciels. Quand Stroustrup commença à travailler aux laboratoires Bell, on lui demanda d'analyser le noyau UNIX en vue de faire du calcul distribué. Se rappelant sa thèse, Stroustrup commença à améliorer le langage C avec des fonctionnalités similaires à celle de Simula. C fut choisi parce qu'il est rapide, portable et d'usage général. En outre, il était une bonne base pour le principe original et fondateur de C++ : << vous ne payez pas pour ce que vous n'utilisez pas ». Dès le départ, le langage ajoutait à C la notion de classe (avec encapsulation des données), de classe dérivée, de vérification des types renforcés (typage fort), d'<< inlining », et d'argument par défaut.12

Comme Stroustrup développait C avec classes, il écrivit CFront, un compilateur qui générait du code source C à partir de code source C avec classes. La première commercialisation se fit en octobre 1985.

En 1983, le nom du langage passa de C avec classes à celui de << C++ ». Parmi les nouvelles fonctionnalités qui furent ajoutées au langage, il y avait les fonctions virtuelles, la surcharge des opérateurs et des fonctions, les références, les constantes, le contrôle du typage amélioré et les commentaires en fin de ligne. En 1985 fut publiée la première édition de The C++ programming Language, apportant ainsi une référence importante au langage qui n'avait pas encore de standard officiel. En 1989, c'est la sortie de la version 2.0 de C++. Parmi les nouvelles fonctionnalités,

il y avait l'héritage multiple, les classes abstraites, les fonctions membres statiques, les fonctions membres constantes, et les membres protégés. En 1990, The Annotated C++ Reference Manual (« ARM ») fut publié apportant les bases du futur standard. Les ajouts de fonctionnalités tardifs qu'il comportait couvraient les modèles, les exceptions, les espaces de noms, les nouvelles conversions et le type booléen.

Comme le langage C++ évoluait, la bibliothèque standard évoluait de concert. La première addition à la bibliothèque standard de C++ concernait les flux d'entrées/sorties qui apportaient les fonctionnalités nécessaires au remplacement des fonctions C traditionnelles telles que printf et scanf. Ensuite, parmi les additions les plus importantes, il y avait la Standard Template Library.

Après des années de travail, un comité réunissant l'ANSI et l'ISO standardisa C++ en 1998 (ISO/CEI 14882:1998), l'année où le comité de standardisation se réunissait à Sophia Antipolis dans le sud de la France. Pendant quelques années après la sortie officielle du standard, le comité traita le rapport de problèmes et publia une version corrigée du standard C++ en 2003.Personne ne possède le langage C++. Il est libre de droit. Le document de standardisation n'est quant à lui pas disponible gratuitement.

2.6.4 La bibliothèque standard (C++ standard library)

La Bibliothèque standard du C++ est en grande partie un sur-ensemble des fonctions disponibles dans la bibliothèque standard du C. Elle englobe la Standard Template Library (STL) qui met à la disposition du programmeur des outils puissants comme les collections (conteneurs) et les itérateurs.

À l'origine, la STL était une bibliothèque développée par Alexander Stepanov qui travaillait pour Hewlett-Packard. Dans la norme, celle-ci n'est pas appelée STL, car elle est considérée comme faisant partie de la bibliothèque standard du C++. Toutefois, beaucoup de personnes l'appellent encore de cette manière pour distinguer d'une part, les fonctions d'entrées/sorties comprises dans cette bibliothèque et, d'autre part, celles fournies par la bibliothèque C. Comme en C, l'utilisation d'une bibliothèque se fait par l'intermédiaire de la directive #include (suivie du nom du fichier d'en-tête).

2.6.5 Fonctionnalités introduites par C++

On peut considérer que C++ « est du C » avec un ajout de fonctionnalités. Une remarque importante est à faire cependant : certains programmes syntaxiquement corrects en C ne le sont pas en C++.

~ 24 ~

Les fonctionnalités ajoutées sont :

· les déclarations reconnues comme instructions (repris dans C99) ;

· les opérateurs new et delete pour la gestion d'allocation mémoire ;

· le type de données bool (booléen) ;

· les références ;

· le mot clé const pour définir des constantes (repris par C à la fin des années 1980) ;

· les fonctions inline (repris dans C99) ;

· les paramètres par défaut dans les fonctions ;

· les référentiels lexicaux (Espace de noms) et l'opérateur de résolution :: ;

· les classes, ainsi que tout ce qui y est lié : l'héritage, les fonctions membres, les fonctions membres virtuelles, les constructeurs et le destructeur ;

· la surcharge des opérateurs ;

· les templates ;

· la gestion d'exceptions ;

· l'identification de type pendant l'exécution (RTTI : run-time type identification) ;

· le commentaire de fin de ligne introduit par « // » (existant dans BCPL, repris dans C99).

La compilation d'un programme en C++ effectue également un contrôle plus minutieux sur le typage.

2 .6.6 La programmation orientée objet en C++13

C++ utilise les concepts de la programmation orientée objet et permet entre autres :

· La classification,

· L'encapsulation,

· La composition de classes,

· L'association de classes,

· L'héritage, qui permet le polymorphisme,

· L'abstraction,

· La généricité,

· La méta-programmation

13 Aurélien Geron, Fatmé Tawbi, Pour mieux développer avec C++, Edition DUNOD 1999, (ISBN 978-2-10-007348-1)

L'encapsulation en C++

L'encapsulation permet de faire abstraction du fonctionnement interne (c'est-à-dire, la mise en oeuvre) d'une classe et ainsi de ne se préoccuper que des services rendus par celle-ci. C++ met en oeuvre l'encapsulation en permettant de déclarer

les membres d'une classe avec le mot réservé public, private ou protected. Ainsi, lorsqu'un membre est déclaré :

· public, il sera accessible depuis n'importe quelle fonction.

· private, il sera uniquement accessible d'une part, depuis les fonctions qui sont membres de la classe et, d'autre part, depuis les fonctions autorisées explicitement par la classe (par l'intermédiaire du mot réservé friend).

· protected, il aura les mêmes restrictions que s'il était déclaré private, mais il sera en revanche accessible par les classes filles.

C++ n'impose pas l'encapsulation des membres dans leurs classes. On pourrait donc déclarer tous les membres publics, mais en perdant une partie des bénéfices apportés par la programmation orientée objet. Il est de bon usage de déclarer toutes les données privées, ou au moins protégées, et de rendre publiques les méthodes agissant sur ces données. Ceci permet de cacher les détails de la mise en oeuvre de la classe.

Une importante notion de C++ est les espaces de noms (names paces). Dans un espace de noms sont définis des noms de fonctions et de variables. Ce mécanisme permet de résoudre les ambiguïtés lorsque plusieurs variables provenant de différents composants sont homonymes. Pour recourir à une fonction d'un espace de nom, l'opérateur de résolution de portée est utilisé.

La figure 2.5 présente l'interface utilisateur de l'IDE code bloc Dev-C++

La figure 2.5 l'interface du l'IDE Dev-C++

Dev-C++ est un environnement de développement intégré (IDE) permettant de programmer en C et en C++. Il semble être abandonné mais une équipe de développement a repris le projet sous le nom WxDev-C++. Dev-C++ est disponible uniquement sous Microsoft Windows.

Il utilise la version MinGW du compilateur GCC (GNU Compiler Collection) (venu du monde du logiciel libre) et permet d'exporter ses projets sous fichiers .dev. Dev-C++ peut aussi être utilisé en combinaison avec Cygwin ou tout autre compilateur basé sur GCC.

Cet IDE complet comprend entre autres un « répertoire de classes », servant à localiser facilement les fonctions, classes et membres du code source, un « répertoire de fonctions incluses », fonctionnant comme le répertoire de classes mais pour chercher dans les fichiers inclus (header), et un débogueur qui permet de surveiller l'état des variables pendant l'exécution du programme. Il souffre en revanche de l'absence d'un éditeur de ressources, ce qui rend la conception d'applications délicate si on ne fait pas appel à un outil externe.

Visual C++

Visual C++ est un environnement de développement intégré pour Windows, conçu par Microsoft pour les langages de programmation C et C++ et intégrant différents outils pour développer, compiler, déboguer un programme en C++ s'exécutant sur Windows, ainsi que des bibliothèques comme les MFC.

Il a par la suite été intégré au Framework Visual Studio, qui constitue ainsi un cadre unique aux divers environnements de développements de Microsoft. Le terme de Visual C++ est toutefois toujours employé pour désigner l'ensemble constitué par Visual Studio configuré pour C et C++.

2.6.7 Visual Basic 1. Introduction

Cette partie concerne le langage Visual Basic, commercialisé avec Microsoft Visual Studio 6.0 et antérieur. Pour la version de Visual Basic commercialisée avec Microsoft Visual Studio. Nous pourrons éventuellement le doter d'un numéro de série "intelligent" permettant de créer une protection logicielle assez sophistiquée pour rebuter la majorité des casseurs de code. Quoique cette première tâche soit légère, elle va vous donner l'opportunité d'apprendre les bases de Visual Basic sans vous inquiéter des questions de conceptions et des concepts de programmation appliqués dans les réalisations plus complexes.

Visual Basic (VB) est un langage de programmation événementielle de troisième génération ainsi qu'un environnement de développement intégré, créé par Microsoft pour son modèle de programmation COM. Visual Basic est directement dérivé du BASIC et permet le développement rapide d'applications, la création d'interfaces utilisateur graphiques, l'accès aux bases de données en utilisant les technologies DAO, ADO et RDO, ainsi que la création de contrôles ou objets ActiveX. Les langages de script tels que Visual Basic for Applications et VBScript sont syntaxiquement proches de Visual Basic, mais s'utilisent et se comportent de façon sensiblement différente.

Un programme en VB peut être développé en utilisant les composants fournis avec Visual Basic lui-même. Les programmes écrits en Visual Basic peuvent aussi utiliser l'API Windows, ceci nécessitant la déclaration dans le programme des fonctions externes.

Visual Basic est un des langages les plus utilisés pour l'écriture d'applications commerciales, c'est-à-dire d'applications ne faisant que manipuler des chiffres et des lettres. Ce BASIC est particulièrement adapté à cet usage, pas d'accès système, pas de performances critiques, développement rapide, compétences apparemment faibles. Le défaut étant justement sa facilité de mise en oeuvre : un débutant VB pourra rapidement faire un programme opérationnel mais souvent tellement mal fait (sans analyse, structures ni règles, sans même la moindre expérience en programmation parfois...) qu'il sera difficilement maintenable par la suite. Beaucoup

de projets VB sont à refaire entièrement car ils ont été trop mal faits par des débutants.

Dans une étude conduite en 2005, 62% des développeurs déclaraient utiliser l'une ou l'autre forme de Visual Basic. Actuellement, les langages les plus utilisés dans le domaine commercial sont Visual Basic, C++, C#, Java.

La dernière mise à jour de Visual Basic est la version 6.0, sortie en 1998. Le support étendu Microsoft a pris fin en 2008. À partir de la version 7, le Visual Basic subit des changements substantiels le rapprochant de la plate-forme « dot Net », et qui amènent Microsoft à le commercialiser sous le nom de Visual Basic .NET.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe