Dallanma (Çatallanma, Fork)
Yazan: Şadi Evren ŞEKER
Yapısal programlamaya (Structered Programming) uygun olan bir programlama dilinde bulunması gereken temel 3 özellikten birisi de dallnamadır. Buna göre program akışı içerisinde bir alt programın (sub program) çalışıp çalışmayacağına karar verilebilmeli ve bu karar bir koşul ile programlanabilmelidir.
Aşağıdaki akış diyagramında (flow chart) bir eşkenar dörtgen ile bu durum ifade ediliştir:

Akış diyagramında çatallanma
Yukarıdaki akış diyagramında “i” isiminde bir değişken tanımlanarak (declare) bu değişkenin içerisine kullanıcıdan bir sayı okunarak atanmıştır (assignment). Daha sonra kod çatallanarak “i>5″ kontrolü yapılmış bu şartın doğru veya yanlış olmasına göre sola veya sağa program dallanmış (akış diyagramlarında olumlu taraf genelde sağ taraf olarak kabul edilir. ancak karışıklığa engel olmak için kolların üzerine True veya False yazmakta fayda vardır). Sonuç olarak da ekrana “Bitti” yazmıştır.
Yukarıda bulunan Ekrana “Büyük” ve “Küçük” yazan alt programlar bir şarta bağlı olarak çalışmıştır. Bir alt program çalışırken diğer alt program çalışamaz yani akış içerisinde bu alt programlardan birisinin tercih edilmesi gerekir.
Yukarıda akış diyagramı verilen algoritmanın C dilindeki karşılığı aşağıda verilmiştir:
#include <stdio.h>
int main(){
int i;
scanf("%d",&i);
if(i>5) // koşul kontrolü ve dallanmayı sağlayan kod
{
printf("Büyük"); // koşul doğruysa bu alt program çalışır
} else { //koşul yanlışsa durumu kontrol ediliyor
printf("Küçük");
}
printf("Bitti");
}
Yukarıdaki kodda yorumlar (comments) içerisinde de açıklandığı üzere if komutu içerisinde yazılı olan koşul kontrolü yapılarak program alt programlardan birisine dallanmaktadır.
« Türkçe için TimeML | C Dilinde Operatörler (işlemler, operators) »
Yorumlar
Giriş yaparak yorum yazabilirsiniz.
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Dallanma (Çatallanma, Fork)' isimli yazı 08 Oct 2008 tarihinde, saat: 03:48 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 187 defa okunmuştur.
Benzer yazıları C/C++, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Eklenen Son Yazılar
- OpenGL İsim Dizisi
- OpenGL Nesne Seçimi (Object Picking)
- Java Bean
- Türkçe Netbeans
- C ile Zaman İşlemleri
- JSP Oturumları (JSP Sessions)
- JSP Direktifleri (JSP Directives)
- JSP ve HTML
- JSP Etiketleri (JSP Tags)
- Netbeans ile JSP
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Yukarıdaki şekilde en altta bulunan...
- hercumartesi: 777/10 mod23 işleminde takıldığım...
- hercumartesi: 2P = R olarak gösterip s için (3xP^2 + a)...
- Şadi Evren ŞEKER: Toplama işlemi sonucunda mod işlemi...
- bazenvebazen: n q b b w derken n q p b w demek istedik?...
Yakın Yazılar
Dangling Else ( Sallanan Else)
İşlem Çatallanması (Process Forking)
yapısal programlama (structured programming)
Bağlantılar