Programlamaya Giriş

0

1-Problem Çözme

Bilgisayar yazılımlarının genel amacı; var olan bir problemi çözmektir. Problem, tüm bilim alanlarında hatta gündelik yaşamda karşılaştığımız ve kendisine özel çözüm yolları olan bir kavramdır. Biz burada problemleri, bir bilgisayar yazılımcısının düşünme ve çözme mantığı ile aşmaya çalışacağız. Bilgisayarla problem çözme süreci 4 adımdan oluşmaktadır. Bunlar;

➡ Problem belirlenmesi ve araştırılması

➡ Algoritmayı oluşturma

➡ Programı geliştirme

➡ Programı test etme

 


2-Algoritma

Bir problemin çözülebilmesi için adım adım uygulanan kurallar dizisidir. Algoritmaları kullanarak programları daha kolay bir biçimde oluşturabiliriz. Algoritmaların en önemli özelliği, her türlü alternatif giriş yolu düşünülerek sonuca ulaşıldığının garanti edilmesidir. Buna ek olarak bir algoritmada, girilen verilerin değerlendirilmesi ve buna karşılık olarak sonuçların elde edilmesi gereklidir.

Algoritmalar oluşturulurken ya çeşitli şekillerden ya da bir dilden yararlanılır. Eğer algoritma oluşturulurken bir dil kullanılmışsa bu dil, matematiksel ifadelerin de bulunduğu ve konuşurken kullandığımız bir dil olduğu gibi, özel olarak algoritma tasarımı için hazırlanmış bir dil de olabilir. Eğer ki şekillerden yararlanarak algoritma oluşturuyorsak, akış şemaların dan yararlanılır. Ancak biz bu bölümde algoritmaları konuşma dili yardımıyla basit bir şekilde oluşturacağız.

 


3-Algoritmada Olması Gereken Özellikler

➡ Girdi/Çıktı: Her algoritmanın bir giriş ve çıkış değeri olmalıdır. Girdi; algoritmanın üzerinde işlem yapması için aldığı veridir; çıktı ise algoritmanın girdiye karşı elde ettiği sonuçtur.

➡ Açıklık: Birden fazla anlama gelebilecek yani ikilemde kalınabilecek ifadelere sahip adımlar oluşturulmamalıdır. Bu nedenle her adım açık ve anlaşılır bir biçimde ifade edilmelidir.

➡ Sonluluk: Bir algoritma her ne koşulda olursa olsun sonlu sayıda işlem içermeli ve bu işlemlerin de süresi sonlu olmalıdır.

➡ Etkinlik: Bir algoritma aynı zamanda gereksiz tekrarlardan kaçınmalıdır ve gerektiği zaman başka bir algoritma için de kullanılabilmelidir.

ÖRNEK

Girilen bir sayının karesini alıp ekrana yazdıran bir programın algoritmasını oluşturalım.

Girdi: Karesi alınacak sayı (x)

Çıktı: Girilen sayının karesi (sonuç)

1) Başla.

2) x değerini gir.

3) sonuç=x*x

4) sonuç değerini ekrana yaz.

5) Bitir.

(bu algoritma ile klavyeden girilen bir sayının karesini almış olduk.)

 

 

ÖRNEK

Girilen iki sayıyı toplayan programın algoritmasını oluşturalım.

Girdi: Birinci sayı (x), ikinci sayı(y)

Çıktı: İki sayının toplamı (toplam)

 

1) Başla

2) x değerini gir

3) y değerini gir

4) toplam=x+y

5) toplam değerini ekrana yaz.

Bitir

 

ÖRNEK

Girilen iki sayıyı karşılaştırıp büyük olan sayıyı bulan algoritmayı oluşturalım.

Girdi: Birinci sayı (x)

Çıktı: Büyük sayı

➡ Başla

➡ x değerini gir.

➡ y değerini gir.

➡ Eğer x,y’den büyük ise adım 6’ya git.

➡ Eğer y,x’den büyük ise adım 7’ye git.

➡ x değerini ekrana yaz ve adım 8’e git.

➡ y değerini ekrana yaz ve adım 8’e git.

➡ Bitir.

Bu örnekte ise kullanıcıdan alınan iki sayıyı karşılaştırdık. Büyük olan sayıyı adımlar arasında geçişler yaparak ekrana yazdırmış olduk.

NOT: Yukarıdaki örnekte ilk defa gördüğümüz adımlar arası geçişler, algoritmanın bir özelliğidir. Bu geçişler olmasaydı, algoritma otomatik olarak bir sonraki adıma geçerek devam ederdi. Örneğin; yukarıdaki örnekte adım geçişleri yapmasaydık, büyük olan sayıyı bulurdu. Ancak ekrana hem x değerini hem de y değerini yazardı.

