Модул за геометрични фигури

Да се създаде модул с функции, улесняващи решаването на геометрични задачи, който съдържа следните функции:

  1. Функция за проверка дали една един правоъгълник е квадрат
  2. Функция за проверка дали 3 числа са валидни страни на триъгълник
  3. * Функция за проверка вида на триъгълник – равнобедрен, равностранен, правоъгълен, друг
  4. Функции за пресмятане на лице и обиколка на квадрат, правоъгълник, кръг, триъгълник
  5. Процедура, която получава параметрите на правоъгълник и извежда пълната информация за него: дали е квадрат и лицето и обиколката му
  6. Процедура, която получава три числа и извежда пълната информация: дали са страни на триъгълник, видът му и и лицето и обиколката му

Напишете програма, която демонстрира този модул.

Публикувано в 10a с етикети . Постоянна връзка.

16 Responses to Модул за геометрични фигури

  1. Alya каза:

    Правена е и с Вики

    program Project1;
    
    uses Unit1;
    
    var
      A, B: integer;
    
    begin
       Write('Vavedete strana na pravoagalnik: ');
       Readln(A);
       Write('Vavedete strana na pravoagalnik: ');
       Readln(B);
       if Kvadrat(A, B) then
       Writeln('Kvadrat e') else
       Writeln('Ne e kvadrat')  ;
       readln;
    end.  

    Модул:

         
    unit Unit1;
    
    interface
    
    function Kvadrat(A, B: integer): boolean;
    
    
    implementation
     function Kvadrat(A, B: integer): boolean;
     begin
      if A=B then Result:= true
      else Result:=false;
     end;
    
    end.     
      
  2. Боряна каза:

    модула:

    unit formuli;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils;
    
    function DaliEKvadrat(a, b: integer): boolean;
    function ValidniStrani(a, b, c: integer): boolean;
    function PnaPravoagalnik(a, b: integer): integer;
    function SnaPravoagalnik(a, b: integer): integer;
    
    implementation
    function DaliEKvadrat(a, b: integer): boolean;
    begin
     Result:=(a=b)
    end;
    
    function ValidniStrani(a, b, c: integer): boolean;
    begin
      Result:=False;
      if ((((a+b)>c) or ((a+c)>b)) or ((b+c)>a)) then
      Result:=True;
    end;
    
    function PnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=2*(a+b);
    end;
    
    function SnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=a*b;
    end;
    
    end.
    

    и програмата:

    program Figuri;
    
    uses formuli;
    
    var
      a, b, c: integer;
    begin
      //проверка за квадрат
      WriteLn('Vavedete stranite na pravoagalnika (razdeleni s pauzi): ');
      ReadLn(a, b);
      WriteLn('Kvadrat li e? ', DaliEKvadrat(a, b));
      WriteLn;
    
      //проверка за валидни страни на триъгълник
      WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
      ReadLn(a, b, c);
      WriteLn('Validni li sa? ', ValidniStrani(a, b, c));
      WriteLn;
    
      //лица и обиколки
      WriteLn('Vavedete strani na pravoagalnika.');
      Write('a=');
      ReadLn(a);
      Write('b=');
      ReadLn(b);
      WriteLn('P=', PnaPravoagalnik(a, b), '; S=', SnaPravoagalnik(a, b));
      ReadLn;
    end. 
    
  3. procsy каза:
    program project1;
    uses Unit1;
      var a, b, g:integer;
    begin
    Writeln('Vavedete Uglite na triugulnika');
    readln(a,b,g);
    uglinatriugulnik(a,b,g);
    writeln('Vida triugulnika  e');
    VidTriugulnik(a,b,g);
    readln;
    end. 
     unit Unit1;
    
    {$mode objfpc}{$H+}
    interface
    
    uses
      Classes, SysUtils;
    
    Procedure uglinatriugulnik( A,b,g:integer);
    Procedure VidTriugulnik( a,b,g:integer);
    
    implementation
    
    Procedure uglinatriugulnik( a,b,g:integer);
    begin
      If a+b+g=180 then
        writeln ('Vavedenata figura e Triugulnik')
      else
        writeln('Vavedenata figura ne e triugulnik');
    end;
    
    Procedure VidTriugulnik( a,b,g:integer);
    begin
       If (a=90) or (b=90) or (g=90) then
          Write('Pravougulen')
       else If (a=60) and (b=60) and (g=60) then
              Write('ravnostranen')
       else If (a=b) or (b=g) or (a=g) then
          Write('ravnobedren')
       else
          Write('raznostranen');
    end;
    
    end.
     

    File: project1.lpr
    File: unit1.pas

  4. Alya каза:

    Подобрена :D
    Програма:

    program project1;
    
    uses Unit1;
    
    var
      A, B, C: integer;
      Vid: TVidTr;
    begin
       Write('Vavedete strana na pravoagalnik: ');
       Readln(A);
       Write('Vavedete strana na pravoagalnik: ');
       Readln(B);
       if Kvadrat(A, B) then
       Writeln('Kvadrat e') else
       Writeln('Ne e kvadrat');
       Writeln;
    
       Write('Vavedete strana na triagalnik: ');
       ReadLn(A);
       Write('Vavedete strana na triagalnik: ');
       ReadLn(B);
       Write('Vavedete strana na triagalnik: ');
       ReadLn(C);
       Vid:= VidTr(A,B,C);
       if Vid=Raznostranen then
       Writeln('Triagalnikat e raznostranen.');
       if Vid=Ravnobedren then
       Writeln('Triagalnikat e ravnobedren.');
       if Vid=Ravnostranen then
       Writeln('Triagalnikat e ravnostranen.');
       readln;
    end.                        
     

    Модул:

    unit Unit1;
    
    interface
    type
      TVidTr=(Raznostranen=1, Ravnobedren, Ravnostranen);
    
    function Kvadrat(A, B: integer): boolean;
    function VidTr(A, B, C: integer): TVidTr;
    
    implementation
     function Kvadrat(A, B: integer): boolean;
     begin
      if A=B then Result:= true
      else Result:=false;
     end;
      function VidTr(A, B, C: integer): TVidTr;
      begin
       if (A<>B) and (B<>C) and (A<>C) then
         Result:= Raznostranen;
       if (A=B) or (B=C) or (A=C) then
         Result:= Ravnobedren;
       if (A=B) and (B=C) and (A=C) then
         Result:= Ravnostranen;
      end;
    
    end.
                         
    
  5. Lubomira каза:
    
    Programata :
    
    program project1;
    
    uses figuri;
    
    var
     a, b, ha, r:real;
    begin
    WriteLn('Vuvedete stranite na kwadrata:');
    ReadLn(a);
    WriteLn('Luceto e :',LiceKvadrat(a):0:2 );
    ReadLn;
    
    WriteLn('Vuvedete stranite na pravougulnika:');
    ReadLn(a);
    ReadLn(b);
    WriteLn('Luceto e :',LicePravougulnik(a,b):0:2 );
    ReadLn;
    
    WriteLn('Vuvedete radiusa na kruga:');
    ReadLn(r);
    WriteLn('Luceto e :',Licekrug(r):0:2);
    ReadLn;
    
    WriteLn('Vuvedete stranata i wisochinata na triugulnika:');
    ReadLn(a);
    ReadLn(ha);
    WriteLn('Luceto e :',Licetriugulnik(a,ha):0:2 );
    ReadLn;
    end.
                                                 
    Modula:
    
    unit figuri;
    
    interface
    const
      pi=3.14;
    
    function LiceKvadrat(a:real):real;
    
    function LicePravougulnik(a,b:real):real;
    
    function Licekrug(r:real):real;
    
    function LiceTriugulnik (a,ha:real):real;
    
    
    implementation
    
    function LiceKvadrat(a:real):real;
    begin
    result:=a*a;
    end;
    
    function LicePravougulnik(a,b:real):real;
    begin
    result:=a*b;
    end;
    
    function Licekrug(r:real):real;
    begin
    result:=2*pi*r;
    end;
    
    function LiceTriugulnik (a,ha:real):real;
    begin
    result:= (a*ha)/2
    end;
    
    end.
                                   
  6. Боряна каза:

    програмата

    program Figuri;
    
    uses formuli;
    
    var
      a, b, c, h: integer;
    begin
      //проверка за квадрат
      WriteLn('Vavedete stranite na pravoagalnika (razdeleni s pauzi): ');
      ReadLn(a, b);
      WriteLn('Kvadrat li e? ', DaliEKvadrat(a, b));
      WriteLn;
    
      //проверка за валидни страни на триъгълник
      WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
      ReadLn(a, b, c);
      WriteLn('Validni li sa? ', ValidniStrani(a, b, c));
      WriteLn;
    
      //проверка за вида на триъгълника
      WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
      ReadLn(a, b, c);
      case Proverka(a, b, c) of
      1: WriteLn('Triagalnikat e ravnostranen.');
      2: WriteLn('Triagalnikat e ravnobedren.');
      0: WriteLn('Triagalnikat e drug.');
      end;
      if (Proverka2(a, b, c)=3) then WriteLn('Triagalnikat e pravoagalen.');
    
      //лица и обиколки
      WriteLn('Vavedete strani na pravoagalnika.');
      Write('a=');
      ReadLn(a);
      Write('b=');
      ReadLn(b);
      WriteLn('P=', PnaPravoagalnik(a, b), '; S=', SnaPravoagalnik(a, b));
      WriteLn;
    
      WriteLn('Vavedete strana na kvadrata.');
      Write('a=');
      ReadLn(a);
      WriteLn('P=', PnaKvadrat(a), '; S=', SnaKvadrat(a));
    
      WriteLn('Vavedete radius na okrajnostta.');
      Write('r=');
      ReadLn(a);
      WriteLn('C=', CnaKrag(a):0:2, '; S=', SnaKrag(a):0:2);
      WriteLn;
    
      WriteLn('Vavedete strani na triagalnika i visochinata kam strana a.');
      Write('a=');
      ReadLn(a);
      Write('b=');
      ReadLn(b);
      Write('c=');
      ReadLn(c);
      Write('h=');
      ReadLn(h);
      WriteLn('P=', PnaTriagalnik(a, b, c), '; S=', SnaTriagalnik(a, h):0:1);
      WriteLn;
    
      ReadLn;
    end.
    

    и модула

    unit formuli;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils;
    
    function DaliEKvadrat(a, b: integer): boolean;
    function ValidniStrani(a, b, c: integer): boolean;
    function Proverka (a, b, c: integer): integer;
    function Proverka2 (a, b, c: integer): integer;
    function PnaPravoagalnik(a, b: integer): integer;
    function SnaPravoagalnik(a, b: integer): integer;
    function PnaKvadrat(a: integer): integer;
    function SnaKvadrat(a: integer): integer;
    function CnaKrag (r: integer): real;
    function SnaKrag (r: integer): real;
    function PnaTriagalnik (a, b, c: integer): integer;
    function SnaTriagalnik (a, h: integer): real;
    
    implementation
    function DaliEKvadrat(a, b: integer): boolean;
    begin
     Result:=(a=b)
    end;
    
    function ValidniStrani(a, b, c: integer): boolean;
    begin
      Result:=False;
      if ((((a+b)>c) and ((a+c)>b)) and ((b+c)>a)) then
      Result:=True;
    end;
    
    function Proverka(a, b, c: integer): integer;
    begin
      if ((a=b) and (a=c)) then
        Result:=1
      else if (((a=b) or (a=c)) or (b=c)) then
        Result:=2
      else if (((a<>b) and (a<>c)) and (b<>c)) then
        Result:=0;
    end;
    
    function Proverka2(a, b, c: integer): integer;
    begin
      if (((a*a+b*b=c*c) or (a*a+c*c=b*b)) or (b*b+c*c=a*a)) then
        Result:=3;
    end;
    
    function PnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=2*(a+b);
    end;
    
    function SnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=a*b;
    end;
    
    function PnaKvadrat(a: integer): integer;
    begin
      Result:=4*a;
    end;
    
    function SnaKvadrat(a: integer): integer;
    begin
      Result:=a*a;
    end;
    
    function CnaKrag(r: integer): real;
    begin
      Result:=2*r*3.14;
    end;
    
    function SnaKrag(r: integer): real;
    begin
      Result:=r*r*3.14;
    end;
    
    function PnaTriagalnik(a, b, c: integer): integer;
    begin
      Result:=a+b+c;
    end;
    
    function SnaTriagalnik(a, h: integer): real;
    begin
      Result:=(a*h)/2;
    end;
    
    end.
    
    • Данаил каза:

      Браво, Боряна, перфектно направена задача! Имам само едно питане и едно предложение:
      1) какъв резултат ще ти върне функцията Proverka() ако триъгълникът е най-обикновен?
      2) страните се въвеждат повече от веднъж. Може да използваш горните стойности и да спестиш на потребителя още едно въвеждане.

  7. Боряна каза:

    програмата

    program Figuri;
    
    uses formuli;
    
    var
      a, b, c, h: integer;
    begin
      //проверка за квадрат
      WriteLn('Vavedete stranite na pravoagalnika (razdeleni s pauzi): ');
      ReadLn(a, b);
      WriteLn('Kvadrat li e? ', DaliEKvadrat(a, b));
      WriteLn;
    
      //проверка за валидни страни на триъгълник
      WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
      ReadLn(a, b, c);
      WriteLn('Validni li sa? ', ValidniStrani(a, b, c));
      WriteLn;
    
      //проверка за вида на триъгълника
      if ValidniStrani(a, b, c) then begin
        case Proverka(a, b, c) of
      1: WriteLn('Triagalnikat e ravnostranen.');
      2: WriteLn('Triagalnikat e ravnobedren.');
      0: WriteLn('Triagalnikat e drug.');
      end;
      if (Proverka2(a, b, c)=3) then WriteLn('Triagalnikat e pravoagalen.');
      end
      else begin
        WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
        ReadLn(a, b, c);
        case Proverka(a, b, c) of
        1: WriteLn('Triagalnikat e ravnostranen.');
        2: WriteLn('Triagalnikat e ravnobedren.');
        0: WriteLn('Triagalnikat e drug.');
        end;
        if (Proverka2(a, b, c)=3) then WriteLn('Triagalnikat e pravoagalen.');
      end;
    
      //лица и обиколки
      WriteLn('Vavedete visochinata kam strana a.'); //бих направила и конкретен случай за правоъгълник но не се сещам как
      Write('h=');
      ReadLn(h);
      WriteLn('P=', PnaTriagalnik(a, b, c), '; S=', SnaTriagalnik(a, h):0:1);
      WriteLn;
    
      WriteLn('Vavedete strani na pravoagalnika.');
      Write('a=');
      ReadLn(a);
      Write('b=');
      ReadLn(b);
      WriteLn('P=', PnaPravoagalnik(a, b), '; S=', SnaPravoagalnik(a, b));
      WriteLn;
    
      WriteLn('Vavedete strana na kvadrata.');
      Write('a=');
      ReadLn(a);
      WriteLn('P=', PnaKvadrat(a), '; S=', SnaKvadrat(a));
    
      WriteLn('Vavedete radius na okrajnostta.');
      Write('r=');
      ReadLn(a);
      WriteLn('C=', CnaKrag(a):0:2, '; S=', SnaKrag(a):0:2);
      WriteLn;
    
      // двете процедури
      Parametri(a, b);
      TriChisla(a, b, c);
    
      ReadLn;
    end.  
    

    и модула

    unit formuli;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils;
    
    function DaliEKvadrat(a, b: integer): boolean;
    function ValidniStrani(a, b, c: integer): boolean;
    function Proverka (a, b, c: integer): integer;
    function Proverka2 (a, b, c: integer): integer;
    function PnaPravoagalnik(a, b: integer): integer;
    function SnaPravoagalnik(a, b: integer): integer;
    function PnaKvadrat(a: integer): integer;
    function SnaKvadrat(a: integer): integer;
    function CnaKrag (r: integer): real;
    function SnaKrag (r: integer): real;
    function PnaTriagalnik (a, b, c: integer): integer;
    function SnaTriagalnik (a, h: integer): real;
    procedure Parametri (a, b: integer);
    procedure TriChisla (a, b, c: integer);
    
    implementation
    function DaliEKvadrat(a, b: integer): boolean;
    begin
     Result:=(a=b)
    end;
    
    function ValidniStrani(a, b, c: integer): boolean;
    begin
      Result:=False;
      if ((((a+b)>c) and ((a+c)>b)) and ((b+c)>a)) then
      Result:=True;
    end;
    
    function Proverka(a, b, c: integer): integer;
    begin
      if ((a=b) and (a=c)) then
        Result:=1
      else if (((a=b) or (a=c)) or (b=c)) then
        Result:=2
      else if (((a<>b) and (a<>c)) and (b<>c)) then
        Result:=0;
    end;
    
    function Proverka2(a, b, c: integer): integer;
    begin
      if (((a*a+b*b=c*c) or (a*a+c*c=b*b)) or (b*b+c*c=a*a)) then
        Result:=3;
    end;
    
    function PnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=2*(a+b);
    end;
    
    function SnaPravoagalnik(a, b: integer): integer;
    begin
      Result:=a*b;
    end;
    
    function PnaKvadrat(a: integer): integer;
    begin
      Result:=4*a;
    end;
    
    function SnaKvadrat(a: integer): integer;
    begin
      Result:=a*a;
    end;
    
    function CnaKrag(r: integer): real;
    begin
      Result:=2*r*3.14;
    end;
    
    function SnaKrag(r: integer): real;
    begin
      Result:=r*r*3.14;
    end;
    
    function PnaTriagalnik(a, b, c: integer): integer;
    begin
      Result:=a+b+c;
    end;
    
    function SnaTriagalnik(a, h: integer): real;
    begin
      Result:=(a*h)/2;
    end;
    
    procedure Parametri(a, b: integer);
    begin
      WriteLn('Vavedete dtranite na pravoagalnik, razdeleni s pauza.');
      ReadLn(a, b);
      WriteLn('Kvadrat li e? ', DaliEKvadrat(a, b));
      WriteLn('P=', PnaPravoagalnik(a, b), '; S=', SnaPravoagalnik(a, b));
      WriteLn;
    end;
    
    procedure TriChisla(a, b, c: integer);
    var
      h: integer;
    begin
      WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
      ReadLn(a, b, c);
      WriteLn('Validni li sa? ', ValidniStrani(a, b, c));
      if ValidniStrani(a, b, c) then begin
        case Proverka(a, b, c) of
      1: WriteLn('Triagalnikat e ravnostranen.');
      2: WriteLn('Triagalnikat e ravnobedren.');
      0: WriteLn('Triagalnikat e drug.');
      end;
      if (Proverka2(a, b, c)=3) then WriteLn('Triagalnikat e pravoagalen.');
      end
      else begin
        WriteLn('Vavede stranite na triagalnika (razdeleni s pauzi): ');
        ReadLn(a, b, c);
        case Proverka(a, b, c) of
        1: WriteLn('Triagalnikat e ravnostranen.');
        2: WriteLn('Triagalnikat e ravnobedren.');
        0: WriteLn('Triagalnikat e drug.');
        end;
        if (Proverka2(a, b, c)=3) then WriteLn('Triagalnikat e pravoagalen.');
      end;
      WriteLn('Vavedete visochinata kam strana a.'); //бих направила и конкретен случай за правоъгълник но не се сещам как
      Write('h=');
      ReadLn(h);
      WriteLn('P=', PnaTriagalnik(a, b, c), '; S=', SnaTriagalnik(a, h):0:1);
      WriteLn;
    end;
    
    end.
    
    • Данаил каза:

      Почти перфектно решение! За да е съвсем, помисли за какво са ти параметрите на процедурите, какъв е резултата на Proverka2() за всеки вид триъгълник и се опитай да избегнеш повторенията. Сега си на 95%, направи ги 100%. :-)

  8. Svetli Kamenov каза:
    program project1;
    uses Unit1;
    
    var
      a,b,c,d,e,SK,OK,SP,OP,Str,Otr,hc,r,SOkr,COkr:integer;
    
    begin
      Writeln('Vavedete a i b');
      Readln(a,b);
      ProverkazaKvadrat(a,b,SK,OK,SP,OP);
      Writeln;
    
      Writeln('Vavedi chisla za strani na triugulnik');
      Readln(c,d,e);
      ProverkaTriugulnik(c,d,e);
      Writeln;
    
      Writeln('Vavedi visochinata na triugulnika: ');
      Readln(hc);
      VidLiceiObikolkanatriugulnik(c,d,e,Str,Otr,hc);
      Writeln;
    
      Writeln('Vavedi radiusa na okrujnostta');
      Readln(r);
      LiceObikolkanaokrujnost(r,SOkr,COkr);
      Writeln;
    
      Writeln('Vavedete otnovo strani na pravougulnik: ');
      Readln(a,b);
      ParametriPravougulnik(a,b,SP,OP);
      Writeln;
    
      Writeln('Vavedete otnovo strani i visochina na triugulnik');
      Readln(c,d,e,hc);
      ParametriTriugulnik(c,d,e,STr,OTr,hc);
    
      Readln;
    end.
    

    и модула

    unit Unit1;
    
    interface
    
     function ProverkazaKvadrat(a,b,SK,OK,SP,OP:integer):boolean;
     function ProverkaTriugulnik(c,d,e:integer):boolean;
     function VidLiceiObikolkanatriugulnik(c,d,e,Str,Otr,hc:real):real;
     function LiceObikolkanaokrujnost(r,SOkr,COkr:real):real;
     procedure ParametriPravougulnik(a,b,SP,OP:integer);
     procedure ParametriTriugulnik(c,d,e,STr,OTr,hc:integer);
    
    implementation
    
    function ProverkazaKvadrat(a,b,SK,OK,SP,OP:integer):boolean;
    begin
      if a = b then
         begin
           SK:=a*a;
           OK:=4*a;
           Writeln('Pravougulnika e kvadrat');
           Writeln('Liceto na kvadrata e: ',SK);
           Writeln('Obikolkata na kvadrata e: ',OK);
         end
      else
         begin
           SP:=a*b;
           OP:=2*a+2*b;
           Writeln('Tova ne e kvadrat, a pravougulnik');
           Writeln('Liceto na pravougulnika e: ',SP);
           Writeln('Obikolkata na pravougulnika e: ',OP);
         end;
    end;
    
    function ProverkaTriugulnik(c,d,e:integer):boolean;
    begin
      if (c+d>e) or (c+e>d) or (d+e>c) then
         Result:=True;
    
      if Result = True then
         Writeln('Chislata ',c,' ',d,' ',e,' sa validni strani na triugulnik')
      else
         Writeln('Chislata ',c,' ',d,' ',e,' ne sa validni strani na triugulnik');
    
    end;
    
    function VidLiceiObikolkanatriugulnik(c,d,e,Str,Otr,hc:real):real;
    begin
      if (c=d) and (c=e) then
         begin
           Writeln('Triugulnika e ravnostranen');
           Result:=1;
           OTr:=3*c;
           STr:=(c*hc) / 2;
         end;
    
      if (c=d) or (c=e) or (d=e) then
         begin
           Writeln('Triugulnika e ravnobedren');
           Result:=2;
           OTr:=c+d+e;
           STr:=(c*hc) / 2;
         end;
    
      if (c*c + d*d = e*e) or (d*d + e*e = c*c) or (c*c + e*e = d*d) then
         begin
           Writeln('Triugulnika e pravougulen');
           Result:=3;
           OTr:=c+d+e;
           STr:=(c*d) / 2;
         end;
    
      if (Result<>1) and (Result<>2) and (Result<>3) then
         begin
         Writeln('Triugulnika e raznostranen');
         OTr:=c+d+e;
         STr:=(c*hc) / 2;
         end;
    
    
      Writeln('Liceto na triugulnika e: ',STr:5:2);
      Writeln('Obikolkata na triugulnika e: ',OTr:5:2);
    end;
    
    function LiceObikolkanaokrujnost(r,SOkr,COkr:real):real;
    begin
      SOKr:=3.14*r*r;
      COkr:=3.14*2*r;
    
      Writeln('Liceto na okrujnostta e: ',SOkr:5:2);
      Writeln('Obikolkata na okrujnostta e: ',COkr:5:2);
    end;
    
    procedure ParametriPravougulnik(a,b,SP,OP:integer);
    begin
    
      SP:=a*b;
      OP:=2*a + 2*b;
      if a = b then
      Writeln('Pravougulnika e kvadrat');
      Writeln('Liceto na pravougulnika e: ',SP);
      Writeln('Obikolkata na pravougulnika e: ',OP);
    
    
    end;
    
    procedure ParametriTriugulnik(c,d,e,STr,OTr,hc:integer);
    begin
      VidLiceiObikolkanatriugulnik(c,d,e,Str,Otr,hc);
    
    end;
    
    end.
    
    • Данаил каза:

      Ехааа, колко добре форматирани и подробно разгледани случаи! Но функциите не са съвсем оптимални, според мен – твърде много параметри имат и са твърде сложни. Обади ми се да ти обясня какво може да се подобри.

Вашият коментар