İç İçe İfadeler

Basit yapıdaki seçme komutlarını bir önceki konumuz olan Seçme Komutları konusunda gördük. Şimdi biraz daha ileri seviye örneklere bakalım.

2 boyutlu koordinat düzleminde x ve y değerleri bilinen bir noktanın hangi koordinat düzleminde yer aldığını tespit etmeye çalışalım. Bilindiği gibi koordinat düzlemi 4 farklı bölgeden oluşur.

Yandaki resim bize koordinat düzlemindeki bölgeleri gösteriyor. Gördüğünüz gibi iki sayının da pozitif olduğu yerde noktamız 1. bölgede, x negatif y pozitif ise, 2. bölgede, ikisi de negatif ise 3. bölgede ve son olarak x pozitif y negatif ise 4. bölgede yer alıyor noktamız. Daha önce de yaptığımız gibi öncelikle bir akış çizelgesi oluşturmaya çalışalım. Çünkü akış çizelgeleri ile geliştireceğimiz kod arasında sıkı sıkıya bir bağlılık var.

Bunu akış çizelgesi yardımıyla ifade edelim:

2 boyutlu kordinat düzleminde bir noktayı (x,y) ikilisi şeklinde ifade ederiz. Bir noktanın hangi kordinat bölgesinde yer alacağını da bu değerlerin pozitif veya negatif olması belirler.

Şimdi öncelikle akış çizelgesini yorumlamaya çalışalım. Problemi aşama aşama çözmeye çalışalım.

  1. Değişkenleri tanımlayalım:

    değişken x = 5 değişken y = -2

  2. Algoritmamız önce x değerinin pozitif mi yoksa negatif mi olduğunu anlamak üzerine olacak,

    eğer(x > 0) { // x pozitifse çalışacak bazı komutlar } değilse { // x negatifse çalışacak bazı komutlar }

  3. Sonrasında bununla alakalı olarak y değerine bakacağız. Örnek olarak x pozitif olduğu durumdaki koşul ifadelerine bakalım:

    eğer(y > 0) yaz "Birinci Bölge" değilse yaz "Dördüncü Bölge"

  4. Sonraki bakacağımız kısım x'in negatif olduğu durumlara bakmak olacak.

Yukarıdaki akış çizelgesinin tamamını TPD ile şu şekilde kodlayabiliriz:

değişken x = 5 değişken y = -2 eğer(x > 0) { eğer(y > 0) yaz "Birinci Bölge" değilse yaz "Dördüncü Bölge" } değilse eğer(x < 0) { eğer(y > 0) yaz "İkinci Bölge" değilse yaz "Üçüncü Bölge" }

Yukarıdaki örnekte akış çizelgesi ile kod arasındaki mükemmel uyuma dikkat edin. Aslında akış çizelgesini kalemle bir kağıda çizerek işe başlamak kodlamada gayet kolaylık sağlıyor. Çünkü bunu yapabilmeniz problemin kafanızda daha duru ve anlaşılır hale geldiğini gösterir.

function qsa(sel) { return Array.apply(null, document.querySelectorAll(sel)); } //deneme ismindeki tüm editörler codemirror editorü olacak qsa(".deneme").forEach(function (editorEl) { CodeMirror.fromTextArea(editorEl, { mode: "simplemode", readOnly: true, lineNumbers: true, theme: 'eclipse' }); }); //deneme ismindeki tüm editörler codemirror editorü olacak qsa(".oneline").forEach(function (editorEl) { CodeMirror.fromTextArea(editorEl, { mode: "simplemode", readOnly: true, lineNumbers: false, theme: 'eclipse2' }); });

Last updated