Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ASSIGNMENT
OF
STAT 515
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
DO 10 I=1, 3
DO 10 J=1, 3
10 CONTINUE
PAUSE
STOP
END
3
2. Write a program to find the difference of two matrices.
C DIFFERENCE OF TWO MATRICES
READ(*,*)((X(I,J),J=1,3),I=1,3)
DO 10 I=1,3
DO 10 J=1,3
10 CONTINUE
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
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
20 CONTINUE
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)
READ *,N,M
READ *,((X(I,J),J=1,M),I=1,N)
CALL NORM(X,N,M,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
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
READ 25,((MATR(I,J),J=1,5),I=1,5)
25 FORMAT(5I2)
CALL TRNS(MATR,5)
PRINT 30,((MATR(I,J),J=1,5),I=1,5)
PAUSE
STOP
END
DIMENSION X(40,40)
8
READ*,N,M
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)
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)
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
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)
READ *,((X(I,J),J=1,3),I=1,3)
PRINT (6,15)((X(I,J),J=1,3),I=1,3)
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
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)
READ *,N,M
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
PAUSE
STOP
13
END
READ *, N
READ *, A
BIG = A
NUM=N-1
DO 10 I = 1, NUM
READ *, B
IF (B.GT.BIG) BIG=B
10 CONTINUE
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)
READ*,N
READ *,(X(I),Y(I),I=1,N)
CALL FIT(X,Y,N,M,C)
PRINT 20,M,C
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
16
READ(*,*) X
READ(*,*) K
Y= 1.0
SUM=1.0
DO 10 I=1,K
Y=Y*X
SUM=SUM+Y
10 CONTINUE
PAUSE
STOP
END
C MAIN PROGRAM
REAL INTRT,MIN
DO 10 I=1,5
READ*,RAT,BAL,YRS,MIN
BAL=BAL+INTRT(RAT,BAL,YRS,MIN)
17
PRINT*,I,' BALANCE IS ',BAL,'RATE IS ',RAT
10 CONTINUE
PAUSE
STOP
END
C FUNCTION
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
READ (*,*) GI
19
WRITE(*,*) 'ENTER SAVING'
READ(*,*) S
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
INTEGER FIRST,SECOND
READ(*,*)(MARKS(I),I=1,20)
FIRST=0
DO 25I= 1,20
25 CONTINUE
SECOND=0
DO 30I= 1,20
IF(MARKS(I).EQ. FIRST) GO TO 30
30 CONTINUE
21
PAUSE
STOP
END
READ *,X
XRAD=3.14*X/180
CALL FUNC(XRAD,S)
WRITE(6,10) S
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)
READ *, X
CALL FUN(X,FX)
PAUSE
STOP
END
SUBROUTINE FUN(Y,S)
IF ((Y-2.).EQ.0) THEN
S=0.0
S=2.*Y*Y+3.*Y+4.
ELSE
S=-2.*Y*Y+3.*Y-4.
ENDIF
RETURN
23
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
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)
READ (*,*) N
28
CALL SORT(Y,N)
PRINT *,(Y(I),I=1,N)
CALL MED(Y,N,AMVAL,DEV)
PAUSE
STOP
END
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