C# Dersler…::Ders8::..Aritmetik İşlemler

Aritmetik operatörler ve kullanım şekilleri

Bilgisayarlar yapıları gereği, çeşitli matematiksel hesaplamaları gerçekleştirirler. Bu sebeple, C# ile temel matematiksel işlemlerin nasıl yapıldığını inceleyelim. Temel matematiksel işlemler derken toplama, çıkarma, çarpma ve bölme işlemlerini kastediyorum. Daha önceki bölümlerden, toplama işleminin C#’ta nasıl yapıldığını biliyoruz:

1 C = A + B;

Bir tamsayıdan diğer bir tamsayıyı çıkarmak da bu kadar kolaydır:

1 C = A – B;

Yukarıda yaptığımız işlemlerde kullandığımız artı ve eksi işaretlerinin her ikisi de aritmetik işaretlerdir. Bu işaretlere aynı zamanda ikili operatör de denilir. Bu durumda, bu işaretlere operatör, sağında ve solunda bulunan ifadelere de operand denir. İkili operatör denmesi de, işaretin sağında ve solunda iki tane operand bulunmasındandır.

1 C = A + -B;

 

1 C = -B + A;

Yukarıdaki iki örneği incelersek, burada eksi işaretleri tekli operatördür. Çünkü bu işaretler B’nin değerini işlem sırasında negatif yapmak için orada bulunuyorlar ve sadece sağında bir operandı var.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

1 C = +A – +B;

Ama bu örnekte olduğu gibi artı işaretinin değişkenin önünde olması hiçbir şeyi değiştirmez. O yüzden sırf olabileceğini göstermek için yazdığım bu tür bir ifadeyi daha sonra hiç yazmayacağım.

C#’ta çarpma işlemi yapmak istediğimizde çarpma için gerçek dünyada kullandığımız gibi bir çarpı işaretinin olmadığını göreceksiniz. Bu işlemi asteriks ile yapıyoruz. Asteriks işareti genelde bütün programlama dillerinde çarpma için kullanılır.

1 Alan = En * Boy;

Bazı programcılar asteriks için yıldız kelimesini kullanır, ama Alan eşittir En çarpı Boy demek istedikleri bellidir.

Klavyede bölme işlemi için de, matematikteki bölme işareti yoktur. Bunun için bölü işaretini kullanacağız.

1 Saat = Dakika / 60;

Saat eşittir dakika bölü altmış.

Bölme İşlemi ve Sıfıra Bölünme Durumu

Dört temel matematiksel işlemden kuşkusuz en zoru bölme işlemidir, çünkü tamsayılarla bölme işlemi yaparken bir takım problemler ortaya çıkar.

Şimdi 3 tane ekmek var ve bunu 2 kişi eşit paylaşacaklar diye düşünelim.

1 int ekmek, kisi, hak;
2 ekmek = 3;
3 kisi = 2;
4 hak = ekmek / kisi;

Bu örnekteki hak neye eşittir? Kesinlikle 1.5 değil, çünkü hak değişkeni tamsayı olarak tanımlanmış. ekmek ve kisi değişkenleri de tamsayı. Eğer gerçekten 1.5 çıksın istiyorsak o zaman başka yöntemler var, onları ilerde tartışacağız.

Burada tamsayı olarak sonuç çıkmasının nedeni, iki tane tamsayı arasında yapılacak herhangi bir işlemin sonucunun yine tamsayı olması gerektiğidir. Bu kuraldan dolayı C#, iki tamsayı arasında bölme işlemi gerçekleştiğinde sonucun küsurat kısmını atar ve tamsayı kısmını alır.

Küsurat kısmını atma işlemi, negatif tamsayılarla işlem yaparken de gerçekleşir. Aşağıdaki örnekte sonuç -1.5 değil, -1 olacaktır. Küsuratı atma işlemine sıfıra yuvarlama da denir. Bir tamsayı bölme işleminde sonuç, sıfıra en yakın olan bir sonraki tamsayıdır.

1 int ekmek, kisi, hak;
2 ekmek = 3;
3 kisi = 2;
4 hak = ekmek / kisi;
5 kalan = ekmek % kisi;

İşlem sonucunda hak, 1 çıkacaktır. Her kişiye 1 tane ekmek düşüyor. kalan ise 1 ekmektir. Kalanı bu şekilde elde edebiliriz. Negatif sayılarla yapılacak kalan bulma işleminde ise sonuç her zaman % işaretinin solundaki sayının işareti ile aynıdır.

Kalan operatörü ile yapabileceğimiz güzel uygulamalar var. Bunlardan birkaçını inceleyelim. Mesela 1995, 2005 gibi dört basamakla yazılan yılları 95, 05 gibi 2 basamaklı halde yazmak isteyebiliriz. Bu durumda kalan operatörü işimize yarar.

1 IkiBasamakliYil = DortBasamakliYil % 100 ;

Sonuç her zaman 00 ile 99 arasında olacaktır.

Sonuç her zaman 00 ile 99 arasında olacaktır.

Eğer bir işin sonucu toplam dakika olarak verilmişse, bunu saat ve dakika olarak ayırmak istersek, bunu kalan operatörü ile yapabiliriz.

Eğer bir işin sonucu toplam dakika olarak verilmişse, bunu saat ve dakika olarak ayırmak istersek, bunu kalan operatörü ile yapabiliriz.

1 Saat = ToplamSure / 60;
2 Dakika = ToplamSure % 60;

