slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
MF-10 3 Bilgisayar Programlama Güz 2011 ( 1 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal) PowerPoint Presentation
Download Presentation
MF-10 3 Bilgisayar Programlama Güz 2011 ( 1 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)

Loading in 2 Seconds...

play fullscreen
1 / 34

MF-10 3 Bilgisayar Programlama Güz 2011 ( 1 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal) - PowerPoint PPT Presentation


  • 185 Views
  • Uploaded on

MF-10 3 Bilgisayar Programlama Güz 2011 ( 1 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal). BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI. BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam). ANALİZ: Çözülmesi istenen problemin tamamen anlaşılmasını sağlayacak ö n çalışmalardır .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'MF-10 3 Bilgisayar Programlama Güz 2011 ( 1 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)' - lavonn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

MF-103

BilgisayarProgramlama Güz 2011

(1. Sunu)

(Yrd. Doç. Dr. Deniz Dal)

b lg sayarla problem z m n n a amalari devam
BİLGİSAYARLA PROBLEMÇÖZÜMÜNÜN AŞAMALARI (devam)

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.

slide4

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 adresininMerkezi İş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ğininkontrol edildiği aşamadır.

slide5

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.

slide6

PROGRAMLAMA DİLİ NEDİR?

  • Bir problemin algoritmik çözümünün bilgisayarda
  • yazılmasını sağlayan kurallar dizisidir.
  • BAZI PROGRAMLAMA DİLLERİ
  • MATLAB, Delphi, Pascal, Fortran, Lisp
  • C, C++, C#, Visual Basic, Java
algor tma
ALGORİTMA
  • 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ı:
    • Yataktan kalk
    • Pijamalarınıçıkar
    • Duş al
    • Elbiselerini giy
    • Kahvaltını yap
    • Arabana bin ve işe git
  • Sıra önemli. 3 ve 4 nolu adımlar yer değiştirirse mesela? (Kim ıslanmak ister? )
slide9

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

1–Değişken

2–Atama

3–Fonksiyon

4–Sayaç

5–Döngü

de ken
DEĞİŞKEN

Değişken denince aklınıza saklama kapları gelmelidir.

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.

atama
ATAMA

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

slide12

ATAMA (devam)

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.

Y=9

X=26

X=3

Y=X+5

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

fonks yon
FONKSİYON

Bir giriş parametresini(lerini) (argümanlarını) belirli bir işlemden geçirdikten sonra geriye bir çıkış parametresi(leri) döndüren programlara fonksiyondenir.

Kıyma makinesi parça eti kıymaya dönüştüren bir fonksiyona sahiptir.

slide14
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.

slide15

sayac = sayac + 1

bilgisayar 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.

slide16

‘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

slide17

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

A1: Başla

A2: sayac=1

A3:Eğer sayac5’e eşit ise adım 7 ye git

A4: sayacı ekrana yaz

A5: sayac=sayac+1

A6: 3. adım’ a git

A7: Bitir

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

slide18
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.

slide19

Döngü Oluşturma Kuralları:

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.

slide20

Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı hesaplanmaktadır. (Aşağıdakialgoritmayı çift sayıların toplamınahangi değişikliğiyaparak 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?

slide21

Ö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?

slide22

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

A1 : Başla

A2 : sayi1, sayi2vesayi3 sayılarını dışarıdan gir

A3 : enBuyuk=sayi1

A4 : Eğer sayi2>enBuyukise enBuyuk=sayi2yap

A5 : Eğer sayi3>enBuyukise enBuyuk=sayi3yap

A6 : enBuyuk değerini ekranayaz

A7 : Bitir

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

slide23

Ö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şla

A2 : toplam=0;sayac=1 başlangıç değerlerini ata

A3 : Eğer sayac100’e eşit ise 6. adıma git

A4 : toplam=toplam+sayac

A5 :sayac=sayac+1 yap ve 3. adıma geri dön

A6 : toplam ı ekranayaz

A7 : Bitir

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

slide24

Ö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ğerY<0 ise 3. adima git

A5: Eğersayac>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?

slide25

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.

slide26

Ö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

Akış diyagramı:

sayi1=?

sayi2=?

ortalama=(sayi1+sayi)/2

ortalama

Bitir

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

slide27

Ö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 A0’a eşit ise Adım 2’ye git

A4: Bdeğerini giriniz

A5: X=-B/A

A6: Yaz X

A7: Bitir

A=0

Evet

Hayır

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

slide28

Örnek: 1’den 100’e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştiriniz.

Algoritma:

A1: Başla

A2: sayac=0

A3: toplam=0

A4: sayac=sayac+1

A5: toplam=toplam+sayac

A6: Eğer sayac100’e eşit değilse Adım 4’e git

A7: ortalama=toplam/sayac

A8: Yaz toplam, ortalama

A9: Bitir

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

slide29

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.

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

slide30

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

slide31

Ö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?)

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

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

A1:Başla

A2: A,B,C değerlerinigir

A3: A=B ise A4’e gitdeğilse A5’e git

A4: B=C ise A6’ya gitdeğilse A8’e git

A5: A=C ise A8’e gitdeğilse A7’e git

A6: ‘ÜçgenEşkenardır’ yazdirve A10’a git

A7: B=C ise A8’e git, değilse A9’a git

A8: ‘Üçgenİkizkenardır’ yazdirve A10’a git

A9: ‘ÜçgenÇeşitkenardır’ yazdir

A10:Bitir

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

slide34

A1

Başla

Eşkenar : A=B=C

İkizkenar: A=B veya

A=C veya

B=C

A2

A,B,C Gir

Çeşitkenar: A=B=C

A3

H

E

A=B

A4

A5

A6

E

H

H

A=C

B=C

E

Eşkenar

A7

A8

E

H

B=C

İkizkenar

A9

Çeşitkenar

Bitir

A10