Monday, November 13, 2017

Program pentru formula lui HERON

Programul în FORTRAN IV pentru calcului ariei triunghiului folosind forma lui HERON este:
C Calculul areiei triunghiului cu formula lui HERON
C cititorul de cartele are simbolul 5
C imprimanta are simbolul 6
C Daca apar erori in date se tipareste un mesaj
C Unitatea de masura este metrul, m
  10 FORMAT(3I5)
  20 FORMAT(4H A= ,I5,5H  B= ,I5,5H  C= ,I5,8H  AREA= ,F10.2,
     $13H Matri PATRATI)
  30 FORMAT(14SFARSIT NORNAL)
  40 FORMAT(53HEROARE IN DATELE DE INTRARE, TOATE VALORILE SUNT ZERO)
      INTEGER A,B,C
   50 READ(5,10) A,B,C
      IF(A.EQ.0 .AND. B.EQ.0 .AND. C.EQ.0) GO TO 60
      IF(A.EQ.0 .OR.  B.EQ.0 .OR.  C.EQ.0) GO TO 70
      S = (A + B + C) / 2.0
      AREA = SQRT( S * (S - A) * (S - B) * (S - C) )
      WRITE(6,20) A,B,C,AREA
      GO TO 10
   60 WRITE(6,40)
      STOP
   70 WRITE(6,40)
      STOP
      END
Programul C pentru calculul ariei triunghiului folosind forma lui HERON este:
/* Program C pentru calculul ariei unui triunghi cu formula lui HERON */
#include<stdio.h>
#include<math.h>
void main()
{
     float a,b,c,p=0,s=0;
     printf("Introduceti lungimile in metri ale laturilor triunghiului \n");
     scanf("%f %f %f",&a,&b,&c)
     if(a>0 && b>0 && c>0)
              {
                  p = (a+b+c)/2.0; /* s este semiparametrul*/
                  s = (sqrt)(p*(p-a)*(p-b)*(p-c));
                  printf("\n Area of triangle =\t %f",s);
               }
               else printf("\n Laturile nu formează un triunghi");
     getch();
}
Programul PASCAL pentru calculul ariei triunghiului folosind forma lui HERON este:
{.Program SuprafataTriunghului.}
var
A:real;
B:real;
C:real;
S:real;
P:real;
begin
    writeln ('Introduceti prima latura');
    read (A);
    writeln ('Introduceti a doua latura');
    read (B);
    writeln ('Introduceti a treia latura');
    read (C);
    if(A>0)AND (B>0)AND (C>0) then
            {
             P:=(A+B+C)/2;
             S:= Sqrt(P*((P-A)*(P-B)*(P-C)));
             writeln ('Suprafata triunghi = ', S);
            }
             else writeln ('Valorile nu formeaza laturi triunghi');
 end.
Programul COBOL pentru calculul ariei triunghiului folosind forma lui HERON este:
IDENTIFICATION DIVISION.
PROGRAM-ID.  Formula-Heron.
AUTHOR.  Ion IVAN.
DATA DIVISION.
WORKING-STORAGE SECTION.
77  A           PIC 9(5)  VALUE ZEROS.
77  B           PIC 9(5)  VALUE ZEROS.
77  V           PIC 9(5)  VALUE ZEROS.
77  SUM     PIC 9(5)  VALUE ZEROS.
77  P           PIC 9(5)V99  VALUE ZEROS.
77  TMP1   PIC 9(5)V99  VALUE ZEROS.
77  TMP2   PIC 9(5)V99  VALUE ZEROS.
77  TMP3   PIC 9(5)V99  VALUE ZEROS.
77  S           PIC 9(8)V99  VALUE ZEROS.
PROCEDURE DIVISION.
CITIRE-DATE.
       DISPLAY "Introduceti prima latura a triunghiului : " WITH NO ADVANCING.
       ACCEPT A.
       DISPLAY "Introduceti a doua latura a triunghiului : " WITH NO ADVANCING.
       ACCEPT B.
       DISPLAY "Introduceti a treia latura a triunghiului : " WITH NO ADVANCING.
       ACCEPT C
CALCULE..
       ADD A TO SUM.
       ADD B TO SUM.
       ADD C TO SUM.
       DIVIDE 2 INTO SUM GIVING P.
       SUBTRACT A FROM P GIVING TMP1.
       SUBTRACT B FROM P GIVING TMP2.
       SUBTRACT C FROM P GIVING TMP3.
       COMPUTE S=P*TMP1*TPM2*TMP3.
       COMPUTE S=S**.5.
       DISPLAY "Aria triunghiului este = ", S.
    SFARSIT-PROGRAM.
    STOP RUN.
În programul COBOL și calculul celebrei expresii se realiza lălăit bucată cu bucată, dar am preferat folosirea lui COMPUTE, iar pentru extragere de radical numai folosind ridicarea la puterea 0.5 s-a realizat calculul exact al expresiei așa cum zice geometria.
Sunt interesante abordările și se vede că limbajul C este de departe cel mai comod pentru a soluționa această problemă.
Programul pentru formula lui HERON scris în diferite limbaje de programare evidențiază diferențele dintre aceste limbaje și direcționează programatorii spre a pune în corespondență tipuri de probleme cu tipuri de limbaje de programare.



(14 noiembrie 2017)

No comments:

Post a Comment