4. Les structures de tests

Slides:



Advertisements
Présentations similaires
La boucle for : init7.c et init71.c
Advertisements

Tris.
1.Introduction à la programmation
Initiation à la programmation et algorithmique cours 2
L’algorithmique, les séquences.
Algorithmique (suite)
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
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.
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.
Algorithmique Résume.
Les Tests ou structures alternatives
Exercices Algorithmiques
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
5. Les structures répétitives
6. Les sous-programmes P. Costamagna – ISEN N1.
8. Les tableaux P. Costamagna – ISEN N1.
3.Premiers pas en programmation
2.Les bases de lalgorithmique P. Costamagna – ISEN N1.
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).
Langage C Révision.
Python La structure alternative
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
La structure conditionnelle simple
Partie 1 Etude de l'existant
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Algorithmique et structure de données
Correction du reste des exercices
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
Algèbre de Boole et les Boucles
Les structures de contrôle conditionnelles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
8PRO107 Éléments de programmation
Algorithmique et langage C. Les traitements Comment utiliser les données.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
L’essentiel du langage C
Python Fonction et procédure
Algorithmique Les structures Rappel L'enchaînement séquentiel
Algorithmique et langage C. Et me la renvoyer bien sûr… Developpez.com, wiki, siteduzero et autre sont les bienvenus… (les questions sont en orange) C’est.
Algorithmes sur les sons
Un survol du language C.
Les tests.
La programmation.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Les structures conditionnelles en PHP
Tutorat en bio-informatique Le 10 octobre Au programme… Rappel sur les variables Constantes Conditions Comparaisons Tables de vérité Switch.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 4 Gestion des applications Technologie de l’information (LEA.BW)
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 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.
Algorithmique Boucles et Itérations
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

4. Les structures de tests P. Costamagna – ISEN N1

A. Structure d’un test simple Instruction permettant de rompre l’ordre séquentiel d’un programme. Langage intermédiaire Si booléen Alors instructions (1) ... Finsi instructions (2) Exécuté si le booléen est vrai variable condition Exécuté dans tous les cas P. Costamagna

B. Qu’est ce qu’une condition ? = Comparaison constituée d’une valeur, d’un opérateur de comparaison, d’une 2nde valeur. Exemple "t" < "w" "Maman" > "Papa" "maman" > "Papa" VRAI FAUX P. Costamagna

B. Qu’est ce qu’une condition ?(suite1) Exemple Soit la condition " Truc est compris entre 5 et 8 ".  On peut être tenté de la traduire par : 5 < Truc < 8. Une telle expression, qui a du sens en mathématiques, ne veut rien dire en programmation. Il n’y a pas une, mais deux conditions reliées par un opérateur logique. Cette condition revient à dire: Truc est supérieur à 5 ET Truc est inférieur à 8 et s’écrira donc en langage C (TRUC > 5) && (TRUC < 8) P. Costamagna

B. Qu’est ce qu’une condition ?(suite2) Langage C Pas de ; if (expression) { instructions (1) } instructions (2) Exercice Ecrire en langage intermédiaire puis en langage C, un algorithme qui transforme un entier en un naturel (entier positif). P. Costamagna

B. Solution de l’exercice Langage intermédiaire Langage C Liste des variables N de type entier contenant l’entier lu Début Affiche (« Donner un entier ») Lis et Place dans N Si N < 0 alors Place -N dans N Finsi Affiche (« Naturel correspondant : ») Affiche (N) Fin void main() { int N ; ecrisChaine (« Saisir un entier ») ; N=lisEntier () ; if (N < 0) N = -N ; sautDeLigne(); ecrisChaine («Naturel correspondant: » ); ecrisEntier(N) ; } P. Costamagna

C. Structure d’un test alternatif Langage intermédiaire Si booléen Alors instructions (1) ... Sinon instructions (2) FinSi instructions (3) Exécuté si le booléen est vrai Exécuté si le booléen est faux Exécuté dans tous les cas P. Costamagna

C. Structure d’un test alternatif (suite1) Langage C Exercice if (expression) { instructions (1) } else instructions (2) instructions (3) Ecrire en langage intermédiaire puis en langage C, un algorithme qui teste une température d’eau et indique s’il s’agit de glace (<=0) ou de liquide. P. Costamagna

