cours0708/G5a/Cours/Puissance1.java

40 lines
1.8 KiB
Java
Raw Normal View History

/* Ceci est un premier programme tr<EFBFBD>s simple mettant en oeuvre
quelques notions de base java */
import iutsud.Console; // import de la classe Console du package iutsud pour les entr<74>es-sorties
/** Classe qui saisit <20> la console 2 entiers et qui affiche leur puissance */
public class Puissance1{ /* classe principale et unique de notre petit programme. RQ : elle
a le meme nom que le fichier source */
/** methode principale de la classe */
public static void main (String[] args) {
int x; //declaration d'une variable x de type entier
int y; //idem
String ps = " puissance "; // declaration et initialisation d'une chaine de caracteres
System.out.print ("x : "); //affichage sur la sortie standard (ecran DOS)
x=Console.readInt(); // lecture sur l'entree standard (clavier)
System.out.print ("y : ");
y=Console.readInt();
System.out.println ("Calcul de "+x+ps+y); /*attention c'est le + de la concat<EFBFBD>nation !
Que donnerait println (x+y+ps+x+y) ? */
System.out.println (x+ps+y+" = "+ puissance(x,y)); //appel d'une autre methode de la classe
}
/** fonction <20> 2 param<61>tres : calcul de a puissance k avec l'algorithme egyptien*/
public static int puissance (int a, int k) { //autre methode de ma classe avec 2 parametres
int res,p; //declaration de 2 entiers locaux <20> cette methode
res = 1;
p=a; //affectations
while (k>0) {
int div=2; //declaration d'une variable locale <20> la boucle while
if (k%div ==1) { // comparaison : attention <20> la confusion entre = et ==
res=res*p;
}
p=p*p;
k=k/2;
}
return res; // valeur de retour de l'expression puissance(x,y)du main
}
}