Programmation Impérative II Info 121

Documents pareils
Cours d Algorithmique et de Langage C v 3.0


Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction au langage C

Java Licence Professionnelle CISII,

Préparation à l examen EFA en Macro

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Programmation C++ (débutant)/instructions for, while et do...while

Cours 1 : La compilation

Cours d algorithmique pour la classe de 2nde

Architecture des ordinateurs

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

as Architecture des Systèmes d Information

Éléments de programmation et introduction à Java

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Cours 1 : Qu est-ce que la programmation?

Programmation C. Apprendre à développer des programmes simples dans le langage C

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Notions fondamentales du langage C# Version 1.0

Analyse de sécurité de logiciels système par typage statique

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

ACTIVITÉ DE PROGRAMMATION

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours Informatique Master STEP

Évaluation et implémentation des langages

STAGE IREM 0- Premiers pas en Python

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Initiation à la programmation en Python

Chapitre 1 Qu est-ce qu une expression régulière?

Programmer en JAVA. par Tama

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Les structures. Chapitre 3

Lier Erlang avec d autres langages de programmation

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Les structures de données. Rajae El Ouazzani

Conventions d écriture et outils de mise au point

Logiciel Libre Cours 2 Fondements: Programmation

L informatique en BCPST

Architecture Orientée Service, JSON et API REST

TD3: tableaux avancées, première classe et chaînes

Présentation du langage et premières fonctions

Visual Paradigm Contraintes inter-associations

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Plan du cours. Historique du langage Nouveautés de Java 7

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Principes des langages de programmation INF 321. Eric Goubault

INFO-F-105 Language de programmation I Séance VI

Cours d initiation à la programmation en C++ Johann Cuenin

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

COMPARAISONDESLANGAGESC, C++, JAVA ET

Programme Compte bancaire (code)

Algorithmique et Programmation, IMA

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Organigramme / Algorigramme Dossier élève 1 SI

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Rappels sur les suites - Algorithme

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Cours de Programmation 2

Introduction à l algorithmique et à la programmation M1102 CM n 3

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Programmation en Java IUT GEII (MC-II1) 1

Éléments d'architecture des ordinateurs

Objets et Programmation. origine des langages orientés-objet

Présentation du PL/SQL

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Initiation à l algorithmique

Programmation Classique en langage C

Claude Delannoy. 3 e édition C++

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Enseignement secondaire technique

Projet de programmation (IK3) : TP n 1 Correction

Examen Médian - 1 heure 30

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Devenez un véritable développeur web en 3 mois!

La programmation orientée objet et le langage C++

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Département Automatisation et Informatisation Année Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

INF 321 : mémento de la syntaxe de Java

Environnements de développement (intégrés)

TP 1. Prise en main du langage Python

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

4. Groupement d objets

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Transcription:

1 de 21 Programmation Impérative II Info 121 Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert

2 de 21 Informations pratiques 10 heures de cours ; 20 heures de travaux dirigés ; 20 heures de travaux pratiques ; Évaluation : 1 contrôle + examen final + notes TP + WIMS + projets.

3 de 21 Plan du cours 1 Sémantique, variables, mémoires 2 Appel de fonctions et passage de paramètres 3 Structures de données 4 Méthodologie : programmation modulaire

4 de 21 Généralités sur le traitement de l information Les ordinateurs sont utilisés pour le traitement d informations ; le stockage d informations.

5 de 21 Généralités sur le traitement de l information (2) Le schéma global d une application informatique est toujours le même : Réception Traitement des Émission d informations informations d informations déduites Exemple : réception de somme de ces n valeurs émission de la n valeurs et division moyenne numériques du résultat par n arithmétique

6 de 21 La notion de programme Tout traitement demandé à la machine, par l utilisateur, est effectué par l exécution séquencée d opérations appelées instructions. Une suite d instructions est appelée un programme. Retenir Un programme est une suite d instructions permettant à une système informatique d exécuter une tâche donnée écrit dans un langage de programmation compréhensible (directement ou indirectement) par un ordinateur. Données = Programme = Résultats

