bilgisayar programlama (1. sunum )

31
Bilgisayar Programlama (1. Sunum)

Upload: colman

Post on 23-Feb-2016

126 views

Category:

Documents


6 download

DESCRIPTION

Bilgisayar Programlama (1. Sunum ). BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI. Analiz Algoritma Geliştirme Akış Şeması Çizimi Programlama Dili Seçimi Programın Yazılması Derleme Çalıştırma Test. BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bilgisayar Programlama (1.  Sunum )

Bilgisayar Programlama

(1. Sunum)

Page 2: Bilgisayar Programlama (1.  Sunum )

Analiz Algoritma Geliştirme

Akış Şeması ÇizimiProgramlama Dili Seçimi

Programın Yazılması Derleme

Çalıştırma Test

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

Page 3: Bilgisayar Programlama (1.  Sunum )

ANALİZ: Çözülmesi istenen problemin tamamen anlaşılmasını sağlayacak ön çalışmalardır.ALGORİTMA GELİŞTİRME: Problemi çözecek adımların sıralı olarak ifade edilmesidir.AKIŞ ŞEMASI ÇİZİMİ: Geliştirilen algoritmanın şekillerle ifade edilmesidir.PROGRAMLAMA DİLİ SEÇİMİ: Geliştirilen algoritmayı kolay bir şekilde bilgisayar ortamına aktaracak bir bilgisayar programlama dilinin seçilmesidir.

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam)

Page 4: Bilgisayar Programlama (1.  Sunum )

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam)

PROGRAMIN YAZILMASI: Seçilen programlama dilinin kuralları kullanılarak programın yazılması aşamasıdır. DERLEME: Programlama dili komutlarına dönüşmüş çözümün yazım hatalarının olup olmadığının kontrol edilmesi ve programın makina dili komutlarına çevrilmesidir.ÇALIŞTIRMA: Derlenmiş programın işletim sistemi tarafından hard diskten alınarak belleğe taşındığı ve programın ilk komutunun adresinin Merkezi İşlem Birimine bildirildiği aşamadır.

TEST: Programın mantıksal olarak test edildiği ve muhtemel her giriş için doğru sonuçlar üretip üretmediğinin kontrol edildiği aşamadır.

Page 5: Bilgisayar Programlama (1.  Sunum )

PROGRAM (BİLGİSAYAR PROGRAMI) NEDİR?

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 (BİLGİSAYAR PROGRAMLAMA) NEDİR?

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

Page 6: Bilgisayar Programlama (1.  Sunum )

PROGRAMLAMA DİLİ NEDİR?

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

BAZI PROGRAMLAMA DİLLERİ•MATLAB, Delphi, Pascal, Fortran, Lisp•C, C++, C#, Visual Basic, Java

Page 7: Bilgisayar Programlama (1.  Sunum )

ALGORİTMABelirli 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 8: Bilgisayar Programlama (1.  Sunum )

ALGORİTMA GELİŞTİRMEDE VE BİLGİSAYAR PROGRAMLAMADA KULLANILAN BAZI

TEMEL KAVRAMLAR

1–Değişken 2–Atama 3–Fonksiyon4–Sayaç5–Döngü

Page 9: Bilgisayar Programlama (1.  Sunum )

DEĞİŞKEN

Bir program içerisinde bilgileri geçici olarak saklamak ve ihtiyaç duyduğumuzda bu bilgiler üzerinde işlem yapmak için değişkenlerden yararlanırız.

Page 10: Bilgisayar Programlama (1.  Sunum )

ATAMA

Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu aktarma işlemine atama denir.

Page 11: Bilgisayar Programlama (1.  Sunum )

değişken = ifadesatı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. Y=9X=26X=3Y=X+5işleminin sonucunda Y’nin bir önceki değeri silinerek yerine 8 değeri atanır.

ATAMA (devam)

Page 12: Bilgisayar Programlama (1.  Sunum )

SAYAÇ

Programlarımızda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. Sayma amacıyla kullanılan bu tür değişkenlere sayaç denir.Ö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.

Page 13: Bilgisayar Programlama (1.  Sunum )

sayac = sayac + 1bilgisayar deyimi ile sayac adlı 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.

SAYAÇ (devam)

Page 14: Bilgisayar Programlama (1.  Sunum )

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

sayac=sayac+3 Üçer üçer artan bir sayıcıdırsayac=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şlaA2: sayac=1A3: Eğer sayac=5 ise adım 7 ye gitA4: sayac i ekrana yazA5: sayac=sayac+1A6: 3. adım’ a gitA7: Bitir

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

Page 15: Bilgisayar Programlama (1.  Sunum )

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.

Page 16: Bilgisayar Programlama (1.  Sunum )

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 17: Bilgisayar Programlama (1.  Sunum )

Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı hesaplanmaktadır. (Aşağıdaki algoritmayı ç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ü

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

Page 18: Bilgisayar Programlama (1.  Sunum )

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

A1 : Başla

A2 : sayi1 değerini gir

A3 : sayi2 değerini gir

A4 : toplam= sayi1+sayi2

A5 : toplam ı ekrana yaz

A6 : Bitir

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

Page 19: Bilgisayar Programlama (1.  Sunum )

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

A1 : BaşlaA2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan girA3 : enBuyuk=sayi1A4 : Eğer enBuyuk<sayi2 ise enBuyuk=sayi2 yapA5 : Eğer enBuyuk<sayi3 ise enBuyuk=sayi3 yapA6 : enBuyuk değerini ekrana yazA7 : Bitir

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

Page 20: Bilgisayar Programlama (1.  Sunum )

Ö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 başlangıç 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 21: Bilgisayar Programlama (1.  Sunum )

Ö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: Bitir

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

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

Page 22: Bilgisayar Programlama (1.  Sunum )

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 23: Bilgisayar Programlama (1.  Sunum )

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

Algoritma:

A1 : Başla

A2 : sayi1 değerini gir

A3 : sayi2 değerini gir

A4 : ortalama = (sayi1+sayi2)/2

A5 : ortalama degerini ekrana yaz

A6 : Bitir

Başla

sayi1=?

sayi2=?

ortalama=(sayi1+sayi)/2

ortalama

Bitir

Akış diyagramı:

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

Page 24: Bilgisayar Programlama (1.  Sunum )

Örnek: AX+B=0 şeklinde verilen 1. derece denklemin çözümünü bulan programın algoritmasını geliştiriniz 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 25: Bilgisayar Programlama (1.  Sunum )

Ö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 26: Bilgisayar Programlama (1.  Sunum )

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

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

Page 27: Bilgisayar Programlama (1.  Sunum )

Ö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)=X2< X <= 3 f(X)=X-X3-223< X <=4 f(X)=X2-2X+134< X f(X)=X4-3X2-43

Algoritma: ???

Page 28: Bilgisayar Programlama (1.  Sunum )

Ö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 29: Bilgisayar Programlama (1.  Sunum )

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

Page 30: Bilgisayar Programlama (1.  Sunum )

Ö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 31: Bilgisayar Programlama (1.  Sunum )

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