introduction à la programmation (420-pk2-sl) cours 8 gestion des applications technologie de...
Post on 03-Apr-2015
104 Views
Preview:
TRANSCRIPT
Introduction à la programmation(420-PK2-SL)
cours 8
Gestion des applications
Technologie de l’information
(LEA.BW)
Plan Devoir #1
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 constanteimport 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 constanteimport 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 Opération 1
Condition
Opération 3
FAUX
Opération 2VRAI
Instruction itérative Forme générale
Tant que expression booléenneTâches à répéter tant que l’expression est vraie
Fin
ExempleTant qu’il vente fort
Je fais de la planche à voileFin
Opération 1
Condition
Opération 3
FAUX
Opération 2VRAI
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
54321
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.
Exempleint x = 5;
while (x > 0){
System.out.println(x);
x++;
} Résultat de la boucle
56789…
∞
Instruction itérative Dites ce que vaudront
les valeurs de x,y et z après l’exécution de cette boucleint x=5;
int y=3;
int z=3;
while(y != 0){
x %= z++;
y--;
}
Équivalent à :x = x % zz = z + 1;y = y – 1;
Instruction itérative Solution
DEBUT WHILE x = 5 ,y = 3 ,z = 3FIN WHILE x = 2 ,y = 2 ,z = 4DEBUT WHILE x = 2 ,y = 2 ,z = 4FIN WHILE x = 2 ,y = 1 ,z = 5DEBUT WHILE x = 2 ,y = 1 ,z = 5FIN 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érativeimport 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("Entrez un nombre entre " + MIN + " et " + MAX + ":");
nombre = clavier.nextInt();
}
System.out.println("Votre nombre est valide");
}
}
Structure if imbriquée
Convergence vers la condition d’arrêt
Conditions d’entrée multiples
Instruction itérative
Opération 1
Condition
Opération 3
FAUX
Opération 2VRAI
Opération 1
Condition
Opération 3
FAUX
VRAI
Opération 2
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éraledo{
instructions à répéter tant que l’expression est différente de zéro
} while (expression);
Instruction itérativeimport 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!
top related