You are on page 1of 12

Zadatak 1.

Napisati program koji racuna povrsinu trokuta u ravni xy za koji su date


koordinate vrhova (xi,yi), i=1,2,3.

Program pov_trokuta
Implicit none
Real:: x(3),y(3),p
Integer::i
Do i=1,3
Print*,'Unesi koordinate',i,'tacke'
Read(*,*) x(i),y(i)
End do
p=(0.5)*abs((x(1))*(y(2)-y(3))+(x(2))*(y(3)-y(1))+(x(3))*(y(1)-y(2)))
Print*,'Povsina trokuta je P=',p
End Program pov_trokuta

Zadatak 2.

Napraviti program za rjesavanje kvadratne jednacine.

Program kvad_jed
Implicit none
Real::a,b,c,x1,x2,dis
Print*,'Unesi koeficijente a,b,c'
Read(*,*)a,b,c
dis=b*b-4.*a*c
If (dis.gt.0) then
x1=(-b+sqrt(dis))/(2.*a)
x2=(-b-sqrt(dis))/(2.*a)
Print*,'Rjesenja jednacine su x1=',x1,'x2=',x2
Else If (dis.eq.0) then
x1=(-b+sqrt(dis))/(2.*a)
Print*,'Rjesenja jednacine su x1=x2=',x1
Else IF (dis.lt.0) then
Print*,'Jednacina nema rjesenja'
End If
End Program kvad_jed
Zadatak 3.

Funkcija sinx moze se priblizno izracunati pomocu izraza. Napisati


program koji ce za datu vrijednost argumenta x izracunati sinx pri cemu
se uzima n=10 clanova reda.Izracunatu vrijednost uporediti sa tacnom
vrijednosti.

Program sinus_x
Implicit none
Integer i,j,n,k,factorial;
Real::x_stepen,x_radijan,sinx,pi,sinxtac,Greska
Print*,'unesi ugao x u stepenima'
Read(*,*) x_stepen
pi=3.14
x_radijan=x_stepen*pi/180.
Print*,'unesi broj n'
Read(*,*),n
Do j=1,n
Factorial=1
Do i=1,2*j-1
Factorial=factorial*i
End do
sinx = sinx + (-1)**(j+1)*x_radijan**(2*j-1)/factorial
End do
Print*,'sinx=',sinx
sinxtac=sin(x_radijan)
Print*,'sintac',sinxtac
greska=((sinxtac-sinx)/sinxtac)*100
Print*,'greska=',greska
End program sinus_x
Zadatak 4.

Napisati program koji za date vrijednosti a i b racuna vrijednost c prema


slijedecem uslovu:

2a 3b
ab ako je a 2b 3

c 3b 3 ako je a 2b 3
8a
ako je a 2b 3
b

Program nesto
Implicit none
Real::a,b,c,d
Print*,'Unesi vrijednosti za a i b'
Read(*,*)a,b
d=2*b-3
if (a.lt.d) then
c=(2.*a-3.*b)/(a*b)
print*,'c=',c
else if (a.eq.d) then
c=3.*b**3
print*,'c=',c
else if (a.gt.d) then
c=8.*a/(sqrt(b))
print*,'c=',c
end if
end program nesto
5.Zadatak

Za poznate vrijednosti napona U, omskog otpora R, induktiviteta L,


kapacitivnosti C i frekvencije f , jacina struje u serijskom RLC kolu se
racuna po obrascu:

U
I
2
1
R 2fL
2

2fC

Napraviti program koji ce za date vrijednosti U,R,f,L racunati vrijednosti


jacine struje i pri cemu se C mjenja u intervalu od 0.01 - 1 sa korakom
0.01. Racunanje vrijednosti I obaviti pomocu funckcije struja_I

Program struja_I
Implicit none
Real:: U,I,R,PI,f,C,L
Integer::j
Print*,'Unesi vrijednost napona U'
Read(*,*)U
Print*,'Unesi vrijednost omskog otopra R'
Read(*,*)R
Print*,'Unesi vrijednost induktiviteta L'
Read(*,*)L
Print*,'Unesi vrijednost frekvencije f'
Read(*,*)f
PI=3.14
Do j=0.01,1,0.01
I=U/sqrt(R**2+(2.*PI*f*L-(1/2.*PI*f*j))**2)
Print*,'Jacina struje I=',I
End do
End program struja_I
6.Zadatak

