Sei sulla pagina 1di 31

0

ASSIGNMENT
OF
STAT 515

SUBMITTED TO: SUBMITTED BY:


DR. S.S. SIDHU KIRANJOT KAUR
L-2017-BS-307-M

1
INDEX
Sr.no Name of the program Page.no Remarks
1. Find sum of two matrices 3
2. Find difference of two matrices 4
3. Find product of two matrices 5
4. Find norm of matrix 6
5. Find transpose of matrix 7
6. Find column and row sum of matrix 8
7. Check square matrix is symmetric 10
8. Find sum of upper triangular, lower 12
triangular and diagonal elements
9. Find sum of squares of diagonal elements 13
10. Find biggest number 14
11. Fitting of straight line 15
12. Calculate sum of series 16
13. Calculate simple interest 17
14. Calculate income tax paid 19
15. Find first and second highest marks 20
16. Evaluate Sinx up to 5 significant digits 21
17. Write function subprogram for given 22
function
18. Print number in descending order 23
19. Print number in ascending order 24
20. Find number of points lies in circle x2+y2 =50 25
21. Print two digit odd no., its square and cube 26
22. Using subroutine, find absolute mean 27
deviation about median
23. Using subroutine, test the significance of 28
sample.

2
1. Write a program to find the sum of two matrices.
C SUM OF TWO MATRICES

DIMENSION X (3,3), Y(3,3),SUM(3,3)

WRITE (*,*)'ENTER THE VALUE OF MATRIX X'

READ (*,*) ((X (I, J),J=1,3),I=1,3)

WRITE (*,*) 'ENTER THE VALUE OF MATRIX Y'

READ (*,*) ((Y (I, J), J=1,3),I=1,3)

DO 10 I=1, 3

DO 10 J=1, 3

SUM (I, J) = X(I,J) + Y(I,J)

10 CONTINUE

WRITE (*,*)'SUM OF MATRIX IS'

WRITE (*,*) ((SUM (I,J),J=1,3),I=1,3)

PAUSE

STOP

END

3
2. Write a program to find the difference of two matrices.
C DIFFERENCE OF TWO MATRICES

DIMENSION X(3,3), Y(3,3),DIFF(3,3)

WRITE (*,*)'ENTER THE VALUE OF MATRIX X'

READ(*,*)((X(I,J),J=1,3),I=1,3)

WRITE (*,*) 'ENTER THE VALUE OF MATRIX Y'

READ (*,*) ((Y(I,J), J=1,3),I=1,3)

DO 10 I=1,3

DO 10 J=1,3

DIFF (I,J)= X(I,J) - Y(I,J)

10 CONTINUE

WRITE(*,*)'DIFFERENCE OF MATRIX IS'

WRITE(6,20)((DIFF (I,J),J=1,3),I=1,3)

20 FORMAT(1X,3 F6.2)

PAUSE

STOP

END

4
3.Write a program to find the product of two matrices.
C PRODUCT OF TWO MATRICES

DIMENSION X (3,3), Y(3,3), P(3,3)

WRITE (*,*)'ENTER THE VALUE OF MATRIX X'

READ (*,*) ((X(I,J),J=1,3),I=1,3)

WRITE (*,*) 'ENTER THE VALUE OF MATRIX Y'

READ (*,*) ((Y (I,J), J=1,3),I=1,3)

DO 10 I=1, 3

DO 10 J=1, 3

P (I,J)= 0.0

10 CONTINUE

DO 20 I=1, 3

DO 20 J=1, 3

DO 20 K=1, 3

P(I,J)= P(I,J)+ X(I,K)*Y(K,J)

20 CONTINUE

WRITE (*,*)'PRODUCT MATRIX'

WRITE (*,*)((P(I,J),J=1,3),I=1,3)

PAUSE

STOP

END

5
4.Write a subroutine to find the norm of a matrix. The norm is defined as the
square root of the sum of squares of all the elements in the matrix.
C TO FIND THE NORM OF THE MATRIX

DIMENSION X(40,40)

PRINT *,'ENTER THE NO. OF ROWS AND COLUMNS'

READ *,N,M

PRINT *,'ENTER THE MATRIX'

READ *,((X(I,J),J=1,M),I=1,N)

CALL NORM(X,N,M,ANORM)

PRINT *,'THE NORM OF THE MATRIX IS=',ANORM

PAUSE

STOP

END

SUBROUTINE NORM(Y,N,M,ANORM)

DIMENSION Y(40,40)

