Implementation of all sutras of Unit-4 in computer lab using C / Python / any other programming language

unit નું ગણિત ચાલતો code બની જાય છે: થોડી C# methods આર્યભટનું pi નું approximate મૂલ્ય, શુલ્બ સૂત્રોની કાટખૂણ ત્રિકોણની ચકાસણી, અને બ્રહ્મગુપ્તનું cyclic quadrilateral નું ક્ષેત્રફળ ફરી ઉતારે છે, અને એ રીતે શાસ્ત્રીય પરિણામોને આ વિષયની ભાષા સાથે જોડે છે.

11 min read · 10 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

શ્લોકોથી C# સુધી

આ unit માં શાસ્ત્રીય ભારતીય ગણિતનાં ત્રણ નોંધાયેલાં પરિણામ આવ્યાં: આર્યભટનું pi નું approximate મૂલ્ય, શુલ્બ સૂત્રોનો કાટખૂણ ત્રિકોણનો સંબંધ, અને બ્રહ્મગુપ્તનું cyclic quadrilateral નું ક્ષેત્રફળ. તમારો અભ્યાસક્રમ એમની સાથે એક સંતોષકારક કામ કરવાનું કહે છે: એમને code માં ઉતારો.

આ વિષય .NET નો હોવાથી તમે એમને C# માં લખી શકો છો, એટલે કે એ જ ભાષામાં જે તમે આખું semester વાપરી છે, અને એ રીતે સદીઓ જૂનું ગણિત ચાલતી methods માં ફેરવાય છે. આ સામાન્ય programming કસરત છે; દરેક પરિણામ ટૂંકું અને સ્પષ્ટ function બને છે, જેનું પરિણામ તમે અગાઉના વિષયોમાં ગણી બતાવેલા દાખલાઓ સામે ચકાસી શકો છો.

Theory

આર્યભટનું pi

નિયમ યાદ કરો: 100 માં 4 ઉમેરો, 8 વડે ગુણો, 62000 ઉમેરો, એટલે 20000 ના વ્યાસ માટે પરિઘ 62832 મળે છે, અને તેથી pi લગભગ 62832 ભાગ્યા 20000 બરાબર 3.1416 થાય છે.

C# માં આ સીધું ભાષાંતર જ છે. અહીં આપણે C# નું built-in Math.PI ફક્ત વાંચી લેવાને બદલે નોંધાયેલી પદ્ધતિ, એટલે કે એ ચોક્કસ અંકગણિત, વ્યક્ત કરીએ છીએ, કારણ કે આ કસરતનો મુદ્દો આર્યભટની ગણતરી ફરી ઉતારવાનો છે.

Practical

આર્યભટનું pi નું approximate મૂલ્ય

// pi માટે આર્યભટનો નોંધાયેલો નિયમ ફરી ઉતારો
static double AryabhataPi()
{
    double circumference = (100 + 4) * 8 + 62000;   // 104*8 + 62000 = 62832
    double diameter = 20000;
    return circumference / diameter;                // 62832 / 20000 = 3.1416
}

// Console.WriteLine(AryabhataPi());   // 3.1416

Theory

શુલ્બની કાટખૂણ ચકાસણી અને બ્રહ્મગુપ્તનું ક્ષેત્રફળ

શુલ્બ સૂત્રોનો સંબંધ એક જ boolean કસોટી છે: ત્રણ બાજુઓ આપી હોય ત્યારે, a નો વર્ગ વત્તા b નો વર્ગ એ c ના વર્ગ બરાબર થાય છે? 3, 4, 5 માટે એ 9 વત્તા 16 બરાબર 25 થાય છે, જે 5 ના વર્ગ બરાબર છે, એટલે method true પાછું આપે છે.

બ્રહ્મગુપ્તનું cyclic quadrilateral નું ક્ષેત્રફળ ચારેય બાજુઓ લે છે, semi-perimeter s બરાબર (a+b+c+d)/2 બનાવે છે, અને (s-a)(s-b)(s-c)(s-d) નું વર્ગમૂળ પાછું આપે છે. બાજુઓ 4, 5, 7, 10 માટે s એ 13 થાય છે અને ક્ષેત્રફળ 36 થાય છે. બંને C# માં સફાઈથી ઊતરી જાય છે.

Practical

કાટખૂણ ચકાસણી અને બ્રહ્મગુપ્તનું સૂત્ર

using System;

// શુલ્બ સૂત્રો: આ કાટખૂણ ત્રિકોણ છે?  a*a + b*b == c*c
static bool IsRightTriangle(int a, int b, int c)
{
    return a * a + b * b == c * c;
}

