Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)

Post on 06-Jan-2016

83 views 0 download

description

Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta). Algoritma Geli ş tirme ve Akış Diyagramları. BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI Analiz Algoritma Geliştirilmesi Akış Şeması Çizimi Programlama Dili Seçimi Programın Yazılması Derleme Çalıştırma Test. - PowerPoint PPT Presentation

Transcript of Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)

Görsel C# ile Windows Programlama

Güz 2009

(1. Hafta)

Algoritma Geliştirme ve Akış Diyagramları

BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI

Analiz

Algoritma Geliştirilmesi

Akış Şeması Çizimi

Programlama Dili Seçimi Programın Yazılması

Derleme Çalıştırma

Test

PROBLEM ÇÖZÜMÜ AŞAMALARI (devam)

Analiz : Sorunun çözülebilmesi için problemin

tamamen anlaşılmasını sağlayan ön çalışmalardır.

Algoritma Geliştirilmesi : Geliştirilen çözümün sıralı

adımlarla ifade edilmesidir.

Akış Şeması Çizimi : Geliştirilen algoritmanın şekillerle

ifade edilmesidir.

Programlama Dili Seçimi : Çözümün netleşmesinden

sonra yapılacak işlemleri kolay bir şekilde bilgisayar

ortamına aktaracak programlama dilinin seçilmesidir.

PROBLEM ÇÖZÜMÜ AŞAMALARI (devam)

Programın Yazılması : Seçilen programlama dilinin

kuralları kullanılarak programın yazılmaya başlanmasıdır.

Derleme : Programlama dili ile yazılmış programın

yazım hatalarının olup olmadığının kontrol edilmesi ve

programın makina dili komutlarına çevrilmesidir.

Çalıştırma : Çalıştırma aşamasında işletim sistemi derlenmiş

programı hard diskten alır ve belleğe taşır. Programın ilk

komutunun adresi CPU ya bildirilir ve program çalışmaya

başlar.

Test : Test aşaması programın mantıksal olarak test

edilmesini sağlar ve muhtemel her giriş için doğru

sonuçlar üretip üretmediği kontrol edilir.

Program Nedir?

Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne program denir.

Programlama Nedir?

Problem çözümünde anlatılan adımların tümüne birden programlama denir.

Programlama Dili Nedir?

Bir problemin algoritmik çözümünün bilgisayardayazılmasını sağlayan kurallar dizisidir.

Bazı programlama dilleri:

•MATLAB, C, C++, C#

•Delphi, Pascal, Visual Basic,

•Java, Lisp

Algoritma Nedir?

Belirli bir problemi çözmek için işletilmesi gereken adımları ve bu adımların hangi sıra ile uygulanacağını belirleyen prosedüre algoritma denir.

“İşine gitmek üzere uyanan birinin yapması gereken işler” algoritması:1.Yataktan kalk2.Pijamalarını çıkar3.Duş al4.Elbiselerini giy5.Kahvaltını yap6.Arabana bin ve işe git

Sıra önemli. 3 ve 4 nolu adımlar yer değiştirirse mesela? (Kim ıslanmak ister? )

Algoritma Geliştirmede ve Programlamada Kullanılan BazıTemel Kavramlar

1 – Değişkenler

2 – Atama Operatörü

3 – Fonksiyonlar

4 – Sayaçlar

5 – Döngüler

Algoritma Geliştirmede ve Programlamada Kullanılan BazıTemel Kavramlar (devam)

1- Değişken : Bir program içerisinde bilgileri tutmak ve bu bilgiler

üzerinde işlem yapmak için değişkenlerden yararlanılır.

Örneğin c=a+b ifadesindeki "a","b" ve "c" bizim değişkenlerimizdir.

2-Atama: Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu aktarma işlemidir.

değişken = ifade

Satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır. ‘ifade’ yazan kısımda ise matematiksel, mantıksal veya alfa nümerik bir ifade olabilir. Aradaki ‘=‘ sembolü, ‘atama operatörü’ olarak adlandırılır ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. Bu durumda değişkenin -eğer varsa- bir önceki değeri (eski değeri) silinir.

X=3

Y=X+5

işleminin sonucunda Y’nin bir önceki değeri silinerek yerine 8 değeri yazılır.

Algoritma Geliştirmede ve Programlamada Kullanılan BazıTemel Kavramlar (devam)

3- Fonksiyon : Giriş parametrelerini belli bir işlemden geçirdikten sonra, geriye çıkış parametrelerini döndüren işlevlere fonksiyon denir. Değişkenler, fonksiyonların vazgeçilmez elemanlarıdır.

