Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.

Slides:



Advertisements
Présentations similaires
Leçon 2 Calcul de la pente d’une droite
Advertisements

Introduction a L’algorithme
Initiation à la programmation et algorithmique cours 2
L’algorithmique, les séquences.
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Algorithmique (suite)
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Calculs de complexité d'algorithmes
But de l’exercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
But de lexercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
Algorithmique et évaluation
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Exercice 1 Pour être admis en crèche, un enfant doit avoir moins de 3 ans. Les variables retenues sont les suivantes: AnnéeNaissance, Annéeactuelle.
Algorithmique Résume.
Exercices Algorithmiques
5. Les structures répétitives
4. Les structures de tests
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
La structure conditionnelle simple
Algorithmique et Programmation
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
Les structures de contrôle conditionnelles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Algorithmique et Programmation
Algo-Prog en Ada TD1 2 IMACS Romaric GUILLERM
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
8PRO107 Éléments de programmation
Structures alternative et répétitive
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
LA LOGIQUE ALGORITHMIQUE
Un survol du language C.
 Syntaxe du langage PHP
Structures de contrôle
Algorithmique : Introduction
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Initiation à l’Algorithmique
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Relations et fonctions
Module 3 : Algorithme et Programmation
Programmation en C.
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 8
Introduction à la programmation (420-PK2-SL) cours 4 Gestion des applications Technologie de l’information (LEA.BW)
Relations et fonctions
Les structures simples
Introduction à la programmation (420-PK2-SL) cours 5 Gestion des applications Technologie de l’information (LEA.BW)
Scripts et fonctions Instructions de contrôle
Algorithmique Tableaux de données
Algorithmique Instructions de base et Variables Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 10/09/2003 Dernière modification: 17/09/2003.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Objets et Actions Élémentaires.
Algorithmique Algorithmique  Pascal
Algorithmique Boucles et Itérations
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Introduction à l’Informatique Licence SPI Mme Delmotte.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003

Instructions Conditionnelles Dans les chapitres précédents, tous les algos que nous avons vu se lisent séquentiellement. Ce cas de figure nous limite énormément en possibilités de raisonnements algorithmiques, En effet, nous raisonnons sans cesse par prises de décisions, en fonction de choix qui s’imposent à nous constamment. Il est donc logique qu’en Algorithmique nous disposions du même outils: L’instruction conditionnelle.

Instructions Conditionnelles L’instruction conditionnelle a pour but de représenter une suite d’actions résultant d’une décision préalable, fondée sur l’évaluation d’une condition précise. Selon les cas, un bloc d’instruction sera exécuté plutôt qu’un autre. La syntaxe de cette instruction est: Si condition Alors liste d'instructions Sinon liste d'instructions Fin si

Instructions Conditionnelles Cette instruction est composée de trois parties distinctes: –La condition introduite par Si –La clause Alors –La clause Sinon La condition est une expression dont la valeur est de type booléen. Elle est évaluée. Si elle est vraie, les instructions de la clause Alors sont exécutées Dans le cas contraire, les instructions de la clause Sinon sont exécutées.

Instructions Conditionnelles On peut utiliser une forme simplifiée de la conditionnelle, sans clause sinon. La syntaxe est alors : si condition alors liste d'instructions fin si

Instructions Conditionnelles Il est tout à fait possible d’utiliser plusieurs instructions dans la clause Si ou Sinon. Ces multiples instructions forment alors un « bloc » de code. En algo, chaque bloc de code doit être délimité par des balises « Début » et « Fin ».

Instructions Conditionnelles On écrira donc: Si condition Alors Début instruction 1 instruction 2 Fin Sinon Début instruction 3 instruction 4 Fin Fin si

Instructions Conditionnelles Exercice : Ecrire un algorithme qui demande deux nombres entiers à l’utilisateur, et qui affiche le plus grand des deux. Exemple: Veuillez saisir un nombre: 45 Veuillez saisir un autre nombre: 34 Le plus grand des deux est: 45

Instructions Conditionnelles Programme PlusGrand Déclarations Variables x,y :entier { valeurs lues au clavier } Début écrire(‘Veuillez saisir un nombre: ’) lire(x) écrire(‘Veuillez saisir un autre nombre: ’) lire(y) écrire(‘Le plus grand des deux est: ‘) Si x>y alors écrire(x) sinon écrire(y) Fin si Fin

Instructions Conditionnelles Une instruction conditionnelle Si—Alors—Sinon—Finsi étant avant tout une instruction comme une autre, il est aussi possible de l’utiliser dans un bloc d’instruction déjà utilisé dans un bloc si—alors—sinon—finsi On dit alors qu’on imbrique les structures conditionnelles. Le nombre d’imbrications est illimité.

Instructions Conditionnelles On écrira donc: Si condition Alors Si condition2 Alors Début bloc d’instruction Fin Sinon Début bloc d’instruction Fin Fin Si Sinon Si condition3 alors instruction Sinon instruction Fin si