SQR=0.0

DO 10 I=1, N

DO 20 J=1, M

6
SQR=SQR+(Y (I,J)**2)

20 CONTINUE

10 CONTINUE

ANORM=SQRT (SQR)

RETURN

END

5.Write program to print transpose of a matrix.


C TO FIND TRANSPOSE OF A MATRIX

SUBROUTINE TRNS (MATA,N)

DIMENSION MATA (30,30)

NUM=N-1

DO 20 I=1, NUM

IPLUS=I+1

DO 10 J=IPLUS,N

TEMP=MATA(I,J)

MATA(I,J)=MATA(J,I)

MATA(J,I)=TEMP

10 CONTINUE

20 CONTINUE

RETURN

7
END

C MAIN PROGRAM

DIMENSION MATR (30,30)

PRINT *,'ENTER THE ELEMENTS OF MATRIX'

READ 25,((MATR(I,J),J=1,5),I=1,5)

25 FORMAT(5I2)

PRINT *,'MATRIX IS ',((MATR(I,J),J=1,5),I=1,5)

CALL TRNS(MATR,5)

PRINT 30,((MATR(I,J),J=1,5),I=1,5)

30 FORMAT (10X,'TRANSPOSED MATRIX IS '/(1X,5I6))

PAUSE

STOP

END

6. Write a program to print column sum and row sum.


C TO FIND ROW SUM AND COLUMN SUM

DIMENSION X(40,40)

PRINT*,'ENTER THE NO. OF ROWS AND COLUMN'

8
READ*,N,M

PRINT*,'ENTER THE MATRIX'

READ*, ((X(I,J),J=1,M),I=1,N)

DO 10 I=1,N

DO 20 J=1,M

20 SUMR=SUMR+X(I,J)

GSUM=GSUM+SUMR

PRINT*,'SUM OF ROW',I,'=',SUMR

SUMR=0.

10 CONTINUE

PRINT*,'GRAND TOTAL=',GSUM

DO 30 J=1,M

DO 40 I=1,N

40 SUMC=SUMC+X(I,J)

PRINT*,'SUM OF COLUMN',J,'=',SUMC

SUMC=0.0

30 CONTINUE

PAUSE

STOP

END

9
7.Write a program to find if a square matrix is symmetric.
C PROGRAM TO CHECK MATRIX IS SYMMETRIC

DIMENSION MAT(20,20)

DIMENSION MATR(20,20)

PRINT *,'ENTER THE ELEMENTS OF MATRIX'

READ 25,((MAT(I,J),J=1,3),I=1,3)

25 FORMAT(3I2)

DO 10 I=1,3

DO 8 J=1,3

MATR(I,J)=MAT(I,J)

8 CONTINUE

10 CONTINUE

DO 20 I=1,2

IPLUS=I+1

DO 15 J=IPLUS,3

TEMP=MAT(I,J)

MAT(I,J)=MAT(J,I)

10
MAT(J,I)=TEMP

15 CONTINUE

20 CONTINUE

PRINT 30,((MAT(I,J),J=1,3),I=1,3)

30 FORMAT (10X,'TRANSPOSED MATRIX IS '/(1X,3I6))

DO 40 I=1,3

DO 35 J=1,3

IF(MAT(I,J).EQ.MATR(I,J)) THEN

GOTO 35

ELSE

GOTO 45

ENDIF

35 CONTINUE

40 CONTINUE

GOTO 50

45 PRINT*,'MATRIX IS NOT SYMMETRIC'

GOTO 55

50 PRINT*,'MATRIX IS SYMMETRIC'

55 PAUSE

STOP

END

11
8.Write a program to print sum of upper triangular, lower triangular and
diagonal elements of a matrix.
C SUM OF UPPER MATRIX AND LOWER MATRIX

DIMENSION X(20,20)

PRINT*,'ENTER THE MATRIX'

READ *,((X(I,J),J=1,3),I=1,3)

PRINT (6,15)((X(I,J),J=1,3),I=1,3)

15 FORMAT(10X,'THE MATRIX IS'/(1X,3F6.2))

DO 10 I=1,3

DO 20 J=1,3

IF(I.LT.J) THEN

SUMU=SUMU+X(I,J)

ELSE IF(I.GT.J)THEN

SUML=SUML+X(I,J)

ELSE

SUMD=SUMD+X(I,J)

ENDIF

20 CONTINUE

10 CONTINUE

PRINT*,'THE UPPER SUM IS = ',SUMU

