CHAPITRE 4 : STRUCTURES DE CONTRÔLES. Informatique Faculté des Sciences Semestre1 LMD ST

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

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)

Initiation à la programmation en Python

Cours 3 : Python, les conditions

STAGE IREM 0- Premiers pas en Python

Chapitre 2 Devine mon nombre!

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

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

Représentation d un entier en base b

Algorithmique et Programmation, IMA

Licence Sciences et Technologies Examen janvier 2010


Recherche dans un tableau

Cours d algorithmique pour la classe de 2nde

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Programmation avec Xcas ou Python

Cours Informatique Master STEP

Pourquoi l apprentissage?

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Par combien de zéros se termine N!?

Conventions d écriture et outils de mise au point

Programmation linéaire

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

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

1 Recherche en table par balayage

Enseignement secondaire technique

Présentation du PL/SQL

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Le chiffre est le signe, le nombre est la valeur.

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

1. Structure d'un programme FORTRAN 95

Limites finies en un point

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

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Algorithmique et programmation : les bases (VBA) Corrigé

Rappels sur les suites - Algorithme

Organigramme / Algorigramme Dossier élève 1 SI

Les structures de données. Rajae El Ouazzani

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

Structures algébriques

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

La correction des erreurs d'enregistrement et de traitement comptables

Résolution d équations non linéaires

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Chapitre 2. Eléments pour comprendre un énoncé

Algorithmique et structures de données I

Intelligence Artificielle Planification

Résolution de systèmes linéaires par des méthodes directes

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

Initiation à l algorithmique

6. Les différents types de démonstrations

1.6- Génération de nombres aléatoires

Correction TD algorithmique

ACTIVITÉ DE PROGRAMMATION

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

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

Représentation des Nombres

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

MIS 102 Initiation à l Informatique

L informatique en BCPST

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

Algorithme. Table des matières

Les tests logiques avec Excel

CORRECTION EXERCICES ALGORITHME 1

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

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Perl Orienté Objet BioPerl There is more than one way to do it

TP 1. Prise en main du langage Python

Indications pour une progression au CM1 et au CM2

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Les chaînes de caractères

Java Licence Professionnelle CISII,

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

Chapitre 1 : Introduction aux bases de données

Découverte de Python

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Compression Compression par dictionnaires

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Chapitre 4 Pierre, papier, ciseaux

Corrigé des TD 1 à 5

Continuité et dérivabilité d une fonction

Algorithmique avec Algobox

Algèbre binaire et Circuits logiques ( )

1 Lecture de fichiers

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

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

2 Comment fonctionne un ordinateur, dans les grandes lignes

Alarme domestique- Présentation

OCL - Object Constraint Language

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Feuille TD n 1 Exercices d algorithmique éléments de correction

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

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

Transcription:

CHAPITRE 4 : STRUCTURES DE CONTRÔLES Informatique2 2014-2015 Faculté des Sciences Semestre1 LMD ST

2 Introduction Définition : Définition : Une structure de contrôle sert contrôler le déroulement Une structure d un traitement. de contrôle sert à contrôler le déroulement d un traitement. Un traitement peut s exécuter de différentes manières : تسلسليا Séquentielle تناوبيا (condition) Alternative تكرير يا (boucles) Répétitive

3 Le traitement séquentiel Le traitement séquentiel est une suite d instructions qui s exécutent l une à la suite de l autre. Instruction 1 Instruction 1 Instruction 2 Instruction 2 Instruction 3ss Instruction 3.. Instruction n Instruction n Suites d instructions Exemple : Addition de deux réels a et b.

4 Le traitement séquentiel (suite) Dans un programme les instructions sont exécutées dans l ordre de leur écriture, donc de façon séquentielle. Mais, «L intelligence» d un programme informatique provient essentiellement : De la possibilité de faire des choix entre plusieurs possibilités de traitement en fonction de différents critères (condition); De la possibilité d exécuter une série d instructions de façon répétitive (boucle).

Le traitement séquentiel (suite) 5 a=float(input('entrez la valeur de a ')) b=float(input('entrez la valeur de b ')) somme=a+b print('somme = ', somme) Suites d instructions s exécutant séquentiellement

6 Le traitement alternatif (structures de choix) L instruction de choix permet la sélection entre deux possibilités. La condition s exprime sous la forme d une expression logique booléenne : Simple ou combinée plusieurs conditions composées avec des opérateurs logiques ET, OU et NON.

7 A. Structure conditionnelle simple (if. : ) La structure conditionnelle simple se présente en algorithmique sous la forme suivante: SI condition ALORS séquence FSI Se lit : fin si Principe : Si la condition est vérifiée (vraie) alors la séquence d instructions s exécute. Dans le cas contraire ne rien faire.

