Konuyu görüntüle
IUCODERS FORUM > Programlama > Diğer (COBOL,asp php js..) > fortran program ar?ivi
Yazar
reccae


avatar
istanbul
banlandı
Kayıt: 15.02.2006
30.03.2006-01:20 #4948
evet forum ahalisi
başlıktan da anlayacağınız gibi amacım buraya fortranla ilgili küçük bir program arşivi yapmak
bunu tek başıma yapmak gibi bi niyetim yok zaten yapamam da worried
fortran bilen arkadaşların desteği ile birlikte yola çıkarsak bana bu iş olur gibi geldi
bize verilen kitapta bu program ile ilgili adam gibi bişey yok
hem kendimiz hem okula yeni gelecek ufaklıklar için smugbişeyler yapalım burda
ilk program benden peace


dairesel hareketin yarıçapını bulan prog

real a,g,v,R,mach,ivme
write(*,*)"enter the mach value"
read(*,*) mach
v=340*mach
write(*,*) "merkezcil ivmeyi giriniz"
read(*,*) ivme
a=ivme*9.81
R=v**2/a
write(*,*) "Turning radius of the aircraft is",R,"m"
end


centripetal acceleration merkezcil ivmeyi belirtiyo
bunları girincede dairesel hareketin yarıçapı çıkıyo






insa ettigim binanin cimentosu kelâm

Yazar
reccae


avatar
istanbul
banlandı
Kayıt: 15.02.2006
30.03.2006-01:31 #4949
2. program

bu programda karakterdeki sesli sessiz harflerin ve rakamların sayısını buluyo
yazmak uzun ama copy paste yapınbiggrin

INTEGER Sesli=0 , Sessiz=0, Rakam=0
INTEGER Bosluk=0, Diger=0, I
CHARACTER Karakter
CHARACTER (LEN=80) Satir
READ '(A)', Satir
DO I=1,80
Karakter=Satir(I:I)
! yukarida bir karakter secilir
SELECT CASE (Karakter)
CASE ('A','E','I','O','U', &
'a','e','i','o','u')
Sesli=Sesli + 1
CASE ('B','C','D','F','G','H', &
'J','K','L','M','N','P', &
'Q','R','S','T','V','W', &
'X','Y','Z', &
'b','c','d','f','g','h', &
'j','k','l','m','n','p', &
'q','r','s','t','v','w', &
'x','y','z')
Sessiz=Sessiz + 1
CASE ('1','2','3','4','5','6','7','8','9','0')
Rakam=Rakam + 1
CASE (' ')
Bosluk=Bosluk + 1
CASE DEFAULT
Diger=Diger+1
END SELECT
END DO
PRINT *, ' Sesli harfler = ', Sesli
PRINT *, ' Sessiz harfler = ', Sessiz
PRINT *, ' Digits = ', Rakam
PRINT *, ' Blanks = ', Bosluk
PRINT *, ' Diger karakterler = ', Diger
END PROGRAM




karakter sayısı sabit olduğu için boşluk sayısı yüksek çıkabiliyo thinking
ama çalışıyo






insa ettigim binanin cimentosu kelâm

Yazar
shyama


avatar

Kayıt: 27.01.2006
30.03.2006-21:11 #4991
Fortran kimin işine yarayacak artık bilmiyorum ama zamanında yaptığımız ödevlerden biri de benden.

10 ile 100 arasında girilen bir sayının asal olup olmadığını bulan program:

program asal
implicit none
integer::a
character(1)::cvp
do
print*,"10 ile 100 arasında bir sayı giriniz"
read*,a
if(a<10.or.a>100) then
print*,"uygun olmayan bir sayı girdiniz"
print*
cycle
end if
if(mod(a,2)==0) then
print*,"asal de§ildir"
else if(mod(a,3)==0) then
print*,"asal de§ildir"
else if(mod(a,5)==0) then
print*,"asal de§ildir"
else if(mod(a,7)==0) then
print*,"asal de§ildir"
else
print*,"asaldır"
end if
print*
print*,"yeni deneme yapmak ister misiniz?"
read*,cvp
if(cvp=="h".or.cvp=="H") exit
print*
end do
end program






Ya?amak bir a?aç gibi tek ve hür...
Ve bir orman gibi karde?cesine...

N.H.Ran
Yazar
reccae


avatar
istanbul
banlandı
Kayıt: 15.02.2006
30.03.2006-22:10 #4995
shyama program için saol
seninde dediğin gibi bu programlar pek bi işe yaramayacak
ama derste öğretiyolar ve sınavda da soracaklar BMG-2 dersinde
böyle bi program arşivi yaparsak yeni gelecekler içinde bizim içinde(1.sınıflar) iyi olabilir dedim
ama arkadaşlar pek ilgi göstermedi thinking
herhalde daha farketmediler bu başlığı
devamını bekleriz arkadaşlar
paylaşalım biraz dimi smug
adı üstünde paylaşım hugs