PRINT*,'THE LOWER SUM IS = ',SUML

PRINT*,'THE DIAGONAL SUM IS = ',SUMD

PAUSE

STOP

END

12
9. Write a program to find the sum of squares of elements on the diagonal of a
square matrix.
C SUM OF SQUARES OF DIAGONAL ELEMENTS

DIMENSION X(40,40)

PRINT *,'ENTER THE NO. OF ROWS AND COLUMNS'

READ *,N,M

PRINT *,'ENTER THE MATRIX'

READ *,((X(I,J),J=1,M),I=1,N)

SUMD=0.0

DO 10 I=1,N

DO 20 J=1,M

IF (I.EQ.J) THEN

SUMD=SUMD+X(I,J)*X(I,J)

ENDIF

20 CONTINUE

10 CONTINUE

PRINT *,'THE SUM OF SQUARES OF DIAGONAL ELEMENTS IS=',SUMD

PAUSE

STOP

13
END

10. Write a program to find the biggest number.


C FIND BIGGEST NUMBER

WRITE (*,*)'ENTER TOTAL NUMBER OF VALUES'

READ *, N

WRITE (*,*)'ENTER VALUES'

READ *, A

BIG = A

NUM=N-1

DO 10 I = 1, NUM

READ *, B

IF (B.GT.BIG) BIG=B

10 CONTINUE

WRITE (*,*)'BIGGEST NUMBER IS'

WRITE (*,*) BIG

PAUSE

STOP

END

14
11. Write a program for the fitting line through a given set of points.
C FITTING A STRAIGHT LINE

REAL M,NUMR

DIMENSION X(50),Y(50)

PRINT*,'ENTER THE SIZE OF ARRAY X AND Y'

READ*,N

PRINT*,'ENTER X AND Y VARIABLES'

READ *,(X(I),Y(I),I=1,N)

CALL FIT(X,Y,N,M,C)

PRINT 20,M,C

20 FORMAT(1X,'THE FITTED EQUATION IS Y=',F5.2,'X','+',F5.2)

PAUSE

STOP

END

SUBROUTINE FIT(X,Y,N,M,C)

REAL M,NUMR

15
DIMENSION X(50),Y(50)

SUMX=0.0

SUMY=0.0

SUMXY=0.0

SUMXSQ=0.0

DO 10 I=1,N

SUMX=SUMX+X(I)

SUMY=SUMY+Y(I)

SUMXY=SUMXY+X(I)*Y(I)

SUMXSQ=SUMXSQ+X(I)*X(I)

10 CONTINUE

REALN=N

NUMR=REALN*SUMXY-SUMX*SUMY

DENR=REALN*SUMXSQ-SUMX**2

M=NUMR/DENR

C=(SUMY-M*SUMX)/REALN

RETURN

END

12. Write a program to calculate the sum of series 1+ x+ x2+x3+…..+xk .


C PROGRAM TO CALCULATE SUM OF SERIES

WRITE(*,*)'ENTER THE VALUE OF X'

16
READ(*,*) X

WRITE(*,*) 'ENTER THE VALUE OF K'

READ(*,*) K

Y= 1.0

SUM=1.0

DO 10 I=1,K

Y=Y*X

SUM=SUM+Y

10 CONTINUE

PRINT *,'SUM OF SERIES IS ',SUM

PAUSE

STOP

END

13. Write a function program to calculate the simple interest.


C SUBPROGRAM TO COMPUTE INEREST

C MAIN PROGRAM

REAL INTRT,MIN

DO 10 I=1,5

PRINT*,'ENTER RATE, BALANCE, YEARS AND MINIMUM BALANCE'

READ*,RAT,BAL,YRS,MIN

BAL=BAL+INTRT(RAT,BAL,YRS,MIN)

17
PRINT*,I,' BALANCE IS ',BAL,'RATE IS ',RAT

PRINT*,'YEARS ARE ',YRS,'MIN BALANCE IS ',MIN

10 CONTINUE

PAUSE

STOP

END

C FUNCTION

REAL FUNCTION INTRT(RATE,BALNCE,YEARS,MINBAL)

REAL MINBAL

IF(BALNCE.GT.MINBAL) THEN

INTRT=BALNCE*RATE/100.*YEARS

ELSE

INTRT=0

ENDIF

RETURN

18
END

