begin process at 2012 02 12 19:00:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > LONGUEUR DE L'HYPOTENUSE, LE TRIANGLE EST-IL RECTANGLE PYTHAGORE

LONGUEUR DE L'HYPOTENUSE, LE TRIANGLE EST-IL RECTANGLE PYTHAGORE


 Information sur la source

Note :
4 / 10 - par 2 personnes
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :pythagore, rectangle, triangle, hypoténuse, géométrie Niveau :Débutant Date de création :18/12/2007 Date de mise à jour :19/12/2007 13:52:55 Vu / téléchargé :17 824 / 66

Auteur : lucas74

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Ce script comprend 2 fonctions :
-calculer la longueur de l'hypoténuse d'un triangle rectangle : fonction hypotenuse()
-calculer la longueur d'un autre côté : fonction pythagore()
-savoir si un triangle est rectangle : fonction isRectangle()
------------------------------------ --------------------------------
D'après le théorème de Pythagore (je suis en 4° donc en plein dedans lol !!)

Source

  • <?php
  • //theoreme
  • function hypotenuse($cote1,$cote2) {
  • // Si un triangle est rectangle, alors le carre de la longueur de l'hypoténuse est égal a la somme
  • // des carrés de longueurs des deux autres cotes
  • if($cote1 && $cote2)
  • {
  • $hyp_carre=pow($cote1,2)+pow($cote2,2);
  • $hyp=sqrt($hyp_carre);
  • return $hyp;
  • }
  • else
  • {
  • return false;
  • }
  • }
  • function pythagore($cote1,$cote2) {
  • if($cote1 && $cote2)
  • {
  • $tmp=array($cote1,$cote2);
  • sort($tmp);
  • $cote=pow($tmp[1],2)-pow($tmp[0],2);
  • $cote=sqrt($cote);
  • return $cote;
  • }
  • else
  • {
  • return false;
  • }
  • }
  • //reciproque
  • function isRectangle($cote1,$cote2,$cote3) {
  • // Si le carré de la longueur du plus grand coté d'un triangle est égal à la somme des carrés
  • // des longueurs des deux autres cotés, alors ce triangle est rectangle !
  • $tmp=array($cote1,$cote2,$cote3);
  • sort($tmp);
  • $long_hyp=pow($tmp[2],2);
  • $long_cote=pow($tmp[1], 2)+pow($tmp[0],2);
  • if($long_hyp==$long_cote)
  • return true;
  • else
  • return false;
  • }
  • echo hypotenuse(4,3);
  • //affiche 5
  • echo pythagore(5,3);
  • //affiche 4
  • if(isRectangle(4,3,5))
  • echo '<p>rectangle !!!</p>';
  • else
  • echo '<p>Pas rectangle,ou argument manquant</p>';
  • //affiche <p>rectangle !!!</p>
  • ?>
<?php 
//theoreme
function hypotenuse($cote1,$cote2) {
// Si un triangle est rectangle, alors le carre de la longueur de l'hypoténuse est égal a la somme
// des carrés de longueurs des deux autres cotes
	if($cote1 && $cote2)
	{
		$hyp_carre=pow($cote1,2)+pow($cote2,2);
		$hyp=sqrt($hyp_carre);
		return $hyp;
	}
	else
	{
		return false;
	}
}

function pythagore($cote1,$cote2) {
	if($cote1 && $cote2) 
	{
		$tmp=array($cote1,$cote2);
		sort($tmp);
		$cote=pow($tmp[1],2)-pow($tmp[0],2);
		$cote=sqrt($cote);
		return $cote;
	}
	
	else
	{
	return false;
	}
}

//reciproque
function isRectangle($cote1,$cote2,$cote3) {
// Si le carré de la longueur du plus grand coté d'un triangle est égal à la somme des carrés
// des longueurs des deux autres cotés, alors ce triangle est rectangle !
	$tmp=array($cote1,$cote2,$cote3);
	sort($tmp);
	$long_hyp=pow($tmp[2],2);
	$long_cote=pow($tmp[1], 2)+pow($tmp[0],2);
	if($long_hyp==$long_cote)
	 return true;
	else
	 return false;
}

echo hypotenuse(4,3);
//affiche 5

echo pythagore(5,3);
//affiche 4

if(isRectangle(4,3,5))
echo '<p>rectangle !!!</p>';
else
echo '<p>Pas rectangle,ou argument manquant</p>';
//affiche <p>rectangle !!!</p>
?>

 Conclusion

Avez-vous des remarques sur mon code, sa propreté ?

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

19 décembre 2007 10:02:26 :
La fonction isRectangle trouve automatiquement quel est le plus grand côté.
19 décembre 2007 10:16:55 :
Alégement du code
19 décembre 2007 13:52:55 :
Rajout de la fonction pythagore(), qui calcule la longueur d'un cote d'un triangle rectangle qui n'est pas l'hypoténuse.

 Sources du même auteur

