Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic
BİLGİSAYAR DONANIM Donanım birimleri ekran, klavye, harddisk, ram YAZILIM 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. Kısaca özetlemek gerekirse programlar olmadan bilgisayarlar sadece bir devre topluluğudur. Bilgisayarı bilgisayar yapan programdır.
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 Nedir? 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
Akış Şeması (Flowchart) 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ı: 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ı: Karar Verme Yapısı 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 Tekrarlı Yapı
Akış Şeması (Flowchart) İki sayının toplamının bulunması Yarıçapı verilen bir dairenin alanının bulunması 1.Adım Başla BAŞLA 1.Adım Başla BAŞLA 2. Adım Sayıları veri olarak al X,Y 2.Adım Yarıçapı gir (R=3cm) Pi yi tanımla (P = π) R=3cm P=3.14 3. Adım Sayıları topla 4. Adım Hesaplanan değeri göster Toplam=X+Y Toplam 3.Adım Dairenin alanını hesapla (D = P * R ^ 2) 4.Adım Yarıçap ve alanı göster D=P*R^2 R, D 5. Adım Dur DUR 5.Adım Dur DUR
Akış Şeması (Flowchart) 1. N adet personelin maaşlarını giriş bilgisi olarak alınız. Başla 2. Maaşların toplamını hesapladıktan sonra ortalama maaşı bulunuz. Maaşlar 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. Firma iyi maaş veriyor E Toplam Maaş, Ortalama Maaş Ort>650 TL H Firma yetersiz maaş veriyor Dur
Akış Şeması (Flowchart) 1 den 1000 e kadar olan sayıların toplamını ve ortalamasını bulan bir programın akış şemasını çiziniz. BAŞLA N=1 TOP=0 TOP = TOP + N N=1000 HAYIR N=N+1 EVET ORT = TOP/N N, TOP, ORT DUR
Ö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 EVET ORT<60 HAYIR KALDI GEÇTİ Dur
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: ax 2 + bx + c = 0 denkleminin köklerini hesaplayan programın akış şemasını hazırlayınız.
Örnek: ax 2 + 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.
Örnek 50 kişilik bir sınıfta yaşları 18, 19 ve 20 olan kaç adet öğrenci olduğunu bulan program. BAŞLA Y18=0 Y19=0 Y20=0 TOS=0 YO: Öğrenci yaşı Y18: Yaşı 18 olan öğrenciler Y19: Yaşı 19 olan öğrenciler Y20: Yaşı 20 olan öğrenciler TOS: Toplam öğrenci sayısı YO OKU YO=18 EVET Y18=Y18+1 HAYIR YO=19 EVET Y19=Y19+1 HAYIR YO=20 HAYIR TOS=TOS+1 EVET Y20=Y20+1 TOS<50 Y18, Y19, Y20, TOS YAZDIR DUR