Module: Alt programlar: prosedürler ve işlevler - 1


Problem

1/11

Alt programlar: Giriş

Theory Click to read/hide

Bir alt program , bir programın bir adı olan ve kendi ayrı görevini çözen ayrı bir parçasıdır. Alt program, ana programın başında bulunur ve adı belirtilerek ana programdan başlatılabilir (çağırılabilir).

Alt programları kullanmak, aynı kodu farklı yerlerde programlara yazmanız gerektiğinde kod tekrarını önlemenizi sağlar . 
Bir programa (örneğin, Sistem) içe aktarılan kitaplıklar, zaten birisi tarafından derlenmiş olan rutinlerden oluşur. Programcıların içlerinde hangi algoritmaların uygulandığını düşünmeleri gerekmez, sadece tam olarak ne yaptıklarını düşünerek onları uygularlar. Bu büyük bir zaman tasarrufu. Daha önce başkası tarafından yazılmış bir algoritma yazmaya gerek yoktur.

Her alt program yalnızca bir görev yapmalı, ya bir şey hesaplamalı, ya da bazı verileri çıkarmalı ya da başka bir şey yapmalı. 

Alt programlar veya yöntemler iki türdendir -  işlevler (işin sonucunu döndürenler) ve prosedürler (döndürmeyenler).

İkinci tiple başlayalım. Basit bir örnek yazmaya çalışalım.
Ekranda "Error" dizesini görüntülememiz gerektiğini varsayalım. her defasında kullanıcının hatası nedeniyle kodda bir hata oluşabilir (örneğin, yanlış veri girdiğinde).
Bu,
ifadesini yazarak yapılabilir.
Console.WriteLine("Error");
Şimdi bu satırın programda birçok yere eklenmesi gerektiğini düşünelim. Tabii ki, her yere yazabilirsiniz. Ancak bu çözümün iki dezavantajı vardır.
1) bu dizi hafızada birçok kez saklanacaktır;
2) Hata durumunda çıktıyı değiştirmek istiyorsak bu satırı program boyunca değiştirmek zorunda kalacağız ki bu oldukça elverişsizdir.

Bu tür durumlar için yöntem ve prosedürlere ihtiyaç vardır.
Prosedürü olan bir program şöyle görünebilir:

Sistem kullanılarak;
sınıfProgramı {
    statik geçersiz PrintError() {
        Console.WriteLine("Hata");
   
    statik boşluk Ana() {
        PrintError();
   
}

 

Bir prosedür void kelimesiyle başlar. Sonra prosedür adı  boş parantezler yazılır.
Bir prosedürde yürütülen tüm ifadeler girintilidir. 
Statik  değiştiricisi, verilen alan, yöntem veya özelliğin sınıfın her nesnesine değil, hepsine ait olacağı anlamına gelir.
Yöntemler ve prosedürler ana yöntem Main()'den önce yazılır.

Bir prosedüre atıfta bulunmak için, ana programda onu ismiyle çağırmanız ve parantez yazmayı unutmayın.
Bir programdaki bir prosedürü istediğiniz sayıda çağırabilirsiniz.

Problem

"Hata" yazdıran bir prosedür yazın. Sıfıra bölüm! Prosedüre doğru adı verin ve sonucu içine yazın.