14. Write a program to calculate income tax paid by an individual if the income
tax:
If income Up to Rs 250000 he will not pay any tax and if
INCOME then TAX
250000-5 lakh 5%
5 lakh-10 lakh 20%
More than 10 lakh 30%
There is an education and health access i.e. 4% of income tax and rebate is Rs
1.5 lakh in terms of LIC, PF, NPS etc.
C TO FIND INCOME TAX

REAL NI,MC

WRITE(*,*) 'ENTER GROSS INCOME'

READ (*,*) GI

19
WRITE(*,*) 'ENTER SAVING'

READ(*,*) S

WRITE(*,*) 'ENTER MEDICAL CLAIM'

READ(*,*)MC

WRITE(*,*)'ENTER DONATION'

READ(*,*)D

IF(S.GT.150000.)THEN

S=150000.

ELSE

S=S

ENDIF

IF(MC.GT.25000.)THEN

MC=25000.

ELSE

MC=MC

ENDIF

NI=GI-S-MC-.5*D

IF(NI.LE.250000.)THEN

TAX=0.

ELSEIF(NI.LE.500000.)THEN

TAX=.05*(NI-250000.)

ELSEIF(NI.LE.1000000.)THEN

TAX=12500.+.1*(NI-500000.)

ELSE

TAX=12500.+50000.+.3*(NI-1000000.)

ENDIF

CESS=.4*TAX

FI=NI-TAX-CESS

20
WRITE(*,*)FI

PAUSE

STOP

END

15.Write a program to find the first and second highest marks from a class of 50
students.
C PROGRAM TO FIND FIRST AND SECOND HIGHEST MARKS

DIMENSION MARKS (50)

INTEGER FIRST,SECOND

PRINT *,'ENTER THE MARKS OF STUDENTS'

READ(*,*)(MARKS(I),I=1,20)

FIRST=0

DO 25I= 1,20

IF( MARKS(I).GT. FIRST) FIRST= MARKS(I)

25 CONTINUE

SECOND=0

DO 30I= 1,20

IF(MARKS(I).EQ. FIRST) GO TO 30

IF(MARKS(I).GT. SECOND) SECOND= MARKS(I)

30 CONTINUE

PRINT *, 'FIRST ', FIRST,' SECOND',SECOND

21
PAUSE

STOP

END

16.Write a subroutine to evaluate the function Sinx up to 5 significant digits.


C TO EVALUATE SINX FUNCTION TO FIVE SIGNIFICANT VALUES

PRINT *,'ENTER THE VALUE OF X'

READ *,X

XRAD=3.14*X/180

CALL FUNC(XRAD,S)

WRITE(6,10) S

10 FORMAT(1X,'THE VALUE TO FIVE SIGNIFICANT DIGIT OF SINX=',F7.5)

PAUSE

STOP

END

SUBROUTINE FUNC(Y,R)

R=SIN(Y)

RETURN

END

22
17. Write a function subprogram for the function
F(x) = 2x2+3x+4 for x<2
F(x) = 0 for x=2
F(x) =-2x2+3x-4 for x>2.
C SUBROUTINE FOR THE FUNCTION F(X)

PRINT*,'ENTER THE VALUE OF X'

READ *, X

CALL FUN(X,FX)

PRINT *,'THE FUNCTION VALUE IS=',FX

PAUSE

STOP

END

SUBROUTINE FUN(Y,S)

IF ((Y-2.).EQ.0) THEN

S=0.0

ELSE IF ((Y-2.).LT.0.0) THEN

S=2.*Y*Y+3.*Y+4.

ELSE

S=-2.*Y*Y+3.*Y-4.

ENDIF

RETURN

23
END

18. Write a program to print numbers in descending order.


DIMENSION X (20)
WRITE (*,*) 'ENTER TOTAL NUMBER OF VALUES'
READ (*,*) N
WRITE (*,*) 'ENTER VALUES'
READ (*,*) (X(I),I=1,N)
NUM=N-1
DO 20 K=1,NUM
DO 10 I=K,NUM
IF(X(K).GE.X(I+1)) GO TO 10
TEMP=X(K)
X(K)=X(I+1)
X(I+1)=TEMP
10 CONTINUE
20 CONTINUE
PRINT *,(X(I),I=1,N)
PAUSE
STOP
END

