• Sonuç bulunamadı

Programlamaya Giriş +

N/A
N/A
Protected

Academic year: 2021

Share "Programlamaya Giriş +"

Copied!
14
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

+

Programlamaya Giriş

(2)

+ Problem Çözme ve Algoritmalar

 Karşılığı bilimsel yöntemlerle bulunması gerekli soru ya da sorular kümesine problem diyoruz. Problem çözümünde bilgi, araştırma, tasarım yeteneği, sezgi ve düşünme gücünü bir yerde toplama gibi olgular yanında uygun Çözüm Yöntemini bulma, sonra onu verilen probleme uyarlama önem taşır.

 Problemi çözebilmek için öncelikle sorunun çok net biçimde

programcı tarafından anlaşılmış olması gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Problemin çözümüne ilişkin zihinsel

alıştırmalar yapılır. Bu alıştırmaların bilgisayar çözümüne yakın olması hedeflenir.

 Bir sorunun tabii ki birden fazla çözümü olabilir. Bu durumda bilgisayar için en uygun çözüm seçilmelidir. Çünkü bazen bizim için pratik olan çözümler bilgisayar için uygun olmayabilir.

 Oluşturulan çözüm Algoritma dediğimiz adımlarla ifade edilmelidir.

(3)

+

 Doğal dilde olduğu gibi programlama dilinin de bir alfabesi, sözcükleri, sözdizimi kuralları ve anlam yapısı vardır.

 Yapılan algoritma ve tasarımdan sonra yazılım aşamasına gelinir ve bu aşamada yapılan programın kullanım ömrü, programın kullanım düzeyi ve hangi amaçla kullanıldığı gibi soruların cevaplarına bakılarak programlama dili seçilir.

 Dil seçimi bazı kriterlere göre yapılmaktadır.

 Diller geliştirme kaynağının içeriğine göre; cebirsel,

algoritmik, işletime, uygulamaya, makineye vb. yönelik olması ile çeşitlenir.

 Bir yazılım değişik dillerde oluşturulabilir fakat izlenen yöntemler genelde birbirine benzerdir.

Programlama Dilleri

(4)

+

Programlama Dilleri:

1. Çok Yüksek Seviyeli Diller: Visual Basic, Acces, FoxPro,..

2. Yüksek Seviyeli Diller: Pascal, Basic, Fortran,..

3. Orta Seviyeli Diller: C, C++, ADA,...

4. Düşük Seviyeli Diller: Assembly,..

5. Makine Dilleri: Bilgisayarın çalışma dilleri 1 ve 0 lardan

oluşur.

(5)

+

 Programlama dillerinin kendi alanları vardır ve her dil kendi alanında kullanıldığı sürece etkin ve başarılı olur.

 Örneğin kısa sürmesi ve görsel tasarım içermesi, veritabanı iletişimi yoğun kullanılması gereken bir program yapmamız gerekiyor olsun.

 Bu durumda Assembly dili ile yola çıktğımızda bahsedilen proje birkaç kişilik deneyimli bir programcı grubu ile bir kaç yıl alır. C ile iki programcı aynı işi üç dört ayda bitirirken

Visual Basic ya da Delphi ile bir programcı bahsedilen işi bir iki ayda tamamlayabilir.

 Yaygın kullanılan üst düzey diller arasında Fen bilimleri ve Mühendislik alanlarında elverişli olanları Fortran, Pascal ve Basic olarak verilebilir. Sistem programcılığında ise C, C++

vd..

(6)

+

Sonuç olarak bir bilgisayar programı yazmak için belli aşamalar vardır ve bu aşamalar geçildiğinde kodlamaya başlanabilir

1. Analiz

2. Algoritma

3. Dil Seçimi

4. Kodlama

Analiz ile gerçekleştirilmek istenen proje tasarımlanır ve parametreleri araştırılır. Algoritma ile adımlar tayin edilir.

Dil seçimi ile en uygun programlama dili seçilir ve son

olarak program kodlanmaya başlanır.

(7)

+ Algoritma

 Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne Algoritma denir.

 Uluslararası Matematik sözlüğü (1960) Algoritma’yı;

1. Cebirsel ya da sayısal çözümleme yöntemi

2. Problem çözüm yöntemini, sırası belirli işlem adımları ile tanımlayan hesaplama kuralı

3. Kesin ve açık tanımlanmış kurallar kümesi ya da

problemin çözüm yönteminin sonlu işlem adımı ile tanımı

olarak vermektedir.

(8)

+ Algoritmanın Özellikleri

 Doğal dille yazılabileceği için formal değildir.

 Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılıdır.

 Algoritma sonlu olmalıdır ve adımlar isimlendirilmelidir.

 İşlemler sade, net ve açıktır ( Farklı yorumlara izin vermeden kesin bir dille yazılmalıdır).

 Adımlar düzenli ve sıralı biçimde olmalıdır. Algoritmanın genel işleyisi gereği yapılacak işlemler algoritmanın adımları ile sıralı olarak gitmektedir.

 Problemin tam ve kesin tanımı yapılmalıdır.

 Girdi/çıktı kesin olarak tanımlanmalıdır.

Örneğin, 2x

2