Source avec Zip Source avec une capture VALIDER AUTOMATIQUEMENT UNE PAGE AVEC W3C (STANDARDS HTML XH...
Source avec Zip Source avec une capture COMPTEUR DE VISITES AVEC IMAGE PNG

 Sources de la même categorie

EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
CLEF POUR EAN 13 ET 14 par RaftY
FONCTION DE CALCUL DU NOMBRE DE DUEL UNIQUE POUR UN NOMBRE N... par mtrix000
Source avec Zip Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip CONVERTISSEUR LAMBERT2 ÉTENDU EN COORDONNÉE GÉOGRAPHIQUE (LO... par varfendell

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip PYTHAGORE, CA RECIPROQUE ET SON THEOREME par samychtran
RÉCIPROQUE DU THÉORÈME DE PYTHAGORE par geantfire
Source avec une capture GÉNÉRER N LIGNES DU TRIANGLE DE PASCAL ( UTILE POUR DÉVELOPP... par GoGo_xD
Source avec Zip Source avec une capture DROITE PERPENDICULAIRE À UNE ÉQUATION RÉDUITE DE DROITE DANS... par puisea

Commentaires et avis

Commentaire de neigedhiver le 18/12/2007 22:15:57

Salut,

Juste pour alléger le code :

function estRectangle($hyp, $cote1, $cote2) {
  return ($hyp && (pow($hyp, 2) == (pow($cote1, 2) + pow($cote2, 2))));
}

C'est plus léger, et je pense que c'est plus performant, parce qu'il n'y a pas de boucle if.

Ce qui serait plus intéressant, c'est de pouvoir passer les longueurs des côtés en arguments dans n'importe quel ordre. Avec ton code, on suppose qu'on sait forcément quel est le plus grand côté. Ce qui oblige à un traitement avant (dans le cas de calculs automatisés), et c'est un petit peu dommage.

Commentaire de lucas74 le 18/12/2007 22:32:35

Ok merci je vois ça demain !
Je vais rechercher dans mon bouquin une fonction pour comparer des nombres, et je code ça !
@+ et joyeuses fêtes lol.

Commentaire de malik7934 le 19/12/2007 09:41:18

En géométrie, une triangle rectangle a FORCEMENT son hypothénuse qui est le plus grand côté puisqu'elle fait 2 fois le rayon, ce qui est la longueur max possible (rappelons qu'un triangle rectangle s'inscrit dans un cercle).

Donc, pour faire plaisir à NEIGEDHIVER, il suffit de récupérer l'argument le plus grand (avec max) et de regarder si la racine de la somme des carrés des deux autres a la même valeur:

function isRectangle($a,$b,$c){
   $tmp = sort(array($a,$b,$c));
   $hyp = $tmp[2];
   $cote1 = $tmp[0];
   $cote2 = $tmp[1];
   return ($hyp && (pow($hyp, 2) == (pow($cote1, 2) + pow($cote2, 2))));
}
// pas testé...

Commentaire de malik7934 le 19/12/2007 09:42:02

Oubliez le "(avec max)", sort va très bien pour ça...

Commentaire de lucas74 le 19/12/2007 09:56:18

Only variables can be passed by reference
pour le code :
function isRectangle($cote1,$cote2,$cote3) {
// Si le carré de la longueur du plus grand coté d'un triangle est égal à la somme des carrés
// des longueurs des deux autres cotés, alors ce triangle est rectangle !
if($cote1 && $cote1 && $cote2)
{
$tab=sort(array($cote1,$cote2,$cote3));
$long_hyp=pow($tab[2],2);
$long_cote=pow($tab[1], 2)+pow($tab[0], 2);
if($long_hyp==$long_cote)
return true;
else
return false;
}
else
{
return 0;
}
}

Commentaire de xaraan le 23/12/2007 14:23:25 7/10

C'est un bon exercice pour débuter. Je te conseillerais d'appliquer les modifications proposées dans les commentaires mais aussi de réunir toutes fonctions dans une classe "statique" (classe abstraite et méthodes statiques) Triangle, par exemple.

Commentaire de zoukozouko le 25/12/2007 17:34:43 1/10

Y en a dejà 10 000 des sources comme ça ici.
C'est pas un site qui sert à se faire évaluer, ("Avez-vous des remarques sur mon code, sa propreté ? ")sur va sur le forum pour ça...
Là tu n'apportes rien a personne, ce genre de source existe de partout.
Donc si tu dois poster une source, c'est qu'avant tu as cherché si elle n'existait pas déjà... pour ne pas polluer le site de sources inutiles...

Commentaire de lucas74 le 25/12/2007 19:38:45

ok merci beaucoup

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

help plz [ par rours ] voila mon probleme,&nbsp;&nbsp; j ai une carte de la france avec plusieur rectangle dessus, chacun de ces "rectangle " est un lien vers un autre site, un piti coup de pouce plz ;D [ par rours ] bon voila, j ai une carte de la france avec des gros rectangle, je veu que lorsque je lick sur les rectangle une page s'affiche(sa c bon je sai le fai Problème fonctions GD [ par puisea ] Bonsoir, alors je d&#233;bute&nbsp; en fonctions GD pour faire des figures math&#233;matiques simples enfin bref, je test d&#233;ja une partie de code Ne pas afficher rectangle blanc et croix rouge [ par bakalai ] Bonjour,Je cherche a ne pas afficher le rectangle blanc avec la croix rouge sous Internet Explorer.J'ai essayé avec Mozilla et Opera c'edt OK.Voici le Motif de remplissage d'un rectangle (avec imagefilledrectangle ?) [ par flexx ] BonjourAfin de différencier les différentes zones d'un graphique généré en PHP lors d'une impression en noir &amp; blanc, je souhaiterais remplacer la Ne pas afficher rectangle croix rouge avec IE [ par Eynol ] Bonjour à tous, je suis designer et j'ai du reprendre un site en php. Je comprends un peu php mais j'ai besoin de vos lumières. D'autant plus que le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,154 sec (3)

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