Télécharger la présentation
1
Programmation en C++ Autres langages
Marianne Morris
2
Plan du reste du semestre
Chapitres 8, 9, 10 Réseaux et Intelligence Artificielle Devoir 4 est dû le mardi 28 novembre Labo final est le 30 novembre Examen final est le 5 décembre Tout ce qu’on a étudié (emphase sur la deuxième partie du cours après l’examen mi-session) Notes du cours Exemples en classe Exercices de labo
3
Chapitres 8 et 9 Programmation en C++
Révision de concept orienté objet Hiérarchie des classes orienté objet Exemple de fonctions et de programme orienté objet
4
Stockage virtuel de données
Array Groupe une collection de cellules de mémoires pour stocker des données du même type
5
The Outline for a C++ Function
Figure 8.22 The Outline for a C++ Function
6
Utilisation des fonctions
Fonctions « functions » Un module de code en C++ Nommée d’après les identificateurs en C++ Fonctions d’opérations: optionnelles Fonction main : obligatoire!
7
Programmation orientée objet
La programmation par objet Object-Oriented Programming - OOP Paradigme de programmation Consiste en la définition et l'assemblage de briques logicielles appelées objets Objet Représente un concept, une idée ou une chose du monde réel, de l'entreprise ou celui des idées. Définition selon Wikipedia.org
8
Programmation orientée objet
Héritage de type Mécanisme par lequel est raffiné un type père en un autre type, le sous-type Mécanisme de restrictions des espaces de valeurs du type Père Sous-type
9
Programmation orientée objet
Rédéfinition Permet à un sous-type de raffiner l'implémentation d'un message défini dans le type père Overriding (en anglais)
10
Programmation orientée objet
Polymorphisme Permet d'utiliser des objets de types différents là où est attendue une valeur d'un type précis, dès que ceux-ci satisfont le type requis Concept d’héritage – façon de réaliser le polymorphisme
11
Programmation orientée objet
Encapsulation L'idée de cacher l'information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet Permet à l'instance d'une classe d'accéder aux attributs d'une super-classe
12
Programmation orientée objet
Hiérarchie des classes Forme Triangle Cercle Rectangle Carré Figure 8.31 (page 395)
13
Programmation orientée objet et fonctions en C++
Discussion de l’exemple 8.8.1: Figure 8.29 Pages 392 – 394
14
Programmation (autres langages)
C/C++ Java SQL HTML JavaScript
15
Programmation en langage procédural C
Développé au début des années 1970 aux labos AT & T Fait pour UNIX Utilisé pour les logiciels du système et les systèmes d’exploitation Utilisé pour des buts généraux
16
Programmation en langage procédural C
Pourquoi est-ce C très populaire? Relation entre le langage C et UNIX C est très efficace C est proche du langage assembleur C contient une syntaxe de haut niveau La portabilité de C
17
C++ (langage orienté objet)
Développé au début des années 1980 aux labos AT & T Un « superset » de C Langage à avantages industriels Standard Conception orientée objet Collection de librairies de code
18
Java Créé originairement pour le marché des électroniques
Orienté objet (basé sur C++) Les programmes en Java sont: Applications: Un programme ordinaire Applet: Programme à interface fait pour les pages Web Compilé à bytecode et puis interprété
19
Langages à buts spéciaux
Créés pour tâches spécifiques SQL HTML JavaScript
20
SQL Structured Query Language Pour les bases de données
Stocker et accéder à des données On pose des questions aux bases de données: «query » SQL est le langage qu’on utilise pour faire des « query »
21
HTML HyperText Markup Language
C’est le langage qu’on utilise pour écrire des documents HTML pour le Web Une page Web Un document HTML qu’on peut lire en utilisant un logiciel navigateur pour le Web Internet Explorer, Mozilla, FireFox
22
HTML Un document HTML Du texte avec des « tags »
Tags sont des caractères spéciaux Format Effets spéciaux Références à d’autres documents HTML
23
Figure 9.4 HTML Code for a Web Page
24
Body of the Web Page Generated by Figure 9.4
25
Figure 9.6 Some HTML Tags
26
JavaScript Un langage pour écrire des scripts
Interprété: traduit/exécuté ligne par ligne Les morceaux de code en JavaScript peuvent être implantés dans les pages Web pour rendre ces pages actives!
27
D’autres langages de programmation
Il y a bien plusieurs d’autres langages Voir Figure 9.15 (page 463 dans votre manuel de cours)
28
Chapitre 10: Compilateurs et traduction de langages
Le processus de compilation (quatre phases) Analyse lexicale Analyse grammaticale Sémantique et création de code Optimisation de code
29
Compilateurs et traduction de langages
Un logiciel qui traduit les langages de haut niveau en langage machine Traduction doit être correcte Le code en langage machine doit être efficace et concis
30
General Structure of a Compiler
Figure 10.1 General Structure of a Compiler
31
Processus de compilation
Phase I: Analyse lexicale Le compilateur examine les caractères individuelles dans le programme source et les groupe en unités syntactiques qui s’appellent « tokens »
32
Processus de compilation
Phase II: Analyse grammaticale La vérification de la séquence d’unités syntactiques « tokens » formée par un scanner pour assurer qu’elle est correcte syntaxiquement
33
Processus de compilation
Phase III: Analyse sémantique Le compilateur analyse le sens des instructions du langage évolué et les traduit en instructions de langage machine pour être exécutées
34
Processus de compilation
Phase IV: Optimisation de code Le compilateur essaye de rendre plus efficace le code créé en phase III.
35
Overall Execution Sequence on a High-Level Language Program
Figure 10.2 Overall Execution Sequence on a High-Level Language Program
36
Processus de compilation
Étape finale Le programme objet est écrit à un fichier objet Programme source Programme originaire en langage évolué Programme objet Traduction du programme source en langage machine
37
Example (Phase II: Parsing)
High-level language statement: a = b + c
38
Prochaine classe (le mardi 28 novembre)
Réseaux Intelligence Artificielle
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.