Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAPISAL PROGRAMLAMA KAVRAMI

Benzer bir sunumlar


... konulu sunumlar: "YAPISAL PROGRAMLAMA KAVRAMI"— Sunum transkripti:

1 YAPISAL PROGRAMLAMA KAVRAMI
Yapısal programlama, program tasarımı ve yazılmasını kurallara bağlayan ve disiplin altına alan bir yaklaşımdır. Yapısal programlama, programlardaki akış denetimini aşağıdaki üç temel yapı ile sağlamaktadır. Sıralı yapı Sorgu (Seçimli) yapı Tekrar (Yinelemeli) yapı

2

3 a)Sıralı yapı Bir programda yer alan iki veya daha fazla program deyimi göründükleri sırada çalıştırılır. Örneğin; Klavyeden girilen iki sayıyı okuyup aritmetik ortalamasını hesaplayan ve sonucu ekrana yazan bir programın akışı yandaki şekilde ifade edilebilir;

4 b)Sorgu (Seçimli) Yapıları
C dilinden örnekleme

5 b)Sorgu (Seçimli) Yapıları
If End If If … End If bloğu sayesinde mantıksal sınamalar yaparak, şarta bağlı olarak istediğimiz işlemi yaptırtabiliriz. Bu yapının Türkçesi şudur: "eğer şöyle ise şunu yap; öyle değilse şunu yap. Örneğin: If ortalama > 70 then 'şart doğru ise çalıştırılacak kodlar Else 'şart doğru değilse çalıştırılacak kodlar End If Her else deyimi kendisine en yakın eşleşmemiş then deyimi ile eşleştirilmelidir.

6 b)Sorgu (Seçimli) Yapıları
Çoklu Seçim Deyimi Programdaki akışı belirleyen ikiden fazla yol varsa çoklu seçim deyimi kullanılır.

7 b)Sorgu (Seçimli) Yapıları
Case Bloğu (VB) Select Case bloğu, If … End If bloğuna benzer. Farklı yönü ise şudur: If bloğu ile normal şartlarda 2 durumu kontrol edebiliriz. Yani bir şart ya geçerlidir, ya da geçersizdir. Select Case bloğunda ise çok daha fazla durumu kontrol edebiliriz. Örnekle açıklamak gerekirse; Bu örneği If ile yapmaya çalışsaydık pek pratik olmayacaktı. Çünkü meslek değişkeninin alabileceği çok fazla değer var. Bu yüzden çok fazla değer alınabilecek durumlarda Select … Case yapısı kullanılır Select meslek Case "öğretmen" 'meslek="öğretmen" ise yapılacak işlemler Case "doktor" 'meslek="doktor" ise yapılacak işlemler Case "mühendis", "mimar" 'meslek="mühendis" veya meslek="mimar" ise yapılacak işlemler Case Else 'yukarıdakilerden hiçbiri değilse yapılacak işlemler End Select

8 c)Yineleme Yapılar-- Döngüler
Bir programda yer alan bir komut yada komut gurubunun istenilen sayıda çalıştırılmasını sağlayan yapılara yineleme yapıları denir. Döngü Çeşitleri sayaç denetimli döngüler mantıksal denetimli döngüler

9 Sayaç Denetimli Döngüler
Bir sayaç denetimli döngüde, döngü değişkeni adı verilen bir değişken sayaç değerini gösterir. Bu sayaç değerinin başlangıç değeri, bitiş değeri ve ardışık iki değeri arasındaki farkı gösteren adım büyüklüğü, bir sayaç denetimli döngü gövdesinin kaç kez yineleneceğini belirler. Başlangıç değerinden başlayan döngü değişkeni, her yineleme için, adım büyüklüğü değerine göre artırılacak veya azaltılacaktır.

10 Sayaç Denetimli Döngüler
FOR Döngüsü Sayaç Denetimli Döngüler Aşağıda verilen şekilde “for” döngü yapısı akış diyagramı olarak gösterilmekte ve genel yazılım formatı verilmektedir (C dilinde);

11 For Next Döngüsü (vb dilinde)
Sayaç Denetimli Döngüler Bu döngüde kod parçasının belli bir sayıda çalıştırılmasını sağlayabiliriz. Genelde i olarak tanımlanan bir döngü değişkeni kullanılır. i değişkeninin bir başlangıç değeri, bir bitiş değeri, bir de artış miktarı vardır. i değişkeni bitiş değerine ulaşana kadar döngü tekrar eder. Örneğin: Dim i As integer For i = 1 to 5 Step 1 'i 1 den başlayarak 5'e kadar birer birer artacak Msgbox(i) Next