Örnek: 

Değişkenlerimiz olan a ve b şu değerleri alsın:

a=1 ve b=2 ; fonksiyonumuz ise c = a+b olsun. Fonksiyonumuzun sonucu:  c=1+2=3

Burada "a","b" değişkenini girerek ve "c=a+b" fonksiyonunu

kullanarak "c" değişkeninin değerini buluyoruz.

Algoritma Geliştirmede ve Programlamada Kullanılan BazıTemel Kavramlar (devam)

4- Sayaç : Programlarımızda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir.

Örneğin: Klavyeden girilen bir cümlede kaç sesli harf olduğunu bulan programda, cümlenin her harfi sırayla çağrılır ve sesli harfler kümesine ait olup olmadığı araştırılır. Eğer çağrılan harf bu kümeye ait ise bunları sayacak olan değişkenin değeri bir artırılır.

Algoritma Geliştirmede ve Programlamada Kullanılan BazıTemel Kavramlar (devam)

sayac = sayac + 1

Şeklindeki işlemde sağdaki ifadede değişkenin eski(önceki) değerine ‘1’ eklenmekte; bulunan sonuç yine kendisine, yeni değer olarak aktarılmaktadır. Bu tür değişkenlere, algoritmada “sayaç” veya “sayıcı” (counter) adı verilir.Yani “sayaç”; işlem akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan/azalan değişkendir.

Algoritma Geliştirmede ve Programlamada Kullanılan Bazı Temel Kavramlar (devam)

‘Sayaç’ kullanımına örnek:

sayac=sayac+3 Üçer üçer artan bir sayıcıdır

sayac=sayac-5 Beşer beşer azalan bir sayıcıdır

Örnek: Aşağıdaki algoritmada 1-5 arası sayılar (1 dahil, 5 hariç), sayaç kullanılarak ekrana yazdırılmaktadır. Burada, sayac sayaç değişkenidir.

A1: Başla

A2: sayac=1

A3 : Eğer sayac=5 ise adım 7 ye git

A4: sayac i ekrana yaz

A5: sayac=sayac+1

A6: 3.adım’ a git

A7: Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

5- Döngü : Birçok programda, bazı işlemler belirli

ardışık değerlerle gerçekleştirilmekte veya belirli sayıda

yapılmaktadır. Programlardaki belirli işlem bloklarını,

belirli sayıda tekrarlayan işlem akış çevrimlerine döngü

denir.

Algoritma Geliştirmede ve Programlamada Kullanılan Bazı Temel Kavramlar (devam)

1- Döngü değişkeninin başlangıç değeri belirlenir.

2- Döngü değişkeninin bitiş değeri belirlenir.

3- Döngü değişkeninin bitiş değerine ulaşıp

ulaşmadığı test edilir.

4- İstenen işlem gerçekleştirilir.

5- Döngü değişkeni, döngü içinde adım miktarı

kadar artırılır yada azaltılır.

Döngü Oluşturma Kuralları:

Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı

hesaplanmaktadır. (Aşağıdaki algoritmayi çift sayıların toplamına hangi

değişikliği yaparak dönüştürebilirsiniz?)

A1: Başla

A2: toplam=0

A3: sayac=1

A4: Eğer sayac>=10 ise adım 8 e git

A5: toplam=toplam+sayac

A6: sayac=sayac+2

A7: Adım 4 e git

A8: toplam ı ekrana yaz

A9: Bitir

‘Döngü’ Kavramına Örnek:

Döngü

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek : Dışarıdan girilen iki sayının toplamını bulan programın algoritması aşağıdaki gibi kurulur:

Algoritma:

A1 : Başla

A2 : A değerini gir

A3 : B değerini gir

A4 : C= A+B

A5 : C' yi ekrana yaz

A6 : Bitir

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek : Dışarıdan girilen 3 sayıdan en büyüğünü bulan algoritmayı kurunuz.

Algoritma:

A1 : BaşlaA2 : A, B ve C sayılarını dışarıdan girA3 : enBuyuk=AA4 : Eğer enBuyuk<B ise enBuyuk=B yapA5 : Eğer enBuyuk<C ise enBuyuk=C yapA6 : enBuyuk değerini ekrana yazA7 : Bitir

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek: 0’dan 100’e kadar olan sayma sayılarının kümülatif toplamını ekrana yazdıran algoritmayı geliştiriniz.