7 de 21 Programme Impératif Définition (Rappel) un programme impératif est une séquence d instructions qui spécifie étape par étape les opérations à effectuer pour obtenir à partir des entrées un résultat (la sortie). Paradigmes de programmation : Impératif/Procédural, Objet, Fonctionnel, déclaratif, concurrent. Exemples de langages de programmations : C C++ Java Python Perl Ruby PHP Javascript Rust Go Scala Ocaml Haskell Lisp Erlang Ada Assembleur Fortran Pascal Delphi

8 de 21 Rappel : instruction conditionnelle instructions avant; if (condition) { bloc d instructions; } instructions suite; avant condition vrai bloc faux suite

9 de 21 Rappel : instruction conditionnelle alternative instructions avant; if (condition) { bloc d instr. si; } else { bloc d instr. sinon; }; instructions suite; avant condition vrai bloc si faux bloc sinon suite

10 de 21 Rappel : instruction itérative (boucle while) instructions avant; while (condition) { bloc d instructions; } instructions suite; avant faux condition vrai bloc suite

11 de 21 Rappel : instruction itérative (boucle do while) instructions avant; do { bloc d instructions; } while (condition); instructions suite; avant bloc condition faux vrai suite

12 de 21 Rappel : boucle for Syntaxe for (initialisation; condition; incrémentation) { instructions; } fait la même chose que : initialisation; while (condition) { instructions; incrémentation; }

13 de 21 Rappel : fonction Syntaxe Déclaration (mode d emploi) : type_retour nom(type1 <param1>, type2 <param2>,...); Définition : type_retour nom(type1 param1, type2 param2,...) { déclaration des variables locales; intructions;... return valeur_de_retour; } Appel (utilisation dans une expression) :... nom(valeur_param1, valeur_param2,...)...

14 de 21 Exemple : fonction Syntaxe int somme(int, int); int somme(int a, int b) { int res; res = a + b; return res; } int main() { int x, y, s; cin << x << y; s = somme (x, y); cout << s << endl; return EXIT_SUCCESS; }

15 de 21 Données et instructions Un programme est composé d instructions qui travaillent sur des données. En programmation impérative, les données sont stockées dans des variables. Dans de nombreux langages de programmation (C/C++/Java...), il faut déclarer les variables. #include<iostream> void main(void) { double a,b; // Déclarations a=1; b=1; while ((((a+1)-a)-1)==0) a*=2; while ((((a+b)-a)-b)!=0) b++; std::cout << "a=" << a << ", b=", b << std::endl; }

16 de 21 Rappel : Organisation générale de la machine Retenir Une machine est composé essentiellement de 4 éléments : de la mémoire pour stocker les données des unités de calcul (logique, arithmétique,...) une unité de commande qui organise le travail des unités de communications (clavier, écran, réseau,...)

17 de 21 La mémoire La mémoire principale d un ordinateur est composée de Retenir un très grand nombre (10 10 10 11 ) de condensateurs pouvant être soit chargés soit déchargés (0 ou 1) un grand réseau de fils et d aiguillages (multiplexeur) On groupe les condensateurs par groupes (typiquement 8, 16, 32 ou 64) appelés mots. On repère un mot en mémoire grâce à un nombre appelé adresse. int a = 5; std::cout << a << " " << &a << std::endl; Affiche quelque chose comme 5 0x7fffa512e38c

18 de 21 La notion de variable but : stocker des informations en mémoire centrale durant l exécution d un programme ; on veut éviter d avoir à manipuler directement les adresses ; on manipule des variables ; le programmeur donne aux variables des noms de son choix (identificateur) ; Définition (Notion de Variable) Une variable est un espace de stockage où le programme peut mémoriser une donnée. Les variables désignent une ou plusieurs cases mémoires contenant une suite de 0 et de 1.

19 de 21 La notion de variable (2) Retenir Une variable en cours d utilisation possède quatre propriétés : un nom ; une adresse ; un type ; une valeur. Il est important de savoir comment tout ça marche...

20 de 21 Objectifs du cours : Apprendre le vocabulaire précis de la programmation Décrire en détail ce que fait un programme (sémantique) Comprendre la mémoire est gerée par le programme Apprendre à organiser ses données (tableaux, structures) Apprendre à organiser ses programmes (modularité, tests, encaspulation).

21 de 21 Plan du cours 1 Sémantique d un programme C++ variables, fonctions, passages de paramêtres 2 Structures de données tableaux et structures 3 Éléments de programmation modulaire méthodologie, décomposition du travail, encapsulation, tests