pekaziz Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 Selam arkadaşlar. Bu sene makina mühendisliğinde yüksek lisansa başladım ve öğrendiğim kadarıyla mühendislikte ileri sayısal metodlar diye bir derste bol bol basit programlamadan yararlanacağız. Öğretim görevlisiyle konuştuğumda Newton-Raphson veya Gauss-Norman tarzı metodların Fortran, Pascal veya Basic'te yazılacağını öğrendim. Fakat kafama takılan, lisans zamanı gördüğüm Fortran'ın günümüzde artık neredeyse hiç kullanılmadığı dolayısıyla boşa öğrenmiş olabileceğim oldu. Sorun şu, acaba hem kullanımı yaygın olan, hem de bu tarz dillere yakın olan başka neler var? Visual Basic 2008 denedim az önce, Frontpage gibi karşıma çıktı :D
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Matlab kabul etmiyormuş abi. :)
dasaaa Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 ayıp etmiş! bırak dersi "al dersini başına çal!" da de..
nutella yerim Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 fortran a herkes bi laf soyler ama senin karşılaşabilecegin tasarım problemlerine karşı tüm gereksinimlerini fazlasıyla karşılar,unutma sen muhendissin yazılımcı degil,programlama dersi gormenin amacı da calısacagın isletmede/projede surekli karsına cıkan aynı degiskene baglı sorunları cozmek icin minik programlar yazıp kendi kendine yetebilmek daha fazlası degil
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 En iyisi Fortran'a döneyim ben yine. :(
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Bunu düşündüm aslında ama programı kurmayı beceremedim. :( Fortan için Force diye bir complier var mesela. C++ için de C++ Builder yüklemeyi denedim, autoexec.bat'a şunu ekle filan diyor. 2000 yılından kalmış. :S
Skroce Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 tam olarak ne yapacagini bilmiyorum ama eger bir dil secimi diyorsan c# ve c++ derim. javada fena degildir özellikle herhangi bir aleti programlaman gerekirse. Dedigim gibi ilerde ne yapmak istedigine bagli
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 "nutella yerim" said: fortran a herkes bi laf soyler ama senin karşılaşabilecegin tasarım problemlerine karşı tüm gereksinimlerini fazlasıyla karşılar,unutma sen muhendissin yazılımcı degil,programlama dersi gormenin amacı da calısacagın isletmede/projede surekli karsına cıkan aynı degiskene baglı sorunları cozmek icin minik programlar yazıp kendi kendine yetebilmek daha fazlası degil Haklısın sanırım. Ben hep okulumda olduğu kadar kendi kişisel çalışmalarımda da yardımcı olmasını istemiştim. Ama en temel dilleri bilmeden ötekilere geçmek mümkün olmuyor gibi. Daha C++ complier kurmayı bile beceremedim.
Skroce Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 pekaziz said: Bunu düşündüm aslında ama programı kurmayı beceremedim. :( Fortan için Force diye bir complier var mesela. C++ için de C++ Builder yüklemeyi denedim, autoexec.bat'a şunu ekle filan diyor. 2000 yılından kalmış. :S NetBeans IDE
Kojiroh Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 Uğraşmayın bence o tarz builderlarla. En temizi Visual C++ Express. Bi kere kullandıktan sonra başka IDE aramıyosun http://www.microsoft.com/Express/VC/ Edit: %10000 beleş bu arada
Pen Duick Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 Matlab a izin yoksa C ya da C++ arkadaşım nasıl kurmayı beceremedim. C++ compiler mı yok başka dünyada. fortran neymiş, at çöpe.
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Tavsiyeler için teşekkürler herkese, hepsini deneyeceğim vakit buldukça ve en uygun olanı seçmeye çalışacağım. :) Yalnız ödevimi çabucak yapmak için fortranı hatırlamaya çalışıyorum şu sırada ve bir sorum olacak. Ödev f(x) = x^7 - 88 denklemini Newton-Rhapson yöntemiyle bir başlangıç değeri vererek 6. adıma kadar çözmek. Şu anda kodun hali: WRITE(*,*) 'Enter the initial value:' READ(*,*) X0 X1 = X0 - (F(X0) / F1(X0)) WRITE(*,*) 'Results are:' WRITE(*,*) X1 END FUNCTION F(X) F = X**7 - 88 RETURN END FUNCTION F1(X) F1 = 7 * X**6 RETURN END Yalnız burada işlemi bir kez yapıyor, yani ben ilk değeri giriyorum sonucu veriyor. Ancak şöyle olması lazım, sonuçta bana gösterdiği değeri tekrar denkleme yerleştirmesi (initial value) ve işlemi tekrar yapması ve buna 6 kere devam etmesi gerekiyor. DO loopla yapmayı çalıştım ama başlangıç değeri dışında, bitiş değeri ve artış miktarı belli olmadığı için kafam karıştı. Girmem gereken doğru komut ne acaba? :S
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Şöyle olması lazım. X1 = X0 + 2 diyelim ki. Ben X0 = 1 olarak belirledim. İlk X1 değeri 3 olacak. Daha sonra X1 = X0 kabul edecek (yani X0 = 3 olacak), sonraki adımda X1 = 5 olacak gibi. Yanlış anlamadıysam dediğini burada belirli bir artış miktarı yazamıyorum çünkü artış miktarını da belirleyen ilk girdiğim değer.
chagy Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 do i = 1, 10 şeklinde yazınca 10 a kadar yapmıyor muydu?
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Bildiğim kadarıyla ilk 1 başlangıç değerini, 10 da bitiş değerini gösteriyor. Ama deneyeyim hemen. :) DO 10, X0 = 1, 6, 1 WRITE(*,*) X1 10 CONTINUE END Bu şekilde 6 kere işlem yaptı evet :) Yalnız bir sorum daha olacak, bir kere işlemi yaptıktan sonra ikinci adımda X1 = X0 olması lazım. Bunu yapmak için şöyle düşündüm ama işe yaramadı. :S DO 10, X0 = 1, 6, 1 WRITE(*,*) X1 READ (*,*) X1 = X0 10 CONTINUE END Tamam bu adımı yaptın, şimdi burada bulduğun değeri X0 olarak kabul edip işlemi tekrar yap diye nasıl yazabilirim?
chagy Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 baya oldu hatırlamıyorum ama do-while da vardı sanki while x<10 dersin her işlemden sonra x=x+1; dersin. bi dene istersen bunuda.
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 WRITE(*,*) 'BaŸlang‡ de§erini giriniz:' READ(*,*) X0 DO 10, X0 = 1, 6 F = X0**7 - 88 F1 = 7 * X0**6 X1 = X0 - (F / F1) WRITE(*,*) X1 X1 = X0 10 CONTINUE END Şöyle deniyorum ama çalışmadı yine, alakasız sonuçlar veriyor. X1 = X0 kısmını becerebilsem olacak ama :D
chagy Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 X1 = X0 neden yapmaya çalışıyorsun? Bundan bahseder misin bir de write(*,*) X1 , orada X1'i nereden alıp yazıyor? edit: ayrıca WRITE(*,*) 'BaŸlang‡ de§erini giriniz:' READ(*,*) X0 DO 10, X0 = 1, 6 burada kanımca başlangıç değerini XO ya atıyorsun, sonra XO = 1 yapıyorsun?
pekaziz Mesaj tarihi: Ekim 6, 2009 Konuyu açan Mesaj tarihi: Ekim 6, 2009 Abi döngünün asıl olacağını anladığını ümit ediyorum :) Elimde şöyle bir denklem var. X1 = X0 - f(X0)/f'(X0) X0 değerini ben veriyorum en başta (bu arada f(X0) ve f'(X0) fonksiyonları da X0 cinsinden fonksiyonlar). Sistem ilk X1 sonucunu buluyor ve bunu WRITE(*,*) komutuyla ekranda yazıyor. Bundan sonrasında elde edilen X1 değeri, X0 yerine yazılıp yeni bir X1 değeri elde ediliyor, bu X1 tekrar X0 yerine yazılıyor ve 6 kere böyle gidiyor. Güncellemeni yeni gördüm. Evet sanırım orada bir sorun var, çözmeye çalışayım. :)
LethE Mesaj tarihi: Ekim 6, 2009 Mesaj tarihi: Ekim 6, 2009 x0 = readmead(0_0) do 10 i = 1,6 F = X0**7 - 88 F1 = 7 * X0**6 X1 = X0 - (F / F1) WRITE(*,*) X1 X0 = X1 10 continue
pekaziz Mesaj tarihi: Ekim 8, 2009 Konuyu açan Mesaj tarihi: Ekim 8, 2009 Halloldu arkadaşlar, teşekkür ederim.
Öne çıkan mesajlar