begin process at 2012 02 09 03:04:14
  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 :5 936

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

Source avec Zip CONVERTIR NOMBRE EN CARACTERES par 520550
Source avec Zip JEU DE CULTURE par sliven
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

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

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,434 sec (4)

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