2.PROGRAM YAZIMI
AMAÇ:
Bilgisayarda bir problemin çözüm aşamalarını yaparak, program yazmaya hazırlık yapabileceksiniz.
Bu konumuzun amaçını yukarda belirttim ve şimdi program yazımı hakkında kısaca bilgi sahibi olmaya başlıyalım;
Programı tasarlarken, ilk düşünmeniz gereken şey “hangi dili kullanacağınız” değildir.
Programdan ne istediğinizi tam olarak bilirseniz, hangi dili kullanacağınıza kolay karar
verirsiniz. Tek bir dili aramak yerine, değişik dilleri göz önünde bulundurunuz. Programınız
çalıştığı sürece, hangi dil ile yapıldığı önemli değildir, özellikle de programınızı alan“müşteri” (kullanıcıda diyebiliriz) bununla ilgilenmez.Bilgisayarda çözmeniz gereken problemin, sadece bir çözümü (algoritması)olmayabilir. Her çözümün kendi avantajı veya dezavantajı olabilir. Bazı algoritmalar daha hızlı olarak işlemi bitirirken, aynı algoritmanın kod kısmını yazmak çok uzun sürebilir,mantığı çok karmaşık olabilir. Sık ağaçlarla kaplı bir ormana, dışarıdan baktığınızda içinden geçip gitmenin imkânsız gibi gözüktüğünü bilirsiniz. İşlemleri adımlara böldükçe hazmetmesinin daha kolay olduğunu göreceksiniz. Planlama sayesinde, yanlış program kodu üzerinde uğraşmaz, çözüm için zaman kaybetmezsiniz.
Şimdi Programı tasarlarken şunları göz önünde bulundurmalısınız;
Kullanıcı: programı kim kullanacak?
Hedef bilgisayar: Windows mu, Linux mu, bir el bilgisayarımı, yoksa bir süper bilgisayar mı?
Siz: tek başınıza mıyapacaksınız? Takım halinde çalışacak iseniz hangi kısımları siz yazacaksınız?
A)Kullanıcı:
Eğer programı sadece siz kullanacaksanız, görünümü istediğiniz gibi tasarlayabilirsiniz, çalışması yeterlidir. Satacak veya ücretsiz olarak verecek iseniz, karşınızdaki insanları tanımanız mantıklı olur. Kullanıcının
bakışaçısı ile bakarak programı tasarlamanız gereklidir.
B)Hedef bilgisayar:
Kullanıcının kullandığı bilgisayarın türünü göz ardı edemeyiz.
Programlama dilini buna göre seçeriz. Hangi donanımı kullandığıda önemlidir. Bir Mac kullanıcısı için bol hafıza, disk alanı, renkli grafikler, ses avantajı varken, bir el bilgisayarında ise daha az renk seçeneği, ekran
çözünürlüğü ve belleği vardır. Bir program ne kadar çok çeşitli ortamda çalışıyor ise o kadar rağbet görür. Bu prensibe “çapraz platform – cross platform” denir.
Kullanıcı sayısınıartırma çabalarımız, beraberinde daha fazla hata türü ile karşılaşmamıza
neden olur. Müşteri desteği sağlarken bunlara dikkat edilmelidir. Farklı sürümlere bölünmek,kârın bölünmesi demektir.
C)Siz:
Herhangi bir programlama dili ile uğraşırken, önce kendi yeteneklerinize dikkat edersiniz. İyi bir proje aklınıza gelmiş olabilir. Ama deneyiminiz az ve bilginiz az olunca, kendi programınızı yazmak zor
gelebilir. Acemi biri için C ve C++ ile program yapımı çok zaman alıcı olabilir. Daha basit olarak Visual Basic’te program yazmayı öğrenip, piyasada çalışmaya başlayabilirsiniz. Bir günde program yazan çok az insan vardır. Program kod yazımı zaman alır, acele yapıldığında içi hatalarla dolabilir. Ne yapacağınızdan emin olduktan ve istenen programın ne işyapacağını anladıktan sonra program yapımına başlayınız.
Prototip(Kalıp) Oluşturma
Sahte Kod Ve Algoritma Yazma
Kitap indirimi ile ilgili sahte kod yazalım:
Başla
Yaz; "Kitap türünü giriniz"
Oku; kategori
Eğer kategori A İse Yaz; "A kategorisinde %10 indirim vardır."
Eğer kategori B İse Yaz; "B kategorisinde indirim yoktur."
Bitir
Siz de basit olarak bir çay makinesinin, ütünün ve telefonun kullanımı ile ilgili adımları yazınız.
Akış Şemaları
İki sayıyı toplayıp sonucunu gösteren programın akış şeması şu şekildedir:
İki sayıyı karşılaştırma programının akış şeması şu şekildedir:
Bozuk bir televizyon kumandası ile ilgili çözüm akış şeması şu şekildedir:
Araç tamir ve bakımı ile ilgili bir örnek akış şeması:
Dezavantajları şunlardır:
Çok sayfa süren akışdiyagramlarızor takip edilir.
Bir grafik programıile çizimi zaman kaybına neden olur.
Bir değişiklik yapmak gerekince şemanın tekrar çizilmesi gereklidir
KARAR TABLOLARI:
Başka bir programlama yardımcısı karar tablolarıdır (decision table). Çok karmaşık karar yapıları bu sayede kolayca çözülebilir hâle gelir.
Şart kütüğü, şart, durum kütüğü ve durum olmak üzere tablo halinde 4 parçadan oluşur.
Şart kütüğü: Hangi kararlar verilecek?
Şartlar: Şartın alternatifleri neler?
Durum kütüğü: Belli şartta ne yapılacak?
Durumlar: E (Evet) ve H (Hayır) halinde hareket seçenekleri
Örnek:
ABC şirketi bir sekreter eleman alacaktır. Şartları:
a. Aday bayan olmalı
b. En az 2 yıl deneyimli olmalı
c. Bekâr olmalı
Dikkat ettiyseniz en fazla sekiz durum olabiliyor. Bu sayı2 ^ 3 = 8*hesabından
geliyor. İkilik sayı sİstemindeki gibi sadece iki ihtimal (E / H) olduğu için taban ikidir. Üç
adet de limit sağlayan şartımız var.
Tüm olabilecek durum gözden geçirilerek hata olması engellenir. Akış diyagramına
göre daha okunaklıdır. Fakat ilk kez program yazanlar genellikle akış diyagramı çizmeyi
tercih ederler.
Aşağıdaki soruların sahte kod, akışşemasıveya karar tablolarıyöntemi ile
çözümünü yapınız:
1. Bir sınıftaki 5 öğrencinin notlarıgirilir, ortalamasıhesaplanır.
2. Bir elektronik mağazasında 37 ekran televizyonlar %20, 54 ekran televizyonlar da %15 indirim yapılıyor. Buna göre ekran boyutu girildiğinde, indirim oranını mesaj olarak gösteriniz.
3. Bir üniversite teorik dersin 25 saatine 1 kredi, laboratuvarın 10 saatine 1 kredi
veriyor. Ders ve laboratuvar saati girilince toplam krediyi hesaplayan programı yazınız.
Sahte kodu karışık olarak verilen problemin satır sıralarınıdüzeltiniz. Problem
şudur; 3 ürünün satışve maliyet fiyatlarıgirilir, kârlarıtoplanır ve ortalamalarıalınır.
Üç ürünün kârını topla.
Üçüncü ürünün satış fiyatını gir.
Birinci ürünün satış fiyatını gir.
Toplamı3’e bölerek ortalamasını bul.
Üçüncü ürünün maliyet fiyatını gir.
Bitir.
İkinci ürünün satış fiyatından maliyet fiyatını çıkarıp kârını bul.
İkinci ürünün maliyet fiyatını gir.
Ortalama kârı göster.
Yorum Gönder Blogger Facebook