A1 : BaşlaA2 : toplam=0;sayac=1 baslangıç değerlerini ataA3 : Eğer sayac=100 ise 6. adıma gitA4 : toplam=toplam+sayacA5 : sayac=sayac+1 yap ve 3. Adıma geri dönA6 : toplam’ı ekrana yaz A7 : Bitir

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasını yazınız. (Faktöriyeli hesaplanacak sayı negatif girilmişse yeniden giriş istenmelidir.)

Değişkenler:Sayının faktöriyeli : faktor , Faktöriyel Değişkeni :sayac Faktöriyeli hesaplanacak sayı :Y

Algoritma:

A1: Başla

A2 : faktor =1; sayac =1

A3 : Y’yi gir

A4 : Eğer Y<=0 ise 3. adima git

A5 : Eğer sayac>Y ise adim 8 e git

A6: faktor=faktor*sayac

A7: sayac =sayac+1 yap ve adım 5 e git

A8 : faktor degerini ekrana yaz

A9 : BitirHangi amaçlarla kaç değişkene ihtiyaç var?

Anlamlı Değişken İsimleri Seçmek Çok Önemli !!!!!!!!!!!!

Akış Diyagramları (Flow Charts):

Akış diyagramları, algoritmaların sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon ayrı bir sembolle gösterilir.

Örnek: Verilen iki sayının ortalamasını hesaplayan programın algoritmasını yazınız ve akış diyagramını çiziniz.

Algoritma:

A1 : Başla

A2 : X değerini gir

A3 : Y değerini gir

A4 : Ort = (X+Y)/2

A6 : Ort degerini yaz

A7 : Bitir

Başla

X=?

Y=?

Ort=(X+Y)/2

yazOrt

Bitir

Akış diyagramı:

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek: Ax+b=0 şeklinde verilen 1. derece denklemin çözümünü bulan programın algoritmasını yazınız ve akış diyagramını çiziniz. (A=0 girilmiş ise veri girişi yenilenecektir.)

A1: Başla

A2: A değerini giriniz

A3: Eğer A=0 ise Adım 2’ye git

A4: B değerini giriniz

A5: X=-B/A

A6: Yaz X

A7: Bitir

Hayır

EvetA=0

Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek: 1’den 100’e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştiriniz.Algoritma:A1: BaşlaA2: sayac=0A3: toplam=0A4: sayac=sayac+1A5: toplam=toplam+sayacA6: Eğer sayac=100 değilse Adım 4’e git A7: ortalama=toplam/sayacA8: Yaz toplam, ortalamaA9: Bitir

Hangi amaçlarla kaç değişkene ihtiyaç var?

Uygulama: Daha önce algoritması yazılan ve dışarıdan girilen bir sayının faktöriyelini hesaplayan programın akış diyagramını çiziniz.

Uygulama: Daha önce algoritması yazılan ve dışarıdan girilen 3 sayıdan en büyüğünü bulan programın akış diyagramını çiziniz.

Örnek: F(x) fonksiyonunun degeri X'in aldığı değerlere göre asağıda verilmiştir. X'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir X degeri için F(x) fonksiyonunu hesaplayan programın akış diyagramını çiziniz.

0<= X <= 2 f(x)= X

2< X <= 3 f(x)=X -X3 -22

3< X <=4 f(x)=X2 -2X+13

4< X f(x)=X4 -3X2 -43

Algoritma: ??? kurunuz

Örnek : Ax²+Bx+C=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış diyagramını çiziniz. (İkinci derece denklem olmadığı uyarısını nasıl verirsiniz?)

Örnek:10 tane N sayısının faktöriyelini hesaplayan programın akış diyagramını çiziniz. (Yandaki diyagramdaki sorunları bulunuz.)

Örnek : Kenar uzunlukları dışardan girilen bir ABC üçgenini kenar uzunluklarına göre inceleyen programın algoritmasını kurunuz.

A1: Başla    A2: A,B,C değerlerini gir    A3: A=B ise A4’e git değilse A5’e git    A4: B=C ise A6’ya git değilse A8’e git    A5: A=C ise A8’e git değilse A7’e git A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git A7: B=C ise A8’e git, değilse A9’a git        A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git    A9: ‘Üçgen Çeşitkenardır’ yazdir     A10: Bitir

Hangi amaçlarla kaç değişkene ihtiyaç var?

A=BEH

A=C B=C EşkenarE

B=C

EH

E

H

Hİkizkenar

Çeşitkenar Bitir

Başla

A,B,C Gir

A1

A2

A3

A4A5 A6

A8A7

A10

A9

Eşkenar : A=B=C

İkizkenar: A=B veya A=C veya B=C

Çeşitkenar: A=B=C