Page 1 sur 1

Calcul avec puissance

Posté : 20 oct. 2008, 16:02
par Graphix
Bonjour,

pour vous faire un résumé rapide, je suis un débutant en PHP et j'aimerai, via un formulaire, faire un calcul. Mais pour commencer, j'aimerai le faire sans formulaire (pour faire simple.


Voici donc où j'en suis :

<?php
function mdm($niveau)
{
   $metal = 60 * (1.5^($niveau - 1));
   return $metal;
}

$metal = mdm(21);
echo "Metal : $metal";
?>

Le résultat qui m'est renvoyé est "1260".
Pourtant 60 * 1.5^20 = 199515,4038

J'aimerai volontier un peu d'aide :)

Posté : 20 oct. 2008, 17:12
par Calimero
En php l'opérateur ^ ne représente pas la puissance, mais le XOR logique (cf http://fr.php.net/manual/fr/language.op ... itwise.php);

Ton code marche correctement si tu utilises la fonction pow() à la place du ^.

Posté : 20 oct. 2008, 17:35
par Graphix
D'accord, merci pour l'information :)

Posté : 20 oct. 2008, 18:28
par Truc
Modération :
Graphix, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

Posté : 21 oct. 2008, 09:44
par Graphix
Je voulais tester avant de le faire ;)

J'ai testé et n'y arrive pas, je suis vraiment débutant de chez débutant. J'ai mis :

<?php
 function mdm($niveau, $facteur)
 {
  $metal = 60 * $niveau * $facture;
  return $metal;
 }
 
 $metal = mdm(15, 2);
 echo "Metal : $metal";
 
 echo pow(-1, 20);
?>
Mais rien ne s'affiche :S

Posté : 21 oct. 2008, 14:32
par Calimero
Je ne comprends pas ce que tu fais.

Ce que j'ai fait : j'ai testé le code que tu as posté hier, puis j'ai remplacé dedans l'opérateur ^ par un appel à la fonction pow(), et cela m'a donné le résultat que tu attendais initialement et qu'on peut vérifier simplement avec la calculatrice.

Je ne comprends pas les modifications que tu as apportées à ce code pour obtenir le code que tu soumets aujourd'hui.

Quelques conseils donc :
- Quand un code ne marche pas en l'état, il est généralement préférable de le faire fonctionner avant d'y apporter des modifications telles que l'ajout d'une variable supplémentaire.
- Il y a une erreur de syntaxe dans le code que tu soumets aujourd'hui que PHP devrait te signaler si tu étais dans une configuration de développement qui t'affiche toutes les erreurs. Tu peux ajouter cette ligne au tout début de ton script pour le constater (cela va t'aider) :
error_reporting(E_ALL); // Reporte toutes les erreurs PHP
- l'écriture pow($x,$y) équivaut à la valeur de $x à la puissance $y.

Si tu as une incompréhension quelquepart, n'hésite pas à nous en faire part pour qu'on puisse t'aider.

Posté : 21 oct. 2008, 19:24
par Graphix
Je ne sais pas non plus ce que j'ai essayé de faire :roll:

J'ai modifié mon code de façon plus logique et ça marche. Merci pour l'aide :)