Les fonctions conditionnelles

Documents pareils
Cours d algorithmique pour la classe de 2nde

TRIGONOMETRIE Algorithme : mesure principale

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

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

Corrigé des TD 1 à 5

Examen Médian - 1 heure 30


Initiation à la programmation en Python

Notions fondamentales du langage C# Version 1.0

Chapitre 2 Devine mon nombre!

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

Graph 25+ Pro au lycée

Algorithmique et programmation : les bases (VBA) Corrigé

Cours Informatique Master STEP

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)

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

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

Découverte de Python

I. Introduction aux fonctions : les fonctions standards

Algorithmique et Programmation, IMA

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

ACTIVITÉ DE PROGRAMMATION

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

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

Programmer en JAVA. par Tama

Organigramme / Algorigramme Dossier élève 1 SI

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

Les structures. Chapitre 3

Introduction au langage C

Algorithmique avec Algobox

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

Initiation à l algorithmique

Pour ajouter un représentant ou avoir accès à un compte client, le client et le représentant auront besoin des éléments suivants :

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

Propagation sur réseau statique et dynamique

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

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Note technique AbiFire5 Nouveau rapport 100

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

Java Licence Professionnelle CISII,

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

Rappels d architecture

Manuel de référence des commandes SMS Advisor Advanced

Introduction à MATLAB R

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Conventions d écriture et outils de mise au point

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

L ALGORITHMIQUE. Algorithme

1 Recherche en table par balayage

Gestion mémoire et Représentation intermédiaire

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Recherche dans un tableau

Langage Java. Classe de première SI

L exclusion mutuelle distribuée

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

TP, première séquence d exercices.

Guide d installation CLX.PayMaker Office (3PC)

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Découverte du tableur CellSheet

Guide d usage pour Word 2007

La programmation des PIC en C. Les fonctions, les interruptions.

Plateforme de support en ligne. Guide d utilisation

DE MODIFICATION PROCEDURE ELYXBADGE APPLICATION. PI Électronique Restobadge

Cours d Algorithmique et de Langage C v 3.0

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

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

Solutions du chapitre 4

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

Calcul Formel et Numérique, Partie I

1. Structure d'un programme FORTRAN 95

as Architecture des Systèmes d Information

Procédure d enregistrement des étudiants sur le portail «Student Engineering & Design Community» d Autodesk :

Débuter avec Excel. Excel

Cahier Technique Liaison Comptabilité Api / Sage ECF

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Programme Compte bancaire (code)

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

Certificats de signature de code (CodeSigning)

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

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

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

Cours 1 : La compilation

Procédure de sauvegarde pour AB Magique

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

Représentation d un entier en base b

Version 7.1_5.1. Release Notes

EXCEL TUTORIEL 2012/2013

GUIDE POUR LE PLEXTALK Linio Pocket - LECTEUR DE Podcasts -

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

MS SQL Express 2005 Sauvegarde des données

Site Internet. Tapez « dans la barre d adresse d Internet Explorer

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

INITIATION AU LOGICIEL SAS

Transcription:

Il y a deux jours, nous avons vu comment gérer les variables et afficher du texte. Aujourd hui, nous allons programmer notre premier jeu : le «Plus ou Moins». Mais avant tout, vous devez connaitre les fonctions conditionnelles. Les fonctions conditionnelles Ces fonctions sont très utiles car elles adaptent le fonctionnement du programme en fonction des données. Pour débuter, nous allons utiliser la fonction If. Vous trouverez toutes les fonctions conditionnelles dans le menu (PRGM) en faisant, pour rappel, [SHIFT] + [VARS], puis [F1] (COM). La syntaxe est la suivante. Entrez ce code dans un nouveau programme : If A<18 Then "TU ES MINEUR" Si A est supérieure ou égale à 18, alors la calculatrice affiche «TU ES MAJEUR». Si A est strictement inférieure à 18, alors on affiche «TU ES MINEUR». N oubliez pas d indiquer la fin de la condition avec. Vous n êtes pas limité à une seule instruction par condition, vous pouvez mettre autant de calculs et d instructions que vous le voulez! Le plus important est que la condition If («si» en français) soit accompagnée du Then («alors») et délimitée par un. Nous allons optimiser le code avec la fonction Else qui veut dire «sinon». En effet, si on n est pas majeur, on est forcément mineur. Au lieu de mettre deux If, on va les regrouper en une seule condition : c est plus lisible et plus rapide. Else "TU ES MINEUR" Même principe, si A supérieure ou égale à 18, alors on affiche «TU ES MAJEUR», sinon on affiche «TU ES MINEUR». Bien sûr, on peut ajouter à l intérieur d une condition, une autre condition. "TU ES (1=GARCON, 2=FILLE)"? B Then If B=1 Else "TU ES MAJEURE" Else if B=1

Then "TU ES MINEUR" Else "TU ES MINEURE" Un ne délimite qu un If. Si vous avez deux If à fermer, il faut mettre deux à la fin! Une machine est bête, elle lit et exécute le code mot à mot. Les boucles conditionnelles Les boucles ont l avantage d exécuter en permanence du code tant que la condition est vraie. Vous les trouverez dans le même onglet que les If (PRGM) -> (COM) puis faites deux fois [F6]. La syntaxe est la suivante : While <conditions> [votre code] WhileEnd. 1 A While A 10 A+1->A WhileEnd C est simple, on initialise la variable A à 1 et on l incrémente de 1 tant que A est inférieure ou égale à 10. A chaque boucle, on affiche la variable A, comme ça, vous vous rendez compte par vous-même ce qui se passe. Une autre variante de While est le couple Do:LpWhile. Vous trouverez ces fonctions dans le même onglet que While. Do:LpWhile fonctionne de la même façon mais exécute au moins une fois le code. 1 A Do A+1->A LpWhile A A 10 Do vient de l anglais, «to do» qui veut dire «faire». Ce qui donc logique car on lui demande de faire (exécuter) au moins une fois le code. Retenez simplement que While vérifie la condition avant d exécuter le code, alors que Do:LpWhile le fait à la fin. Mine de rien, cette différence est très utile dans les programmes. D ailleurs, les programmes ont tendance à privilégié Do:LpWhile dans leurs programmes, vous allez comprendre quand on fera notre premier jeu! Pour clôturer cette partie, nous allons découvrir une autre boucle conditionnelle un peu particulière. C est la boucle For. Ce code fait exactement la même chose que précédemment. For 1 A To 10 Step 1 Next