insa ettigim binanin cimentosu kelâm

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
30.03.2006-22:13 #4996
farkeden farkediyor siz devam edin. bu arada bunları bir şekilde indexleyip zipleyip siteye koymak lazım.thinking





N/A
Yazar
shyama


avatar

Kayıt: 27.01.2006
30.03.2006-22:34 #4997
sen saol reccae :)

basit bi ödev sorusu daha:

Girilen 3 sayıdan en büyük olanını bulan program.

PROGRAM EN_BUYUK_SAYIYI_BULMAK
IMPLICIT NONE
INTEGER::A,B,C,BUYUK
CHARACTER(1)::CVP
DO
PRINT*,"3 TAMSAYI G˜R˜N˜Z"
READ*, A, B, C
BUYUK=A
IF(BUYUK<B) THEN
BUYUK=B
END IF
IF(BUYUK<C) THEN
BUYUK=C
END IF
PRINT*,"EN BUYUK SAYI=",BUYUK
PRINT*
PRINT*,"YENIDEN DENEMEK ISTER MISINIZ?(E/H)"
READ*,CVP
IF((CVP=="H").OR.(CVP=="h")) EXIT
END DO
END PROGRAM





Ya?amak bir a?aç gibi tek ve hür...
Ve bir orman gibi karde?cesine...

N.H.Ran
Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-13:43 #20215
2. dereceden 1 bilinmeyenli denklemin köklerini alan kodları.



IMPLICIT NONE
real a,b,c,x1,x2,delta
write(*,*)"denklemin katsayilarini giriniz"
read(*,*)a,b,c
delta=(b**2)-(4*a*c)
if (delta<0) then
write(*,*)"gercek kok yoktur"
else if (delta==0) then
x1= -b/(2*a)
write(*,*)"kokler cakisiktir"
write(*,*)"koklerin degeri:",x1
else
x1=(-b+sqrt(delta))/(2*a)
x2=(-b-sqrt(delta))/(2*a)
write(*,*)"ilk kok",x1
write(*,*)"ikinci kok", x2
end if
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-13:57 #20216
3 sayidan en büyük ikisinin çarpımını veren kod.
Kod-1:

integer a,b,c,d,e,f
write(*,*)"uc sayi giriniz"
read(*,*)a,b,c
d=a*b
e=b*c
f=a*c
if(min(a,b,c)==c) then
write(*,*)d
else if (min(a,b,c)==b) then
write(*,*)f
else
write(*,*)e
end if
end


bu da kendi icadımbiggrin tabii min. değer sıfır olunca çöküyo,onu aradan çıkartmak için bi if(..) mekanizması koymam lazım.


integer a,b,c,d
write(*,*)"uc sayi giriniz"
read(*,*)a,b,c
d=min(a,b,c)
write(*,*)"sonuc=", a*b*c/d
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-14:05 #20220
select case(..)ile ilgili güzide bir örneğimizsmile lab'da da yapmıştık.


integer secim
write(*,*)"Istanbul Turizm A.$ Sunar"
write(*,*)"1. Asya Turu"
write(*,*)"2 .Avrupa Turu"
write(*,*)"3. Amerika Turu"
write(*,*)"Seciminizi giriniz:"
read(*,*)secim
select case(secim)
case(1) !secim=1 ise yapilacak olanlar burada yazili
write(*,*)"1. Asya Turu"
write(*,*)"ucak ile moskova, pekin, tokio"
write(*,*)"4 yildizli otellerde 3 gece 2 gun 2500$"
case(2)
write(*,*)"2 .Avrupa Turu"
write(*,*)"ucak ile viyana, paris, budapeste"
write(*,*)"5 yildizli otellerde, 3 gece 2 gun 1500$"
case(3)
write(*,*)"3. Amerika Turu"
write(*,*)"ucak ile new york, los Angeles"
write(*,*)"4 yildizli butik otellerde 4 gece 3 gün,4000$"
case default
write(*,*)"seciminiz hatali! 1, 2 veya 3 giriniz!"
end select
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-14:13 #20221
kullanıcının verdiği 2 sayıyla, kullanıcının seçtiği işlemi yapan program.


