![Page 1: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/1.jpg)
Görsel C# ile Windows Programlama
Güz 2009
(1. Hafta)
![Page 2: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/2.jpg)
Algoritma Geliştirme ve Akış Diyagramları
![Page 3: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/3.jpg)
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
![Page 4: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/4.jpg)
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.
![Page 5: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/5.jpg)
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.
![Page 6: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/6.jpg)
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.
![Page 7: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/7.jpg)
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
![Page 8: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/8.jpg)
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? )
![Page 9: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/9.jpg)
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
![Page 10: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/10.jpg)
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.
![Page 11: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/11.jpg)
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)
![Page 12: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/12.jpg)
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)
![Page 13: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/13.jpg)
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)
![Page 14: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/14.jpg)
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)
![Page 15: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/15.jpg)
‘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?
![Page 16: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/16.jpg)
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)
![Page 17: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/17.jpg)
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ı:
![Page 18: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/18.jpg)
Ö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?
![Page 19: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/19.jpg)
Ö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?
![Page 20: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/20.jpg)
Ö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?
![Page 21: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/21.jpg)
Ö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?
![Page 22: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/22.jpg)
Ö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 !!!!!!!!!!!!
![Page 23: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/23.jpg)
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.
![Page 24: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/24.jpg)
Ö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?
![Page 25: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/25.jpg)
Ö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?
![Page 26: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/26.jpg)
Ö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?
![Page 27: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/27.jpg)
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.
![Page 28: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/28.jpg)
Ö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
![Page 29: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/29.jpg)
Ö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?)
![Page 30: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/30.jpg)
Örnek:10 tane N sayısının faktöriyelini hesaplayan programın akış diyagramını çiziniz. (Yandaki diyagramdaki sorunları bulunuz.)
![Page 31: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/31.jpg)
Ö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?
![Page 32: Görsel C # ile Windows Programlama Güz 200 9 (1. Hafta)](https://reader036.vdocuments.pub/reader036/viewer/2022081418/56813c5a550346895da5d786/html5/thumbnails/32.jpg)
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