Bir sayının diğer bir sayıya bölünüp bölünemeyeceği ile ilgili durumlarda da kalan operatörü kullanılabilir. Artık yıl hesabı bu şeklide yapılır. Eğer bir yıl dörde bölünebiliyorsa artık yıldır.

Eğer Yil % 4 ifadesi sıfıra eşit olursa Yil sayısı dörde tam bölünüyor demektir ve dolayısıyla artık yıldır.

Şimdi aşağıdaki ifadeyi dikkatli inceleyelim. Bu işlemde bir problem var.

1 A = 3;
2 B = 0;
3 C = A / B;

Yukarıdaki bölme işleminin sonucunda division by zero denilen istisna oluşur ve bu işleme tamsayılarda izin verilmez. Şimdi aşağıdaki şekilde bu örneği baştan yazalım ve sonucunu çalıştırıp görelim.

    

1 using System;
2 class SifiraBolunme
3 {
4     static void Main()
5     {
6     
7         int A, B, C;
8     
9         A = 3;
10         B = 0;
11  
12         Console.WriteLine (A);
13         Console.WriteLine (B);
14  
15         C = A / B;
16     
17     Console.WriteLine (C);
18     }
19 }

Program çalıştığında ekrana A ve B değişkenlerinin değerlerini yazar ve daha sonra aşağıdaki pencere çıkar.

Eğer iptal seçersek aşağıdaki pencere gelir.

Just – In – Time Debugger penceresinden de no seçtikten sonra aşağıdaki ekran gelir ve istisna, konsol ekranında görüntülenir.

C değişkenini ekrana yazan Console.WriteLine ifadesi, program kesildiğinden dolayı görüntülenmez.

Bir program, üç evreden geçer. Yazma, derleme ve çalıştırma evreleri. Genelde program hataları yazma evresinde yazım hataları olarak meydana gelir. Bu örneğimizde ise çalıştırma evresinde ortaya çıkan bir istisna var. Program çalışmaya başlıyor ve yarısına gelince kesiliyor.

Programı kesip ekrana sebebini yazan sınıf ise System isim uzayındaki System.DivideByZeroException sınıfıdır. Daha sonra, başka bir yazıda bu sınıfı kullanarak oluşan istisna durumlarla başa çıkma yollarını inceleyeceğiz.

Eğer yukarıda yazdığımız programda C = A / B ifadesini C = 3 / 0 haline getirip yeniden derlersek derleyici aşağıdaki ekranda görülen hatayı derleme evresinde algılayacak ve programı derlemeyecektir.

Şu ana kadar yaptığımız aritmetik işlem örneklerinde hep iki tane sayı kullandık. Karmaşık işlemleri de bir ifadede yazabiliriz.

    

1 using System;
2 class IslemOnceligi1
3 {
4     static void Main()
5     {
6     
7         int A = 2, B = 4, C = 5;
8     
9         int D = A / B + C + 2*A;
10  
11         Console.WriteLine (D);
12     }
13 }

Çarpma ve bölme işlemlerinin toplama ve çıkarma işlemlerine göre önceliği vardır. İşlemleri soldan sağa doğru incelersek, önce A/B işlemi meydana gelir, 2*A işlemi hesaplanır ve sonuçta çıkan üç tane sayı toplanır. Bölme ile çarpma işlemi aynı önceliğe sahiptir. Toplama ile çıkarma da öyle. Eğer bunlardan ikisi, mesela bölme ve çarpma, aynı ifadede yan yana gelirlerse, soldan sağa doğru bakılıp daha solda olan daha önce yapılır.

Parantezin önceliği çarpma ile bölme, toplama ile çıkarma işlemleri ile kıyaslandığında daha yüksektir. O zaman, daha önce yapılmasını istediğimiz işlemleri parantez içine almalıyız.

    

1 using System;
2 class IslemOnceligi2
3 {
4     static void Main()
5     {
6     
7         int A = 2, B = 4, C = 5;
8     
9          int D = (A + B) + (C + 2*A – C/(B – A) );
10  
11         Console.WriteLine (D);
12     }
13 }

Yukarıdaki örnekte ilk olarak en içteki parantez olan B – A işlemi yapılır. Daha sonra diğer parantezlerin içindeki işlemler, en sonunda da toplama ve çıkarma yapılır.

Tekli artı ve eksi operatörleri ise hem çarpma ile bölme, hem de toplama ile çıkarmadan daha yüksek önceliğe sahiptir.

Eşittir operatörü ise öncelik tablosunun en altındadır. Yaptığı iş, sağdaki ifadeyi soldaki değişkene atamaktır. Bir ifade içerisinde birden fazla eşittir operatörü kullanılabilir.

1 A = B = C = 10;

Yukarıdaki örnekte önce C değişkeni 10 değerini alır, daha sonra B değişkeni C değişkenine eşit olur, daha sonra da A değişkenine B değişkeni atanır.

Şimdi aşağıdaki ifadeyi inceleyelim.

1 C = (A = 10) + (B = 20);

Önce A değişkeni 10, B değişkeni de 20 değerlerini alır, daha sonra da C değişkenine bunların toplamı atanır. Yukarıda görülen ifadeyi parantezleri kullanmadan yazmak mümkün olmaz. Mümkün olamaması da toplama işleminin atama işlemine göre önceliğinin olmasından kaynaklanır. Çünkü, yukarıdaki ifadeyi aşağıdaki gibi yazdığımızda üçüncü operand olan + işaretinin solundaki ifade değişken olmaz.

