Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can some one help change these two Fortran program to Pascal. PROGRAM Simple REA

ID: 3733554 • Letter: C

Question

Can some one help change these two Fortran program to Pascal.

PROGRAM Simple

        REAL :: a, b, c, d

        character (LEN=3) :: r='si'       

        DO WHILE ( r .EQ. 'si')

        PRINT *, 'Enter variable A: '

        READ(*,*) a

        PRINT *, 'Enter variable B: '

        READ(*,*) b

        PRINT *, 'Enter variable C: '

        READ(*,*) c

        d = b*b - 4.0*a*c

        IF (d <0.0) THEN

        WRITE(*,*)'It is not real: ', d

        ELSE IF (d >= 0.0) THEN

        WRITE(*,*)'It is real: ', d

        END IF

        PRINT *, 'Do you wish to continue: '

        READ(*,*) r

        END DO

        PRINT *, 'Program finished '

        END PROGRAM Simple

---------------------------------------------------------

Program Sub

        REAL :: a, b, c,d,r1,r2

        PRINT *, 'Enter variable A: '

        READ(*,*) a

        PRINT *, 'Enter variable B: '

        READ(*,*) b

        PRINT *, 'Enter variable C: '

        READ(*,*) c

        CALL Roots(a, b, c, d, r1, r2)

        CALL Print(r1, r2, d)

       

        END Program Sub

        SUBROUTINE Roots(a, b, c, d, r1, r2)

        d = b*b - 4.0*a*c

        IF (d <0.0) THEN

        WRITE(*,*)'Doesn’t contain real square root.'

        STOP

        ELSE IF (d >= 0.0) THEN

        d     = SQRT(d)

        r1 = (-b + d)/(2.0*a)

        r2= (-b - d)/(2.0*a)

        END IF

        RETURN

        END

        SUBROUTINE PRINT(r1, r2, d)

        IF (r1 == r2) THEN

        PRINT*,'The following square root is; ', root1

        ELSE IF (r1 /= r2) THEN

        PRINT*,'The square root is ', r1, ' y ', r2

        END IF

        PRINT*,'The discriminant is ', d

        RETURN

        END

Explanation / Answer

PROGRAM-1 (PASCAL)

program Simple;

var a,b,c,d:real;
r:Char;

begin
r:='s';
while(r = 's') do
begin
writeln('Enter variable A:');
readln(a);
writeln('Enter variable B:');
readln(b);
writeln('Enter variable C:');
readln(c);
d:=b*b-4*a*c;
if (d<0.0) then
writeln('It is not real:',d)
else if(d>=0.0) then
writeln('It is real:',d);
writeln('Do you wish to continue:');
readln(r);
end;
writeln('Program finished');   


end.
OUTPUT

Enter variable A: -3
Enter variable B: -3
Enter variable C: 3
It is real: 4.5000000000000000E+001
Do you wish to continue: n
Program finished

PROGRAM-2 (PASCAL)

program Sub;

procedure Roots(a,b,c,r1,r2:real);
var
d:real;
begin
d:=b*b-4.0*a*c;
if(d<0.0) then

writeln('Doesnt contain real square root.')
else if(d>=0.0) then
  
d:=sqrt(d);
r1:=(-b+d)/(2.0*a);
r2:=(-b-d)/(2.0*a);
  
  
writeln('Root-1:',r1);
writeln('Root-2:',r2);
end;

procedure print(r1,r2,d:real);
begin
if(r1=r2) then
  
writeln('The following square root is:',r1)
  
else if(r1<>r2) then
  
writeln('The square root is:',r1,'y',r2)
else
writeln('The discriminant is',d);

  
end;
var
a,b,c,d,r1,r2:real;
begin
writeln('Enter variable A:');
readln(a);
writeln('Enter variable B:');
readln(b);
writeln('Enter variable C:');
readln(c);
Roots(a,b,c,r1,r2);
print(r1,r2,d);
end.

OUTPUT

Enter variable A:-3
Enter variable B:-3
Enter variable C:3
Root-1:-1.6180339887498949E+000
Root-2: 6.1803398874989490E-001
The following square root is: 0.0000000000000000E+000