urbic.com logotip

Naloga:

Napišite program, ki reši kvadratno enačbo v realnih številih. Program naj vas na začetku prosi, da vnesite koeficiente kvadratne enačbe in vam nato izpiše rešitve vse mozne rešitve. Upoštevajte vse možnosti.

program kvadrat2
implicit none
real :: a,b,c,d,x1,x2
write (*,*) "vnesi parametre kvadratne enacbe"
read (*,*) a,b,c
write(*,'(a2,f10.2)')'a=',a
write(*,'(a2,f10.2)')'b=',b
write(*,'(a2,f10.2)')'c=',c
if (a.eq.0) then
 if (b.eq.0) then
  if (c.eq.0) then
   write(*,*)'Imamo identiteto, vsak x resi enacbo'
  else
   write(*,*)'Enacba ni resljiva'
  endif
 else
  write(*,*)'Enacba je linearna in ima eno niclo'
  write(*,'(a2,f10.5)')'x=',-c/b
 endif
else
 d=b**2-4e0*a*c
 if (d.eq.0) then
   x1=-b/2e0/a
   write(*,*)'Enacba ime eno dvojno resitev'
   write(*,'(a5,f10.5)')'x1,2=',x1
 elseif (d.gt.0) then
   x1=(-b+sqrt(d))/2e0/a
   x2=(-b-sqrt(d))/2e0/a
   write(*,*)'Enacba ima dve resitvi'
   write(*,'(a3,f10.5)')'x1=',x1
   write(*,'(a3,f10.5)')'x2=',x2
 else
   x1=-b/2e0/a
   x2=sqrt(-d)/2e0/a
   write(*,*)'Imamo dve kompleksni resitvi'
   write(*,'(a3,f10.5,a5,f10.5)')'x1=',x1,'  +i*',x2
   write(*,'(a3,f10.5,a5,f10.5)')'x1=',x1,'  +i*',x2
 endif
endif
end program kvadrat2

Tekst sedaj shranimo kot datoteko kvadrat2.f90 in prevedemo.

Tu je sedaj še print screen postopka prevajanja z nekaj rezultati. V kolikor vam kakšna podrobnost ni jasna, mi sporočite.

Nazaj na osnovno stran za predmet Uporaba numeričnih metod v kemiji.