Introduction à la programmation (420-PK2-SL) cours 8

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Initiation à la programmation et algorithmique cours 2
Calculs de complexité d'algorithmes
GEF 243B Programmation informatique appliquée
Exercices Algorithmiques
5. Les structures répétitives
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
1)Boucle for 2)Boucle while
Introduction à la programmation (420-PK2-SL) cours 10 Gestion des applications Technologie de linformation (LEA.BW)
Section VI Structures répétitives (suite)
Principes de programmation (suite)
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.
Langage C Révision.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
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?
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
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 INF135 par Frédérick Henri.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Instruction sélective switch-case Instruction répétitive do-while For
Principes de programmation
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
8PRO107 Éléments de programmation
CSI 1502 Principes fondamentaux de conception de logiciels
Plan troisième cours Instruction sélective Instruction répétitive
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.
Structures alternative et répétitive
L’essentiel du langage C
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Introduction à la programmation (420-PK2-SL) cours 6 Gestion des applications Technologie de l’information (LEA.BW)
3 Les instructions. Cours 32 Plan du cours 3 Instruction Bloc Portée L’alternative Affectations =, +=, *=… Comment comparer –Comparer des réels –Comparer.
Les tests.
Introduction au langage C Fonctions et Procédures
Cours n° 3 Traitements en Java
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Les structures de contrôle
Programmation en C.
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 13 Gestion des applications Technologie de l’information (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 4 Gestion des applications Technologie de l’information (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 6 Gestion des applications Technologie de l’information (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 18 Gestion des applications Technologie de l’information (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 11 Gestion des applications Technologie de l’information (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 5 Gestion des applications Technologie de l’information (LEA.BW)
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Algorithmique Tableaux de données
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.
Algorithmique Algorithmique  Pascal
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.
Philippe Gandy – 6 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique Boucles et Itérations
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Introduction à la programmation (420-PK2-SL) cours 9 Gestion des applications Technologie de l’information (LEA.BW)
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.
Transcription de la présentation:

Introduction à la programmation (420-PK2-SL) cours 8 Gestion des applications Technologie de l’information (LEA.BW)

Plan Devoir #1 Utilisation de constante Instruction itérative (boucle) Remise 17/02/2011 Version papier au début du cours Version électronique avant 13:00 Utilisation de constante Instruction itérative (boucle) do...while while for Sera vu la semaine prochaine Laboratoire

Utilisation de constante Une constante est une variable qui ne varie pas. Taxe Nombre d’heure maximum de travail par semaine Nombre de sorte de carte de jeu Nombre de type de carte de jeu Nombre de face sur un dés lors d’une partie Plutôt que « hardcoder » une valeur dans le code, il est préférable d’utiliser une variable constante pour facilité la modification du code.

Utilisation de constante import java.util.Scanner; public class calcul_salaire { public static void main(String args[]){ double nombre_heures,taux_horaire,salaire; Scanner clavier = new Scanner(System.in); System.out.println("Combien d'heure travailler vous par semaine?"); nombre_heures = clavier.nextDouble(); System.out.println("Quel est votre taux horaires?"); taux_horaire = clavier.nextDouble(); clavier.close(); if(nombre_heures <= 40){ salaire=nombre_heures*taux_horaire; }else{ salaire=40*taux_horaire+((nombre_heures-40)*taux_horaire*1.5); } System.out.println("Votre salaire est de : " + salaire + " par semaine");

Utilisation de constante import java.util.Scanner; public class calcul_salaire_constante { public static final int NB_HEURES_MAX = 40; public static final double MAJORATION = 1.5; public static void main(String args[]){ double nombre_heures,taux_horaire,salaire; Scanner clavier = new Scanner(System.in); System.out.println("Combien d'heure travailler vous par semaine?"); nombre_heures = clavier.nextDouble(); System.out.println("Quel est votre taux horaires?"); taux_horaire = clavier.nextDouble(); clavier.close(); if(nombre_heures <= NB_HEURES_MAX){ salaire=nombre_heures*taux_horaire; }else{ salaire=40*taux_horaire+((nombre_heures-NB_HEURES_MAX)*taux_horaire*MAJORATION); } System.out.println("Votre salaire est de : " + salaire + " par semaine");

Utilisation de constante Les constantes doivent avoir un type comme pour les variables. Les identificateurs des constantes sont toujours en MAJUSCULE. public static final précède toujours le type de la constante et doit être inscrit avant le programme principal (main).

Instruction itérative Répétition ou boucle Instruction qui permet de répéter du code à exécuter selon l’évaluation d’une condition. Tant que Cette instruction permet de répéter les tâches à exécuter si l’évaluation d’une expression donne vraie

Instruction itérative Forme générale Tant que expression booléenne Tâches à répéter tant que l’expression est vraie Fin Exemple Tant qu’il vente fort Je fais de la planche à voile

Instruction itérative En Java while(expression){ instruction à répéter tant que l’expression est différente de zéro. } Les parenthèse sont obligatoires Les accolades délimitent ce qu’on appelle un bloc de code Comme pour le if Le code d’un bloc doit être indenté (décalé) vers la droite Si les accolades sont manquantes, seule la première instruction est calculée comme faisant partie du while.

Instruction itérative Exemple int x = 5; while (x > 0){ System.out.println(x); x--; } Condition d’entrée : x > 0 Condition d’arrêt : x <= 0 Résultat de la boucle 5 4 3 2 1

Instruction itérative Mise en garde Il faut toujours au moins une instruction à l’intérieur de la boucle qui permette de converger vers la condition d’arrêt de la boucle sinon ce sera une boucle infinie. Exemple int x = 5; while (x > 0){ System.out.println(x); x++; } Résultat de la boucle 5 6 7 8 9 … ∞

Instruction itérative Dites ce que vaudront les valeurs de x,y et z après l’exécution de cette boucle int x=5; int y=3; int z=3; while(y != 0){ x %= z++; y--; } Équivalent à : x = x % z z = z + 1; y = y – 1;

Instruction itérative Solution DEBUT WHILE x = 5 ,y = 3 ,z = 3 FIN WHILE x = 2 ,y = 2 ,z = 4 DEBUT WHILE x = 2 ,y = 2 ,z = 4 FIN WHILE x = 2 ,y = 1 ,z = 5 DEBUT WHILE x = 2 ,y = 1 ,z = 5 FIN WHILE x = 2 ,y = 0 ,z = 6 while(y != 0){ System.out.println("DEBUT WHILE x = " + x + " ,y = " + y + " ,z = " + z); x %= z++; y--; System.out.println("FIN WHILE x = " + x + " ,y = " + y + " ,z = " + z); }

Instruction itérative Écrivez un programme qui saisit un nombre entier et qui affiche tous les nombres de 1 jusqu’à la valeur entrée. import java.util.Scanner; public class exemple_while{ public static void main(String args[]){ int nombre; int tour; Scanner clavier = new Scanner(System.in); System.out.println("Entrez un nombre svp : "); nombre = clavier.nextInt(); tour = 1; while(tour <= nombre){ System.out.println(tour); tour++; } Que se passe t’il si le nombre entré est négatif ? initialisation Analyse de la condition d’arrêt de la boucle Convergence vers la condition d’arrêt

Instruction itérative Il n’y a pas de restriction sur ce que peut contenir un bloc d’instructions Affectation, affichage, lecture, opérations if, if-else, if-else-if While En d’autres termes on peut imbriquer des instructions de sélection et d’itération à l’intérieur d’autres instructions de sélection et/ou d’itération.

Instruction itérative import java.util.Scanner; public class validation_nombre_while{ public static final int MIN = 1; public static final int MAX = 10; public static void main(String args[]){ int nombre; Scanner clavier = new Scanner(System.in); System.out.println("Entrez un nombre entre " + MIN + " et " + MAX + ":"); nombre = clavier.nextInt(); while(nombre < MIN || nombre > MAX){ if(nombre < MIN){ System.out.println("Votre nombre doit être plus grand que " + MIN); }else{ System.out.println("Votre nombre doit être plus petit que " + MAX); } System.out.println("Votre nombre est valide"); Conditions d’entrée multiples Structure if imbriquée Convergence vers la condition d’arrêt

Instruction itérative while … do do … while

Instruction itérative while… La condition de répétition est évaluée au début du bloc Si la condition est fausse, le bloc n’est pas exécuté do…while La condition de répétition est évaluée à la fin du bloc Le bloc est exécuté au moins une fois même si la condition est fausse Forme générale do{ instructions à répéter tant que l’expression est différente de zéro } while (expression);

Instruction itérative import java.util.Scanner; public class validation_nombre_dowhile{ public static final int MIN = 1; public static final int MAX = 10; public static void main(String args[]){ int nombre; Scanner clavier = new Scanner(System.in); do{ System.out.println("Entrez un nombre entre " + MIN + " et " + MAX + ":"); nombre = clavier.nextInt(); if(nombre < MIN){ System.out.println("Votre nombre doit être plus grand que " + MIN); }else{ System.out.println("Votre nombre doit être plus petit que " + MAX); } }while(nombre < MIN || nombre > MAX); System.out.println("Votre nombre est valide");

Instruction itérative Dans l’exemple, l’utilisation du do…while est plus optimale que l’utilisation du while car certaines ligne ne sont pas doublée Par contre, le résultat est le même!

Laboratoire Modifier le programme loterie.java pour qu’il affiche NOMBRE_COMBINAISON combinaison. Modifier le programme generer_carte.java pour qu’ils génère des cartes tant que la personne n’entre pas le mots quitter au clavier. Tout autres mots entrer au clavier résultera à la génération d’une autre carte.

Laboratoire Écrivez un programme qui demande des nombres entiers à un utilisateur. La saisie des nombres se termine si l’utilisateur entre -1. Vous affichez ensuite: Combien de ces nombres étaient pairs et impairs Le plus grand Le plus petit La somme des nombres entrés La moyenne des nombres entrés

Laboratoire Créez un programme qui saisit une valeur entière (n) au clavier et affiche à l’écran n! (n! = 1 x 2 x … x n). Pour ce faire il suffit d’affecter une variable (factoriel) avec la valeur 1 et de multiplier à factoriel successivement toutes les valeurs de 2 à n. Par exemple, le factoriel de 5 = 5*4*3*2*1 = 120! Si vous obtenez 24 c’est qu’il manque un tour de boucle!