หน้าแรก > คำถาม
คำถาม
ต้องการสูตรคำนวนหาพื้นที่สามเหลี่ยม ในVB ค่ะ
เขียนโปรแกรม 23/6/53 โพสต์โดย Tran123
คำตอบ
1 จาก 3
ต้องเขียน เป็น Option ให้เลือกก่อนว่า สามเหลี่ยมประเภทใด เช่น หน้าจั่ว ด้านเท่า ด้านไม่เท่า มุมฉาก
ตัวด้านไม่เท่า ยากหน่อย ต้องระบุความสูงได้หรือ มุมได้
แต่ถ้าำไม่คิดมาก ก็ 1/2 * สูง * ฐาน คือบังคับเลยให้ใส่ค่าแค่นี้ ใส่เป็นมุมไม่ได้
รูปแบบ
โพรซิเยอร์
ตัวแปร 1, 2 รับข้อมูล 3เก็บผลลัพธ์ แบบตัวเลข
เริ่ม
เขียนหน้าจอรับข้อมูล 2 ช่องจากส่วนออกแบบ ระบุเป็น ความกว้างฐาน และ ความสูงจากฐานสู่ยอด
รับตัวแปร ที่1  ความกว้างฐาน
รับตัวแปร ที่2  ความสูงจากฐานสู่ยอด
เข้าสมการ รับค่าไปเก็บไว้ ที่ 3        (3) = 1/2 * (1) * (2)
แสดง ผล3
จบ
23/6/53 โพสต์โดย monowall
2 จาก 3
แนวคิดที่จะทำให้การคำนวณง่ายที่สุด คือการกำหนดลักษณะของสามเหลี่ยมก่อนครับ

วิธีที่ทำให้คำนวณง่าย ๆ คือ บังคับเรื่องต่อไปนี้
1. จุดเริ่มต้นจุดใดจุดหนึ่งของรูปสามเหลี่ยม
2. เส้นด้านหนึ่งจะอ้างอิงกับแกน X เสมอ
3. ให้ผู้ใช้กำหนดพิกัด (x,y) ของจุดที่สาม

ดังนั้นวิธีคำนวณจะเป็นการคำนวณจากจุด (0,0) ----- (x,0) ------- และ (x1,y)
วิธีการคำนวณ ขึ้นกับพิกัดของจุดที่สามเป็นหลัก กล่าวคือ

หากจุด x1,y มีค่าเป็น (0,y) แปลว่า ความสูงเท่ากับ y มีระยะฐานเท่ากับ x สามารถใช้สูตร 0.5 * x * y ได้เลย
หากจุด x1,y มีค่า x1 น้อยกว่า x ต้องคำนวณสองครั้งคือ
          รูปที่หนึ่ง ใช้สูตร 0.5 * x1 * y บวกกับ
          รูปที่สอง ใช้สูตร 0.5 * (x - x1) * y
หากจุด x1,y มีค่าเป็น (x,y) หรือในอีกนัยหนึ่งคือ x1 = x แล้วใช้สูตรคล้ายกับอันแรกคือ 0.5 * x * y ได้ทันทีเช่นกัน
แต่หาก x1 > x จะต้องคำนวณสองครั้ง โดยหักกลบกันคือ
          รูปที่หนึ่ง ใช้สูตร 0.5 * x1 * y ลบด้วย
          รูปที่สอง ใช้สูตร 0.5 * (x1-x) * y


แนบรูปไม่เข้า งั้นเอา Link ไปดูเพื่อประกอบคำอธิบายนะครับ http://img405.imageshack.us/img405/1225/3angle.jpg

ส่วนเรื่อง CODE ผมเชื่อว่าน่าจะเขียนได้เองครับ ^_^
21/2/54 โพสต์โดย P.Ostakul
3 จาก 3
โปรแกรมหาพื้นที่สามเหลี่ยมใด ๆ  เมื่อทราบความยาวด้านทั้ง  3  ภาษา  C++

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
  float s,a,b,c,A;
  printf("a =  ");
  scanf("%f",&a);
  printf("b =  ");
  scanf("%f",&b);
  printf("c =  ");
  scanf("%f",&c);
  s = (a+b+c)/2
  A = sqrt(s*(s-a)*(s-b)*(s-c));
  printf(" A = %f\n",A);
getch();
}
17/10/54 โพสต์โดย นกน้อย
นอกจากนี้คุณอาจสนใจ
สูตรการหาฐานของรูปสามเหลี่ยม
สูตรหาพื้นที่ฐาน10สูตร
ผมอยากทราบว่าทำไมในสูตรของ Excel ทำไม่มีสูตรคำนวน ลบ คูณ หาร ขอบคุณครับ
ความยาวของฐาน กับ ฐาน เหมือนกันไหมค่ะ
ช่วยทำด้วยครับ
เข้าสู่ระบบ
ดู กูรู ใน: โทรศัพท์มือถือ | คลาสสิก
©2014 Google - นโยบายส่วนบุคคล - ผู้ช่วยกูรู