8 A. Structure conditionnelle simple (if. : ) Traduction en Python Instruction simple : if condition : instruction Blocs d instructions : if condition : instruction 1 instruction 2... instruction n

9 A. Structure conditionnelle simple (if. : ) Remarques : Attention à l indentation!!! Lorsqu'on a un bloc d instructions (c.à.d. plusieurs instructions) après l instruction if, il est délimité par l'indentation : toutes les lignes de ce bloc doivent être indentées exactement de la même manière (c'est-à-dire décalées vers la droite d'un même nombre d'espaces). Le nombre d'espaces à utiliser pour l'indentation est quelconque, mais les programmeurs python utilisent par convention toujours 4 espaces ou des multiples de 4.

10 A. Structure conditionnelle simple (if. : ) Exemple1 : Comparaison de deux variables (algorithme) Début Lire (a) Lire (b) SI a>b ALORS Ecrire( a est supérieur à b ) FSI Fin

11 A. Structure conditionnelle simple (if. : ) Programme en Python : première écriture a=float(input('entrez la valeur de a')) b=float(input('entrez la valeur de b')) if a>b : print(a,"est supérieur à", b) Remarque : cette écriture est déconseillée.

12 A. Structure conditionnelle simple (if. : ) Programme en Python : deuxième écriture a=float(input('entrez la valeur de a')) b=float(input('entrez la valeur de b')) if a>b : print(a, "est supérieur à ", b)

13 A. Structure conditionnelle simple (if. : ) Exemple2 : Comparaison de deux variables a et b, et si a est supérieur à b faire leur somme: a=float(input('entrez la valeur de a')) b=float(input('entrez la valeur de b')) if a>b : print(a, "est supérieur à ", b) somme=a+b print( somme=, somme)

14 A. Structure conditionnelle simple (if. : ) Exemple2 : ATTENTION NE PAS ECRIRE COMME ÇA a=float(input('entrez la valeur de a')) b=float(input('entrez la valeur de b')) if a>b : print(a, "est supérieur à ", b) somme=a+b print( somme=, somme)

15 A. Limites de la structure conditionnelle simple (if. : ) La première forme de condition que l'on vient de voir est pratique mais ne suffit pas toujours. Exemple : soit une variable a de type entier. On souhaite faire une action si cette variable est positive et une action différente si elle est négative. Il est possible d'obtenir ce résultat avec la structure conditionnelle simple :

16 A. Limites de la structure conditionnelle simple (if. : ) Exemple 3 : a=int(input('entrez la valeur de a')) if a>0 : print("a est positif") if a<0 : print("a est négatif")

17 A. Limites de la structure conditionnelle simple (if. : ) Cette méthode n'est pas optimale, tout d'abord parce qu'elle nous oblige à écrire deux conditions séparées pour tester une même variable. La condition if est donc bien pratique mais dans certains cas elle est insuffisante.

18 B. Structure conditionnelle composée (if : else: ) La structure conditionnelle composée se présente en algorithmique sous la forme suivante : SI condition ALORS séquence1 SINON séquence2 FSI Principe : Si la condition est vérifiée alors la séquence1 s exécute. Dans le cas contraire (SINON), c est la séquence2 qui vas s exécuter.

19 B. Structure conditionnelle composée (if : else: ) if condition : instruction1 else : instruction2 if condition : else : séquence1 séquence2 Traduction en Python ATTENTION : le else est sur le même niveau d'indentation que le if.

20 B. Structure conditionnelle composée (if : else: ) Exemple : Tester si a un entier est positif ou non. Algorithme : Début Lire (a) SI a>0 ALORS Ecrire( a est positif ) SINON Ecrire( a est négatif ou nul ) FSI Fin

21 B. Structure conditionnelle composée (if : else: ) Exemple :organigramme Début Lire(a) faux Ecrire(a, est négatif ou nul ) a>0 vrai Ecrire(a, est positif ) Fin

22 B. Structure conditionnelle composée (if : else: ) Exemple : Programme en Python : première écriture a=int(input('entrez la valeur de a')) if a>0 : print(a,"est positif") else : print(a,"est négatif ou nul") Remarque : Cette écriture est déconseillée

23 B. Structure conditionnelle composée (if : else: ) Exemple : Programme en Python : deuxième écriture a=int(input('entrez la valeur de a')) if a>0 : else : print(a,"est positif") print(a,"est négatif ou nul")

24 B. Structure conditionnelle composée (if : else: ) Exercice 1 : Ecrire un programme en Python qui demande l'âge de la personne et afficher «la personne a X an(s)», où X est la valeur entrée, et en ne mettant un «s» à «ans» que si nécessaire Solution : Vu pendant le cours.

25 B. Structure conditionnelle composée (if : else: ) Exercice 2 : Ecrire un programme en Python qui permet la résolution d une équation du premier degrés : ax+b=0 Solution : Vu pendant le cours.

Organigramme : Début Lire(a,b) faux a 0 vrai faux vrai b=0 x -b/a Ecrire( Pas de solution ) Ecrire( L'ensemble de solution est R ) Ecrire( la solution est : ) Ecrire( x=, x) 26 Fin

27 B. Structure conditionnelle composée (if : else: ) Sachez qu'il est possible d'imbriquer des conditions comme on vu dans l exercice précédant, et dans ce cas l'indentation permet de comprendre clairement le schéma d'exécution du programme. L'emploi des structures conditionnelles imbriquées engendre une économie en temps d'exécution puisque le flux d'exécution quitte la structure dès qu'une condition est satisfaite et la séquence d'instructions correspondante est exécutée.

28 C. Structure conditionnelle composée (if : elif :. else:) Cette deuxième structure conditionnelle composée se présente en algorithmique sous la forme suivante: SI condition1 ALORS séquence1 SINONSI condition2 ALORS séquence2 SINON séquence3 FSI

29 C. Structure conditionnelle composée (if : elif :. else:) Principe : Si la condition1 est vérifiée alors la séquence1 s exécute. Sinon si la condition2 est vérifiée alors la séquence2 s exécute. Dans le cas contraire (SINON), c est la séquence3 qui vas s exécuter. Cette structure conditionnelle vise à simplifier l'utilisation de structures imbriquées.

30 C. Structure conditionnelle composée (if : elif :. else:) Traduction en Python if condition 1 : séquence1 elif condition 2 : séquence 2 else : séquence 3

31 C. Structure conditionnelle composée (if : elif :. else:) Le mot clé elif est une contraction de «else if», que l'on peut traduire très littéralement par «sinon si». Dans l'exemple que nous avons vu précédemment, l'idéal serait d'écrire : si a est strictement supérieur à 0, on dit qu'il est positif ; sinon si a est strictement inférieur à 0, on dit qu'il est négatif ; sinon, (a ne peut qu'être égal à 0), on dit alors que a est nul.

32 C. Structure conditionnelle composée (if : elif :. else:) Exemple : algorithme et organigramme Début Lire(a) Si a>0 ALORS ecrire("a est positif") SINONSI a<0 ALORS ecrire("a est négatif") SINON ecrire("a est nul") FSI Fin

Organigramme : Début Lire(a) faux a>0 vrai faux a<0 vrai Ecrire(a, est positif ) Ecrire(a, est nul ) Ecrire(a, est négatif ) 33 Fin

34 C. Structure conditionnelle composée (if : elif :. else:) Exemple : programme python a=int(input('entrez la valeur de a')) if a>0 : print("a est positif") elif a<0 : print("a est négatif") else : print("a est nul")

35 C. Structure conditionnelle composée (if : elif :. else:) Linéairement, le schéma d'exécution se traduit comme suit : On regarde si a est strictement supérieur à 0. Si c'est le cas, on affiche «a est positif» et on s'arrête là. Sinon, on regarde si a est strictement inférieur à 0. Si c'est le cas, on affiche «a est négatif» et on s'arrête. Sinon, on affiche «a est nul». Quand je dis «on s'arrête», c'est uniquement pour cette condition. S'il y a du code après les trois blocs d'instructions, il sera exécuté dans tous les cas.

36 C. Structure conditionnelle composée (if : elif :. else:) ATTENTION : De même que le else, le elif est sur le même niveau d'indentation que le if initial. Il se termine aussi par deux points. Cependant, entre le elif et les deux points se trouve une nouvelle condition.

37 C. Structure conditionnelle composée (if : elif :. else:) On peut mettre autant de elif qu on veut après une condition en if. Tout comme le else, cette instruction est facultative et, quand bien même on construit une instruction en if, elif, on n est pas obligé de prévoir un else après. En revanche, l'instruction else ne peut figurer qu'une fois, clôturant le bloc de la condition.

38 Exercices et applications

39 Exercice 1 : Ecrire un programme python qui lit un entier x et affiche ensuite s il est pair ou impair. Exercice 2 : Ecrire un programme qui saisit deux nombres entiers A et B et affiche la somme s ils sont tous les deux positifs et le produit s ils sont tous les deux négatifs.

40 Exercice 3 : Etablir un programme qui permet de saisir une note, afficher ajourné si la note est inférieure à 7, rattrapage entre 7 et 10, admis en dessus ou égale à 10. Exercice 4 : Ecrire un programme qui calcule le salaire d un employé à partir du nombre d heures travaillées, du taux horaire et du nombre d années de service. Les employés ayant une ancienneté de plus de 10 ans bénéficient d une allocation supplémentaire de 10.000 Dinars.