Les structures de contrôles conditionnels

Documents pareils
Examen Médian - 1 heure 30

Corrigé des TD 1 à 5

Algorithmes et programmation en Pascal. Cours

Enseignement secondaire technique

1. Structure d'un programme FORTRAN 95

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Algorithmique & programmation

Algorithmique et programmation : les bases (VBA) Corrigé

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Cours Informatique Master STEP

Programmation structurée et algorithmes de base en Pascal

OCL - Object Constraint Language

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Cours d algorithmique pour la classe de 2nde

Application 1- VBA : Test de comportements d'investissements

Recherche dans un tableau

L ALGORITHMIQUE. Algorithme

Plan du cours Cours théoriques. 29 septembre 2014

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

Présentation du langage et premières fonctions

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

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

STAGE IREM 0- Premiers pas en Python

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

Cours de Programmation 2

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

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

TRIGONOMETRIE Algorithme : mesure principale

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)

Compilation (INF 564)

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

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

Conventions d écriture et outils de mise au point

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Paginer les données côté serveur, mettre en cache côté client

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

Logiciel Libre Cours 2 Fondements: Programmation

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1


Découverte de Python

1 Modélisation d être mauvais payeur

Présentation du PL/SQL

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

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

UML et les Bases de Données

.NET - Classe de Log

Cours d algorithmique BTS SIO première année. Nicolas FRANCOIS nicolas.francois@free.fr

ALGORITHMIQUE ET PROGRAMMATION En C

Algorithmique et structures de données I

Java Licence Professionnelle CISII,

Solutions du chapitre 4

Propagation sur réseau statique et dynamique

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Langage Fortran (Base)

Tutoriel : Créer un site web simple avec Composer. Fiche consigne Page 1 sur 6

Utilitaires méconnus de StrataFrame

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

Programmer en JAVA. par Tama

Programme Compte bancaire (code)

Chapitre 10. Les interfaces Comparable et Comparator 1

Rapport de Mini-Projet en ArcGIS Engine

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

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

Programmation sous Delphi

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Programme awk------introduction rapide

Arbres binaires de recherche

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Génie Logiciel avec Ada. 4 février 2013

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

Initiation à la programmation en Python

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Introduction à la programmation concurrente

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Initiation à la Programmation en Logique avec SISCtus Prolog

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

COMPTABILITE SAGE LIGNE 100

Langage Fortran. Support de cours

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

Notions fondamentales du langage C# Version 1.0

Le langage VHDL. Eduardo Sanchez EPFL

Programmation système I Les entrées/sorties

Préparation à l examen EFA en Macro

Structure d un programme

Introduction au langage C

I. Introduction aux fonctions : les fonctions standards

CORRECTION EXERCICES ALGORITHME 1

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

TP3 : Manipulation et implantation de systèmes de fichiers 1

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

COMPTABILITE SAGE LIGNE 30

Java Licence Professionnelle CISII,

Cours Programmation Système

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Transcription:

DISCIPLINE : Informatique PROFESSEUR: Mr Khmili Meher CChhaapp ittrree i 33 LES STRUCTURES DE CONTROLES CONDITIONNELLES I. FORMES SIMPLES I.1 Forme simple réduite A /Activité Ecrire un programme pascal qui permet de saisir un entier x et d afficher le message «racine carré existe» si x est positif 0. Pré-analyse Afficher le message «racine carré existe» Test de x Entier x Analyse NOM : RACINE_CARRE 3 Résultat = Écrire (message) 2 message = [message "" ] Si x > 0 alors message "racine carré existe" 1 Finsi x = Donnée ("Taper un entier : ") 4 Fin RACINE_CARRE Tableau de déclaration des objets Objet Nature / Type message Chaîne de caractères x Entier. Page 1 sur 9

Algorithme 0) Début RACINE_CARRE 1) Ecrire (" Taper un entier : "), lire (x) 2) message "" Si x > 0 alors message "racine carré existe" Finsi 3) Écrire (message) 4) Fin RACINE_CARRE B / Définition C / Vocabulaire et syntaxe Au niveau de l analyse et de l algorithme.. [Init] Si condition Alors Instruction 1 Instruction 2.. Instruction N. Traduction en Pascal PROGRAM RACINE_CARRE; USES WINCRT; VAR x : INTEGER; Message : STRING; BEGIN WRITE ('Taper un entier : '); READLN (x); message:= '' ; IF x >0 THEN Message := 'racine carré existe' ; WRITELN (message); END. Une structure de contrôle conditionnelle a une forme simple réduite si son traitement est exécuté quand la condition est vraie. Remarque : - [Init] est une suite d instructions qui contient les initialisations. Au niveau de Turbo Pascal... ; {Init}; IF condition THEN Begin Instruction 1 ; Instruction 2 ;.. ; Instruction N ; End ;.. - Condition est une expression booléenne qui peut donner soit la valeur vrai (true) soit la valeur faux (false). I.2 Forme simple alternative ou complète A /Activité Ecrire un programme Pascal qui permet de : 1. Calculer la moyenne d un élève à partir de trois notes N1, N2 et N3 de coefficients respectifs 1, 2, et 3 2. Afficher les messages : - «élève passe» si sa moyenne >= 10. - «élève redouble» sinon. -2-

