Dr. Musa KILIÇ Öğretim Görevlisi
http://kisi.deu.edu.tr/musa.kilic
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.
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.
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
• 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?
• 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)
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ı
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)
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)
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)
Ö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
Ö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
Ö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İ
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.
Ö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
Örnek: Ekrana girilen bir sayının tek ya da çift olduğunu söyleyen programın akış şemasını hazırlayınız.
Örnek: Ekrana girilen bir sayının pozitif ya da negatif olduğunu söyleyen programın akış şemasını hazırlayınız.
Örnek: ax2 + bx + c = 0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.
Örnek: ax2 + bx + c = 0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.
Ö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.
Ö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.
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