<?php
header('Content-Type: text/html; charset=utf-8');
define ('ROOT', $_SERVER['DOCUMENT_ROOT']);
include ROOT.'/assets/php/head.php';
$tit= '求三角形类型已知三边各长';
/**
* x边30 ,y为40,z为43
* x边30 ,y为40,z为50
* x边30 ,y为40,z为61
*/
$val='50 30 40';
$img='';
//调用方法
mill($val,$img,$tit);
/**
* mill 是磨粉机的方法
* $val 传值过来计算,以空格分割成数值
* $img 自定义图片名,默认以文件名为图片名
* $tit 标题名
* */
function mill($val,$img,$tit){
//初始化
include ROOT.'/assets/php/init.php';
imgt($img,$tit);
//设置小数点保留位数
bcscale (2);
//$pi = round(pi(),2);
//以空格分割成数值
$vals = expl($val);
$x = evev($vals[0]);
$y = evev($vals[1]);
$z = evev($vals[2]);
//已知条件
$know = array();
array_push($know, $val);
$v0 = eveq($vals[0]);
$v1 = eveq($vals[1]);
$v2 = eveq($vals[2]);
array_push($know, "设x边长为:{$v0}");
array_push($know, "设y边长为:{$v1}");
array_push($know, "设z边长为:{$v2}");
array_push($know, "进行数组排序赋值,a边长取最小值,b边长取中间值,c边长取最大值:");
$arr = array($x, $y ,$z);
sort($arr);
$a = $arr[0];
array_push($know, "a边长:{$a}");
$b = $arr[1];
array_push($know, "b边长:{$b}");
$c = $arr[2];
array_push($know, "c边长:{$c}");
if($c >= ($a+$b)){ array_push($know, "注意: {$c} 大于等于 {$math['lpar']}$a{$math['add']}$b{$math['rpar']},无法组成三角形");}
//计算步骤
$step = array();
array_push($step, "根据勾股定理假设出直角三角形的c边长:");
array_push($step, "{$math['eq']} {$math['root2l']}$a{$math['sup2']}{$math['add']}$b{$math['sup2']}{$math['root2r']}");
$aa = bcmul($a, $a);
$bb = bcmul($b, $b);
array_push($step, "{$math['eq']} {$math['root2l']}$aa{$math['add']}$bb{$math['root2r']}");
$aabb = bcadd($aa, $bb );
array_push($step, "{$math['eq']} {$math['root2l']}{$aabb}{$math['root2r']}");
$c2 = bcsqrt($aabb);
array_push($step, "{$math['eq']} $c2");
$c2c ='';
array_push($step, "c边长和假c边长进行比较:");
array_push($step, "那么是 {$c} 和 {$c2} 进行比较");
if($c < $c2){
$c2c = "{$c} 小于 {$c2} 是锐角三角形";
}else if($c == $c2){
$c2c = "{$c} 等于 {$c2} 是直角三角形";
}else{
$c2c = "{$c} 大于 {$c2} 是钝角三角形";
}
array_push($step, "得出结论:{$c2c}");
//算出结果
$ends = array();
array_push($ends, "假c的边长是: $c2");
array_push($ends, "进行比较得出结论:{$c2c}");
//公式表示
$home = array();
array_push($home, "根据勾股定理假设出直角三角形的c边长:假c{$math['eq']}{$math['root2l']}a{$math['sup2']}{$math['add']}b{$math['sup2']}{$math['root2r']}");
array_push($home, "c边长和假c边长进行比较:");
array_push($home, "c{$math['lt']}假c 是锐角三角形");
array_push($home, "c{$math['eq']}假c 是直角三角形");
array_push($home, "c{$math['gt']}假c 是钝角三角形");
array_push($home, "注意:c边不能大于等于a边和b边之和,否则无法组成三角形");
//公式说明
$info = array();
array_push($info, "由不在同一直线上的三条线段首尾顺次连接所组成的封闭图形叫做三角形。");
array_push($info, "三角形任意两边之和大于第三边,任意两边之差小于第三边。");
array_push($info, "锐角三角形:三角形的三个内角中最大角小于90度。");
array_push($info, "直角三角形:三角形的三个内角中最大角等于90度。");
array_push($info, "钝角三角形:三角形的三个内角中最大角大于90度,小于180度。");
know($know);
ends($ends);
home($home);
step($step);
info($info);
}
?>
<?php include ROOT.'/assets/php/foot.php'; ?>
结果:
☁参考上图[2022-11-28]
☀求三角形类型已知三边各长
50 30 40
设x边长为:50
设y边长为:30
设z边长为:40
进行数组排序赋值,a边长取最小值,b边长取中间值,c边长取最大值:
a边长:30
b边长:40
c边长:50
♠算出结果
假c的边长是: 50.00
进行比较得出结论:50 等于 50.00 是直角三角形
♦公式表示
根据勾股定理假设出直角三角形的c边长:假c=√₍a²+b²₎
c边长和假c边长进行比较:
c<假c 是锐角三角形
c=假c 是直角三角形
c>假c 是钝角三角形
注意:c边不能大于等于a边和b边之和,否则无法组成三角形
♣计算步骤
根据勾股定理假设出直角三角形的c边长:
= √₍30²+40²₎
= √₍900.00+1600.00₎
= √₍2500.00₎
= 50.00
c边长和假c边长进行比较:
那么是 50 和 50.00 进行比较
得出结论:50 等于 50.00 是直角三角形
♥公式解释
由不在同一直线上的三条线段首尾顺次连接所组成的封闭图形叫做三角形。
三角形任意两边之和大于第三边,任意两边之差小于第三边。
锐角三角形:三角形的三个内角中最大角小于90度。
直角三角形:三角形的三个内角中最大角等于90度。
钝角三角形:三角形的三个内角中最大角大于90度,小于180度。
标签:三边,各长,step,边长,push,array,三角形,math,100020
From: https://www.cnblogs.com/onestopweb/p/16932956.html