1 C = A = 10 + B = 20;

Yazmanın mümkün olamayacağı diğer bir ifade de aşağıda görülen, hiçbir işlevi olmayan ifadedir.

1 A + 20;

Programlama dillerinde, bir değişkenin değerinin üzerine bir ilave yapmak, ya da bir eksiltme yapmak ihtiyacı çok sık görülür.

1 ToplamOgrenciSayisi = KatilanOgrenciSayisi + IzinliOlanlar;

Yukarıdaki ifadeyi yazarken aynı değişken adını tekrar yazamktansa aşağıdaki gibi yazmak mümkündür.

1 ToplamOgrenciSayisi += IzinliOlanlar;

Bu örnekteki += operatörlerine birlikte, bitişik atama operatörü de denir. Bitişik atama operatörünü diğer dört işlem operatörleri ile de yazmak mümkündür.

1 Devamsizlar -= GecGelenler;

Karmaşık ifadeler yazarken de birleşik atama operatörü kullanabiliriz.

1 C = (A += 4) / (B *= 7);

Artırma ve Azaltma Operatörleri

Programlamada bir değişkenin değerini 1 artırmak ve bir azaltmak da çok yaygındır. Bunu yapmak için aşağıdaki gibi bir ifade yazılabilir.

1 A = A + 1;

Bu ifadeyi daha kısa ve kolay yazmak da C#ta mümkündür.

1 A += 1;

Şimdi bunu daha kolay ve kısa yazalım.

1 A ++;

++ operatörü artırma operatörü olarak da söylenir, C tabanlı dillerde vardır ve yaygın kullanılır. Tabiî ki eksiltme operatörü de vardır. Bu da — operatörü. Operatörlerin bu şekilde yazılması sonek şeklinde yazmaktır.

1 A –;

Artırma ve eksiltme operatörleri, bu şekilde yapılabileceği gibi, önek olarak da yazılabilir.

1 ++A;
2 –B;

Önek ve sonek arasında bir nüans vardır ve önemlidir. Aşağıdaki örneği çalıştırırsak aradaki farkı görebiliriz.

    

1 using System;
2 class ArtirmaEksiltme
3 {
4     static void Main()
5     {
6     
7         int A = 2, B = 4, C, D;
8     
9         C = A++;
9         D = ++A;
10  
11         Console.WriteLine (C);
11         Console.WriteLine (D);
12     }
13 }

A değişkeni başlangıçta 2 dir. Sonra 9. satırda C değişkeni, A değişkeninin 2 olan değerini alır, daha sonra A, 1 artarak 3 olur. 10. satırda ise önce A, 1 artırılıyor yani 4 oluyor, daha sonra da A’nın değeri, D’ye atanıyor. Yani D, 4 oluyor.

17. ve 18. satırlarda ise ekrana yazdırıp test ediyoruz.

Uncategorized kategorisinde yayınlandı. Etiketler: , , . » yorum bırak;

C# Dersler…::Ders7::..Ekranda Yazı Yazdırmak

Program yazmanın iki boyutundan bahsedebiliriz, bunlar ise programcı açısından program ve kullanıcı açısından programdır. Program geliştiriciler olarak başlangıçta her iki kişi de biziz. Rolümüz programcıdan kullanıcıya değişince ya da kullanıcıdan programcıya değişince, bakış açımız da değişecektir. Mesela, programımızın verdiği çıktı, kullanıcı açısından girdidir. Kullanıcının programa girdiği veriler program açısından girdi, kullanıcı açısından çıktıdır.

Burada bahsedilen girdi ve çıktı kavramları üzerinde durmak istiyorum. Programın dış dünyaya verdiği bilgiler, gösterdiği tepkiler çıktı olarak tanımlanırken, dış dünyadan aldığı bilgiler ise girdi olarak tanımlanır. Bir bilgisayar programı da aldığı girdileri yorumlar, saklar, bu bilgilere dayanarak dış dünyaya bir takım sonuçlar gönderir. Bu modele I/O modeli denir.

I/O Modelleri

Windows ortamında çalışan bir program kullanıcıdan girdileri klavye, mouse, buton ya da kaydırma çubukları gibi çeşitli kontroller yardımı ile alır. Bir Windows programı çıktıyı kullanıcıya yazı veya grafik olarak gösterir. Bir fırını çalıştıran program ise farklı bir kullanıcı I/O modeline sahiptir. Burada girdiler fırınını ön panelindeki butonlarla yapılır. Çıktılar ise fırının açılması, fırının kapanması, tepsinin döndürülmesi, ışığın yakılması şeklinde olacaktır. C ve C# gibi dillerde kullanıcı girdi ve çıktısı için özel bir model yoktur. Bu bir eksiklik gibi görünüyor fakat değil. Bunu şöyle söylemek daha doğru olacaktır: C#, kullanıcıyı herhangi bir girdi ve çıktı modelini kullanmaya zorlamaz. Siz yazdığınız programın nerede kullanılacağına göre girdi ve çıktı modelinizi kendiniz seçersiniz.

Bu bölümde konsol ekranı yardımıyla kullanıcıya çıktı verebilen bir program yazmaya çalışacağız. Bunu yapmadan önce bazı kavramları açıklamakta yarar var. Ekranda yazı göstermeye yarayan System.Console.WriteLine() ve System.Console.Write komutlarıdır. Bu komutlar neden üç parçadan oluşuyor? Bu parçaların adları nelerdir?