// બ્રહ્મગુપ્ત: a, b, c, d બાજુઓવાળા cyclic quadrilateral નું ક્ષેત્રફળ
static double BrahmaguptaArea(double a, double b, double c, double d)
{
    double s = (a + b + c + d) / 2;                          // semi-perimeter
    return Math.Sqrt((s - a) * (s - b) * (s - c) * (s - d));
}

// Console.WriteLine(IsRightTriangle(3, 4, 5));      // true  (9 + 16 = 25)
// Console.WriteLine(IsRightTriangle(3, 4, 6));      // false (25 != 36)
// Console.WriteLine(BrahmaguptaArea(4, 5, 7, 10));  // 36  (sqrt of 1296)

Quiz

C# ના code માં BrahmaguptaArea(4, 5, 7, 10) બોલાવાય છે. એ શું પાછું આપશે, અને શા માટે?

  1. 26, એટલે કે બાજુઓનો સરવાળો
  2. 36, કારણ કે s બરાબર 13, અને (9 x 8 x 6 x 3) નું વર્ગમૂળ એટલે 1296 નું વર્ગમૂળ બરાબર 36
  3. 1296, એટલે કે વર્ગમૂળ લેતાં પહેલાંનું ગુણનફળ
  4. એક error, કારણ કે cyclic quadrilateral ગણી શકાતા નથી
Show the answer

36, કારણ કે s બરાબર 13, અને (9 x 8 x 6 x 3) નું વર્ગમૂળ એટલે 1296 નું વર્ગમૂળ બરાબર 36

Method પહેલાં s બરાબર (4+5+7+10)/2 બરાબર 13 ગણે છે, પછી Math.Sqrt((13-4)(13-5)(13-7)(13-10)) બરાબર Math.Sqrt(9863) બરાબર Math.Sqrt(1296) બરાબર 36. વિકલ્પ A (26) એ perimeter છે, જે code પાછું આપતું નથી. વિકલ્પ C (1296) એ વર્ગમૂળની અંદરનું ગુણનફળ છે; method એના પર Math.Sqrt બોલાવે છે અને 36 મળે છે, એટલે એ 1296 પર અટકતું નથી. વિકલ્પ D ખોટો છે: ગણતરી બરાબર ચાલે છે અને માન્ય સંખ્યા પાછી આપે છે. આ અગાઉના વિષયમાં ગણી બતાવેલું એ જ પરિણામ છે (ક્ષેત્રફળ 36), જે હવે C# ની થોડી લીટીઓથી મળે છે, અને એ બતાવે છે કે નોંધાયેલું સૂત્ર સીધું code માં ઊતરે છે.

Think first

C# માં Math.PI હોવા છતાં આર્યભટનું pi ફરી કેમ ઉતારવું?

C# તમને Math.PI મફતમાં આપી દે છે. તો પછી આર્યભટની ચોક્કસ ગણતરી code માં ઉતારવાનો મુદ્દો શું છે? વિચારીને પછી tap કરો.

Show the answer

મુદ્દો Math.PI ને બદલવાનો નથી, પણ ઐતિહાસિક પદ્ધતિને સમજવા અને ફરી ઉતારવા નો છે, અને શાસ્ત્રીય ગણિતને તમારાં પોતાનાં coding કૌશલ્યો સાથે જોડવાનો છે.

આર્યભટનો નિયમ code માં ઉતારવાથી તમારે એમનું approximate મૂલ્ય બરાબર કઈ રીતે બંધાયું એ પગલે પગલે અનુસરવું પડે છે, એટલે કે (100+4)*8 વત્તા 62000 ને 20000 વડે ભાગવું, અને એથી ઐતિહાસિક પરિણામ તથા 'pi સુધી approximate મૂલ્યો દ્વારા પહોંચાય છે' એ વિચાર, બંને પરની તમારી પકડ મજબૂત થાય છે.

એ જ શૈક્ષણિક કારણથી તમે library ના sort ને બોલાવવાને બદલે sorting algorithm જાતે લખો છો: પદ્ધતિ code માં ઉતારવી એ જ પદ્ધતિ શીખવે છે. Math.PI વાપરવાથી તો ફક્ત એક સંખ્યા હાથમાં આવે અને 3.1416 ક્યાંથી આવ્યું એ વિશે કશું શીખવા ન મળે.