+10x-48=0 denkleminin pozitif kökü nedir sorusunda 2, 10, 48 katsayıları girdi, bulunacak kök çıktı ve koşul da kökün

pozitif olmasıdır.

(9)

+  Problemin bilgisayarla çözümü düşünülüyorsa ilk yapılacak iş, çözüm yöntemini belirlemek ve onu bilgisayar

algoritması yapısında yeniden tanımlamaktır.

 Algoritma yeterli koşulları sağlayan içerikte yazılmış ve doğruluğuna inanılmış ise, algoritma bilgisayar dili ile yeniden yazılır.

 Programlama dili ile yazılmış algortima ise programdır.

 Algoritma tasarımında, çözüm yaklaşımını parçalara ayırma ve her bir parçayı inceleme ve bütünleştirme çoğunlukla başvurulan bir yaklaşımdır.

 Örneğin n tane (n<=100) tane tamsayının en büyüğünü bulma probleminde çözüm algoritmasını hemen belirlemek kolay değildir.

 Bu nedenle ‘ iki sayının en büyüğünü bulmak’, ‘ üç sayının

en büyüğünü bulmak’ gibi problemlerin çözüm yöntemlerini

inceleyip genele varmak tasarımı kolaylaştıracaktır.

(10)

+ Algoritma Örnekleri

Önce fiziksel olmayan bazı yalın problemler üzerinde çözüm algoritmalarını inceleyelim:

Örn. 1) Öncelikle bir ev hanımının pasta yapmak

istediğini varsayalım. bu pastanın yapımı için gerekli bir

takım işlemler ve alt adımlar bellidir. Şöyle ki;

(11)

+

1. Pastanın yapımı için gerekli malzemeleri hazırla

2. Yağı bir kaba koy

3. Şekeri aynı kaba koy 4. Yağ ve şekeri çırp 5. Karışımın üzerine

yumurtayı kır 6. Tekrar çırp

7. Karışıma un koy

8. Karışıma vanilya, kabartma tozu ekle

9. Karışım kıvama gelinceye kadar çırp

10. Pastayı kek kalıbına koy

11. Yeteri kadar ısınan fırına pastayı koy

12. Pişmiş mi diye kontrol et

13. a. Pişmiş ise 16.

adıma git

b. Değilse 14. adıma git

14. Keki fırından çıkart 15. Fırını kapat

16. kekin soğumasını bekle

17. keki servis et

(12)

+ Daha önce de ifade edildiği gibi bir algortimada her adım son derece belirleyici olmalıdır. Algortimada herhangi bir belirsizlik sözkonusu olmamalıdır. Burada ise bazı belirsiz durumlar sözkonusudur; bir fırının yeterince ısınması

hangi koşula bağlıdır, fırın kaç dereceye ayarlanmalıdır gibi..

Algoritmada bazı adımlar yer değiştirebilir. Ancak bir çok adımın kesinlikle yer değiştiremeyeceğini bilmeliyiz.

Yanlış sıradaki adımlar algoritmanın yanlış çalışmasına ya da çalışamamamsına neden olacaktır. ( 2. ve 3. adım yer değiştirebilir ancak 11. ve 14. adımlar kesinlikle yer

değiştiemezler).

(13)

+ Örn. 2) Bir kitabın 10. sayfasını bulun

(Burada işleyicinin insan olduğu kitap ve belirlenen sayfa numarasının verildiği kabul edilmektedir.)

Adım 1. kitabın ilk sayfasını aç.

Adım 2. eğer açılan sayfa numarası 10 ise aranan sayfa bulunmuştur.

Adım 3. değilse, bir sayfa çevirerek 2. adımı tekrarla

(14)

+ Örn. 3) Klavyeden girilen iki sayının toplamını yazdırma problemi için algoritma:

Adım 1: Başla

Adım 2: Girilen ilk sayıyı say1’ e ikinci sayıyı say2’ e ata.

Adım 3: Top=say1+say2

Adım 4: Top değerini ekrana yaz

Adım 5: Bitir.

Referanslar

Benzer Belgeler

Her ikisi de ayn¬boyutlu olan A ve B matrislerini toplarken ayn¬sat¬r ve sütundaki elemanlar

ATN(.) Parantez içinde radyan cinsinden verilen sayısal ifadenin ark tanjantını bulur.. COS(.) Parantez içinde radyan cinsinden verilen sayısal ifadenin

[r]

Tipik gri renk, su altında kalmış gley horizonunda görülür, Ferro-oksit fazla ise toprak mavimsi gri renk alır,. Beyaza yakın açık renkler kireç, alçı, MgCO 3 veya tuz

Orta taneli silt ve ince çakıl taneleri kolayca elenebilirken daha ince tane boyu sınıfları için suda çökeltme metodu geliştirilmiştir.. Sıkı tutturulmuş silttaşı,

Arkadaşı 4 tane daha balon verdi. Sınıfımızdaki bütün öğrencilerin sayısı kaçtır?.. ……….. Rahman kahvaltıda kaç tane

14- 87 tane portakalı 4 kasaya eşit olarak paylaştıralım.. tane

A) Telefon ve faks makinesi eğitim alanında kullanılan teknolojik ürünlerdir. B) Teknolojik aletler bilimsel çalışmalar sonucunda geliştirilir. C) Gemi, uçak ve otomobil