System bir isimuzayıdır. İsimuzayları C#’a C++ dilinden miras kalmıştır. İsimuzayları birbiri ile alakalı yöntemleri bir paket içinde toplamaya yarayan bir paketleme sistemidir. Bir isimuzayının içindeki bir yöntemin adı diğer bir isimuzayı içinde de bulunabilir. Bu da isimuzayının bir diğer işlevidir.

System isimuzayı; kullanıcı ile iletişim kurmaya yarayan I/O modeli olan Console, matematiksel işlemlerin bir araya toplandığı Math gibi temel sınıfları içinde barındırır. Burada sınıf terimi geçti. Bir önceki bölümde de anlattığımız gibi, C# programının temel birimi sınıftır. Bunu daha doğrusu şöyle söylemek lazım: Nesne yönelimli dillerin temel birimi sınıftır. Sınıfların özellikleri ve yöntemleri vardır. Bir arabayı örnek alalım. Rengi, modeli fiyatı gibi özellikleri vardır. Hareket etmek, korna çalmak, durmak gibi yöntemleri vardır. Daha sonra bu temel araba sınıfından bir takım farklı özellik ve yöntemlere sahip olan otobüs, kamyon, minibüs gibi sınıflar türetiriz. Bu sınıfların örnekleri olan nesneler ise araba sınıfının niteliklerini taşırlar. Türetilmiş sınıftan oluşturulan nesne de türetilmiş sınıfın özelliklerini ve temel sınıfın özelliklerini taşır.

Yöntemler ise sınıfın dış dünya ile etkileşimini sağlayan eylemleridir. Mesela Console sınıfının WriteLine yöntemi ekranda bir satır yazı gösterir. Write yöntemi ise ekranda yazı gösterir ama alt satıra geçmez işini bitirince.

WriteLine yöntemini kullanan bir program bu yönteme bir argüman yollar:

1 System.Console.WriteLine(ToplamMeyve);

Bazı programcılar parantez ile argümanı ayırmak için argümanın sağına ve soluna boşluk koymayı tercih ederler.

1 System.Console.WriteLine( Toplam );

WriteLine yöntemine bir değişkeni argüman olarak geçebildiğimiz gibi, bir sayısal ifadeyi de geçebiliriz.

1 System.Console.WriteLine( Elma + Armut );

Yukarıdaki iki satırı incelersek ilkinde bir işlemin sonucunu tutan değişkenin değerini yazdırıyoruz. İkincisinde ise işlemin kendisini direkt parantezlerin içine yazıyoruz. Sonucu hesaplayıp ekrana yazıyor.

Eğer amacımız sadece 2 ve 3 sayılarının toplamını ekrana yazdırmak ise

1 System.Console.WriteLine( 2+3 );

yazabiliriz.

using Direktifi

Eğer programda birden fazla System.Console.WriteLine yöntem çağrısı yapıyorsak System isimuzayınu using direktifini sınıf tanımı yapmadan önce programımızın başına ekleriz. using direktifi ile tanımladığımız herhangi bir isimuzayına dahil sınıfların yöntemlerini çağırırken artık isimuzayı ismini yazmadan sadece sınf.yöntem() şeklinde yöntemi yazarız. Bu bize zaman kazandırır. using direktifine direktif denmesinin sebebi programın çalışma zamanında hiçbir işlevinin olmamasındandır.

1 Console.WriteLine(Toplam);

Şimdi artık çalışan ve ekrana yazı yazan bir program yazalım.

1 using System;
2 class BirProgram
3 {
4   static void Main()
5   {
6     int Elma, Armut, Toplam;
7  
8     Elma = 2;
9     Armut = 3;
10     Toplam = Elma + Armut;
11     Console.WriteLine ( Toplam );
12   }
13 }
Uncategorized kategorisinde yayınlandı. Etiketler: , , , , . » yorum bırak;

C# Dersler…::Ders6::..Yaz, Derle, Çalıştır

Bir bilgisayar programı başlangıçta basit bir metin dosyası olarak hayata başlar. Mesela C# programları .cs uzantılı dosyalardır. Bir programın birden çok kaynak dosyası olabilir.

Programı yazıp bitirdiğimizde programımızın kaynak dosyasındaki kodu, C# derleyicisi IL (Ara Dil) denilen bir koda çevirir. Genelde yazmış olduğumuz kod hatasız olmaz. Derleyici bir hata tespit ettiğinde bu hata ile ilgili gerekli bildirimleri yapar. Bu tür hatalara yazma zamanı hataları denir. Eğer herhangi bir hata bildirimi varsa geri dönüp programınızdaki hatayı düzeltmemiz gerekir.

Derleme işlemini başarıyla tamamlarsak programın çalıştırılabilir EXE dosyası oluşur. Bu aşamadan sonra kontrol işletim sistemine geçer. Bazen yazdığımız programlar bellekte izin verilmeyen bir bölgeye ulaşmak ister. CLR bu durumda bir hata mesajı ile bizi uyarır. Bu tür problemler çalışma zamanı hatalarıdır veya istisna durumlardır. Aynı şekilde geriye dönüp hatayı düzeltmeliyiz. Bir programın yazma işlemi bittiğinde her şey tam gibi görünür, fakat genellikle problemsiz olmaz. Bazen hatayı yakalamak kolaydır ama program büyüdükçe yakalamak zorlaşır, hemen hemen imkânsız hale gelir. Derleme ve hata ayıklama ile ilgili yazılmış pek çok kitap var. Daha sonra bu kitaplardan birini alıp hata ayıklama üzerine de bilgi edinebilirsiniz.