C. Solution de l’exercice Langage intermédiaire Langage C Liste des variables TEMP de type réel correspondant à la température de l’eau à tester Début Affiche (« Donner une température ») Lis et Place dans TEMP Si TEMP < = 0 alors Affiche («  c’est de la glace ») Sinon Affiche (« c’est du liquide ») Finsi Fin void main() { float TEMP ; ecrisChaine (« Donner une température ») ; TEMP = lisFlottant () ; sautDeLigne(); if (TEMP <= 0) ecrisChaine (« C’est de la glace »); else ecrisChaine (« C’est du liquide »); } P. Costamagna

D. Les tests imbriqués Les instructions placées dans les blocs d’instructions peuvent être quelconques. Elles peuvent en particulier contenir d’autres tests. On a alors des tests en cascade, ce qui permet de disposer de plus de 2 alternatives. Exemple if (expression1 ) { ……. if (expression2 ) } else ……. Exécuté si l’expression1 est vraie Exécuté si l’expression1 et l’expression2 sont vraies Exécuté si l’expression1 est vraie et l’expression2 est fausse Exécuté si l’expression1 est fausse Exécuté dans tous les cas P. Costamagna

E. Quelques erreurs à éviter Oubli des accolades pour délimiter un bloc: ….. if ( a < b ) ecrisChaine (« Ordonné »); max = b; else ecrisChaine (« Non ordonné »); 1. 2. 3. 4. 5. Si l’expression est vraie, l’instruction 2 est exécutée,puis le programme continue en séquence avec l’instruction 3. Il fallait écrire: if ( a < b ) { ecrisChaine (« Ordonné »); max = b; } else ecrisChaine (« Non ordonné »); 1. 2. 3. 4. 5. 6. P. Costamagna

E. Quelques erreurs à éviter (suite1) Moins de else que de if, attention aux ambiguïtés: Un else se rapporte toujours au dernier if rencontré. ….. if ( a < b ) if ( b < c ) ecrisChaine (« Ordonné »); else ecrisChaine (« Non ordonné »); 1. 2. 3. 4. 5. On préfèrera l’écriture: if ( a < b ) if ( b < c ) ecrisChaine (« Ordonné »); else ecrisChaine (« Non ordonné »); P. Costamagna

E. Quelques erreurs à éviter (suite2) Un point-virgule mal placé: ….. if ( a < b ) ; { ecrisChaine (« Ordonné »); max = b; } else ecrisChaine (« Non ordonné »); 1. 2. 3. 4. 5. 6. 7. Un ; marque la fin d’une instruction en langage C. L’instruction 1 correspond alors à une instruction vide. P. Costamagna

E. Quelques erreurs à éviter (suite3) Une affectation au lieu d’une comparaison: Ne pas confondre == (comparaison) et = (affectation). ….. if ( a = 3 ) ecrisChaine (« a est égal à trois »); Lorsque le compilateur va évaluer l'expression a=3, il va d'abord affecter 3 à a, et le résultat de cette affectation sera toujours vrai. Il faut donc écrire: if ( a == 3 ) ecrisChaine (« a est égal à trois »); P. Costamagna

F. Exercice Ecrire en langage intermédiaire puis en langage C, un algorithme qui effectue la résolution d’une équation du 1er degré (ax + b = 0) P. Costamagna

G. Solution de l’exercice Langage intermédiaire Langage C Liste des variables A, B de type réel correspondant aux coefficients de l’équation SOL de type réel correspondant à la solution (si elle existe) Début Affiche (« Saisir les coefficients ») Lis et Place dans A Lis et Place dans B Si (A != 0) alors Place - B / A dans SOL Affiche (« La solution est », SOL) Sinon Si (B == 0) alors Affiche (« Infinité de solutions ») Affiche (« Pas de solution ») FinSi Fin void main() { float A, B, SOL ; ecrisChaine (« Saisir les coefficients ») ; A=lisFlottant () ; B =lisFlottant ( ) ; sautDeLigne( ) ; if (a != 0) SOL = -B / A ; ecrisChaine («  La solution est : ») ; ecrisFlottant (SOL) ; } else if (B == 0) ecrisChaine (« Infinité de solutions ») ; ecrisChaine (« Pas de solution ») ; P. Costamagna