Pré-analyse Afficher le message «élève passe» ou «élève redouble». 1/ Calculer la moyenne Moy= (N1+N2*2+N3*3)/ 6 2/ Tester cette moyenne Trois notes N1, N2 et N3 Analyse NOM : DECISION Grille d analyse 6 5 4 1 2 3 7 Résultat = Écrire (message) message = [ message ""] Si moy >= 10 alors message "élève passe" message "élève redouble" moy (N1+N2*2+N3*3)/ 6 N1= Donnée (" Taper la 1 ère note") N2= Donnée (" Taper la 2 ème note") N3= Donnée (" Taper la 3 ème note") Fin DECISION Tableau de déclaration des objets Objet Nature / Type Message Chaîne de caractères Moy Réel N1 Réel N2 Réel N3 Réel Algorithme 0) Début DECISION 1) Ecrire ("Taper la 1 ère note"), lire (N1) 2) Ecrire ("Taper la 2 ème note"), lire (N2) 3) Ecrire ("Taper la 3 ème note"), lire (N3) 4) moy (N1+N2*2+N3*3) / 6 5) message [""] Si moy >= 10 alors message "élève passe" message "élève redouble" 6) Ecrire (message) 7) Fin DECISION -3-

Traduction en Pascal PROGRAM DECISION; USES WINCRT; VAR N1, N2, N3, moy : REAL ; message : STRING; BEGIN WRITELN ('Taper la première note '); READ (N1) ; WRITELN ('Taper la deuxième note '); READ (N2) ; WRITELN ('Taper la troisième note '); READ (N3) ; Moy:= (N1+N2*2+N3*3) / 6 message:= ''; IF moy > = 10 THEN message := 'élève passe' message := 'élève redouble' ; WRITE (message); END. B / Définition Une structure de contrôle conditionnelle a une forme complète si suivant la valeur d une condition, on exécute soit un traitement T1 soit un traitement T2. Si la condition est vraie, alors traitement T1 est exécuté. Dans le cas contraire, traitement T2 est exécuté. C / Vocabulaire et syntaxe Au niveau de l analyse et de l algorithme [Init] Si condition alors Traitement 1 Traitement 2.. Remarques : Au niveau de Turbo Pascal... ; {Init}; IF condition THEN Begin Traitement 1 ; End Begin Traitement 2 ; End ; ; 1. Dans un programme Pascal, le point virgule ( ;) avant le est interdit. 2. Au niveau de Turbo Pascal, lorsque on a plusieurs instructions dans la section if ou dans la section else, il faut encadrer ces instructions entre Begin et End. -4-

II. FORME GENERALISEE (LES TRAITEMENTS CONDITIONNELS IMBRIQUES) II.1 Définition Les traitements de alors et de sinon peuvent être donnés sous la forme d un traitement conditionnel : on parle dans ce cas de traitements conditionnels imbriqués. II.2 Vocabulaire et syntaxe Au niveau de l analyse et de l algorithme [Init] Si condition 1 alors Traitement 1 Si condition 2 alors Traitement 2 Si condition n-1 alors Traitement n-1 Traitement n.. Au niveau de Turbo Pascal... ; {Init}; IF condition 1 THEN Traitement 1 ; IF condition 2 THEN Traitement 2 IF condition n-1 THEN Traitement n-1 Traitement n ;. ; II.3 Activité Ecrire un programme pascal qui permet de : 1. Calculer la moyenne d un élève à partir de trois notes N1, N2 et N3 de coefficients respectifs 1, 2 et 3. 2. Afficher la mention correspondante. Moyenne Moyenne 16 14 moyenne < 16 12 moyenne < 14 10 moyenne < 12 moyenne < 10 Mention Très bien Bien Assez bien Passable Redouble -5-

