Bonjour,

Voila j'ai fait un petit algo pour mettre un nombre A^B.
J'aimerai savoir si cette algo est correct ou non, il me semble que j'ai repris "tous" les cas pour les puissances d'un entier.

Voila l'algo en question (il s'agit d'une fonction)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Fonction puissance (E: A,B : entier) : entier
 
Déclaration
I, Pows, Z : entier
 
Début
Pows = A
 
Si A ! = 0 et B = 0
	Alors Retourner 1
	Sinon 
	Si A = 0 et B > 0
		Alors 
		Retourner 0
	Sinon 
	Si (A = 0 et B = 0) ou (A = 0 et B < 0)
		Alors 
		Retourner "Je ne sais pas quoi mettre car il faut un entier or c'est une forme inderterminée"						
	Sinon 
	Si A > 0 et B > 0
		Alors
			Pour I allant de 1 à B faire
				Pows <- Pows*A
			Fin Pour
		Retourner Pows			
	Sinon
	Si A > 0 et B < 0
		Alors
			Z = B * -1
			Pour I allant de 1 à Z faire
				Pows <- Pows/A
			Fin Pour
		Retourner Pows	
	Sinon
		Si A < 0 et B < 0
			Alors
				Pour I allant de 1 à -B faire
					Pows <- Pows/A
				Fin Pour
			Retourner Pows	
	Sinon
	Si A < 0 et B > 0
		Alors
			Pour I allant de 1 à B faire
				Pows <- Pows*A
			Fin Pour
			Retourner Pows	
	Fin Si		
	Fin Si		
	Fin Si	
	Fin Si	
	Fin Si		
	Fin Si		
Fin Si	
 
Fin puissance
Les questions que je me pose sont les suivantes:
Es-ce que l'algo est correcte ?
Es-ce qu'il n'y a pas plus simple pour calculer des puissances d'entier en "intératif" ?

J'ai aussi un problème pour la forme indeterminée que ce que je peux renvoyer car c'est de l'entier or il faudrait retourner une chaîne de caractère.

Il est vrai que je me suis inspiré d'un programme en C pour faire l'algo (je suis une bille en algo et encore plus en math )

Merci de votre aide .

Cordialement,
Darkenshin.

.: Edit :.
Correction au niveau de l'initisalition et de la pagination