1 Sixième journée Éléments de C++ La programmation typée Éléments de C++ La programmation typée.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Les fonctions A quoi ça sert ?
Programmation Orienté Objet en C++
Introduction au langage C
Initiation à la programmation et algorithmique cours 4
Sensibilisation à l’Algorithmique
Introduction à la programmation ICS 3M: M.Legros.
Algorithmique Résume.
la programmation en langage C
C.
Nicolas Bourbaki.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Paramètres et pointeurs
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la POO: Les classes vs les objets
Les bases de l’Algorithmique
Principes de programmation (suite)
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Algorithmique et Programmation
OCaml – Les arbres L3 MI.
Le langage C++ Langage orienté objet
Particularités des calculs
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Introduction à la programmation (Java)
Programmation Initiation Aux Langages C et C++ Bruno Permanne 2006.
Horaire élève: 1h classe entière et ½ heure effectif allégé
Test et débogage Tests unitaires. Gestion d’erreurs. Notion d’état, de pré-condition et de post-condition. Assertion. Traces de programme. Débogueur et.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes de compilation. Les fonctions.
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Formation C++. Hello World ! #include /* Commentaire sur plusieurs lignes */ int main() { //Affiche hello world std::cout
Introduction à la programmation orientée objets
La librairie assert.h.
2.1 - Historique Chapitre 2 : Introduction au langage C++
Programmer en langage c
GESTION ET TRAITEMENT DES ERREURS
TD0 - Rappels. Acquis du programme 1 ère année Analyser et modéliser : un problème, une situation ; Imaginer et concevoir : une solution algorithmique.
Argc et argv Utilisation des paramètres de la ligne de commande.
Créer des packages.
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Module I3 algorithmique et programmation
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Fonction Traiter Algorithmique et Programmation
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Cours LCS N°4 Présenté par Mr: LALLALI
CSI2520 Un langage de programmation impérative et concurrente.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Chapitre VII Techniques plus avancées à travers le concept de classe.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
8PRO107 Éléments de programmation Les tableaux multidimensionnels.
UE MAREP Cours 12 : Révisions
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Introduction à la Programmation Orientée Objet H.GATI.
Prof, mohammed bouramdane Le langage de programmation Leçon 2:
Transcription de la présentation:

1 Sixième journée Éléments de C++ La programmation typée Éléments de C++ La programmation typée

2 Le langage C++ procéduraleLangage dit orienté objet, mais peut être utilisé de manière procédurale typéLangage typé structuréeProgrammation structurée impérativeProgrammation impérative CompiléCompilé procéduraleLangage dit orienté objet, mais peut être utilisé de manière procédurale typéLangage typé structuréeProgrammation structurée impérativeProgrammation impérative CompiléCompilé

3 Exemple

4 Les commentaires Comme pour le Scheme servent à aider la compréhension du code –on utilise // pour mettre un commentaire sur une ligne –on utilise /* et */ pour mettre un commentaire sur plusieurs lignes Un programme C++ est souvent difficile à lire et nécessite beaucoup de commentaires Un ratio de 50 % à 75 % est raisonnable. Comme pour le Scheme servent à aider la compréhension du code –on utilise // pour mettre un commentaire sur une ligne –on utilise /* et */ pour mettre un commentaire sur plusieurs lignes Un programme C++ est souvent difficile à lire et nécessite beaucoup de commentaires Un ratio de 50 % à 75 % est raisonnable.

5 Fonction main int main () { corps } ne peut pas porter un autre nom est le point d’entrée du programme appelle au besoin les autres procédures sert souvent à placer l’interface avec l’utilisateur termine toujours par « return 0; » int main () { corps } ne peut pas porter un autre nom est le point d’entrée du programme appelle au besoin les autres procédures sert souvent à placer l’interface avec l’utilisateur termine toujours par « return 0; »

6 Les types Un type représente un ensemble de définition d’une donnée Permet de vérifier à la compilation que les types sont respectés Limite le programmeur mais offre une sécurité supplémentaire Un type représente un ensemble de définition d’une donnée Permet de vérifier à la compilation que les types sont respectés Limite le programmeur mais offre une sécurité supplémentaire

7 Type entier : int Représente les entiers relatifs Valeur max et min Prédicats : >, =, <=, !=, == Opérations arithmétiques : +, -, *, /, % Représente les entiers relatifs Valeur max et min Prédicats : >, =, <=, !=, == Opérations arithmétiques : +, -, *, /, %

8 Type réel : float ou double Représente une partie des rationnels Prédicat : >, =, <=, == (à éviter) Opérations arithmétiques : +, -, *, /, floor(x), sin(x)... Représente une partie des rationnels Prédicat : >, =, <=, == (à éviter) Opérations arithmétiques : +, -, *, /, floor(x), sin(x)...

