Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.

Slides:



Advertisements
Présentations similaires
Introduction a L’algorithme
Advertisements

Tris.
Initiation à la programmation et algorithmique cours 2
Algorithmique (suite)
Fonctions & procédures
Algorithmes et structures de données Cours 3
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
Algorithmique Résume.
Les Structures de contrôles itératives
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Exercices Algorithmiques
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
4. Les structures de tests
Section VI Structures répétitives (suite)
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.
La structure conditionnelle simple
Algorithme Sommaire Introduction Définition et représentation
Récursivité.
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
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
Algorithmes et résolution de problèmes FGE
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Semaine #1 INF135 par Frédérick Henri.
8PRO107 Éléments de programmation
Répéter dans un programme avec une Instruction itérative
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.
Algorithmique Les structures Rappel L'enchaînement séquentiel
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Déclaration des données constantes Déclaration des données variables
Un survol du language C.
 Syntaxe du langage PHP
Structures de contrôle
La programmation.
Organisation des données Introduction à la programmation Traitements simples Affectation Parcours Définition du tableau Les Tableaux Mise en situation.
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
Cours d'algorithmique 10 / Intranet 1 19 décembre 2006 Cours d’Algorithmique Logique de Hoare (fin) : Les boucles et les invariants.
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 8
Scripts et fonctions Instructions de contrôle
Algorithmique Tableaux de données
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
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Algorithmique et programmation
Introduction à l’Informatique Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Les Instructions Itératives (Les Boucles)
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Transcription de la présentation:

Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte

INSTRUCTIONS CONDITIONNELLES Problème Écrire un algorithme qui calcule la moyenne des étudiants de L1

INSTRUCTIONS CONDITIONNELLES

INSTRUCTIONS CONDITIONNELLES

INSTRUCTIONS CONDITIONNELLES

INSTRUCTIONS CONDITIONNELLES Syntaxe si (condition) alors instructions ; sinon instructions ; finsi évaluer la condition (expression booléenne) en fonction de la valeur (vraie ou fausse), exécuter l’instruction du alors ou du sinon continuer avec les instructions après le finsi

INSTRUCTIONS CONDITIONNELLES exemple

INSTRUCTIONS CONDITIONNELLES exemple

INSTRUCTIONS CONDITIONNELLES Conditionnelles emboitées

INSTRUCTIONS CONDITIONNELLES Sélection sur choix multiples : Lorsqu’il y a plus de 2 choix possibles, l’instruction selon que permet une écriture plus lisible: selon que variable valeur : instructions … autres: instructions La variable peut être une variable de type scalaire ou une expression arithmétique ou logique

INSTRUCTIONS CONDITIONNELLES exemple: Selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame "

INSTRUCTIONS CONDITIONNELLES exemple: selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame " Équivalent de : si abréviation = "M " alors écrire " Monsieur " sinonsi abréviation = "Mme " alors écrire " Madame " sinonsi abréviation = "Mlle" alors écrire " Mademoiselle " sinon écrire " Monsieur, Madame " finsi

INSTRUCTIONS CONDITIONNELLES Condition Une condition est une comparaison. C’est-à-dire qu’elle est composée de trois éléments une valeur un opérateur de comparaison une autre valeur Opérateurs logiques > < == ≤≥ NON

INSTRUCTIONS CONDITIONNELLES Conditions composées OUET Exemple si vacances et soleil alors écrire « allons à la plage » finsi

Structures itératives Quand il faut répéter un traitement… exemple : demander des valeurs et afficher le total

Structures itératives Quand il faut répéter un traitement… exemple : demander des valeurs et afficher le total Algorithme FaitLeTotal //Cet algorithme fait la somme des nbVal données qu'il saisit variables nbVal, cpt :entiers; valeur, totalValeurs: réels; début{initialisation du traitement} ecrire "Combien de valeurs voulez-vous saisir? "; lire nbVal ;//initialisation du total à 0 avant cumul totalValeurs←0;//traitement qui se répète nbValfois pour cpt de 1 à nbVal// début de la boucle faire ecrire "Donnez une valeur :"; lire valeur; totalValeurs←totalValeurs+ valeur ;//cumul finpour//fin de la boucle ecrire "Le total des " + nbVal, "valeurs est " + totalValeurs; fin

Structures itératives But Exécuter une même suite d'instructions plusieurs fois (on sait exactement combien de fois on veut les exécuter : c'est une boucle définie). Syntaxe pour ( variable de val_init à val_finale pas val_pas ) faire instructions à exécuter ; Finpour Attention : il n'y a pas de ; après le mot faire.

Structures itératives pour ( variable de val_init à val_finale pas val_pas ) faire instructions à exécuter ; Finpour Fonctionnement 1. la valeur de val_init est affectée à la variable 2. les instructions sont exécutées une fois 3. la variable est incrémentée de val_pas (variable  variable + val_pas) 4. on recommence à l'étape 2. La variable prend successivement les valeurs comprises entre val_init et val_finale de val_pas en val_pas. La boucle s'arrête quand on dépasse la val_finale.