12 Sayaç Denetimli Döngüler
For Each Döngüsü Sayaç Denetimli Döngüler For … Each döngüsü For … Next döngüsüne benzer bir yapı gösterir. Farkı ise For … Next döngüsünde döngünün kaç defa döneceğini biz belirlerken, For … Each döngüsünde ise döngünün kaç defa döneceği genellikle döngüyle beraber kullanılan bir dizi değişkendeki eleman sayısı kadardır. Yani For … Each döngüsü genel olarak dizilerle beraber kullanılır. Bir örnekle açıklamak gerekirse; Dim isimler() As String = {"Ahmet", "Ayşe", "Fatma", "Zehra"} For Each eleman As String In isimler Msgbox (eleman) Next

13 mantıksal denetimli döngüler DO … WHILE ve Do….Until Döngüsü
Do While döngüsünde şartı başta belirleriz. Do Until'de ise sonda. Dolayısıyla Repeat Until kullanıyorsak kodlar en az bir kere çalışır. Do While'da ise şart doğru değilse kodlar hiç çalıştırılmaz. Sanırım bir örneğin vakti geldi: Dim a As Integer = 10 Do While (a > 0) Msgbox(a) a = a - 1 Loop Bu örneğe göre a değişkene 10 değeri veriliyor. a sıfırdan büyük olduğu sürece ekrana a değişkenini yazıyor ve a'nın değerini 1 azaltıyor. Bu şekilde döngü a değişkeni 0 olana kadar devam ediyor.  Başka bir deyişle şart doğru olduğu sürece kodlar çalıştırılıyor. Ekran çıktısı olacak.

14 mantıksal denetimli döngüler
DO … WHILE ve Do….Until Döngüsü Dim a As Integer = 10 Do Until (a < 0) Response.Write(a) a = a - 1 Loop Bu kodlarda farklı olarak şartımız a < 0 oldu. Çünkü Do Until arasındaki kodlar şart doğru olana kadar çalıştırılır. a 0'da küçük olana kadar ekrana a değişkeninin değerini yazacak ve a değişkenini bir azaltacak. Ekran çıktısı olacak.

15 Mantıksal Denetimli Döngüler
ÖRNEKLER Do While — Loop Döngüsü Dim a, b, c As Integer a = 0 b = 1 Do While a < 3 c = InputBox("Sayı yazınız...") b = b + c a = a + 1 Loop MsgBox("b=" & b) Dim sayi, artis As Integer sayi = TextBox1.Text artis = TextBox2.Text Do While sayi <= 20 MsgBox("Sayıyı artış miktarı kadar artır.=" & sayi) sayi = sayi + artis

16 Akış Denetimini Değiştirme (Koşulsuz)
Yapısal programlama için, bir program içinde deyimlerin akışı denetlenmelidir. Ancak akış denetiminin değiştirilmesini sağlayan deyimler, yapısal programlama ilkelerine uymayan yapılar içerebilirler. Programlama dillerinde yer alan go to deyimi ve döngülerden erken çıkış için veya döngünün bir geçişinin normalden önce tamamlanması için kullanılan deyimler, bu deyimlere örnek oluşturmaktadır.

17

18 Goto Deyimi  Goto deyimi, bir programda akış denetimini koşulsuz olarak değiştirmeyi sağlayan deyimdir. Akışı yönetmek için güçlü bir deyim olmakla birlikte, akışı koşulsuz olarak değiştirme, bir programdaki deyimlerin sırasını rasgele olarak belirleyebildiği için, sorunlara yol açmaktadır. goto deyiminin programların okunabilirliğini ve güvenilirliğini azaltarak, bakım aşamasını ve programların etkin çalışmasını güçleştirdiğini göstermiştir. (Bunu ifade eden bir benzeştirmede goto deyiminin yer verildiği programlar, sphagetti kodu olarak nitelendirilmiştir.)

19

20 QuickBASIC'te exit deyimi

21 C dilinde exit

22 C' de break Deyimi: C'de sayaç denetimli veya mantıksal denetimli döngülerden normalden önce çıkış, break deyimi kullanılarak sağlanabilir. break deyimi çalıştırılır çalıştırılmaz, döngü dışına çıkışı sağlar.

23 C' de continue Deyimi: C' de döngülerde akışı değiştirmek için break deyimine ek olarak denetimi en içteki döngünün sınama deyimine aktaran continue deyimi tanımlıdır. continue deyimi, döngüyü sona erdirmeden döngü gövdesinde bulunulan noktadan döngü kapanış deyimine kadar olan deyimlerin atlanmasını ve döngünün bir sonraki yinelemeye devam etmesini sağlar.

24 Özet Yapısal programlama, program tasarımı ve yazılmasını kurallara bağlayan ve disiplin altına alan bir yaklaşımdır. Yapısal programlama: Programların anlaşılabilirliğini artırır. Bir programın hatalarının ayıklanmasını kolaylaştırır. 3. Programın sınanmasını ve düzeltilme zamanını kısaltır. 4. Bir programın niteliği, güvenilirliği ve etkinliği artar.

25 Kaynaklar


"YAPISAL PROGRAMLAMA KAVRAMI" indir ppt

Benzer bir sunumlar


Google Reklamları