Zadata je matrica formata 5 x 5. Napisati program koji ce ustanoviti u


kojem je redu aritmeticka sredina svih elemenata najmanja.

program matrica_5x5;
implicit none;
integer:: i,j;
real:: A(5,5),srednja(5),minsrednja,red;
A=0;
do i=1,5;
do j=1,5;
print*,'clan',i,j;
read*,(A(i,j));
end do;
end do;
do i=1,5;
srednja(i)=(A(i,1)+A(i,2)+A(i,3)+A(i,4)+A(i,5))/5;
end do;
minsrednja=srednja(1)
do i=1,5;
if (minsrednja>=srednja(i)) then;
minsrednja=srednja(i);
red=i;
end if;
end do;
print*,'red',red,'minimalna srednja vrijednost',minsrednja;
end;
7.Zadatak

U jednodimenzionalnom nizu od 10 clanova odrediti redni broj clana koji je


najveci po apsolutnoj vrijednosti i redni broj clana koji je drugi po
apsolutnoj vrijednosti. Ako ima vise jednakih, usvojiti onaj ciji je redni
broj manji.

program niz
implicit none
real s,v,a(10)
integer i
do i=1,10
print*,Unesite ',i,'. clan niza'
read(*,*)a(i)
end do
v=0
do i=1,10
if (v<abs(a(i))) then
v=a(i)
s=i
end if
end do
print*,'najveci broj po apsolutnoj vrijednosti je',v,'redni broj je',s
end program niz
8.Zadatak

Napraviti program vrsi sortiranje datog niza prema velicini clanova. Nakon
sortiranja, originalni i sortirani niz se ispisuju na ekran

program sortiranje
implicit none
integer:: N,i,j,Niz1(100),Niz1Copy(100),Max;
print*,'Unesi broj clanova niza N, N<100'
read(*,*) N
do i=1,N
print*,'Unesi clan niza',i
read(*,*)Niz1(i)
end do
Niz1Copy=Niz1
do i=1,N-1
do j=i+1,N
if (Niz1(i).gt.Niz1(j)) then
Max=Niz1(i)
Niz1(i)=Niz1(j)
Niz1(j)=Max
end if
end do
end do
print*,'Originalni i sortirani niz iznose'
do i=1,N
ptint*,Niz1Copy(i),Niz1(i)
end do
end program sortiranje
9.Zadatak

Zadana je realna kvadratne matrica 3 x 3 i niz B od tri clana. Napisati


program koji formira novi niz C ciji je opsti clan dat sa:
3
Ci Aij B j
j 1

Prikazati sve elemente A,B,C na ekranu.

program matrica_puta_vektor
real::A(3,3),B(3),C(3),D(3)
integer::i,j,k
A=0
do i=1,3
print*,'Unesi red matrice',i
read(*,*)(A(i,j),j=1,3)
end do
print*,'Unesi Vektor B'
do i=1,3
read(*,*)B(i)
end do
do i=1,3
C(i)=(A(i,1)+A(i,2)+A(i,3))*b(i)
end do
print*,'Matrica A'
do i=1,3
print*,(A(i,j),j=1,3)
end do
print*,'Niz B'
do j=1,3
print*,B(j)
end do
print*,'Niz C'
do i=1,3
print*,c(i)
end do
end program matrica_puta_vektor
10.Zadatak

Dat je niz x od 25 tackaka. U datom nizu koordinate (x) tacaka su


poredane slucjano. Napravi program koji ce poredati date tacke prema
rastucoj koordinati x, od xmin do xmax.

program pomalo
real::x(25),xmin,i,j
do i=1,25
print*,'Unesi x koordinate tacaka',i
read(*,*)x(i)
end do
do j=1,24
do i=1,25-j
if(x(i).gt.x(i+1))then
xmin=x(i)
x(i)=x(i+1)
x(i+1)=xmin
end if
end do
end do
print*,'sortirani niz od xmin do xmax'
do i=1,25
print*,x(i)
end do
end program
11.Zadatak