Structures itératives pour ( variable de val_init à val_finale pas val_pas ) faire instructions à exécuter ; Finpour La variable et les valeurs initiale, finale et du pas doivent être du type nombre (entier ou réel) Les valeurs doivent être cohérentes par rapport au pas. Le compteur La variable est souvent appelée compteur. Ce compteur ne DOIT PAS être modifié dans la boucle Il vaut mieux ne pas utiliser ce compteur en dehors de la boucle.

Structures itératives Exemple N  2 ; pour (i de n à 4 pas 1) faire x  2*i ; finpour X  x+3 ;

Structures itératives Exemple 1 N  2 ; pour (i de n à 4 pas 1) faire x  2*i ; finpour X  x+3 ;

Structures itératives Exemple 1 N  2 ; pour (i de n à 4 pas 1) faire x  2*i ; finpour X  x+3 ;

Structures itératives Exemple 2 Écrire un algorithme qui, pour chacun des 100 entiers saisis par l'utilisateur, affiche s'il est pair ou impair.;

Structures itératives Exemple 2 Écrire un algorithme qui, pour chacun des 100 entiers saisis par l'utilisateur, affiche s'il est pair ou impair. n  100 ; pour (i de 1 à n pas 1) faire lire val ; si ((val mod 2) == 0) alors écrire "Le nombre " + val + " est pair" ; sinon écrire "Le nombre " + val + " est impair" ; finsi finpour

Structures itératives Comment faire si l'on ne connait pas le nombre d'itérations ? On ne peut plus utiliser la boucle pour ! Exemple on souhaite afficher les valeurs successives des carrés de nombres entiers croissants à partir de 1, mais seulement tant que la valeur du carré ne dépasse pas 30.

Structures itératives Comment faire si l'on ne connait pas le nombre d'itérations ? On ne peut plus utiliser la boucle pour ! Exemple on souhaite afficher les valeurs successives des carrés de nombres entiers croissants à partir de 1, mais seulement tant que la valeur du carré ne dépasse pas 30. on initialise n à 1 on initialise le carré de n tant que la valeur du carré qu'on vient de calculer est inférieure à 30 on affiche cette valeur on calcule le carré du nombre entier suivant

Structures itératives Comment faire si l'on ne connait pas le nombre d'itérations ? On ne peut plus utiliser la boucle pour ! Exemple on souhaite afficher les valeurs successives des carrés de nombres entiers croissants à partir de 1, mais seulement tant que la valeur du carré ne dépasse pas 30. n  1 ; carre  n*n ; tant que (carre ≤ 30) faire écrire carre ; n  n+1 ; Carre  n*n ; Fin tantque

Structures itératives Boucle Tant que Exécuter une même suite d'instructions plusieurs fois, tant qu'une condition est vérifiée (on peut ne pas prévoir le nombre d'itérations). Syntaxe tant que ( condition ) faire instructions à exécuter ; Fintantque Principe Tant que la condition (expression booléenne) est vérifiée, les instructions sont exécutées.

Structures itératives Boucle Tant que Exécuter une même suite d'instructions plusieurs fois, tant qu'une condition est vérifiée (on peut ne pas prévoir le nombre d'itérations). Remarque : le corps de la boucle n'est donc pas exécuté si la condition ( test de la boucle ) est fausse dès le départ.

Structures itératives Exemple 01 entier n, p, i ; 02 début 03 n  10 ; 04 p  1 ; 05 i  0 ; 06 tant que (p n) faire 07 p  p*2 ; 08 i  i+1 ; 09 fintantque 10 écrire p ; 11 fin

Structures itératives Exemple 01 entier n, p, i ; 02 début 03 n  10 ; 04 p  1 ; 05 i  0 ; 06 tant que (p n) faire 07 p  p*2 ; 08 i  i+1 ; 09 fintantque 10 écrire p ; 11 fin

Structures itératives Exemple 01 entier n, p, i ; 02 début 03 n  10 ; 04 p  1 ; 05 i  0 ; 06 tant que (p n) faire 07 p  p*2 ; 08 i  i+1 ; 09 fintantque 10 écrire p ; 11 fin

Structures itératives Attention : Éviter les boucles infinies Si la condition est TOUJOURS vraie, la boucle ne s'arrête jamais!! Afin d'éviter les boucles infinies, il faut vérifier que la condition puisse prendre la valeur faux. Vérification aux valeurs limite ! Vérifiez tous les cas, et en particulier les cas limite qui pourraient causer un mauvais comportement de la boucle. Vérifiez que votre boucle peut s'exécuter (votre test doit pouvoir être vrai). Si votre condition est une expression booléenne composée (c.-à-d. utilisant et, ou ), analysez les cas possibles de sortie de boucle. Testez votre boucle sur quelques valeurs pour vérifier son fonctionnement