ÖRNEK

1’den 100’e kadar olan sayıların toplamını ekrana yazdıran algoritmayı oluşturalım.

Girdi: Sayılar (s)

Çıktı: Toplam (t)

➡ Başla.

➡ s değerini ilk değer olarak 1 ve t değerine ilk değer olarak 0 ver.

➡ s değerini t’ye ekle.

➡ s değerini 1 arttır.

➡ Eğer s>100 ise adım 7’ye git.

➡ Adım 3’e git

➡ t değerini ekrana yazdır.

➡ Bitir.

Bu örnekte s değerine ilk değer olarak verilen 1 değerinden itibaren, s değerini t’ye ekle komutu işletilir ve s değeri 1 arttırılır. Bu işlem s değeri 100’den büyük olunca t değeri ekrana yazılır.

 


4-Programlama Dilleri

Program, var olan bir problemi çözebilmek amacıyla herhangi bir bilgisayar dili kullanılarak yazılmış olan komutlar dizisidir

Programlama dili, bilgisayarın iç yapısını fazla bilmeden programı geliştirmeye imkan veren kodlama araçlarıdır.

Konuşma dilinde olduğu gibi programlama dilinde de belirli bir yazım kuralı (sentaks) vardır. Programlama dillerini kullanarak sadece bilgisayarlar için değil, belleği ve işlemcisi olan bütün elektronik cihazlar içinde uygulamalar yazılabilir.

Her insanın bir ana dili olduğu gibi bilgisayarların da bir anadili vardır. Buna makine dili denir ve sadece 0 ve 1’lerden oluşur. Programlama dillerinin bilgisayarlar tarafından anlaşılması için öncelikle makine diline çevrilmesi gerekir. Bu ise derleme yöntemiyle gerçekleştirilir.

Derleyici, bir programlama dilinde yazılan kodu, makine diline çeviren bilgisayar programıdır. Derleyici (Compiler) önce program kodunu inceler. Programda hatalı bir yazım söz konusu ise, bu hatayı programcıya iletir. Eğer program kodu doğru ise makine kodunu oluşturur.


5-Programlama Dillerinin Tarihçesi

Şimdiye kadar bir çok programlama dili geliştirilmiştir. Tabi ki zamanla bu dillerin kullanıldıkları alanlar farklılık göstermiştir. Bu nedenle programlama dilleri hem uygulama alanlarına hem de seviyelerine göre sınıflara ayrılmıştır. Programlama dillerini seviyelerine göre sınıflandıralım…

⇒ Düşük seviye (Örn: Assembler)

⇒ Orta seviye (Örn: C,C++,C#)

⇒ Yüksek seviye (Örn: Fortran, Basic, Cobol, Pascal)

⇒ Çok yüksek seviye (Örn: Dbase, Clippler, Visual Basic)


a) Fortran (FORmula TRANslator):

John Backus tarafından 1950’li yıllarda IBM firması için geliştirilmiştir. Anahtar kelimelerde küçük harf kullanımı kesinlikle yoktu. Çıkış amacı; matematiksel hesaplamalar gerektiren bilimsel uygulamalarda kullanmaktır. Derleyicisi olan ve hayata geçirilmiş ilk programlama dili olarak bilinmektedir. Günümüzde bazı mühendislik alanlarında halen kullanılmaktadır.

(Fortral kod örneği)

 


b-)Cobol (COmmon Busıness Oriented Language):

1950’li yılların sonunda kurumlara yönelik ticari uygulamalarda kullanılmak üzere, bir grup bilgisayar üreticisi ve çeşitli kurumlarda çalışan insanlar tarafından geliştirilmiştir. 2002 yılından beri Nesneye Yönelik Programlama’yı desteklemektedir. COBOL’un temelleri 1959 yılında atılmıştır ve bu tarihlerden sonra COBOL-68, COBOL-74, COBOL-85 ve COBOL-2002 standartları ile günümüze kadar ulaşmıştır. COBOL günümüzde bankalarda hala kullanılmaktadır.

 


c-)Pascal:

Niclaus Wirth tarafından 1970’li yıllarda yapısal programlama yazmanın kolaylıkla insanlar tarafından anlaşılması için geliştirilmiştir. Avrupalı bir ekip tarafından oluşturulan ALGOL dilinden türetilmiştir. Kullanımı yıllardır devam eden Pascal, ilk Macintosh işletim sisteminin yazılmasında da rol almıştır.

 


