কম্পিউটার টিউটোরিয়াল

হিরোনের সূত্রে ত্রিভুজের ক্ষেত্রফল - JavaScript

ত্রিভুজের তিন বাহুর দৈর্ঘ্য জানলে হিরোনের সূত্র ব্যবহার করে ক্ষেত্রফল বের করা।

হিরোনের সূত্র

  1. অর্ধ-পেরিমিটার (s): s = (a + b + c) / 2
  2. ক্ষেত্রফল (A): A = √[s(s-a)(s-b)(s-c)]

সমাধান

const areaOfTriangle = (sides) => {
  const [a, b, c] = sides;
  
  // ত্রিভুজ অসমতা চেক (বৈধ ত্রিভুজ কিনা)
  if (a + b <= c || a + c <= b || b + c <= a) {
    throw new Error('Invalid triangle sides');
  }
  
  const s = (a + b + c) / 2; // সেমি-পেরিমিটার
  
  const area = Math.sqrt(
    s * (s - a) * (s - b) * (s - c)
  );
  
  return area;
};

// টেস্ট
console.log(areaOfTriangle([12, 4, 9]));  // 13.635...
console.log(areaOfTriangle([3, 4, 5]));   // 6 (রাইট ট্রায়্যাঙ্গেল)
console.log(areaOfTriangle([5, 5, 5]));   // 10.825... (সমবাহু)

// এজ কেস
try {
  console.log(areaOfTriangle([1, 2, 10])); // Error: Invalid triangle
} catch (e) {
  console.log(e.message);
}

ব্যাখ্যা

  • ডিস্ট্রাকচারিং: const [a, b, c] = sides
  • ত্রিভুজ অসমতা: যেকোনো দু বাহুর যোগফল তৃতীয় বাহুর চেয়ে বড় হতে হবে
  • Math.sqrt(): বর্গমূল বের করতে

উৎপাদন

13.635890143294644
  1. জাভাস্ক্রিপ্ট ব্যবহার করে '#' চিহ্ন দিয়ে ট্রায়্যাঙ্গেল প্রিন্ট করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে অটো-রিসাইজ টেক্সট এরিয়া তৈরি করা

  3. জাভাস্ক্রিপ্টে অ্যারেতে একমাত্র ইউনিক স্ট্রিং খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে সর্টেড অ্যারে থেকে টার্গেটের নিকটতম দুটি এলিমেন্ট খুঁজে বের করা