Professional Documents
Culture Documents
Fortran Primjerizagreb PDF
Fortran Primjerizagreb PDF
Algoritam
o
o
o
o
Tmax,i = Ti,1
Tmin,i = Ti,1
Tsred,i = Ti,1 / N
o
Program
program TEMP
write ( 6, 10 )
10 format ( ' Broj mjerenja N: ', $)
read ( 5, * ) N
stop
end if
write ( 6, 30 )
30 format ( ' ***** Unos temperatura T: *****' )
do i = 1, 10
do j = 1, N
write (6, 40) i, j
40 format(' T(', i2, ',', i3, '): ', $)
read ( 5, * ) T(i,j)
end do
end do
Tmaxu = T (1,1) ! Inicijalizacija pocetnih
Tminu = T (1,1) ! velicina za Tmaxu, Tminu
Tsredu = 0.0 ! i Tsredu
do i = 1, 10
Tmax (i) = T(i,1)
Tmin (i) = T(i,1)
Tsred(i) = T(i,1) / FLOAT(N)
do j = 2, N
if ( T(i,j) .GT. Tmax(i) ) then
Tmax(i) = T(i,j)
end if
if ( T(i,j) .LT. Tmin(i) ) then
Tmin(i) = T(i,j)
end if
Tsred(i) = Tsred(i) + T(i,j) / FLOAT(N)
end do
Tsredu = Tsredu + Tsred(i) / 10.0
do i = 1, 10
write ( 6, 60 ) i, Tmin(i), Tmax(i), Tsred(i)
60 format( 3x, 'Tocka: ', i3, 3x, 'Tmin = ', g10.3,
* 3x, 'Tmax = ', g10.3, 3x, 'Tsred = ', g10.3 )
end do
stop
end
Primjer 2 - Sortiranje
Sortirati niz od N realnih brojeva u rastui niz.
Algoritam
o
o
o
o
o
Uitati N
Uitati niz realnih brojeva Xi, i=1,N
Petlja j = 1, N-1
Petlja i = 1, N-j
U sluaju da je Xi > Xi+1 zamijeniti mjesta na slijedei nain:
y = Xi
Xi = Xi+1
Xi+1 = y
Program SORT
do i = 1, N
write (6, 30) i
30 format(' X(', i3, '): ', $)
read (6, *) X(i)
end do
do j = 1, N-1
do i = 1, N-j
if ( X(i) .GT. X(i+1) ) then
y = X(i)
X(i) = X(i+1)
X(i+1) = y
end if
end do
end do
end
Primjer 3 - Bisekcija
Nainiti program koji e odrediti nultoku funkcije f(x) = 0 u intervalu [x1, x2] uz odreenu tonost ,
metodom bisekcije. Za izraunavanje vrijednosti funkcije f(x) nainiti funkcijski potprogram.
Algoritam
o
o
o
o
Izraunati meutoku:
Provjeriti uvjete. Ako su zadovoljeni ispisati vrijednost nultoke.
Provjeriti u kojoj polovici inetervala funkcija mijenja predznak:
Program u FORTRAN-u
Program BISEKC
. Ako
do while (.TRUE.)
x0 = (x1 + x2) / 2.0
if ( ABS(x2-x1) .LE. Eps .OR. ABS(FUN(x0)) .LE. Eps) then
write (6, 50) x0
50 format( ' Nultocka x0 = ', g12.7)
stop
end if
.
Zadano: R, Vzad,
Algoritam
o
o
o
o
o
o
Program
Program SPREM
data Pi / 3.1415927 /
h = R ! Pocetni h
dh1 = R / 10.0 ! Pocetni korak za povecavanje
dh2 = R / 10.0 ! Pocetni korak za smanjivanje
do while (.TRUE.)
Vizr = 1.0 / 3.0 * h**2 * Pi * ( 3.0 * R - h )
if ( ABS(Vzad - Vizr) .LE. Eps) then
write (6, 40) h
end
i zadani argument x,
Program
Program POLI
integer N ! Red polinoma
real A(21) ! Polje koeficijenata
real X ! Argument polinoma
real Y ! Vrijednost polinoma
real D(20) ! Vrijednosi derivacija
character NoviP ! Novi polinom (D/N)
character NoviX ! Novi argument X (D/N)
stop
end
C ---------------------------------------------------------------------C Funkcijski potprogram VALUE
C Namjena: Izracunavanje vrijednosti polinoma
C y = A0 + A1 x + A2 x^2 + A3 x^3 + ... + An x^n
C Horherovom shemom
C y = (...(An x + An-1)x + ...)x + A1 x + A0
C Nacin poziva: Y = VALUE (A, NA, X)
C Ulazni parametri: A - Vektor koeficijenata polinoma
C NA - Broj elamenata vaktora A
C X - Argument
end
1 1 1 1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 2 2 2 1
1 2 3 3 3 3 3 3 3 2 1
1 2 3 4 . . . 4 3 2 1
1 2 3 4 . N . 4 3 2 1
1 2 3 4 . . . 4 3 2 1
1 2 3 3 3 3 3 3 3 2 1
1 2 2 2 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1 1 1
Program
C --------------------------------------------------------------------
C Program : MATR.FOR
C Namjena : Formiranje i ispis matrice zadanog oblika
C Ulaz : N
C Izlaz : Matrica zadanog oblika
C --------------------------------------------------------------------
Program MATRICA
integer N ! Sredisnji broj
integer MAT(20,20) ! Matrica
write (6, 10)
10 format (' Sredisnji broj N: ', $)
read (5, *) N
M = 2 * N - 1
do i = 1, M
do j = i, (M-i+1)
MAT(j,i) = i
MAT(i,j) = i
MAT(M-i+1,j) = i
MAT(j,M-i+1) = i
end do
end do
do i = 1, M
write (6, 20) (MAT(i,j), j = 1, M)
20 format (20(1x,i2))
end do
end