24
19. Write a subroutine to sort a set of 10 numbers in ascending order of
magnitude.
C PROGRAM TO SORT SET OF 10 NUMBERS IN ASCENDING ORDER
SUBROUTINE ASCEN(X)
DIMENSION X(20)
DO 20 K=1,9
DO 10 I=K,9
IF(X(K).LE.X(I+1)) GO TO 10
TEMP=X(K)
X(K)=X(I+1)
X(I+1)=TEMP
10 CONTINUE
20 CONTINUE
END
C MAIN PROGRAM
DIMENSION X(20)
WRITE (*,*) 'ENTER VALUES'
READ (*,*) (X(I),I=1,10)
CALL ASCEN(X)
PRINT *,(X(I),I=1,10)
PAUSE
STOP
END

25
20. Write a program to find the number of points with integer coordinates
which lies in the circle x2 + y2 =50.
C TO CHECK WETHER NUMBER LIE WITHIN THE CIRCLE
PRINT*,'ENTER THE VALUE OF X AND Y'
READ*,X,Y
RS=X*X+Y*Y
IF (RS.LT.50) THEN
PRINT*,'GIVEN POINTS LIES WITHIN THE CIRCLE'
ELSE
PRINT*,'GIVEN POINTS DO NOT LIE WITHIN THE CIRCLE'
ENDIF
PAUSE
STOP
END

21. Write a program which print two digits odd number, its square and its
cube.
C PROGRSM TO PRINT TWO DIGITS ODD NUMBER, ITS SQUARE AND CUBE

26
PRINT *,'ENTER NUMBER UPTO WHICH 2 DIGIT ODD NUMBERS BE PRINTED'
READ*, N
DO 10 I=11,N,2
NUM=I
ISQX=I*I
ICUBE=ISQX*I
PRINT 20,NUM,ISQX,I CUBE
20 FORMAT(1X,I2,3X,I7,3X,I9)
10 CONTINUE
PAUSE
STOP
END

22. Write a subroutine to find the absolute mean deviation about median.
AMD=∑|(𝒙𝒊 − 𝑴𝑫)|/𝑵.
c SUBROUTINE FOR SORTING

SUBROUTINE SORT(X,N)

DIMENSION X(20)

NUM=N-1

DO 20 K=1,NUM

DO 10 I=K,NUM

IF(X(K).GE.X(I+1)) GO TO 10

TEMP=X(K)

X(K)=X(I+1)

27
X(I+1)=TEMP

10 CONTINUE

20 CONTINUE

RETURN

END

C SUBROUTINE FOR MEDIAN

SUBROUTINE MED(X,N,AMV,AMD)

DIMENSION X(20)

IF(MOD(N,2).EQ.0) THEN

M=N/2

AMV=(X(M)+X(M+1))/2.

ELSE

M=(N+1)/2

AMV=X(M)

ENDIF

S=0.0

DO 30 J=1,N

S=S+ABS(X(J)-AMV)

30 CONTINUE

AMD=S/FLOAT(N)

RETURN

END

C MAIN PROGRAM

DIMENSION Y(20)

WRITE (*,*) 'ENTER TOTAL NUMBER OF VALUES'

READ (*,*) N

WRITE (*,*) 'ENTER VALUES'

READ (*,*) (Y(I),I=1,N)

28
CALL SORT(Y,N)

PRINT *,(Y(I),I=1,N)

CALL MED(Y,N,AMVAL,DEV)

PRINT *,'TOTLA NUMBER OF VALUES ',N,' MEDIAN IS ',AMVAL

PRINT *,'MEAN DEVIATION IS ',DEV

PAUSE

STOP

END

23. Write a program to do the test of significance of a single sample.


C SUBROUTINE
SUBROUTINE VARIANCE(X,N,AM,VAR,SQS)
DIMENSION X(100)
S=0.0
DO 10 I=1,N
S = S+X(I)
10 CONTINUE
AM=S/FLOAT(N)
PRINT *,'MEAN IS ',AM
S1=0.0
DO 20 I=1,N
S1=S1+(X(I)-AM)**2

29
VAR=S1/FLOAT(N)
SQS=S1/FLOAT(N-1)
20 CONTINUE
END
C MAIN PROGRAM
DIMENSION X(100)
PRINT *,'ENTER THE VALUE OF N, POPULATION MEAN AND VARIABLES'
READ(*,*) N,PM,(X(I),I=1,N)
CALL VARIANCE(X,N,AM,V,S)
IF (N.GT.30) THEN
Z=ABS((AM-PM)/(V/FLOAT(N)))
PRINT *,'USING Z TEST ',Z
ELSE
T=ABS((A M-PM))/(S/FLOAT(N))
PRINT *,'USING T TEST',T
ENDIF
PAUSE
STOP
END

30

Potrebbero piacerti anche