Sa tastature unjeti niz od 15 elemenata. Formirati novi niz y prema


obrascu

1 xi 2 ln xi akoje xi 5

yi 1
1 xi x akoje xi 5
i
Zatim izracunati svih elemenata koji su razlichiti od 0.

program nesto
Implicit none
Real::x(5),y(5),proizvodx,ProizvodY,ProizvodXY
Integer::i
print*,'unesi clanove x'
Do i=1,5
Read(*,*)x(i)
If(x(i).ge.5.)then
Y(i)=((1+x(i))**2)*ln(x(i))
Print*,'x',i,'=',x(i)
Print*,'y',i,'=',y(i)
Else if(x(i).lt.5.)then
Y(i)=(2*x(i))
Print*,'x',i,'=',x(i)
Print*,'y',i,'=',y(i)
End if
End do
Proizvodx=1
Do i=1,5
If(X(i).ne.0)then
Proizvodx=Proizvodx*X(i)
end if
end do
ProizvodY=1
Do i=1,5
If(Y(i).ne.0)then
ProizvodY=ProizvodY*Y(i)
end if
end do
ProizvodXY=ProizvodY*ProizvodX
print*,'proizvod clanova X je',Proizvodx
print*,'proizvod clanova Y je',ProizvodY
print*,'proizvod clanova X I Y je',ProizvodXY
end program nesto

12.Zadatak
Sa tastature unjeti vektor temp(12) cije komponente Temp(i),i=1,2,3...12
predstavljaju prosjecnu temperaturu za odgovarajuci mjesec u godini,
(1=januar,2=februar...12=decembar).Sortirati date mjesecne
temperature po rastucem redosljedu,od najnize do najvise te zajedno sa
imenom mjeseca na ispisati ekranu.Izracunati prosjecne temperature za
godisnja doba te ih sa imenom godisnjih doba ispisati na ekran.

13. Zadatak

Print*,' Unesite niz a'


do i=1,10
print*,'Unesite',i,'. clan niza'
read*,a(i)
end do
suma=0
pro=1
do i=1,10
if(mod(a(i),2.).eq.0) then
suma=suma+a(i)
else if (mod(a(i),2.).eq.1.) then
pro=pro*a(i)
end if
end do
end

14. Zadatak
Print*,' Unesite niz a'
do i=1,10
print*,'Unesite',i,'. clan niza'
read*,a(i)
end do
suma=a(5)+a(7)
pro=a(1)*a(10)
if(suma.gt.pro) then
print*,'Suma',suma
else
print*,'Proizvod',pro
end

15. Zadatak
Print*,' Unesite niz a'
do i=1,10
print*,'Unesite',i,'. clan niza'
read*,a(i)
end do
suma=0
pro=1
do i=1,5
suma=suma+a(2*i)
pro=pro*a(2*i-1)
end do
print*,'Suma elemenata: ',suma,'; Proizvod: ',pro
end
16. Zadatak
program niz
real a(10),max,min,imax,imin,suma,pro
integer i
Print*,' Unesite niz a'
do i=1,10
print*,'Unesite',i,'. clan niza'
read*,a(i)
end do
max=a(1)
imax=1
min=a(1)
imin=1
suma=0
pro=1
do i=1,10
if(a(i).gt.max) then
max=a(i)
imax=i
end if
end do
do i=1,10
if(a(i).lt.min) then
min=a(i)
imin=i
end if
end do
do i=1,10
suma=suma+a(i)
end do
do i=1,10
pro=pro*a(i)
end do
print*,'Niz a'
print*,a
Print*,'Niz a - fini prikaz'
do i=1,10
Print*,i,'. - ',a(i)
end do
Print*,'Najveci je ',imax,'. clan vrijedosti ',max
Print*,'Najmanji je ',imin,'. clan vrijedosti ',min
Print*,'Suma svi clanova niza iznosi ', suma
Print*,'Proizvod svih clanova niza iznosi ',pro
end

You might also like