આ કસરત એ પણ બતાવે છે કે ઘણી સદીઓ પહેલાં નોંધાયેલું ગણિત આધુનિક C# ની થોડી લીટીઓ પર સફાઈથી બેસી જાય છે, જે સમય આરપાર બંધાયેલો સંતોષકારક સેતુ છે, અને સાથે તમને ભાષાનો મહાવરો પણ મળે છે. એટલે ધ્યેય કાર્યક્ષમતા નહીં, પણ સમજ અને જોડાણ છે. કોઈ પરિણામને ખરેખર સમજવું હોય, તો એને જાતે code માં ઉતારો.

Watch out

Implementation માં પડતી ભૂલો

વર્ગ કરવાને બદલે બાજુઓ ઉમેરવી: કાટખૂણ ત્રિકોણની ચકાસણી aa + bb == c*c છે, a + b નહીં.

વર્ગમૂળ ભૂલી જવું: બ્રહ્મગુપ્તના સૂત્રમાં ગુણનફળનું Math.Sqrt લેવું જ પડે; એકલું ગુણનફળ (1296) એ ક્ષેત્રફળ (36) નથી.

Semi-perimeter માં integer ભાગાકાર: double વાપરો, જેથી (a+b+c+d)/2 કપાઈ ન જાય; s એ 13 થવું જોઈએ, ખોટી રીતે integer માં કપાવું ન જોઈએ.

Pi ફરી ઉતારવું અને ટૂંકો રસ્તો લેવો: આર્યભટનું ખરેખરું અંકગણિત વ્યક્ત કરો; ફક્ત Math.PI પાછું આપીને એને એમની પદ્ધતિ ન કહો.

Comments માં શ્લોકનું લખાણ ઉપજાવવું: comments factual રાખો; પદ્ધતિનો ઉલ્લેખ કરો, ઉપજાવેલા શ્લોકોનો નહીં.

Theory

BCA505 પૂરું

તમે C# માં આખા ASP.NET web application નો ખ્યાલ (FestConnect) ઊભો કર્યો, server controls અને events થી માંડીને data, state, configuration અને web services સુધી, અને એ જ ભાષામાં આર્યભટ, શુલ્બ સૂત્રો તથા બ્રહ્મગુપ્તનું શાસ્ત્રીય ભારતીય ગણિત પણ code માં ઉતાર્યું. .NET Technology નો આખો પ્રવાસ આ જ છે. IKS ના આ unit માટે તમારી સંસ્થાની સૂચનાઓ પ્રમાણે ચાલો; ગણિત ચોકસાઈથી રજૂ કરો અને તમારા સ્રોતોનો ઉલ્લેખ કરો. સરસ કામ.

Summary

Key takeaways

  • અભ્યાસક્રમ Unit 4 નાં નોંધાયેલાં પરિણામ code માં ઉતારવાનું કહે છે; આ .NET નો વિષય હોવાથી અહીં C# વપરાય છે.
  • આર્યભટનું pi: (100 + 4) * 8 + 62000 બરાબર 62832, જેને વ્યાસ 20000 વડે ભાગતાં 3.1416 મળે છે; ફક્ત Math.PI નહીં, પદ્ધતિ વ્યક્ત કરો.
  • શુલ્બ સૂત્રોની કાટખૂણ ચકાસણી aa + bb == c*c છે: IsRightTriangle(3, 4, 5) એ true પાછું આપે છે (9 વત્તા 16 બરાબર 25).
  • બ્રહ્મગુપ્તનું ક્ષેત્રફળ s બરાબર (a+b+c+d)/2 લે છે અને પછી Math.Sqrt((s-a)(s-b)(s-c)(s-d)): BrahmaguptaArea(4, 5, 7, 10) એ 36 પાછું આપે છે.
  • Integer નહીં પણ double વાળું અંકગણિત વાપરો, અને બ્રહ્મગુપ્તના સૂત્રમાં વર્ગમૂળ લેવાનું ભૂલશો નહીં.
  • એનું મૂલ્ય ઐતિહાસિક ગણિત સમજવામાં, એને code સાથે જોડવામાં અને C# નો મહાવરો કરવામાં છે, built-in functions ને બદલવામાં નહીં.
  • યાદ રાખવાની કડી: ત્રણ નોંધાયેલાં પરિણામ, ત્રણ ટૂંકી C# methods, પરિણામો 3.1416, true અને 36.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Principles of Mathematics, Geometry and Triangles in Ancient Indian Knowledge

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Implementation of all sutras of Unit-4 in computer lab using C / Python / any other programming language · .NET Technology (Major-13) · Gri-Learn