Tam Sürümünü Görmek İçin : fortranda ikinci dereceden denklem çözümü nasıl yapılır?
slm arkadaşlar, benim bi sorum war:
fortranda a,b,c katsayılarını kullanıcıya girdirerek axKARE+bx+c=0 şeklindeki denklemin köklerini nasıl buldururuz?
hani asp de kullanılan if-else warya aynı öle yapılcakmış,bu if-else burda nasıl yazcaz biliyo musunuz?
apachesoul
07/10/2005, 03:42
INTEGER A,B,C
REAL DELTA,X1,X2
print*, 'A'
READ*,A
print*, 'B'
READ*,B
print*, 'C'
READ*,C
WRITE (*,'("A: ",I4)')A
WRITE (*,'("B: ",I4)')B
WRITE (*,'("C: ",I4)')C
DELTA = (B**2)-(4*(A*C))
WRITE (*,'("DELTA = ",F9.3)')DELTA
IF (DELTA < 0.) THEN
WRITE (*,'("REEL KÖK YOKTUR")')
END IF
IF (DELTA .EQ. 0) THEN
WRITE (*,'("ÇİFT KAT KÖK VAR")')
X1 = -B/(2*A)
WRITE (*,'("X1 = X2 = ",F9.3)')X1
END IF
IF (DELTA > 0.) THEN
WRITE (*,'("İKİ AYRI KÖK VARDIR")')
X1 = (-B + (DELTA**(.5)))/(2*A)
X2 = (-B - (DELTA**(.5)))/(2*A)
WRITE (*,'("X1 = ",F9.3)')X1
WRITE (*,'("X2 = ",F9.3)')X2
END IF
END
*** TEZİMİ FORTRANDA VERMİŞTİM HATTA EŞ ZAMANLI RUNGEKUTTA ÇÖZDÜRÜYORDUM FAKAT UNUTMUŞUZ İŞTE FORTRANIN SYNTAXINI İŞİNİ GÖRÜR SANIRSAM. KENDİNE UYARLARSIN
dostum çok sağol önerin için ama ben daha kısa bi yol buldum sanırım bu doğrumu? ben şu ana kadar bi hata almadım :)
program kok
write (*,*) 'Lutfen a,b,c yi giriniz'
read (*,*) a,b,c
delta=(b**2)-(4*a*c)
if(delta.LT.0) then
write (*,*) 'reel kok yoktur'
else if (delta.EQ.0) then
x=-(b)/2*a
write (*,*) 'cakisik kok vardir'
write (*,*) x
else if (delta.GE.0) then
x_1=(-b+(sqrt(delta)))/(2*a)
x_2=(-b-(sqrt(delta)))/(2*a)
write (*,*) 'iki reel kok vardir'
write (*,*) 'x1=',x_1
write (*,*) 'x2=',x_2
end if
end
ama seninkinide incelicem baya ayrıntılı bişeye benziyo :D
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.