real i,j,k
integer islem
write(*,*)"1.Toplama"
write(*,*)"2.Cikarma"
write(*,*)"3.Carpma"
write(*,*)"4.Bolme"
write(*,*)"yapmak istediginiz islemin kodunu giriniz"
read(*,*)islem
write(*,*)"iki tamsayi degeri giriniz"
read(*,*) i,j
!seçimi kontrol edecek bölümün başladığı yer
select case(islem)
case(1)
k=i+j
write(*,*)"sayilarin toplami=",k
case(2)
k=i-j
write(*,*)"sayilarin farki=",k
case(3)
k=i*j
write(*,*)"sayilarin carpimi=",k
case(4)
k=i/j
write(*,*)"sayilarin orani=",k
case default
write(*,*)"hatali secim, tekrar giriniz"
end select
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-14:27 #20222
1'den belirlenen sayıya kadar toplama yapan program.
Do döngüsü için basit bir örnek.


real sayi,toplam,ort
integer i,n
write(*,*)"toplanacak sayi miktarini giriniz:"
read(*,*)n
toplam=0
do i=1,n
write(*,*) i, ". sayiyi giriniz"
read(*,*) sayi
toplam=toplam+sayi
end do
ort=toplam/n
write(*,*)"sayilerin toplami=", toplam
write(*,*)"sayilarin ortalamasi=", ort
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-14:35 #20225
bir işyerindeki personelin toplamını, ortalamasını, en çok ve en az maaşı göseren program.


character cevap
integer n,i
real maas,ort,toplam,dusukmaas,yuksekmaas

do
write(*,*)"personel sayisini giriniz"
read(*,*) n
write(*,*)"ilk personelin maasini giriniz"
read(*,*)maas
dusukmaas=maas
yuksekmaas=maas
toplam=maas

do i=2,n
write(*,*)i,".personelin maasini giriniz:"
read(*,*)maas
toplam=toplam+maas
if(maas>yuksekmaas)then
yuksekmaas=maas
else if(maas<dusukmaas)then
dusukmaas=maas
end if
end do

ort=toplam/n
write(*,*)"maaslarin toplami=", toplam
write(*,*)"maaslarin ortalamasi=",ort
write(*,*)"en yuksek maas=", yuksekmaas
write(*,*)"en dusuk maas=", dusukmaas
write(*,*)"yeni bir hesaplama yapmak istiyor musunuz? E/H"
read(*,*) cevap
if((cevap=="h").or.(cevap=="H"))exit
end do

end






"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
17.04.2007-14:52 #20228
Girilen TL'nin USD karşılığını bulan program.

implicit none
real dolar,ytl,kur
character cevap
write(*,*)"dolar kurunu giriniz:"
read(*,*) kur
do
write(*,*)"turk lirasi miktari:..."
read(*,*) ytl
if(ytl.le.0)then
write(*,*)"ytl miktarini yanlis girdiniz!"
cycle
end if
dolar=ytl/kur
write(*,1) ytl, dolar
1 format(F15.2 ,"turk lirasinin dolar karsiligi",F9.2 ,"dolardir")
write(*,*)"devam edecek misiniz? E/H"
read(*,*)cevap
if((cevap=="h").or.(cevap=="H"))exit
end do
end





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
cengineer


avatar

Kayıt: 27.10.2006
17.04.2007-15:08 #20232
designed by cengineer!dancingklişeleşmiş bir durum dancingarkadaşlar bu da benden

 
integer i
character*26 a,b
a="abcdefghijklmnopqrstuvwxyz"
do i=1,25
b=a(1:i)
write(*,*) b
end do
end






" Her arayan bulamayabilir ancak bulanlar arayanlardir..! " Imam-i Rabbâni




Yazar
concordia


avatar

Kayıt: 14.02.2007
17.04.2007-18:35 #20249
girilen sayıların toplamını ve ortalamasını bulan,sayılar 0'dan küçük olduğunda hata veren,işlem sonlandırıldıktan sonra devam etmek isteyip istemediğimi soran programı yazmaya çalıştım.ama olmadıworried nerde hata yapıyorum yardımcı olurmusunuz?
integer i,n,toplam,sayi
real ort
CHARACTER*1 CEVAP
do
toplam=0
write(*,*)"toplanacak sayi miktarini giriniz"
read(*,*)n
do i=1,n
write(*,*)i,". sayiyi giriniz"
read(*,*)sayi
if (sayi .lt. 0) then
write(*,*)"hatali giris! sayiyi tekrar giriniz:"
read(*,*)sayi
toplam=toplam+sayi
cycle
end if
toplam=toplam+sayi
end do
ort=toplam/n
write(*,*)"toplam=",toplam
write(*,*)"ortalama=",ort
write(*,*)"devam etmek istiyormusunuz?E/H"
READ(*,*) CEVAP
if ((cevap=="h") .or. (cevap=="H")) EXIT
end do
end






1 2 3 4 5
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb