Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PERMET D'OBTENIR N PUISSANCE P(PUISSANCES NEGATIVES ET POSITIVES) EN TURBO PASCAL


Information sur la source

Catégorie :Turbo Pascal Niveau : Débutant Date de création : 13/09/2002 Date de mise à jour : 13/09/2002 20:49:05 Vu : 4 002

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

On rentre un nombre n puis l'exposant p. Le programme renvoit n puissance p meme si p est negatif
 

Source

  • program carre;
  • uses
  • crt;
  • var nombre,entier,exposant:real;
  • function caree(var entier,exposant:real):real;
  • var
  • i:integer;
  • CopieEntier:real;
  • begin
  • if( exposant >0) then begin
  • CopieEntier:=entier;
  • for i:=1 to trunc(exposant-1) do
  • entier:=CopieEntier*entier;
  • end
  • else begin
  • CopieEntier:=entier;
  • exposant:=-exposant;
  • entier:=1/(caree(entier,exposant))
  • end;
  • caree:=entier;
  • end;
  • begin
  • clrscr;
  • write('Taper un nombre : ');
  • readln(entier);
  • write('Taper sa puissance : ');
  • readln(exposant);
  • if exposant <> 0 then
  • nombre:=caree(entier,exposant)
  • else
  • nombre:=1;
  • writeln('Nombre = ',nombre);
  • readln
  • end.
program carre;
uses
	crt;
var 	nombre,entier,exposant:real;

function caree(var entier,exposant:real):real;
var
	i:integer;
	CopieEntier:real;
begin
	   if( exposant >0) then begin
      	CopieEntier:=entier;
   		for i:=1 to trunc(exposant-1) do
		  		entier:=CopieEntier*entier;
      end
      else begin
      	CopieEntier:=entier;
            exposant:=-exposant;
         	entier:=1/(caree(entier,exposant))
      end;
   	caree:=entier;
end;

begin
   clrscr;
   write('Taper un nombre : ');
   readln(entier);
   write('Taper sa puissance : ');
   readln(exposant);
   if exposant <> 0 then
		nombre:=caree(entier,exposant)
   else
   	nombre:=1;
   writeln('Nombre = ',nombre);
   readln
end.

Conclusion

N'hésitez pas a faire vos commentaires.
Pour d'autres sources allez sur mon site:
http://manius.free.fr
 

Commentaires et avis

signaler à un administrateur
Commentaire de Nono40 le 13/09/2002 23:52:43

Ca me parait bien long comme procédure.

N'oublie pas que dans toute fonction on peut utiliser la variable Result:
function caree(var entier,exposant:real):real;
var i:integer;
begin
  Result:=1;
  if( exposant &gt;=0)
    then for i:=1 to trunc(exposant) do Result:=Result*entier
    Else for i:=1 to trunc(exposant) do Result:=Result/entier;
end;
De plus dans ce cas elle fonctionne aussi pour exposant=0, ce n'est donc plus nécessaire de le tester avant l'appel.

A noter aussi que l'unité Math fournit la fonction :
function Power(const Base, Exponent: Extended): Extended;

Nono.

signaler à un administrateur
Commentaire de Gysmo le 14/09/2002 18:42:20

Ou encor plus simple, utiliser Exp et Log.
http://www.delphifr.com/article.aspx?Val=216

Mais je ne sais se que cela peux donner avec TP...

signaler à un administrateur
Commentaire de Leirn le 04/11/2002 20:01:30

ca serai pas plus efficace de faire de l'exponentiation bianire si tu tiens vraiment a faire des elevations a la puissance? pcq la je doute de l'efficacité qd meme

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.