C# programı yazmak ve derlemek için birçok seçenek var. Microsoft tarafından üretilen Visual Studio 2005 paketi, .net ortamında yazılım geliştirme araçları içerir. 30 günlük deneme sürümü olan C# Express yazılımını Microsoft web sitesinden indirip deneyebilirsiniz. Ama bu kadar karmaşık bir geliştirme ortamı yerine Charles Petzold tarafından geliştirilen daha basit ve ücretsiz bir araç olan Key Of Csharp isimli araç başlangıç seviyesi bir kullanıcının işini görecektir. Biz de çalışmalarımızı bu aracı kullanarak yapacağız.

Programı indirdikten sonra çalıştırdığımızda karşımıza kurulum ekranı gelecektir.

Bu ekranda I aggree diye başlayan kutuyu işaretlersek üzerinde Install yazan buton aktifleşecektir. Install butonuna basıp programı kurma işlemine başlarız. Krma işlemi tek adımda gerçekleşir ve OK butonuna basarak kurulumu bitiririz. Masaüstüne gelen kısayol simgesi yardımıyla programı açıp ilk kodlarımızı yazmaya başlayalım.

File menüsünden New Project seçince proje ismi olaral Project01 yazan bir pencere gelir. O pencerede programın verdiği ismi kabul ediyorsak OK butonuna basıyoruz ve yeni bir projeye başlamış oluyoruz.

Program default olarak ürettiği dosyaları Belgelerim klasörü içerisinde Key of C# Projects klasörü altına Project01, Project02 gibi isimlerle kaydeder. Bu Project01 gibi klasörlerin içerisinde .cs uzantılı olan bizim yazdığımız kodları içeren kaynak dosya, .exe uzantılı derlenmiş çalıştırılabilir dosya ve .kcsproj uzantılı programın proje bilgilerini tuttuğu kendi özel dosyası bulunur.

Şimdi daha önce yazdığımız örneği Key Of Csharp ile yazıp derleyelim. Önce bir Project ismi vererek programı açıyoruz. Örneğimizi editörde yazıyoruz.

Daha sonra örneğimizi yazıp Build menüsünden Compile seçtiğimizde aşağıdaki durum çubuğunda Ready yazar. Bu durumda yine Build menüsünden Run seçilerek ekran çıktısı görülebilir. Ama daha henüz ekran çıktısı üreten bir program yazamadığımız için sadece Pres any key to continue ibaresi çıkar, klavyeden bir tuşa bastığımızda da konsol ekranı kaybolur. Bu iki işlemi birlikte yapmaya yarayan Build menüsünde Compile and Run seçilirse ya da klavye kısayolu olan F8’e basılırsa da yine aynı ekran karşımıza gelir.

Kullanıcı etkileşimi olmadığı için, hiçbir çıktı üretmediği için, hiçbir girdi almadığı için şu anda programımız bir işe yaramıyor. Ama temel bir C# programının bütün öğelerine sahip. Daha sonra ekrana bir şeyler yazan programlar da yazacağız.

Uncategorized kategorisinde yayınlandı. Etiketler: , , , , . » yorum bırak;

C# Dersler…::Ders5::..C# ile ilk Program

Şimdiye kadar yaptığımz örneklerin hiç biri çalışır bir program değildi. Şimdi çalışabilecek komple bir program yazalım. C#’ta programlar yöntemlerden ve birbiri ile alakalı olan yöntemlerin gruplanarak oluşturduğu sınıflardan oluşur.

Yöntem, belirli bir işi yapan program kodlarının bir araya gelerek oluşturduğu program bloğudur. Sonra bu yöntemleri gruplayarak sınıfları oluştururuz. En basit C# programı bir sınıftan ve o sınıfa üye bir yöntemden oluşur. Bir sınıfın içinde birden çok yöntem bulunabileceğine göre birisinin giriş noktası olması gerekir. Program çalıştığında ilk olarak hangi yöntem devreye girecek? Bu sorunun cevabı Main yöntemidir. Bilgisayar, sınıfın içindeki Main isimli yöntemi ilk olarak çalıştır. Daha sonra programcının belirlediği yönergeleri izleyerek diğer yöntemleri de çalıştırır. C# programında özel bir role sahip olan Main, bir anahtar kelime değildir. Eğer isterseniz Main isminde bir değişken de tanımlayabilirsiniz.

Yöntemlerin girdileri ve çıktıları vardır. Örneğin öğrencinin bir dersten aldığı sınavların ortalamasını alan bir yöntemimiz varsa, öğrencinin sınavlardan aldığı sonuçlar yönteme girdi olarak geçilir ve geriye bu sınav sonuçlarının ortalaması olan puan döner. Başka bir ifadeyle söylersek, yöntemler; yöntem parametreleri olarak adlandırılan değişkenelri girdi olarak alırlar, bir takım işlemlere tabi tutarlar ve dönen değer olarak bir çıktı üretirler.

Yöntemlerin bir belirteçleri bir de dönen değerleri olur. Bnular yöntem isminin soluna yazılır. Daha sonra yöntem isminin önüne parantez içerisinde aralarına virgül konularak yöntem parametreleri olan değişkenelr yazılır. Daha sonra yöntemin gövdesi gelir. Bu gövde küme parantezleri içerisine alınır. Eğer yöntemin bir dönen değeri yoksa dönen değer olarak void yazılır. Yöntem parametresi almayacaksa yöntem isminin önüne boş parantezler konur. Şimi Main yöntemini yazalım.

