Windows 98'de C# Kodu Derleyin

Windows 9x iþletim sistemlerine dotNET Framework kurularak, dotNET platformunda yazýlmýþ programlar çalýþtýrýlabiliyor, fakat siz 9x iþletim sistemlerinde dotNET programý yazýp derleyemiyorsunuz, çünkü .NET programlarýný yazabilmek için Microsoft 2 araç sunuyor.

1 ) .NET Framework SDK: Yükleyebilmek için en az windows NT 4.0 SP6 kurulu 32 MB RAM'li bir sistem gerekmektedir.

2 ) Visual Studio .NET: Yükleyebilmek icin en az Windows 2000 Professional SP3 ve 96 MB RAM içeren bir sistem gerekmektedir.

Diyelim ki elimizde bir Windows 98 iþletim sistemi yüklü sistem var. Bu sistemin belleði de sadece 32 MB olsun. Bu özelliklere sahip bir sistem üzerinde .NET programlarý yazmak isteyelim. Bunu yapabilir miyiz?
Eðer .NET programlarýný yazmanýn tek yolu yukaridaki araçlari kullanmak olsaydý bu sorunun yanýtý "hayýr" olacaktý. Fakat .NET programlarýný yazmanýn birkaç yolu daha var. Bunlardan bir tanesi Mono projesi dahilinde geliþtirilen C# derleyicisidir. http://www.go-mono.com/ adresinden projeyle ilgili bilgilere ve gerekli tüm programlara ücretsiz ulaþabilir bilgisayarýnýza indirebilirsiniz. mono'nun bugünku tarih itibariyle Windows icin 0.28 sürümü mevcut. Mono'nun CLR altyapýsý ile basit bir uygulamayi "mint den1.exe" þeklinde çalýþtýrmak istediðimde benim bilgisayarýmda "bellek yetersiz" gibi bir hata verdi. Bu yüzden Microsoft .NET Framework kurmanýzý da tavsiye ederim. Microsoft'un sitesinden son .net framework kurulum dosyasýný indirrip kurduktan sonra Mono'nun "mcs" derleyicisi ile derlediginiz programlarý normal Windows uygulamasý çalýþtýrýyormuþ gibi çift týklayarak çalýþtýrabilirsiniz. Aþaðýda basit bir örnek görülüyor.

class den1{
public static void Main(){
System.Console.WriteLine("denemedir.");
System.Console.ReadLine();
}
}

Bu örnek uygulamayý mcs derleyicisi ile aþaðýdaki gibi derliyoruz.

D:\Program Files\Mono-0.28\bin\>mcs den1.cs
Compilation succeeded

Oluþan dosyaya Çift týklayarak ya da exe'nin adýný yazarak uygulamayý çalýþtýrýyoruz.

D:\Program Files\Mono-0.28\bin\>den1.exe
Denemedir.

Ýsterseniz daha karmaþýk bir uygulama ile mcs derleyicisinin yeteneklerini test edelim.

Matematik'te satýr, sütun veya diyagonallerindeki sayýlarýn toplamýnýn hep ayný sayýya eþit olduðu karelere "sihirli kare" denir. Verilen bir tek sayýlý boyut icin sihirli kare oluþturan algoritma uygulamasý C# ile verilmistir. Program Visual Studio .NET 2003 ortamýnda yazýlýmýþtýr ve derlenmistir. VS.NET ile oluþturulan calýþtýrýlabilir dosyanýn adý WindowsApplication6.exe'dir. Ayný kaynak kod (Form1.cs) hicbir deðiþikliðe ugratýlmadan Windows 98 uzerine kurulu Mono-0.28 ve .NET Framework 1.1 yuklu makinede Mono derleyicisiyle "mcs Form1.cs -r:System.Windows.Forms -r:System.Drawing -r:System.Data" komutuyla derlenmiþtir. Derleme baþarýyla sonuclanmýþ ve Form1.exe adli dosya oluþmuþtur. Aþaðýdaki masaustu görüntüsunde sol tarafta çalýþtýrýlan uygulama Mono ile derlenen, sað tarafta çalýþtýrýlan uygulama ise (ayný kaynak koddan derlenmiþtir) VS.NET 2003'te derlenmiþtir. Ýki dosya da çift týklanarak çalýþtýrýlmýþtýr.


Þekil 1: Mono ve VS.NET ile derlenen uygulamalar.

VS.NET Uygulamasýný indirmek için týklayýn.

Mono ile derlenen uygulamayý indirmek için týklayýn.

Sihirli Karelerin Oluþturulmasý - Basamak Yöntemi

"Sihirli Kare" oluþturmak icin kullanýlan yöntem La Loubere'in bulduðu "Basamak" adý verilen yontemdir.

Aþaðýda genel kuralý verilen "Basamak" yöntemi her tek boyutlu sihirli kareyi oluþturabilir. Aþagidaki anlatým "Yaþayan Matematik" adli kitabin 53. sayfasýndan alýnmýþtýr, bu konu hakkýnda daha detayli bilgi ve buna benzer keyifli matematik eðlencelerini öðrenmek için bu kitaba baþvurmanýz tavsiye edilir. Bu yöntemin 3x3'lük bir sihirli kareye uygulanýþý aþaðýdaki þekilde gösterilmiþtir.


Þekil 2: Sihirli kare algoritmasý


"
1) 1 sayýsýný en üst satýrýn ortasýndaki kareye yerleþtirerek baþlayalým.

2) Her koyduðumuz sayýnýn sað üst çaprazýna bir sonraki sayýyý koyalým. Eðer burasý sihirli karenin dýþýndaki hayali bir kareyse (a,b,...,g diye isimlendirdiklerimizden biriyse) sihirli karede bu yere denk gelen kutuyu bulup buraya sayýmýzý yerleþtirelim.

3) Eðer sihirli karedeki sað üst çapraz doluysa, o zaman sayýyý bir onceki sayýnýn altýndaki kutuya yerleþtirelim (4 ve 7 sayýlarýnda olduðu gibi).

4) 2. ve 3. basamaklarý uygulamayý sürdurerek sihirli karedeki diðer sayýlarýn yerlerini bulalým."

["Yaþayan Matematik",s.53]

Tavsiyeler

Mono'nun resmi sayfasý
Mono semineri slaytlarý

Referans

"Yaþayan Matematik", Theoni PAPPAS, Türkçe'ye çeviren: Yýldýz SÝLÝER, Sarmal Yayýmevi, Ekim 1993.