Analyse NOM : MENTION 6 5 4 1 2 3 7 Grille d analyse Résultat = Écrire ("La mention est : ", ment) ment = [ ment ""] Si moy 16 alors moy (N1+N2*2+N3*3) / 6 ment "très bien" Si moy 14 alors ment "bien" Si moy 12 alors N1= donnée (" Taper la 1 ère note") N2= donnée (" Taper la 2 ème note") N3= donnée (" Taper la 3 ème note") Fin MENTION ment "assez bien" Si moy 10 alors Tableau de déclaration des objets Objet Nature / Type ment Chaîne de caractères moy Réel N1 Réel N2 Réel N3 Réel Algorithme 0) Début MENTION 1) Ecrire ("Taper la 1 ère note :"), lire (N1) 2) Ecrire ("Taper la 2 ème note :"), lire (N2) 3) Ecrire ("Taper la 3 ème note :"), lire (N3) 4) Moy (N1+N2*2+N3*3) / 6 5) Si moy 16 alors ment "très bien" Si moy 14 alors ment "bien" Si moy 12 alors ment "assez bien" ment "passable" ment "redouble" -6-

Si moy 10 alors ment "passable" ment "redouble" 6) Ecrire ("La mention est : ", ment) 7) Fin MENTION Traduction en Pascal PROGRAM MENTION; USES WINCRT; VAR N1, N2, N3, moy : REAL; ment : STRING; BEGIN WRITE ('Taper la 1 ère note : '); READ (N1) ; WRITE ('Taper la 2 ème note : '); READ (N2) ; WRITE ('Taper la 3 ème note : '); READ (N3) ; Moy := (N1+N2*2+N3*3) / 6; ment:= ''; IF moy >= 16 THEN ment := 'très bien' IF moy >= 14 THEN ment := 'bien' IF moy >= 12 THEN ment := 'assez bien' IF moy >= 10 THEN ment := 'passable' ment := 'redouble' ; END ; WRITE ('La mention est : ', ment); END. III. STRUCTURE CONDITIONNELLE A CHOIX MULTIPLE III.1 Activité Ecrire une analyse, un algorithme puis la traduction en Pascal du programme intitulé SAISON qui affiche à l écran la saison correspondante à sa lettre initiale saisie. -7-

Analyse 3 2 1 4 NOM : SAISON Résultat = Écrire (sai) sai = [ sai ""] Selon l faire "E", "e" : sai "été" "A", "a" : sai "automne" "H", "h" : sai "hiver" "P", "p" : sai "printemps" sai "Lettre ne correspond pas à une saison" FinSelon l = donnée ("Taper une lettre") Fin SAISON Tableau de déclaration des objets Objet Nature / Type sai Chaîne de caractères l Caractère Algorithme 0)Début SAISON 1) Ecrire ("Taper une lettre") 2) lire (l) 3) [ sai ""] Selon l faire "E", "e" : sai "été" "A", "a" : sai "automne" "H", "h" : sai "hiver" "P", "p" : sai "printemps" sai "Lettre ne correspond pas à une saison" FinSelon 4) Ecrire (sai) 5) Fin SAISON III.2 Définition Traduction en Pascal PROGRAM SAISON; USES WINCRT; VAR l : CHAR ; sai : STRING; BEGIN WRITE ('Taper une lettre : '); READLN (l) ; Sai := '' ;{initialisation optionnelle} Case l of 'E', 'e' : sai :='été' ; 'A', 'a' : sai :='automne' ; 'H', 'h' : sai :='hiver'; 'P', 'p' : sai :='printemps' Else Sai := 'Lettre ne correspond pas à une saison' ; End ;{obligatoire} WRITELN (sai); END. La structure conditionnelle à choix multiple est une structure qui nous permet de choisir un traitement parmi plusieurs. Cette structure évite l utilisation d une trop longue structure conditionnelle généralisée et permet une meilleure lisibilité du programme. -8-

III.3 Vocabulaire et Syntaxe Au niveau de l analyse et de l algorithme [Init] Selon sélecteur faire liste de valeur 1 : Traitement 1 liste de valeur 2 : Traitement 2 liste de valeur n : Traitement n Traitement n+1 FinSelon.. Au niveau de Turbo Pascal... ; {Init}; Case sélecteur OF liste de valeur 1 : Traitement 1 ; liste de valeur 2 : Traitement 2 ; ; liste de valeur n : Traitement n Traitement n+1 ; End ; ;. ; Remarques : Sélecteur : est une variable ou une expression de type scalaire (entier, caractère, ) ; la valeur du sélecteur ne peut jamais être de type réel. Liste de valeur i : peut être une ou plusieurs valeurs ou un intervalle de valeurs. Dans le cas où on a plusieurs valeurs qui déclenchent le même traitement, il faut les séparer par des virgules. Traitement i : est une suite d instructions. La partie est optionnelle selon les versions de pascal (existe en turbo pascal). -9-