begin process at 2010 02 10 07:29:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Turbo Pascal

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

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


 Information sur la source

Note :
Aucune note
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 593

Auteur : manius

Ecrire un message privé
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


 Sources du même auteur

PETIT REPERTOIRE TELEPHONIQUE EN PASCAL

 Sources de la même categorie

CONVERSION D'UN NOMBRE COMPRIS 0 ET 999999999999999999 (18 C... par Hror
JEU DE BOULE par abdellahsaida
Source avec Zip ALGORITHME DU JEU TETRIS par darrylsite
Source avec Zip LE JEU NGRI-NGRAN par darrylsite
Source avec Zip CONVERSION D' UN NOMBRE EN TOUTES LETTRES par darrylsite

Commentaires et avis

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.

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...

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales