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