1 static void Main()
2 {
3 int Elma, Armut, Toplam;
4  
5 Elma = 2;
6 Armut = 3;
7 Toplam = Elma + Armut;
8 }

Çoğu programcı yöntem içeriğini girintili olarak yazmayı tercih eder. Ben de girintilemeyi severim.

1 static void Main()
2 {
3   int Elma, Armut, Toplam;
4  
5   Elma = 2;
6   Armut = 3;
7   Toplam = Elma + Armut;
8 }

Bazı programcılar sınıfın başlangıcını ve bitimini belirten küme parantezlerinden ilkini hemen sınıfın bildiriminin yapıldığı ilk satırın sonuna koyarlar. Ben bu şekilde yazmayı tercih etmiyorum.

C# derleyicisi bizim girintileme tarzımızla ilgilenmez. Çalıştığınız şirket ya da birlikte çalıştığınız proje yöneticisi sizi bir tarzı kullanmaya zorlayabilir. Eğer böyle bir zorunluluk yoksa istediğiniz girintileme tarzını seçer devam edersiniz.

Bir C# programında en temel birim yöntem değildir tabiî ki. Daha önce de bahsettiğimiz gibi en temel birim sınıftır. Yöntemler bir araya gelerek sınıfları oluştururlar. Mesela yukarıda yazdığımız Main de bir yöntemdir.

Temel bir C# programı bir adet sınıftan ve bir de Main isminde yöntemden oluşur. Sınıflara isim belirlerken değişkenlerin isimlendirilmesinde dikkat ettiğimiz kurallar geçerlidir. Main kelimesi anahtar kelime olmamasına rağmen, Main isminde bir yönteme sahipse sınıf ismi olarak Main kullanılmaz. Sınıf bildirim de class kelimesi, sınıf ismi ve sınıf gövdesinden oluşur. Sınıf gövdesini de yine küme parantezleri içine alırız. Sınıf gövdesinde sınıfı oluşturan yöntemler bulunur. Sınıf içeriğini de girintilemek benim tercih ettiğim bir tarzdır. Demek oluyor ki yöntem içerikleri iki defa girintelenecek.

Şimdi çalışan bir bütün C# programı yazalım. Bir sonraki ünitede de derleme ve çalıştırma işlemlerini inceleriz.

1 class BirProgram
2 {
1   static void Main()
2   {
3     int Elma, Armut, Toplam;
4  
5     Elma = 2;
6     Armut = 3;
7     Toplam = Elma + Armut;
    Console.Writeline (Toplam);
8   }
8 }
Uncategorized kategorisinde yayınlandı. Etiketler: , , , . » yorum bırak;

RUHSAL YAŞAM KURALLARI

RUHSAL YAŞAM KURALLARI

Özellikle bugün özgür ve  mutlu ol.

Özellikle bugün sevin.

Özellikle bugün korunmaktasın.

Suurlu olarak anı yaşa.

Bereketleri müteşekkirlikle kabul et.

Aileni, öğretmenlerini ve büyüklerini say.

Ekmeğini dürüstçe kazan.

Başkalarını kendin gibi sev.

Her şey için müteşekkir ol ve tüm canlılara karşı sevgi dolu davran.

Spiritüel Yaşam Koçu

07 Ara_Aralık_kısaltma 2009 kuantumyasam tarafından

“Yaşamın içinde kendi istediğiniz mesleği, ilişkiyi, istediğiniz hayatı yaşadığınız noktada, kendinize olan özgüveninize kavuşacak ve kendinizi güvende hissedeceksiniz. İşte o zaman “KENDİN OLMA”  duygusunu artık tüm bedeninize, ruhunuza, zihninize almışsınız demektir.”

Hayatta gerçekleştirmek istediğimiz hedefler var ama öyle bir an geliyor ki hedeflerimizi gerçekleştirmekte geç kaldığımızı düşünüyor, hayatın hızından şikâyet ediyor ve her şikâyet ettiğimizde de hedeflerimizi gerçekleştirmede daha da geç kalıyoruz. Ne bir hayalimizin peşinden gidiyoruz, nede bir yere kök salıyoruz. İç sesimizi dinleyemiyoruz, inancımızdan uzaklaşıyoruz. 

 Ya da tam tersi. Hiçbir yere kök salmadan, kendi eksenlerimizde, hislerimizle yaşıyoruz. Enerjimizle besleniyoruz. Spiritüel taraflarımız güçlü oluyor, ruhsal hedeflerimizi gerçekleştiriyor ama dünyevi hedeflerimizi gerçekleştirmek istediğimizde zorlanıyoruz. Eyleme geçtiğimiz zaman gerçekleştirmek istediğimiz hedefimiz yarım kalıyor.  Aynen  “Nilüfer Çiçeği” gibi…

