22
Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic

Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Dr. Musa KILIÇ Öğretim Görevlisi

http://kisi.deu.edu.tr/musa.kilic

Page 2: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

BİLGİSAYAR

Kısaca özetlemek gerekirse programlar olmadan bilgisayarlar sadece bir devre topluluğudur. Bilgisayarı bilgisayar yapan programdır.

DONANIM YAZILIM Donanım birimleri ekran, klavye, harddisk, ram …

Yazılımlar ise bilgisayarın donanım yapısını kullanılır hale getiren komutlardır. Bu komutlar kullanılarak bilgisayar programları oluşturulur.

Page 3: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

PROGRAM

Program, belli bir komut ve söz dizimi yapısına uygun olarak, sadece belirtilen işlemlerin yerine getirilmesini belirten komut dizisidir. Programlama, kullanıcıların isteklerini karşılayacak şekilde muhasebe, stok, oyun, işletim sistemi gibi programları oluşturacak alt yapıyı (kodları) hazırlamaktır. Bu alt yapıyı oluşturan kişilere programcı denir. Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir.

Page 4: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Problem Çözme Aşamaları 1. Problemi Tanımlama Problem için var olan veriler ve ilişkiler tanımlanmalıdır. İstenilenler ve yapılacak işlemler

belirlenmelidir.

2. Algoritma Sorunun çözümünün kelime ya da kelime grupları ile ifade edilmesidir. Algoritma, bir

problemin çözümü için izlenecek yoldur ya da mevcut bilgilerden istenilenlere erişme yöntemidir.

3. Akış Şeması Algoritmanın semboller ile gösterilmesidir. Algoritma geliştirildikten sonra, programlama

dillerine aktarımı daha kolay ve anlaşılabilir olması sebebiyle akış şemaları oluşturulur ve bu aşamada hata var ise düzeltilir.

4. Programlama Diline Dönüştürme Uygun bir programlama dili seçilerek algoritma kod haline dönüştürülür ve bilgisayar

ortamında doğru çalışıp çalışmadığı kontrol edilir.

10

Page 5: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

• Algoritma, bir problemin çözümü için izlenecek yoldur. Çözüm için yapılması gerekli işlemler, öncelik sıraları göz önünde bulundurularak ayrıntılı bir biçimde adım adım tanımlanmalıdır. Bilgisayar programları algoritmalar üzerine kurulmuştur.

• Bir algoritmadan beklenen en önemli özellikler: – Basit olması,

– Mümkün olan en az adım ile (en kısa sürede) problemi çözmesidir.

• Örnek: İki sayının toplamı için algoritma: – 1.Adım Başla – 2.Adım Birinci sayıyı oku – 3.Adım İkinci sayıyı oku – 4.Adım İki sayıyı topla – 5.Adım Dur

11

Algoritma Nedir?

Page 6: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

• Bir algoritmanın adımlarının mantıksal sırasını, adımların birbiri ile bağıntısını, bir işlemden diğerine nasıl gidileceğini belirten kontrol mekanizmalarını, özel bazı şekil ve sembollerle anlatan bir ifade biçimidir.

• Semboller:

– Başlangıç/bitiş

– İşlem

– Veri giriş / çıkışı

– Karar

– Bağlantı noktası

12

Akış Şeması (Flowchart)

Page 7: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Akış diyagramlarında genel olarak üç basit

mantıksal yapı kullanılır:

1. Sıralı Yapı:

Bu yapıda her işlemin mantık sırasına göre yeri

belirlenir ve bir işlem sona erene kadar ikinci bir

işlem başlayamaz.

2. Karar Verme Yapısı:

Birden fazla sıralı yapı seçeneğini kapsayan

algoritmalarda, hangi şartlarda hangi sıralı yapının

seçileceğini belirler. (If...Then... Else )

3. Tekrarlı Yapı:

Döngü oluşturmak için kullanılan yapıdır. Döngüler

aynı işlemin bir çok kez yapılmasını sağlar (For …

Next).

13

Akış Şeması (Flowchart)

Sıralı Yapı

Karar Verme Yapısı

Tekrarlı Yapı

Page 8: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

1.Adım Başla 2. Adım Sayıları veri olarak al 3. Adım Sayıları topla 4. Adım Hesaplanan değeri göster 5. Adım Dur

İki sayının toplamının bulunması

BAŞLA

DUR

X,Y

Toplam=X+Y

Toplam

1.Adım Başla 2.Adım Yarıçapı gir (R=3cm) Pi‘ yi tanımla (P = π) 3.Adım Dairenin alanını hesapla (D = P * R ^ 2) 4.Adım Yarıçap ve alanı göster 5.Adım Dur