9 Les chaînes de caractères Représentent des phrases Composées de caractères string nom = "Benoit" ; Comparaison : if ( nom1 == noms2 ) {... } Opérateurs: + Représentent des phrases Composées de caractères string nom = "Benoit" ; Comparaison : if ( nom1 == noms2 ) {... } Opérateurs: +

10 Définition d’une constante gabarit : const type nom = valeur; définit une valeur qui ne changera pas durant l’exécution du programme toujours dans la fonction « main » est utilisable partout gabarit : const type nom = valeur; définit une valeur qui ne changera pas durant l’exécution du programme toujours dans la fonction « main » est utilisable partout

11 Définition d’une fonction gabarit : type_de_retour nom (liste_types+params) { corps_de_la_fonction return var_du_bon_type; } Toujours placée après la fonction main peut s’appeler dans n’importe quelle autre fonction différence avec Scheme : le typage gabarit : type_de_retour nom (liste_types+params) { corps_de_la_fonction return var_du_bon_type; } Toujours placée après la fonction main peut s’appeler dans n’importe quelle autre fonction différence avec Scheme : le typage

12 Correspondance math/C++ Opérateurs arithmétiques + - * / % Opérateurs logiques || && ! Bibliothèques Domaines et images (entiers, valeurs de vérité) Opérateurs arithmétiques + - * / % Opérateurs logiques || && ! Bibliothèques Domaines et images (entiers, valeurs de vérité)

13 Commandes atomiques Écriture –obtenu par l’opérateur << –transmet une valeur d’une variable ou d’une constante vers un « médium » –le médium le plus utilisé est cout (écran) –exemple const int nb = 3 ; // constante cout << “Il y a “ << nb << “ objets.” << endl ; Écriture –obtenu par l’opérateur << –transmet une valeur d’une variable ou d’une constante vers un « médium » –le médium le plus utilisé est cout (écran) –exemple const int nb = 3 ; // constante cout << “Il y a “ << nb << “ objets.” << endl ;

14 Premier programme #include using namespace std; int main() { const string nom="Benoit Fraikin"; // constante cout << "Mon nom est " << nom << "." << endl; return 0; } #include using namespace std; int main() { const string nom="Benoit Fraikin"; // constante cout << "Mon nom est " << nom << "." << endl; return 0; }

15 Les instructions structurelles La séquence est obtenue par la mise à la suite des instructions placées dans un bloc (entre accolades) ifLa sélection est obtenue par l’usage d’une instruction if whiledo-whileforL’ itération est obtenue par l’utilisation d’un while, d’un do-while ou d’un for. La séquence est obtenue par la mise à la suite des instructions placées dans un bloc (entre accolades) ifLa sélection est obtenue par l’usage d’une instruction if whiledo-whileforL’ itération est obtenue par l’utilisation d’un while, d’un do-while ou d’un for.

16 Création d’un bloc { liste_d_instructions } Le bloc sert à marquer une séquence de commande Il est utile en combinaison des autres instructions structurelles { liste_d_instructions } Le bloc sert à marquer une séquence de commande Il est utile en combinaison des autres instructions structurelles

17 Type valeur de vérité: bool Représente ”vrai” ou “faux” Valeur : true, false Opérations logiques : ||, &&, ! Peut s’utiliser directement comme condition if est_vide { action } else { action } Représente ”vrai” ou “faux” Valeur : true, false Opérations logiques : ||, &&, ! Peut s’utiliser directement comme condition if est_vide { action } else { action }

18 Création d’un if if (test1) bloc_d_instructions1 else if (test2) bloc_d_instructions2... else bloc_d_instructionsN Le « if » permet de créer une sélection Attention au prédicat d’égalité en C++ if (test1) bloc_d_instructions1 else if (test2) bloc_d_instructions2... else bloc_d_instructionsN Le « if » permet de créer une sélection Attention au prédicat d’égalité en C++

19 Exemple int predecesseur (int n) { if (n == 0) { return 0; } else { return n-1; } int predecesseur (int n) { if (n == 0) { return 0; } else { return n-1; }

20 Création d’un for for (int i=0; i<n; i++) bloc_d_instructions cette boucle sert principalement à compter (boucle de comptage) des éléments énumère i de 0 à n-1 ( n éléments) se construit à partir d’un while for (int i=0; i<n; i++) bloc_d_instructions cette boucle sert principalement à compter (boucle de comptage) des éléments énumère i de 0 à n-1 ( n éléments) se construit à partir d’un while

21 Exemple void affiche_n_fois_s (int n, string s) { for (int i = 0; i < n; i++) { cout << s ; } return; } void affiche_n_fois_s (int n, string s) { for (int i = 0; i < n; i++) { cout << s ; } return; }