Hep bir yere gidecekmiş gibi azade ve özgür ama kocaman bir gölün içinde bir yere gitmeden yaşıyoruz. Hayatta böyle bir şey. Hep bir yerlere gidecek gibi duran, yalnız ve bir yere gitmeyen bir çiçek. Bütün bir hayatın özeti belki de bu. Evet, bizlerde öyle değil miyiz?

 Bazen öyle anlar gelir ki, kararsız kalırız, çıkmaza girdiğimizi zannederiz. Ve birisinin elimizden tutup bu durumdan bizi çıkarmasını isteriz. Yâda hayatta her şeyi başarırız. Kariyerimizde başarı sağlarız. Ama öyle bir an gelir ki gerçekleştirmek istediğimiz hedefleri gerçekleştirdiğimiz noktada içimizi yarım kalmışlık duygusu, bir mutsuzluk sarar.   

Son zamanlarda yapılan araştırmalar, kariyer sahibi, başarılı insanların, içsel olarak mutsuz, tatminsiz olduklarını, strese yönelik sağlık problemleriyle karşı karşıya geldiklerini gösteriyor. Hatta yaşama hazırlık sınavlarında verdiğimiz çok yüksek notların karşılığında, hayatın içinde başarısızlığımızı, ne istediğimizi tam olarak bilmediğimizi ve uygulama esnasındaki hatalarımızı görüyoruz.

“Her şeye sahibim. Büyük bir servete, aileye, çevreye…

Ama mutsuzum, yorgunum, hayata karşı isteksizim.

İçimde büyük bir boşluk var, eksiklik var?”

“İşinizi zoraki bir şey olarak değil, bir mutluluk kaynağı olarak kullanmanız gerek, hayat amacınızı bulduğunuz noktada zaten sevdiğiniz şeyi yapar, kendinize vakit ayırırsınız. Karşılığında içinizdeki o boşluk duygusu dolar. Hayata olan isteksizlik yerine, hayata olan bağınız güçlenir. Hayata sevgiyle bağlanırsınız.”

Geleceğe yönelik yaşanılan kaygı, korku, güvende olma isteği bireyde ruhsal olarak kopukluklara, mutsuzluklara neden olabiliyor. Kişi, yeter ki işim olsun, eşim olsun, evim olsun der. YETERKİ ile başlayan cümleler kurar. Bu da kişide güven ihtiyacından duyulan korku, endişe gibi duyguları içinde barındırmasına sebep olur. Bizi, ruhumuzu kendi hayat amacımızdan uzaklaştırıp, yanlış hedeflere yönelmemizi sağlar. Bu durum karşısında, içimizde eksiklik duygusu yaşarız. Hayattan, yaptığımız işten zevk alamayız.

İçimizdeki tamamlanmışlık ve ruhsal yönde mutluluk duygusuna erişmek mümkün…

 Işık ELÇİ ile bireysel olarak yapılan “Spiritüel Yaşam Koçluğu “çalışması ile Tekâmülünüzdeki spiritüel veya dünyevi hedefleri belirleyip, bu hedeflere adım adım ulaşmak ve ulaştığımız noktada ruhsal yönden mutlu olmak için dünyevi ve Spiritüel hedefler arasında bir bağ kuruluyor.

 Unutmayalım ki, hayatımızda bu iki denge olduğu sürece tam olarak hedefimize ulaşıyor ve içsel olarak mutlu oluyoruz. Bunu da “Spiritüel Yaşam Koçunuz” Işık ELÇİ sizinle birlikte başarıyor.

 Birlikte hedeflerinizi gerçekleştirseniz bile, bundan sonraki yaşantınızda yeni hedeflerinizi belirlemede ne istediğinizi daha net ifade edecek, hayat amacınız bilecek, tam ve bütün olarak “Olma” duygusunu birlikte başaracaksınız. Bütün bu aşamaları birlikte yaşayacaksınız

“Spiritüel Yaşam Koçunuz”, Işık ELÇİ önce içinizde kilitlediğiniz o duyguları, o gücü açığa çıkaracak, önceliklerinizi, hedeflerinize ulaşmadaki yolunuzu belirleyecek, hayat amacınız ve bu güne kadar farkında olmadığınız saklı yeteneklerinizi ortaya çıkaracak. Siz de, gerçekleşmesini istediğiniz hedef ile ilgili birlikte hazırladığınız eylemi hayata geçireceksiniz.

Her gerçekleştirdiğiniz eylem; kullanmadığınız, içinizde hapsettiğiniz enerji kaynağını aktive edeceksiniz. İçsel olarak kendinizi mutlu ve güvende hissederken, hedefe varmanın hazını yaşayacaksınız. 

İçimizdeki tamamlanmışlık ve ruhsal yönde mutluluk duygusuna erişmek mümkün…

 

  Işık ELÇİ ile bireysel olarak yapılan “Spiritüel Yaşam Koçluğu “çalışması ile Tekâmülünüzdeki spiritüel

  veya dünyevi hedefleri belirleyip, bu hedeflere adım adım ulaşmak ve ulaştığımız noktada ruhsal yönden mutlu olmak için

 dünyevi ve Spiritüel hedefler arasında bir bağ kuruluyor.

  Unutmayalım ki, hayatımızda bu iki denge olduğu sürece tam olarak hedefimize ulaşıyor ve içsel olarak mutlu oluyoruz.

  Bunu da “Spiritüel Yaşam Koçunuz” Işık ELÇİ sizinle birlikte başarıyor.

   Birlikte hedeflerinizi gerçekleştirseniz bile, bundan sonraki yaşantınızda yeni hedeflerinizi belirlemede ne istediğinizi

  daha net ifade edecek, hayat amacınız bilecek, tam ve bütün olarak “Olma” duygusunu birlikte başaracaksınız.

   Bütün bu aşamaları birlikte yaşayacaksınız