Yarıçapı verilen bir dairenin alanının bulunması

BAŞLA

D=P*R^2

DUR

R=3cm P=3.14

R, D

Akış Şeması (Flowchart)

Page 9: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

1. N adet personelin maaşlarını giriş bilgisi olarak alınız.

2. Maaşların toplamını hesapladıktan sonra ortalama maaşı bulunuz.

3. Ortama maaş, 650 TL’den fazla ise ekranda “Firma iyi maaş veriyor.” mesajını, aksi taktirde “firma yetersiz maaş veriyor.” mesajını yazdırınız.

Başla

Dur

Maaşlar

Toplam Maaş, Ortalama Maaş

Ort>650 TL

Firma iyi maaş veriyor

Firma yetersiz maaş veriyor

H E

Akış Şeması (Flowchart)

Page 10: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

BAŞLA

TOP = TOP + N

DUR

N=1000

ORT = TOP/N

EVET

HAYIR

N=N+1

N=1 TOP=0

N, TOP, ORT

1’ den 1000’e kadar olan sayıların toplamını ve ortalamasını bulan bir programın akış şemasını çiziniz.

Akış Şeması (Flowchart)

Page 11: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: İki sayıyı toplayan, çarpan, çıkaran ve bölen bir matematiksel programın algoritması ve akış şeması

Başla

A’yı, B’yi Oku

C=A+B D=A-B E=A*B F=A/B

C, D, E, F’ yi yaz

Dur

Page 12: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: İki sayının toplamının karesini ve küpünü bulan programın algoritması ve akış şeması

Başla

Sayı1 ve Sayı2 Oku

Toplam=Sayı1+Sayı2

Tkare=Toplam^2 Tkup=Toplam^3

Tkare, Tkup Yazdır

Dur

Page 13: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: Öğrencinin ortalamasını hesaplayan ve başarı durumunu belirten programın akış şeması

Başla

V1, V2, F Oku

ORT=V1*0.25+V2*0.25+F*0.50

ORT<60

Dur

EVET HAYIR

KALDI GEÇTİ

Page 14: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Alıştırma Soruları

1’den 100’e kadar olan tek sayıların toplamını veren programın akış şemasını hazırlayınız.

1’den 100’e kadar olan çift sayıların toplamını veren programın akış şemasını hazırlayınız.

ax^2+bx+c=0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.

50 öğrencinin bulunduğu bir sınıfta 1. vize, 2. vize ve final ortalamalarının hesaplanıp, kaç kişinin dersten kaldığını ve kaç kişinin dersten geçtiğini bulan programın akış şemasını çiziniz.

Page 15: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: 1’den 100’e kadar olan çift sayıların toplamını bulan programın akış şemasını hazırlayınız.

1. yol 2. yol

Page 16: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: Ekrana girilen bir sayının tek ya da çift olduğunu söyleyen programın akış şemasını hazırlayınız.

Page 17: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: Ekrana girilen bir sayının pozitif ya da negatif olduğunu söyleyen programın akış şemasını hazırlayınız.

Page 18: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: ax2 + bx + c = 0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.

Page 19: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: ax2 + bx + c = 0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.

Page 20: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: Kullanıcı tarafından ekrana girilen 5 adet sayıdan en büyüğünü bulan programın akış şemasını hazırlayınız.

Page 21: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

Örnek: Kullanıcı tarafından ekrana girilen 3 adet sayıyı büyükten küçüğe doğru sıralayan programın akış şemasını hazırlayınız.

Page 22: Dr. Musa KILIÇ...Günümüzde C, C+, C++, C#, Basic, QBasic, Visual Basic, Pascal, Cobol vs. halen kullanılmakta olan çeşitli programlama dilleridir. Problem Çözme Aşamaları

BAŞLA Y18=0 Y19=0 Y20=0 TOS=0 YO OKU

YO=18 Y18=Y18+1 YO=19 Y19=Y19+1

YO=20 Y20=Y20+1 TOS=TOS+1 TOS<50

DUR

Örnek 50 kişilik bir sınıfta yaşları 18, 19 ve 20 olan kaç adet öğrenci olduğunu bulan program.

YO: Öğrenci yaşı Y18: Yaşı 18 olan öğrenciler Y19: Yaşı 19 olan öğrenciler Y20: Yaşı 20 olan öğrenciler TOS: Toplam öğrenci sayısı

Y18, Y19, Y20, TOS YAZDIR

EVET

HAYIR

EVET

EVET HAYIR

HAYIR