d-)C:

Ken Thompson ve Dennis M.Ritchie’nin ortak çalışması ile AT&T ve Bell laboratuvarlarında UNIX İşletim Sistemi’ni geliştirebilmek için 1972 yılında oluşturulan yapısal bir programlama dili olan C, çok güçlü özellikleri olmasına rağmen en ufak bir hatada programcıya büyük sorunlar çıkarabiliyordu. Programlamanın zaman içerisinde karmaşıklaşması ve gereksinimlerin artması ile nesne yönelimli yeni bir yapı ortaya çıktı. Ancak C dili, bu yapıyı desteklemiyordu. Bu nedenle C programlama dilinin bir ileri seviyesi olan ve nesneye yönelik programlamayı destekleyen C++ (si plus plus) programlama dili doğmuştur.

 


e-)Java:

Sun firması adına James Gosling tarafından 1995 yılında geliştirilmiştir ve Endonezya’daki Jawa adasından ilham alınarak adına Jawa denmiştir. “Write once, run everywhere” yani “Bir kere yaz, her yerde çalıştır.” ilkesine göre oluşturulmuştur. Basit, nesneye yönelik, güvenli, sağlam ve dinamik bir dil olması nedeniyle ilk piyasaya sürüldüğünde çok büyük ilgi görmüştür ve günümüzde 4,5 milyar elektronik alette kullanılmaktadır.

 


f-)C++:

1979 yılında Bjarne Stroustrup tarafından Bell Laboratuvarlarında geliştirilmeye başlanan C++, C programlama dilinin bütün özelliklerini barındıran ve kendisine has özellikler bulunduran genel amaçlı bir programlama dilidir. İlk olarak “Sınıflara C” olarak adlandırıldı, ancak 1983 yılında C’nin geliştirilmiş hali olduğunu belirtmek için arttırma operatörü (++) eklenerek, C++ halini almıştır.

Aslına bakılırsa her C programı aslında bir C++ programıdır, fakat her C++ programı bir C programı değildir. C++’ı C’den ayıran başlıca özellikler, “Sınıflar” ve “Çok biçimlilik” gibi kavramlardır.

C++’ın çıkışı yazılım dünyasında dünyasında büyük etki yaptı. Nesneye yönelik programlamaya olanak sağlamasının yanı sıra hem çok hızlıydı hem çok ekonomikti hem de yazım dili olarak çok esnek bir yapıya sahipti. Günümüzde halen birçok yerde kullanılıyor olması bunun en büyük kanıtıdır zaten.


6-Yazılım Geliştirme Süreci

Yazılım geliştirme süreci temel olarak 5 aşamadan oluşmaktadır. Bunların tek tek inceleyelim..

➡ Gereksinim Analizi: Yazılımlar, belirli ihtiyaçları karşılayabilmek amacıyla geliştirilir. Ancak bu ihtiyaçların yazılım sistemi tarafından eksiksiz olarak karşılanması gerekir. Bu nedenle yazılıma başlamadan önce geliştirilecek yazılım sisteminin gereksinimleri, kısıtlamaları ve hedefleri tanımlanmalı ve belgelenmelidir.

➡ Yazılım Tasarımı: Bu aşamada izlenilen yazılım tasarımı yöntemi, sonuçta oluşacak ürünün kalitesini, anlaşılabilirliğini ve yeri geldiğinde değiştirilebilirliğini etkiler. Bu aşamanın sonucunda yazılımın tasarımı ile ilgili tanımlamalar belgelenir.

➡ Kodlama: Tasarım ile ilgili belgelenen tanımlamaların kodlanması bu aşamada gerçekleştirilir. Bu aşama, programlama dillerinin kullanıldığı tek aşamadır.

➡ Sınama: Bu aşamada parça parça ele alınan birimler birleştirilerek tüm sistemin Aşama 1’deki gereksinimlere uygunluğu kontrol edilir. Bu aşamanın yapılması ile birlikte oluşturulan yazılım sistemi, kullanıcılara iletilir.

➡ Bakım: Kullanıcılara iletilen yazılım sisteminin kullanılması esnasında farkına varılan hataların giderilmesi için sistemde değişiklikler yapılması gerekebilir. İşte bu değişiklikleri yaparken geçen zamana bakım denir.

 

 

Nurefşan Doğan

En Son 3 Yazısı Aşağıdadır . . . (Tüm Yazılarını Görüntüle)

Share

CEVAP VER

Please enter your comment!
Please enter your name here