Question Description

please be specific and simple make like it a biggner wrote it not a professional 




We want to play with Fortran a little.
Also need an answers.txt to explain what happens.

1. Try to change a literal value in a function.
2. Write function which checks for pass by reference.
3. Try using a mixed datatype expression.
4. Create a 4D or 5D array and make sure it works.
5. Create a recursive function and record what happens.
*. See if you can trick into really doing recursion.
        PROGRAM count
        DO 50 i = 1, 10
        PRINT *, 'Number', i
50      CONTINUE
        END

        DIMENSION MYARR (10, 20, 5)
        MYARR(1, 1, 1) = 5
        MYARR(10, 20, 5) = 5000
        PRINT *, MYARR(1, 1, 1)

        SUBROUTINE name (parameters)
           whatever code
        RETURN
        END

Originally Fortran
  square(7)
  print 7    ----> Could print 49

        PROGRAM FUN
        CALL ADD(4, 5)
        END

        SUBROUTINE ADD (X, Y)
           ANS = X + Y
           PRINT *, ANS
        RETURN
        END

[charon] vi myfunfortran.f
[charon] g77 myfunfortran.f
[charon] ./a.out

        DO 50 I = 1, 10
        DO50I = 1,10   // This is the start of our loop
        DO50I = 1.10   // This sets var DO50I to be 1.1


        DO50I = 1.10   // This sets var DO50I to be 1.1

Note that since all space is ignored and variables are implicitly
declared, this statement sets DO50I without any warnings or errors.

There are dangers in allowing implicit variable declarations (like in
Fortran), such as a typo which creates a whole new variable without
any warnings or errors (meaning it is still a logic error but the
compiler won't notify the programmer about the typo).

        SUBROUTINE ADD (X, Y)
        TMP = X
        X = Y
        Y = TEMP
        RETURN
        END

Fortran had an Arithmetic IF which was a 3 way IF statement which
selected the appropriate choice based on the test begin less than,
equal, or greater than zero.

        IF (X) s1, s2, s3
        IF (X) Y = Y + 10, Y = Y - 1, Y = Y - 1

Before long programmers saw that a more conventional Logical IF
(with only true/false) would be easier and more useful.

       IF (X .GT. 0) Y = Y + 10

       IF (X .LE. 0) GOTO 100
          Y = Y + 10
       GOTO 200
100       Y = Y - 1
200    ...