Instructions Conditionnelles Exercice : Ecrire un algorithme qui demande deux nombres entiers à l’utilisateur, et qui affiche le plus grand des deux si x <> y Exemple: Veuillez saisir un nombre: 45 Veuillez saisir un autre nombre: 34 Le plus grand des deux est: 45

Instructions Conditionnelles Programme PlusGrand Déclarations Variables x,y :entier { valeurs lues au clavier } Début écrire(‘Veuillez saisir deux nombres: ’) lire(x, y) Si x<>y Alors Si x>y alors écrire(‘Le plus grand des deux est: ‘, x) sinon écrire(‘Le plus grand des deux est: ‘, y) Fin Si Sinon écrire(‘Les deux nombres sont égaux !’) Fin si Fin

Instructions conditionnelles Il existe un autre type d’instruction conditionnelle, un peu moins utilisé. Il permet d’éviter la redondance des si—alors—sinon On dit que c’est davantage une structure de « choix » que conditionnelle : Si—alors—sinon fait exécuter des actions en fonction d’une condition précise « Selon sélecteur faire » lance des traitements dépendant de la valeur du sélecteur.

Instructions conditionnelles Notation dans un algo: Selon sélecteur Faire Ensemble1 de valeurs : Traitement1 Ensemble2 de valeurs : Traitement2 … Ensemble n-1 de valeurs : Traitement n-1 Sinon Traitement n Fin Selon

Instructions conditionnelles Exemple: Ecrire un algorithme qui demande à l’utilisateur de saisir un chiffre. L’algorithme a pour simple tâche d’écrire la valeur de ce chiffre en toutes lettres à l’utilisateur. L’algorithme ne connaîtra que les chiffres allant de 0 à 5, pour les autres il avouera à l’utilisateur son ignorance. Ecrire deux formes de cet algorithme: –En version « instruction conditionnelle », –En version « sélecteur de choix ».

Instructions conditionnelles Version structure conditionnelle Programme EcrireChiffre Déclarations Variable ch:entier{ chiffre de l’utilisateur saisi au clavier } Début lire(ch) Si ch = 0 alors écrire(‘Zéro’) Sinon Si ch = 1 alors écrire(‘Un’) Sinon Si ch = 2 alors écrire(‘Deux’) Sinon Si ch = 3 alors écrire(‘Trois) Sinon Si ch = 4 alors écrire(‘Quatre’) Sinon Si ch = 5 alors écrire(‘Cinq’) Sinon écrire(‘je ne sais pas !’) FinSi Fin

Instructions conditionnelles Version structure conditionnelle Programme EcrireChiffre Déclarations Variable ch:entier{ chiffre de l’utilisateur saisi au clavier } Début lire(ch) Selon ch faire 0 : écrire(‘Zéro’) 1 : écrire(‘Un’) 2 : écrire(‘Deux’) 3 : écrire(‘Trois’) 4 : écrire(‘Quatre’) 5 : écrire(‘Cinq’) Sinon écrire(‘Je ne sais pas !’) Fin Selon Fin

Exercices Ecrire un algorithme qui permet d’écrire le résultat d'un étudiant à un module sachant que ce module est sanctionné par une note d'oral de coefficient 1 et une note d'écrit de coefficient 2. La moyenne obtenue doit être supérieure ou égale à 10 pour valider le module. Exemple: Veuillez entrer la note à l’écrit: 13 Veuillez entrer la note à l’oral: 11 Résultat: Admis.

Exercices Programme Admission Déclarations Variable note_ecrit : réel { note à l’écrit coeff 2 } note_oral : réel { note à l’oral coeff 1} moyenne : réel { moyenne de l’élève } Début lire(ne) lire(no) moyenne  (2*ne + no) / 3 Si moyenne < 10 Alors écrire(‘Refusé’) Sinon écrire(‘Admis’) Fin si Fin

Exercices On veut écrire un algorithme permettant de calculer le salaire d'un employé payé à l'heure, à partir de son salaire horaire et du nombre d'heures de travail. Les règles de calcul sont les suivantes : le taux horaire est majoré pour les heures supplémentaires de : –25% au-delà de 160 heures –50% au-delà de 200 heures. On demande à l’utilisateur le salaire horaire de l’employé ainsi que le nombre d’heure travaillées

Exercices Programme Salaire Déclarations Variable sh: réel { salaire horaire } nbh: réel { nombre d’heures travaillées } salaire: réel { salaire à verser à l’employé } Début lire(sal_horaire) lire(nb_heures) Si nbh < 160 alors salaire  nbh * sh Sinon si nbh < 200 alors salaire  160*sh + (nbh - 160)*1,25*sh sinon salaire  160*sh + 40*sh*1,25 + (nbh - 200)*sh*1,5 Fin si écrire(‘Salaire à verser: ‘, salaire) Fin