“Spiritüel Yaşam Koçunuz”, Işık ELÇİ önce içinizde kilitlediğiniz o duyguları, o gücü açığa çıkaracak, önceliklerinizi, hedeflerinize ulaşmadaki yolunuzu belirleyecek, hayat amacınız ve bu güne kadar farkında olmadığınız saklı yeteneklerinizi ortaya çıkaracak. Siz de, gerçekleşmesini istediğiniz hedef ile ilgili birlikte hazırladığınız eylemi hayata geçireceksiniz.

Her gerçekleştirdiğiniz eylem; kullanmadığınız, içinizde hapsettiğiniz enerji kaynağını aktive edeceksiniz. İçsel olarak kendinizi mutlu ve güvende hissederken, hedefe varmanın hazını yaşayacaksınız. 

Özveri ile devam eden süreçte hedefe varış ve ruhsal yönden mutlu olmak, ödevlerinizi ve verilen çalışmaları düzenli olarak yapmakla mümkün oluyor.

 * Süreç, ayda en az iki kez olmak üzere alınan randevularla devam ediyor.

* Yapılan çalışmalar kişiye özel olup, ilk çalışma sonrası danışana özel bir çalışma planı hazırlanıyor.

* Randevu süresi, ilk çalışma sonrası belirleniyor.

*Spiritüel Yaşam Koçluğu çalışmasında gerek görüldüğü noktalarda, Kuantum Nefes ve Enerji çalışması uygulanmaktadır.

*Seans sonrası süreçte siz danışanlarımızın gelişmeleri geribildirimleri bizlerle paylaşması, sizinle ilgili süreci belirlememizde bizlere yardımcı olur.

 

 *Spiritüel Yaşam Koçluğu kapsamında yurtiçi ve yurtdışında hiçbir kurumda uygulayıcılık verilmemiştir.

AHU DUDU

12 Nov 2009 kuantumyasam tarafından

Amerika’da bir mucit profesöre, kendisini diğer insanlardan farklı kılan şeyi sorup, başarısının sırrını söylemesini ister. Profesör,çok ilginç bir cevap verir.

‘Başarımın sırrı annemin 6 yaşımdayken bana takındığı bir tavırdır. 6 yaşımdayken buzdolabından süt alırken süt şişesini düşürüp kırdım. Annem olayı görünce beni dövmedi, kızmadı. ‘Aaaa Henri sütten ne güzel bir göl

oluşturmuşsun. Bu gölde benimle biraz oynamak ister misin?’ dedi. Bir süre oynadıktan sonra annem; ‘Biliyor musun Henri, herkes kendi yaptığı şeyleri kendisi toplamalıdır. Şimdi bu süt gölünü temizlemek için benden sünger mi istersin, havlu mu?’ diye sürdürdü konuşmasını.

 Elimden geldigince dökülen sütü temizledikten sonra annem beni bahçeye çıkardı. Süt şişesinin, düşürmeden nasıl taşınacağını bana gösterdi. Bu olay benim diğer insanlardan farklı olmamı sağlamıştır’ “

“Çocuklar donmamış beton gibidir, üzerlerine ne düşerse izi kalır”.

( H. Jinott )

 

CENNETE DAHİ GİRMEYECEĞİM TA Kİ SEN GİRESİYE DEK   

Ebu Hanife uzun boylu, heybetli, güçlü kuvvetli bir kimseymiş. Yine bir gün yolda yürürken gerçek düşmanlarından biri, onu görünce dayanamamış ve ona diliyle sataşmaya başlamış. Tesir edemeyince, bu defa kötülüğü eline de indirerek, üstüne yürümüş ve yumruklamış.

O zaman Ebu Hanife, yine güzellikle: “ Kardeşim “ demiş. “ Görüyorsun ki senden daha güçlü kuvvetliyim . Sana karşı kendimi koruyabilirim. Fakat sen istersen vur yine. Zira karşı koymayacağım. Ve bil ki, duam Hak katında geçerlidir.

Eğer yaptıklarından dolayı Tanrı’dan cezalandırılmanı dilersem, bu kabul olunur. Ama üzülme, dua da etmeyeceğim. Ve öldükten sonra bile, Yaratan suçlarımı bağışlar da, cennete girecek olursam, yine de girmeyeceğim. Ta ki sen ve herkes giresiye kadar…” Böylece hiçbir şey olmamış gibi yolunda yürümeye devam etmiş yine. Ve adam, yaptığı yanlıştan pişman,öylece donup kalmış durduğu yerde. 

 

Doğrusu Buda’nınkine benzer bir büyüklük bu. Hani bilirsiniz Buda da, Nirvana’ya,

o hiçlik ve huzur ülkesine girmeye hak kazandığında girmeyi redederek:

“ Dünyada ıstırap çeken tek kimse kalmayıncaya kadar burada bekleyeceğim” der. İşde insan, böylesine küçülmedikçe, kendini gönüllü olarak en sona koymadıkça gerçeğe eremez. Gerçekler zıtlıklar içinde gizlenmiştir, gülyüzlünün dediği gibi kendini alçaltan yükseltilecek ve sonuncu saymasını bilen birinci sayılacaktır. Varsın herkes bu sözlerin aynasında kendi durumunu seyretsin, yerini bilsin ve gerçeği görsün.

Sevgi ve Işıkla…

Uncategorized kategorisinde yayınlandı. » yorum bırak;
Takip Et

Get every new post delivered to your Inbox.