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



Documents pareils
Bases de programmation. Cours 5. Structurer les données

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


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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

UE Programmation Impérative Licence 2ème Année

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

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 1 : La compilation

Algorithmique et Programmation, IMA

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

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

Traduction des Langages : Le Compilateur Micro Java

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

Environnements et Outils de Développement Cours 1 Introduction

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

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Évaluation et implémentation des langages

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Cours 1 : Qu est-ce que la programmation?

Le langage C. Séance n 4

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Outils pour la pratique

Introduction au langage C

Java Licence Professionnelle CISII,

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

Quelques éléments de compilation en C et makefiles

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

Représentation d un entier en base b

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Présentation du langage et premières fonctions

TP 1. Prise en main du langage Python

Cours d Algorithmique et de Langage C v 3.0

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

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

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

UE C avancé cours 1: introduction et révisions

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

Algorithmique et programmation : les bases (VBA) Corrigé

Le prototype de la fonction main()

OCL - Object Constraint Language

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Chap III : Les tableaux

Cours 1: Java et les objets

ALGORITHMIQUE ET PROGRAMMATION En C

Introduction à la programmation concurrente

Logiciel Libre Cours 3 Fondements: Génie Logiciel

TP1. Outils Java Eléments de correction

Licence Sciences et Technologies Examen janvier 2010

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

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

I. Introduction aux fonctions : les fonctions standards

Algorithmique I. Algorithmique I p.1/??

Initiation à l algorithmique

TP, première séquence d exercices.

I00 Éléments d architecture

Compilation (INF 564)

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

Cours d algorithmique pour la classe de 2nde

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmation système I Les entrées/sorties

SUPPORT DE COURS. Langage C

Enseignement secondaire technique

IV- Comment fonctionne un ordinateur?

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

Programmation en langage C

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

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

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

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

Éléments de programmation et introduction à Java

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Les structures de données. Rajae El Ouazzani

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Gestion mémoire et Représentation intermédiaire

ACTIVITÉ DE PROGRAMMATION

Conventions d écriture et outils de mise au point

Programmation sous QT

L informatique en BCPST

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

Programmation impérative

Introduction à MATLAB R

Les fichiers. Chapitre 4

V- Manipulations de nombres en binaire

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Les structures. Chapitre 3

La fédération des infrastructures cloud

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Langages et Concepts de Programmation Introduction à la programmation en langage C

Java Licence Professionnelle CISII,

as Architecture des Systèmes d Information

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Langage Éric Guérin 5 octobre 2010

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Transcription:

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

Éléments d architecture des ordinateurs (+mini-assembleur) Éléments de systèmes d exploitation Programmation structurée impérative (éléments de langage C) Structure d un programme C Variables : déclaration (et initialisation), affectaction Évaluation d expressions Instructions de contrôle : if, for, while Types de données : entiers, caractères, réels, tableaux, enregistrements Fonctions d entrées/sorties (scanf/printf) Écriture et appel de fonctions Débogage Notions de compilation Analyse lexicale, analyse syntaxique, analyse sémantique préprocesseur du compilateur C (include, define) Édition de lien Algorithmes élémentaires Méthodologie de résolution, manipulation sous linux

Liens utiles ma page : http://www-lipn.univ-paris13.fr/~boudes/ Un livre de la BU : Le livre du C, premier langage (pour les vrais débutants en programmation), Claude Delannoy. http://www.siteduzero.com/ (chercher langage C) http://www.developpez.com/ (chercher langage C) le cours de Anne Canteaut : http://www-roc.inria.fr/secret/anne.canteaut/cours_c/ le cours de Bernard Cassagne : http://clips.imag.fr/commun/bernard.cassagne/ Introduction_ANSI_C.html le cours de Henri Garreta : http://www.dil.univ-mrs.fr/~garreta/generique/ codeblocks : http://www.codeblocks.org/ ubuntu : http://www.ubuntu-fr.org/ virtualbox : http://www.virtualbox.org/

La programmation structurée Programmation en C Structure d un programme C Variables impératives et traduction de l affectation L instruction de contrôle if Démos Divers

La programmation structurée Definition (Programmation structurée) Programmer par blocs d instructions en combinant ces blocs de trois manières : 1. exécuter les blocs les uns à la suite des autres (séquence) 2. si une certaine condition est vraie, exécuter un bloc sinon en exécuter un autre (sélection) 3. recommencer l exécution d un bloc tant qu une certaine condition est vraie (répétition). Un bloc peut lui-même contenir une combinaison de blocs. Cette idée simple conduisit à l introduction de langages dits de haut niveau tel le langage C. Ces langages nécessitent une traduction en langage machine, par un compilateur ou bien un interprète. Aujourd hui nous allons voir la sélection en langage C, le if else.

Code source Structure d un programme C /* Declaration de fonctionnalites supplementaires */ # include < stdlib.h> /* EXIT_SUCCESS */ /* Declaration des constantes et types utilisateurs */ /* Declaration des fonctions utilisateurs */ /* Fonction principale */ int main () { /* Declaration et initialisation des variables */... /* valeur fonction */ return EXIT_SUCCESS ; } /* Definitions des fonctions utilisateurs */ Les commentaires sont ignorés lors de la traduction en langage machine.

Traduction de l affectation (rappel du TD 2) Code source Schéma de traduction... /* Fonction principale */ int main () { Les déclarations ne sont pas /* Declaration et initialisation des variables */ int x = 5; x est une case mémoire de type traduites en instructions, mais en entier qui contient initialement 5 réservations mémoires x = 3 * x + 1;... évaluation de l expression 3x + 1 l affectation dans un registre est traduite par l évaluation d une expression et une écriture écriture du résultat en mémoire à l adresse de x

L instruction de contrôle if Syntaxe : if (condition) { bloc1 } else { bloc2 }. Code source /* avant */ if (age < 18) { permis = 0; } else { permis = 1; } /* après */ Schéma de traduction avant évalue la condition saute si elle est fausse bloc1 saut bloc2 après

Démos

Divers À partir de cette semaine, il faudra préparer le TP à l avance, et penser à prendre des notes manuscrites pendant la séance de TP. Il y a une méthodologie de résolution qu il faudra appliquer (faire des exemples, écrire un algorithme, traduire en langage C, tester). Le contrôle de TP aura sans doute lieu dans deux semaines. Pour vous entraîner à programmer en langage C sur un ordinateur personnel, il y a par exemple la solution codeblocks. Alternative plus difficile : virtual box et une ubuntu.