On initialise la variable A à 1 qu on incrémente de 1 tant que A est inférieure ou égale 10. En lisant littéralement la fonction, on a : Pour (For) A valant 1 jusqu à (To) 10 avec un pas (Step) de 1, on affiche la valeur de A. La boucle For est très utile pour exécuter un certain nombre de fois un même code. Mettre plusieurs conditions Dans tous nos exemples, on n a mis qu une seule condition (par exemple A 18). Dans vos futurs programmes, qui seront plus complexes, on se limitera rarement à une condition. C est à ce moment là que les fonctions And et Or entre en jeu. Pour les trouver, faites [OPTN] + [F6] + [F6] + [F4] (LOGIC). And («et» en français) vérifie que toutes les conditions liées sont exactes. Si c est le cas, la condition générale est vraie. Si une seule est fausse, à la condition générale est fausse, même si toutes les autres sont vraies. And B=1 Then "TU ES UN GARCON MAJEUR" Or («ou» en français) vérifie qu au moins une des conditions est vraies. Une seule suffit à valider un If, un While ou un LpWhile, même si toutes les autres sont fausses. Or B=1 Then "TU ES MAJEUR, UN GARCON OU LES DEUX A LA FOIS" On peut aussi mélanger les And et les Or. Retenez que les And sont prioritaires sur les Or. And B=1 Or B 18 And B=2 Then "QUE TU SOIS UN FILLE OU UN GARCON, TU ES MAJEUR" On peut aussi mettre des parenthèses pour modifier les priorités ou bien optimiser le programme. C est ce que nous allons faire. Le code suivant produit le même résultat : And (B=1 Or B=2) Then "QUE TU SOIS UN FILLE OU UN GARCON, TU ES MAJEUR" Si on n avait pas mis les parenthèses, la calculatrice aurait d abord vérifier si A 18 et B=1 puis si B=2 (sans vérifier si A 18). En mettant des parenthèses, elle vérifie d abord que B=1 ou B=2, puis si A 18. Dans mes exemples, j utilise des If, mais And et Or fonctionnent aussi avec toute autre fonction condition comme While ou LpWhile. For est une boucle particulière et n accepte pas les conditions.

Programmons notre premier jeu! Le jeu du plus ou moins est très simple : la calculatrice génère un nombre aléatoire et vous devez deviner en un minimum d étapes ce nombre mystère. Pour générer un nombre aléatoire, on utilise la fonction Ran# (de random qui veut dire aléatoire!). Voici le chemin d accès : [OPTN] + [F6] + [F3] (PROB) + [F4] (RAND) + [F1] Ran# génère un nombre aléatoire entre 0 et 1 exclu : [0 ; 1 [ Si on veut générer un nombre entre 0 et 10, il faudra multiplier le résultat du Ran# par 10. 10*Ran# A De façon général, pour générer un nombre compris en a et b, on a : (b-a)*ran# +a A Si on veut la partie entière de ce nombre, on utilise la fonction Int : [OPTN] + [F6] + [F4] (NUM) + [F2]. Int ((b-a+1)*ran#+a) A Maintenant, vous êtes armés pour le jeu du «Plus ou Moins». Je vais vous fixer quelques règles : - le nombre mystère doit être compris entre 1 et 100 (inclus). - la calculatrice dit si le nombre est plus petit ou plus grand - mettre un compteur pour connaitre le nombre de coups que l on affichera à la fin A vous de programmer! Quand vous aurez terminé votre programme, allez sur la prochaine page pour la correction.

Le code que vous allez voir est une proposition. Si votre code est différent, ce n est pas grave du moment qu il fonctionne correctement. En effet, il existe autant de variantes du Plus ou Moins que de programmeurs. Les commentaires sont écrits en vert et ne sont donc pas à inclure dans votre programme. Int (100*Ran#)+1 A //On génère un nombre aléatoire compris entre 1 et 100 0 C //On initialise le compteur de coups "VOUS DEVEZ TROUVER UN(sans espace)nombre MYSTERE COMPRIS ENTRE 1 ET 100" Do //Début de la boucle LpWhile "VOTRE PROPOSITION"? B If B A //On vérifie si le nombre proposé est bien différent du nombre mystère (sinon, on affichera un message faux) Then If B<A Then "PLUS GRAND"[DISP] Else "PLUS PETIT"[DISP] " " //Un saut supplémentaire pour l ergonomie C+1 C //On ajoute 1 coup au compteur LpWhile A B //Tant que A (le nombre mystère) différent de B (le nombre proposé), on répète l action ClrText //On nettoie l écran "BRAVO VOUS AVEZ TROUVE(sans espace)le NOMBRE MYSTERE EN (4 espaces) COUPS" Locate 3,3,C //On affiche le nombre de coups Pour aller plus loin, on peut imaginer un mode deux joueurs, plusieurs niveaux de difficulté, un nombre maximum de coups, améliorer la présentation La semaine prochaine, nous découvrirons les listes et les matrices pour concevoir des programmes plus complexes.