11
2009
Programlama Dilleri Nelerdir ?
Programlama Dili Nedir?
Genel anlamda programlama kavramını anlatmak
Programlama dili; Bilgisayar bilimleri dâhilinde bir bilgisayarın programlanması için geliştirilen bir dildir. Bilgisayar aslında sadece donanımsal yapıdan oluşan bir elektronik cihazdır. Bilgisayarın içerisinde manyetik etki alanı tutabilen bazı donanımsal yapılar vardır ( sabit disk ). İlgili manyetik etki alanı tutabilen donanımsal yapılara, dış ortamdan manyetik alan atanabilir veya silinebilir. Bunlar tamamen elektriksel sinyaller ile gerçekleştirilir.
Manyetik etki alanlarını küçük elektrik sinyallerine dönüştüren ve bilgisayar için anlamlı bir yapıda sisteme gönderen bilgisayar içindeki çevre birimleri, manyetik alanlardan anlamlı bazı çatılar oluşturur. Bu işlemleri gerçekleştiren çeşitli donanımsal yapılar bilgisayar içerisinde mevcuttur. Aslında bilgisayarın ne yapması gerektiğini bu manyetik alanlar belirler. Her şey bu manyetik alanların nasıl doldurulduğu ile ilgilidir. İşte bu noktada ortaya yazılım dilleri çıkar.
Bilgisayarları nasıl bir manyetik alanla doldurursak, ilgili manyetik alan yığdığımız noktaya gelindiğinde yığını nasıl anlarsa o şekilde yürütecektir.
Kullanmış olduğumuz programlama dilinde yazmış olduğumuz komutun ilgili donanım kaynağında bir karşılığı bulunur. Aslında yazılım olarak yaptığımız tek şey donanım kaynaklarını kullanmaktır. Ancak yazılımcıların çoğu bunu fark etmez çünkü yazılım kendi içerisinde iki ana gruba ayrılır. Bunlardan birincisi İşletim Sistemleri ve ikincisi Uygulama Yazılımlarıdır. İşletim sistemler donanıma en temelden erişen yazılımlardır, Windows ve Linux gibi. En temelden donanım kaynaklarını kullanmak çok zordur. Bizim yapacağımız ve birçoğunun yaptığı şey kurulu bir platform üzerinde uygulamalar geliştirmektir, yani uygulama yazılımı geliştirmektir.
İşletim sistemleri donanım kaynaklarına uyumlu olmak zorundadır, nasıl ki uyumlu olmayan bir parça taktığınız zaman ilgili donanımı tanıması için bir sürücü yazılımı yüklemeniz gerekiyorsa, aynı şekilde işletim sisteminin de donanım kaynaklarına erişebilmesi ve yönetebilmesi gerekir. Bir işletim sisteminin kalitesi, donanım kaynaklarını ne kadar performanslı ve verimli yönetebildiğine bağlıdır.
Aynı şartlar altında bir uygulama yazılımı da işletim sistemine uyumlu olmak zorundadır. Eğer işletim sistemine uyumlu olmayan bir uygulama yazılımı geliştirirseniz, yazılımınız ilgili işletim sisteminde çalışmayacaktır.
Programlama dilleri ise bilgisayar içerisinde az önce bahsi geçen süreci kolaylaştıran bir tekniktir. Bilgisayar içerisindeki komutları bazı terimlerle isimlendirerek bir söz dizimi yaratılmıştır. Kendi içerisinde bir dil gibidir, kuralları, yazım sitili, işaretleri ve sıralamaları vardır. Yazılım dilleri sayesinde bilgisayara yapmasını istediğimiz bir işi satırlarca işlemler gerçekleştirerek değil de sadece tek bir komut uygulayarak da gerçekleştirebiliriz. Programlama dilleri, donanım ile insan arasında, programlama açısından bir köprü görevi üstlenir.
Programlama dillerinin kalitesi; kullanışlı, kolay ve en önemlisi problemi olabildiğince basit çözebilme yeteneğine bağlıdır. Problem büyüdükçe karmaşıklaşmamalıdır.
Programlama Dilleri Hakkında Görüşler
Bir grup öğrenci düşünün . Bu öğrencilerden bir kısmı okula bisiklet ile , bir kısmı araba ile , bir kısmıda metro ile gitsin . Aralarındaki fark bir kısmının daha erken bir kısmınında daha geç ulaşacağı olabilir. Yada risk anlamında düşünürsek metro ile gitmek araba ile gitmekten daha az risklidir. Ama bu farklar , öğrencilerin araç kullanarak okula gittikleri gerçeğini değiştirmez. Yani hepsininde ortak noktası araç kullanarak okullarına varmasıdır.
Programlama dillerinide bu şekilde düşünebiliriz. Bir hesap makinasını farklı platformlarda yazabiliriz. Hatta bazısı daha kapsamlı bazısı çok daha dar özelliklere sahip olabilir. Ama bu farklar programlama dillerinin amacını değiştirmez. Temelde yapılan şey hep aynıdır. Makinalara istenilen şeyleri yaptırabilmek için programlama dilleri önmli rol üstleniyor. Birbirinden ayrılan özellikleri nedeniyle programcılara olanaklar sunuyor. Programcı bu sayede amaçladığı tasarıyı hangi platformda yazabileceğini seçebiliyor.
Çok sayıda programlama dili bilmek yerine işinize yarayan bir programlama dili bilmek , programcıların lehine oluyor.
Programlama dilleri
Programlama dili, programcının bir bilgisayara ne yapmasını istediğini anlatmasının standartlaştırılmış bir yoludur. Programlama dilleri, programcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.
Şu ana kadar 2500’den fazla programlama dili yapılmıştır. Bunlardan bazıları: Pascal, Basic, C, C#, C++, Java, Java Script, Cobol, Perl, Python, Ada, Fortran, Delphi,programlama dilleridir.Bunların içinde popüler olanlar; VBasic, C, Delphi …
Öğrenim kolaylıgı bakımından Vbasic tercih edilit fakat
-+-
VBASIC
Basic, İngilizce “Beginner’s All-Purpose Symbolic Instruction Code” sözcüklerinin baş harflerinin bir araya getirilmesiyle oluşturulmuş, 1960′larda icat edilmiş, günümüzde de çeşitli lehçeleri kullanılmakta olan yüksek düzey bir programlama dili. Farklı lehçeleri birçok işletim sisteminin parçası olarak sunulmuştur.
BASIC öğrenmesi ve yazılımları kolay olan bir dildir. Genelde amatörce ve hobi uğraşıları için kullanılmıştır. Microsoft daha sonra PC için Quick Basic derleyicisi piyasaya sürmüştür. Bununla yazılan basic metinlerini makine koduna çevirilebilmiş böylece sürat kazanmıştır. Bugün halen geniş bir kullanım alanına sahip olan Visual Basic dili var olup bununla hatta Windows un belirli bölümleri yazılmıştır. Her Microsoft Office paketinde bir Basic turevi var olup makro programlamada büyük kolaylıklar getirmektedir.
Basic programlama dili algoritma’ya çok yakın bir yapıya sahiptir. Bu yüzden öğrenilmesi ve uygulanması kolaydır.
Değişken isimleri ve kuralları
Değişken isimleri aşağıdaki kurallara uyan her şey olabilirler:
1- Değişken ismi en fazla 255 karakterden oluşmalıdır.
2- Değişkenler arasında : ; , . / ‘ # [ ] ! ” $ % ^ & * ( ) { } karakterleri kullanılamaz. Ancak _ kullanılabilir.
3- Değişken isminin ilk karakteri mutlaka harf olmalıdır. Yani değişkenler rakamla veya _ ile başlamaz.
4- Değişken isimlerinde büyük küçük harf ayrımı yoktur. “BuRaK” ile “Burak” veya “BURAK” aynı değişkenleri belirlerler.
5- Belirli bir prosedürde aynı değişken birden fazla tanımlanamaz.
6- En önemlisi de herhangi bir VB komutu ismi olamayacaklarıdır.
Çok deneyimi olmayan kullanıcılara yönelik görsel bir programlama dilidir. Buda Pascal gibi programcılık mantığını anlamak isteyen kitleye hitap eder. Fakat pascaldan ayrıldığı en büyük nokta sanırım visual basic’in kullandığı formlar denetimler gibi özellikleridir. Modern programcılık buna önem veriri ve bu dilde buna olanak sağlar.
Programcılık yolundaki çok az tecrübeli insanların tercih edebileceği bir dil olmanın yanı sıra üzerine ekleneceği bileşen ve paketlerle profösyönel programcılarada hitap edebiliyor. Uygulamaların hemen derlenip .exe uzantılı olarak çalıştırabilmesi visual basicin önemli özelliklerindendir. Fakat visual basicin en büyük dezavantajı sadece windows platformunda çalışıyor olmasındır.
Visual Basic’in Artıları
• Hem üst düzey hemde az tecrübeli programcılara yöneliktir
• Öğrenilmesi kolaydır
• Günümüzde çıkan yeni teknolojilere rağmen kullanılıyor.
Visual Basic’in Eksileri
• Sadece windows platformunda çalışması
• Kütüphane yönünde oldukça zayıftır.
• Yazılan programlar boyut olarak küçük olsada bileşenler bakımından boyutları büyüktür.
Delphi Programlama Dili
Pascal dilinin Windows ortamında görselleştirilmiş halidir. Visual Basic kadar kolay olması sebebiyle programcıların gözdesi durumundadır. Oldukça zengin bir bileşen kütüphanesi vardır. Delphi uygulamalarını Linux üzerinden de çalıştırmak mümkündür. Hem kolay hemde güçlü bir geliştirme aracı arayan programcılar için bu dil birebir olmaktadır.
Delphi görsel bir programlama dilidir.. PEki Görsel bir programlama dili nedir diye hala ısrarla soranlar varsa (ki üst yazılarda çok defa anlatıldı ) şöyle kısaca tekrar anlatalım : Hazır (araçları) komponentleri olan ( windows formları, metin kutuları, kontrol düğmeleri ( butonlar) … vb gibi ) yazımı ve derlemesi kolay yine bu araçlara kod yordamı ile hakimiyet kurulan dillerdir.
Turbo Pascal’ ın Windows’a uyarlaması gibi bakabileceğimiz Delphi birçok komutu ve yapısı bakımından Turbo Pascal dilinin çocuğu niteliğindedir. Delphi programlama dili aslında birçok şeyi beraberinde bulunduran bir paket dildir.
Eğer 16 veya 32 bit Windows programları söz konusu ise Delphi kullanmaktan kaynaklanan en ufak bir Kuşku duyulmamalıdır. Delphi VB’ den daha güçlü ve daha hızlıdır. Sebebi ; VB yorumlayan (Interpreted) bir dildir, Delphi ise Derlenen (Compile) bir dildir. VB’ nin globalleri vardır. Delphi’ nin objectleri (nesneleri) vardır. Delphi karmaşık(kompleks) olmaktan uzak bir şekilde C++’nin gücüne sahiptir. Çeşitli derleme dosyalar oluşturma, link hatalarıyla uğraşmaya, tuhaf include dosyası bağlantılarına , uzun derleme sürelerine ve aşırı bir şekilde C++ öğrenmeye hiç gerek yoktur.
RAD (Rapid Application Development) Hızlı Uygulama Geliştirme demektir. Delphi’de RAD’dır ve bu ismi kesinlikle haketmektedir. Delphi’nin mükemmel bileşen yapısı, dünyadaki en hızlı derleyicilerden birine sahip olması, mükemmel veritabanı desteği ve Object Oriented – Nesne tabanlı programlamayı desteklemesi sayesinde çok hızlı uygulamalar geliştirebilirsiniz. Ne demek istediğimi hemen bir örnekle açıklayayım. Delphi’yi açtıktan sonra klavyeden F9 tuşuna basın veya Run(Çalıştır) menüsünden Run komutunu verin. Karşınıza gelen pencere %100 Windows uyumlu bir uygulamadır. Normal Windows pencerelerinde bulunan her türlü özelliğe sahiptir. Aynı şeyi C gibi veya bir başka görsel olmayan bir programlama dilinde yapmak için yüzlerce satır kod yazmanız gerekir (Sanırım görsellik kavramı biraz daha netleşti).
Delphi ayrıca DLL ( Dynamic )’leri kullanabilir veya inşa edebilir. Böylece herhangi bir dil ile yazılan bir DLL ile programınıza entegre edebilirsiniz. Delphi derleyicisi ayrıca yüksek performanslı optimizasyon veya düşük düzeyde programlama için Assembly kullanımını destekler. Delphi bir Windows uygulama geliştirme ortamıdır.
Delphi’nin Artıları
• Diğer programlama dillerine oranla bileşen kütüphanesi çok daha zengindir.
• Hem güçlü hemde kullanımı kolay bir dildir.
• Uygulamaları herhangi bir platforma gerek duymadan çalışabiliyor.
Delphi’nin Eksileri
• Bu dilde yazılan programların boyutları genelde diğerlerine oranla daha büyüktür.
• Kylix’i göz ardı edersek uygulamalar sadece Windows tabanında çalışır.
C programlam dili
Dilin Tarihi
C’nin ilk gelişme safhaları 1969 ile 1973 arasında AT&T Bell Laboratuvarları’nda gerçekleşti. Ritchie’ye göre, en yaratıcı devre 1972 idi. Dilin pek çok özelliği “B” adlı bir dilden türediği için, yeni dile “C” adı verildi. “B” adının kökeni konusunda ise söylentiler değişik: Ken Thompson B’nin BCPL programlama dilinden türediğini söylemektedir, ancak Thompson eşi Bonnie’nin onuruna adını Bon koyduğu bir programlama dili de geliştirmiştir.
1973′e kadar C yeterince güçlü bir hale gelmiş ve ilk başta PDP-11/20 assembly dili ile yazılan UNIX’in çekirdeğinin büyük kısmı C ile yeniden yazılmıştı. Böylece UNIX, çekirdeği bir assembly dili ile yazılmayan ilk işletim sistemlerinden biri olmuştu.
K&R C
1978′de Ritchie ve Brian Kernighan The C Programming Language (C Programlama Dili) kitabının ilk baskısını yaptılar. C programcıları tarafından “K&R” olarak bilinen bu kitap, C dilinin gayriresmi standardı olarak kullanıldı. C’nin bu versiyonu bugün “K&R C” olarak adlandırılır. Bu kitabın ikinci baskısı ise aşağıda anlatılan ANSI C standardını içerir.
K&R dilde şu değişiklikleri yaptı:
* struct veri tipleri eklendi
* long int veri tipi eklendi
* unsigned int veri tipi eklendi
* =+ operatörü += olarak değiştirildi (çünkü =+ C’nin leksikal ayrıştırıcısının kafasını karıştırıyordu)
K&R C genellikle tüm C derleyicilerinin desteklemek zorunda olduğu dilin en temel kısmı olarak kabul edilir. Uzun yıllar boyunca, ANSI C’nin kabul edilişinden sonra bile, yüksek taşınabilirlik (portability) istendiğinde, K&R C, C programcıları tarafından “ortak payda” olarak kabul edilmiştir çünkü bazı derleyiciler henüz ANSI C’yi desteklemek üzere güncellenmemişlerdi ve zaten iyi yazılmış bir K&R C programı aynı zamanda ANSI C’yi de destekler.
K&R C’nin yayımlanmasını izleyen yıllar içine dile AT&T’nin derleyicilerinin ve bazı başka bilgisayar üreticileri tarafından desteklenen kimi “gayriresmi” özellikler eklendi. Bunların içinde aşağıdaki özellikler de vardı:
* void fonksiyonlar ve void * veri tipi
* struct ya da union veri tipi döndüren fonksiyonlar
* her bir struct’ın alan adları için ayrı bir ad alanı
* struct veri tipleri için atama
* bir nesneyi yazmaya karşı korumalı yapmak için const anahtar sözcüğü
* standart bir C kütüphanesi
* enumeration’lar
* single-precision float tipi
ANSI C ve ISO C
1970′lerin sonunda C, en çok kullanılan mikrobilgisayar dili olarak BASIC’in önüne geçmeye başladı. 1980′lerde ise, IBM PC ile kullanılmak üzere benimsenmesiyle birlikte popülaritesi iyice artmaya başladı. Aynı zamanda, Bell Laboratuvarları’nda Bjarne Stroustrup ve iş arkadaşları C’ye nesneye yönelim eklemek üzere çalışmaya başlamışlardı. C bugün UNIX dünyasında en çok kullanılan dil olarak kalırken, Stroustrup’un geliştirip C++ adını verdiği dil Microsoft Windows işletim sisteminde en önemli dil oldu.
1983′te Amerikan Ulusal Standartlar Enstitüsü (ANSI) bir C standardı oluşturmak için bir kurul oluşturdu. Uzun ve yorucu bir çalışmadan sonra, bu kurul standardı 1989′da tamamladı ve standart ANSI X3.159-1989 “Programming Language C (C Programlama Dili)” olarak yayımlandı. Dilin bu versiyonu genellikle ANSI C olarak adlandırılır. 1990′da bu standart, küçük değişikliklerle Uluslararası Standartlar Örgütü (ISO) tarafından da benimsenip ISO/IEC 9899:1990 olarak yayımlandı.
ANSI C’yi oluşturmanın amaçlarıdan biri K&R C’yi içeren ve dile sonradan katılan “gayriresmi” özellikleri de dile katan bir standart oluşturmaktı. Standart k fonksiyon prototiplerini ve daha yetenekli bir önişlemciyi de standarda ekledi.
Bugün artık ANSI C neredeyse tüm derleyiciler tarafından desteklenmektedir. Günümüzde yazılmakta olan C programlarının çoğunluğu ANSI C standardına uygun olarak yazılmaktadır. Yalnızca standart C kullanılarak yazılmış bir program, standarda uyumlu her derleyici ile doğru bir biçimde derlenip çalıştırılabilir. Ancak, standart olmayan kütüphaneler kullanılarak yazılmış programlar belli bir platform ya da derleyici gerektirebilirler…
C Kodlarının Temel Özellikleri
Bir C programı aşağıda verilen özellikleri mutlaka taşımalıdır.
* Yazılımda kullanılacak olan her fonksiyon için ilgili başlık dosyası programın başına ileve edilmedlidir.
* Her C programı main() fonksiyonunu içermelidir.
* Program içinde kullanılacak olan değişkenler ve sabitler mutlaka tanımlanmalıdır.
* Satırın sonuna ; işareti konmalıdır.
* Her bloğun ve fonksiyonun başlangıcı ve bitişi sırasıyla { ve } sembolleridir.
* C dilinde yazılan kodlarda küçük-büyük harf ayrımı vardır (case sensitive).
Örneğin A ile a derleyici tarafından farklı değerlendirilir.
* Açıklama operatörü /* */ sembolleridir.
PASCAL
Pascal Programlama Dili Tarihi Gelişimi ve Genel Yapısı
Bilgisayarların direkt elektronik donanımına hükmettiği için taşınabilir özellikten yoksun ayrıca program yazımı zahmetli makine dillerinin yerini 1950 yılı civarında çevirici dillere(assembly languges) bıraktı.Bu diller sembolik makine dilleridir.Daha sonraları ise bu dillerde yerlerini kullanımı daha kolay 3.kuşak dillere bıraktı.Bu yıllarda Fortan,Algol,Cobol gibi diller geliştirildi.
Pascal ilk olarak 1968 de ortaya çıktı.Ve 1971 yılında Niclaus Wirth tarafından yine bu yıllarda ortaya çıkan yapısal programlama tekniğini kullanan bir dil olarak hazırlandı.Dile muhtemelen bilime katkılırından dolayı Fransız filozof Blaise Pascal’ın adını verdi.Algol(Algoritmik Programlama) dilinin bir türevidir.Pascal karmaşık nümerik hesap gerektiren problemlerinin çözümünde sağladığı avantajları,metin işleme konusundaki becerisi ayrıca Borland’ın 1985 çıkarmaya başladığı Turbo Pascal IDE leriyle birlikte eğitim ve ticari alanda kabul gören bir dil oldu.Borland,bu dile günümüz dillerinin vazgeçilmez parçası haline gelen OOP(Object Orient Programming,Nesneye Yönelik Programlama) özelliği ekledi.Ayrıca güçlü ve yaygın kullanılan bir geliştirme ortamı olan Delphi, Pascal tabanlıdır.
Pascal programlama dili 1968 yılında Niklaus Wirth tarafından geliştirilmiş üst düzey programlama dilidir. Pascal programlama dilinin günümüzdeki sürümleri Turbo/Borland ve Windows Pascal adları ile bilinmektedir. Turbo Pascal programlama dili mühendislik problemlerinin çözümlerinde, bilimsel projelerde, sağladığı grafik desteği ve program yazmadaki kolaylıklarıyla aranılan bir dil olma özelliğini sürdürmektedir.
Pascal programlama dilinin önemli özelliklerinden biri, program yazmadaki kolaylıkların yanısıra, yazılan bir metinin kolaylıkla değiştirilebilmesi, program içindeki bir metinin istenilen yere taşınabilmesi, kopyalanabilmesi, yazılan programdaki yazım kurallarının kolaylıkla kontrol edilebilmesi, hataların kolaylıkla tespiti ve bu hataların düzeltilmesi için yaptığı öneriler vb. gibi işlemlerin çabuk ve güvenilir bir şekilde yapılabilmesine olanak sağlamasıdır.
Pascal’ın programcıya sunduğu önemli özelliklerden biri de; bazı programlarda ortak olarak kullanılan program parçalarının ayrı bir Pascal dosyası olarak saklanması suretiyle farklı programlarda bu program parçalarının kullanılabilmelerine olanak tanımasıdır.
Pascal Menüleri
Pascal editöründe kullanımı kolaylaştıran bir çok menü vardır. Bu menülere ulaşmak için “Alt ” tuşu ile birlikte menü isimlerinin ilk harflerine basmak yeterlidir. Menüye ulaştıktan sonra menü komutlarına erişim için üç yol vardır. 1)Mouse ile, 2)Ok tuşlarıyla 3) menü komutu üzerindeki işaretli harfe basılır.
Burada Pascal menülerinin tamamını tanıtmayıp sıklıkla kullanılan menü ve menü komutlarının kullanımı anlatılacaktır. Burada tanımı yapılan menüler, Windows Pascal için ifade edilmekle olup, aralarındaki küçük farklarla Turbo ve Borland Pascal 7.0 için de geçerlidir.
PASCAL PROGRAMLAMA DİLİ YAPISI
Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir.
Program Başlığı;
Tanımlama Bloğu;
BEGIN
İcra Bloğu;
END.
Programların asıl icra bölümü son bölümüdür. Yukarıda icra bloğu olarak gösterilen bu bölüm, Pascal komut cümlelerinden oluşur. ICRA bloğu, “BEGIN” ile başlar “END.” ile sona erer. Her program bloğu birden fazla “END” içerebilir. Ancak bu end deyimleri program içinde bulunan değişik blokların sonunu göstermek için kullanılır ve hiç birinin sonunda “.” işareti bulunmaz. “.” işareti sadece ana programın sonunu göstermek amacıyla kullanılabilir. Ana programın sonu haricindeki diğer “END” deyimlerinin sonunda “;” işareti kullanılır.
Program Başlığı: Bir Pascal programının ilk kısmı, kullanılması programcının seçimine bağlı olan “program başlığı” dır. Program başlığı, programa bir isim vermek için kullanılır ve program isimlerinde İngiliz alfabesinde bulunmayan Türkçe karakterler kullanılmamalıdır. Programa uzun isimler verilebilir ancak sözcükler arasında boşluk bulunmamalıdır.
Tanımlama Bloğu: Pascal programının bu bölümünde program icra bloğunda kullanılan sabitler ve değişkenlerin isimleri ve bunların ne tür sabit/değişken olduğu bildirilir. Bu blok pascal programı içerisinde mutlaka belirtilmelidir. Örnek olarak, aşağıda değişik veri tiplerindeki değişkenlerin bir tanımlama bloğunda nasıl tanımlanabileceği gösterilmiştir.
Tanım ve Veri Tipi
S REAL
A STRING
B INTEGER
C LONGINT
F SHORTINT
H BOOLEAN
J BYTE
KL WORD
Algoritma Kurma
Algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların hiç bir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde söz ve yazı ile ifadesidir. Algoritmayı oluşturan adımlar özellikle basit ve açık olarak sıralandırılmalıdır. Algoritmik çözüm yöntemlerine ilk örneği günlük yaşantımızdan verelim.
Örnek 1: Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.Çözüm 1: Evden dışarıya çık Otobüs durağına yürü Durakta gideceğin yöndeki otobüsü bekle Otobüsün geldiğinde otobüse bin Biletini bilet kumbarasına at İneceğin yere yakınlaştığında arkaya yürü İneceğini belirten ikaz lambasına bas Otobüs durunca in İşyerine doğru yürü İş yeri giriş kapısından içeriye gir Mesai arkadaşlarınla selamlaş İş giysini giy İşini yapmaya başla.
Yukarıdaki örnekte görüldüğü gibi, evden işe gidişte yapılabilecek işlemler adım adım sırasıyla, kısa ve açık olarak tanımlanmaya çalışılmıştır. Yukarıdaki algoritma kişinin otobüsü kaçırma olasılığı düşünülmeden oluşturulmuştur. Kişi durağa geldiğinde bineceği otobüsü kaçırmış ise algoritmamız aşağıdaki şekilde değiştirilebilir.
Çözüm 2: Evden dışarıya çık Otobüs durağına yürü Otobüsün saati geçmiş ? Durakta gideceğin yöndeki bir sonraki otobüsü bekle Bir sonraki otobüs gelene kadar 4. adımı uygula Otobüsün geldiğinde otobüse bin Biletini bilet kumbarasına at İneceğin yere yakınlaştığında arkaya yürü İneceğini belirten ikaz lambasına bas Otobüs durunca in İşyerine doğru yürü İş yeri giriş kapısından içeriye gir Mesai arkadaşlarınla selamlaş İş giysini giy İşini yapmaya başla.
Her iki örnekte görüldüğü gibi sorunu çözüme götürebilmek için gerekli olan adımlar sıralı ve açık bir biçimde belirlenmiştir. Algoritmanın herhangi bir adımındaki küçük bir yanlışlık doğru çözüme ulaşmayı engelleyebilir. Bu nedenle algoritma hazırlandıktan sonra dikkatle incelenmeli ve varsa adımlardaki yanlışlıklar düzeltilmelidir.
Programlamanın temeli olan algoritma hazırlanmasında dikkat çekici bir nokta, aynı sorunu çözmek için hazırlanabilecek olası algoritma sayısının birden çok olmasıdır. Başka deyişle, bir sorunun çözümü için birbirinden farklı birden fazla sayıda algoritma hazırlanabilir. Bu da gösteriyor ki herhangi bir problemin çözümü için birbirinden farklı yüzlerce bilgisayar programı yazılabilir.
Bir bilgisayar programı için hazırlanacak olan algoritma da aynı şekilde çözüm yolunu bilmeyen bir kişiye, çözüme ulaşmak için neler yapması gerektiği anlatılıyormuş gibi hazırlanmalı ve eksik bir nokta bırakmaksızın gerekli tüm adımları açık ve düzenli olarak içermelidir. Çözüm için kullanılacak bilgilerin nereden alınacağı, nerede saklanacağı ve çözümün program kullanıcısına nasıl ulaştırılacağı algoritma adımları arasında belirtilmelidir.
Aşağıda değişik işlemlere ilişkin algoritma örnekleri verilmiştir.
Örnek 2: İki sayıyı toplamak için gerekli programa ait algoritmanın oluşturulması.Algoritma:A1 :Birinci sayıyı girA2 :İkinci sayıyı girA3 :İki sayının toplamını yapA4 :Toplamın değerini yazA5 :Bitir.
Bu tam bir algoritmadır. Sözcüklerin ortaya çıkaracağı yanlış anlamaların ortadan kaldırmak amacıyla semboller ve matematik dilini gerektiren bazı kısaltmalar kullanmak daha uygun olacaktır. Bir algoritma yazılırken şu metot izlenmelidir:
1. Programda kullanılacak elemanları temsil etmek üzere uygun isimler veya değişkenler seç. 2. Bazı isimlere başlangıç değeri olarak çözümün gerektirdiği uygun değerler ver. 3. Gerekirse programa girilecek verileri düzenle. 4. Cebirsel notasyon ve kararlar kullanarak aritmetik işlemleri gerçekleştir. 5. Çıkışı düzenle. 6. Bitir.
Yukarıda iki sayının toplanması için oluşturduğumuz algoritmayı bu yeni gereksinimlere uyarak yeniden yazalım.
Toplam adı için Z
Birinci Sayı için X
İkinci Sayı için Y değerleri kullanılırsa;
Algoritma:A1 :X değerini girA2 :Y değerini girA3 :Z X+YA4 :Z’ yi yazA5 :Bitir
Görüldüğü üzere bu şekilde bir algoritma ile çözüm yolunu izlemek daha kolaydır. Bundan sonra bu tip algoritma kullanılacaktır.
A6 :Bitir
Bu örnekte Ort değeri ile iki sayının ortalaması temsil edilmiştir.
Örnek 4: Beş sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulmasıToplam adı için TopOrtalama adı için OrtGirilen sayılar için XArttırma için Sayac kullanılırsaAlgoritma:A1 :Top 0, Sayac 0A2 :X’i girA3 :Top Top+XA4 : Sayac Sayac +1A5 :Eğer Sayac <5 ise A2′ye gitA6 :Ort Top/5A7 :Top ve Ort değerlerini yazA8 :Bitir
Örnek 5: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır.Dikdörtgenin kısa kenarı : aDikdörtgenin uzun kenarı : bDikdörtgenin alanı : Alan
Algoritma:A1 :a değerini girA2 :a<0 ise 1. adımı tekrarlaA3 :b değerini girA4 : b<0 ise 3. adımı tekrarlaA5 :Alan a*bA6 :Alan değerini yazA7 :Bitir
Örnek 7: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasının oluşturulmasıSayının faktöriyeli :FakFaktöriyel degişkeni :XFaktöriyeli hesaplanacak sayı :YAlgoritma:A1 :Fak 1, X 0A2 :Y’i girA3 :Y<0 ise 2. adımı tekrarlaA4 :X X+1A5 :Fak Fak*XA6 :X<Y ise 4. adıma geri dönA7 :Fak değerini yazA8 :Bitir
Bu algoritmada 1. adımda X e 0 ve Fak değişkenine 1 değeri atanıyor. 2. adımda Y değeri giriliyor ve 3. adımda Y değerinin 0 dan küçük bir değer olup olmadığı denetleniyor ve denetim sonucuna göre gerekli komut veriliyor. 4. adımda X’in değeri 1 arttırılıyor ve 5. adımda X için Fak değeri hesaplanıyor. 6. adımda X in değerinin faktöriyeli hesaplanacak sayıdan küçük olması durumunda 4. adımdan itibaren işlemlerin tekrarlanması komutu veriliyor, X’ in değerinin Y’ye eşit olması durumunda işlemler tamamlanarak hesaplanan değerin yazdırılması işleminden sonra programın çalışması sona ermektedir.
Akış Diyagramları
Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akış diyagramı veya blok diyagramı adı verilir. Akış diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler. Bir bilgisayar programının oluşturulmasında akış diyagramlarının hazırlanması, algoritma oluşturma aşamasından sonra gelmektedir. Bilgisayar programının oluşturulması sırasında algoritma aşaması atlanarak, doğrudan akış diyagramlarının hazırlanmasına başlanabilir. Programlama tekniğinde önemli ölçüde yol almış kişiler bu aşamayı da atlayarak direkt olarak programın yazımına geçebilirler.
Akış diyagramlarının algoritmadan farkı, adımların simgeler şeklinde kutular içinde yazılmış olması ve adımlar arasındaki ilişkilerin (iş akışı) oklar ile gösterilmesidir.
Akış diyagramlarında kullanılan semboller, anlamları ve kullanış amaçları aşağıdaki tabloda verilmiştir.
Tablo 1. İş akış diyagramlarında kullanılan semboller ve anlamları
Simge Simgenin Adı ve Anlamı
Elips Akış diyagramının başlangıç ve bitiş yerlerini gösterir. Başlangıç simgesinden çıkış oku vardır. Bitiş simgesinde giriş oku vardır. Paralel Kenar: Programa veri girişi ve programdan elde edilen sonuçların çıkış işlemlerini gösterir. Dikdörtgen Aritmetik işlemler ve değişik atama işlemlerinin temsil edilmesi için kullanılır. Eşkenar Dörtgen Bir karar verme işlemini temsil eder. Altıgen Program içinde belirli blokların ard arda tekrar edileceğini gösterir. Oklar Diyagramın akış yönünü ,yani her hangi bir adımdaki işlem tamamlandıktan sonra hangi adıma gidileceğini gösterir.
Ayrıntılı bir akış diyagramı, yazılımı oluşturan işlemleri ve ilişkilerini en küçük detayına kadar belirler.
Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun bu programların akış diyagramlarında genel olarak yalnız üç basit mantıksal yapı kullanılır. Bu mantıksal yapılardan en basiti sıralı yapıdır. Sıralı yapı, hazırlanacak programdaki her işlemin mantık sırasına göre nerede yer alması gerektiğini vurgular. Bu yapı sona erinceye kadar ikinci bir işlem başlayamaz.
Şekil 1.2 Sıralı Yapı
Mantıksal yapılardan ikincisi Karar Verme yapısıdır (Şekil 1.3). Programlama sırasında If…Then… Else yapısı ile tanıyacağımız bu mantıksal yapılar, birden fazla sıralı yapı seçeneğini kapsayan modüllerde, hangi şartlarda hangi sıralı yapının seçileceğini belirler.
Şekil 1.3 Karar Verme Yapısı
Üçüncü mantıksal yapı çeşidini tekrarlı yapılar oluşturmaktadır. Bu yapılara Pascal programlama dilinde For(Şekil 1.4.a), While ve Repeat..Until (Şekil 1.4.b), yapısı adı da verilir. Şartlara göre değişik işlem gruplarının yapılmasını sağlar. Bu yapı yukarıda sözü edilen iki yapının çeşitli kombinezonların tekrarlanmasından oluşmuştur.
Söz konusu üç değişik yapı, değişik kombinezonlarda kullanılarak istenilen işlevleri yerine getirecek programlar hazırlanabilir. Programların bu üç basit yapı ile sınırlandırılması program modüllerinin daha kolay tasarlanmasını sağlar.
a b
Şekil 1.4. Tekrarlı Yapı
Akış Diyagramı Örnekleri
Bu bölümde yazılım oluşturma evrelerinden biri olan akış diyağramları ile ilgili örnekler verilmiştir. Sözlü veya yazılı olarak oluşturduğumuz algoritmanın programa dönüştürülmesi sırasında programın çalışma sırasını da gösteren akış diyagramlarıyla ilgili örnekler aşağıda verilmiştir.
Neden Delphi?
Bana çok sorulan sorulardan biri de Neden Delphi? veya Delphi mi yoksa X geliştirme aracı mı? Şeklinde. Delphi’yi seçmek bir çok nedeniniz var. Bunlardan en önemlileri :
1. IDE : Entegre Geliştirme ortamı ile hızlı bir şekilde uygulamalar geliştirebilirsiniz. Form düzenleyici (Form Designer) ile kolayca formlarınızı düzenleyebilir, Object Inspector ile bileşenlerin özelliklerini kolayca değişitirebilir, CodeInsight teknolojisi ile daha hızlı ve hatasız kodlar yazabilirsiniz.
2. Hız : Daha küçük ve daha hızlı çalışan uygulamalar daha iyidir. Delphi dünyadaki en hızlı ve boyutu küçük uygulamaları oluşturan derleyicilerden birine sahiptir.
3. Delphi Language : Delphi 7′ye kadar programlama dilini ismi Object Pascal olarak geçiyordu. Ancak Delphi 7′de eklenen .net desteği ile birlikte Borland dilin ismini Delphi Language (Delphi dili) olarak değiştirdi. Delphi dili güçlü, öğrenmesi kolay bir dildir.
Assembler ve C++ dilleri de çok güçlü dillerdir. Ancak assembler dili’ni öğrenmesi zor ve kod yazması ise tam bir hamallıktır. C++ dilini öğrenmesi zordur, ayrıca C++ ile kötü programlar yazmak çok kolaydır. Visual Basic ilk çıktığında amacı insanlara kolayca program yazabilecekleri bir ortam sunmaktı. Ancak ilk sürümleri bunda pek başarılı olamadı ve gittikçe komplex bir hale geldi. Çok yavaş uygulamalar geliştiriyor ve çoğu şeyi programcıdan gizliyordu, programcı arka planda işlerin nasıl döndüğünü bilmiyordu. Delphi’de kesinlikle böyle bir durum yoktur. Delphi iki yönlü bir geliştirme aracıdır yani tüm kod kontrolünüz altındadır. Microsoft Visual Basic’in .net sürümü için radikal kararlar almış ve Borland’dan bir çok programcıyı astronomik rakamlarla transfer ederek kaliteyi bir parça yükseltmiştir. Ancak hala Delphi’ye ulaşması için çok çalışması gerek.
4. Geniş Veritabanı Desteği : Ülkemizde yapılan programların büyük bir çoğunluğu veritabanı programlarıdır. Delphi birçok veritabanını çok iyi bir şekilde desteklemektedir. Microsoft araçları genelde Microsoft erişimlerini desteklerler, OLE DB ve ODBC gibi. Delphi’nin veritabanı desteği :
* dbExpress
* IB Express (IBX)
* BDE
* ADO
* Birçok veritabanına direk erişim sağlayan 3. parti bileşenler
* Milyonlarca kayıt saklayabilen çok hızlı 3. parti lokal veritabanları
* Eğer bunlarda işinizi görmüyorsa kolayca kendi araçlarınızı yazma özelliği
5. VCL : Visual component Library, Delphi’nin en önemli parçasıdır. Delphi’de gördüğünüz bileşenlerin tamamı Delphi dilinde yazılmıştır. Delphi’nin güçlü Object Oriented (nesne yönelimli) dili sayesinde mevcur sınıflardan yeni bileşenler oluşturmak çok kolaydır. Şu anda dünyada geliştirilmiş on binlerce bileşen vardır. Ayrıca bu sayıya her gün yenileri eklenmektedir.
6. Destek : Başta Borland üzere, Türkçe ve İngilizce olarak binlerce site ve kişiden başınız sıkıştığında destek alabilirisiniz.
Neden Visual Basic
Yukarıda vb’nin ne olduğunu tanımınladıktan sonra bu yazıda neden vb’yi tercih edelim sorusuna yanıt arıyacağız.Vb bir Microsoft ürünüdür.Bu yüzden burada yazacağınız programların databaseleri windowsla tamamen uyumlu olacaktir çünkü aynı firma tarafından destekleniyor,bunun gibi birçok Microsoft ürününü vb ile etkinleştirme imkanımız var örnegin accessde yaptiğiniz basit öğrenci kayıt programını VB’den açıp onu VB’de daha görsel daha gelişmiş hale getirebilirsiniz.Atlanmaması gereken bir ayrıntı da şu: Vb’de program derlemek birçok dile göre daha kolaydır.Çünkü VB’de görsellik ön plandadır ve dil olarak da kolaydır,demek istediğim; komut ezberlemek için çok uğraşmıyorsunuz,biraz ingilizce biliyorsanız işiniz çok kolay; komutlar genelde ingilizce ya da ingilizce kısaltmaları.Şu var ki bazıları bunu abartır ve der ki: “Bilgisayarı yeni açanlar bile vb’de program yazabilir,vb çocuk işidir..” Evet vb’nin kolay olduğunu ben de söylüyorum ama programlama mantığı hep aynıdır,ekran başında kafa çatlatırsınız.Ben de herzaman diyorum, gene en kolayı VB dir ama iş çok sonraki derslerimde anlatacağım dll,actixex.. gibi uygulamalara geldiğinde herkes biraz zorlanır.Dünya üzerinde 3,5 milyonun üzerinde insan VB kullanmakta,ayrica birçok yazılım şirketi de vb bilen yazılımcılar aramakta.Özetliyecek olursak programlamaya yeni başlamışsanız ve gelişmek istiyorsanız şiddetle VB tavsiye ederim,VB yi iyice kaptiktan sonra size delphi veya Microsoft c++ tavsiye ederim…
Neden C ?
* C güçlü ve esnek bir dildir. C ile işletim sistemi yazabilir, kelime işlemciler oluşturabilir veya grafik çizebilirsiniz.
* C, iyi bir yazılım geliştirme ortamına sahiptir.
* C, özel komut ve veri tipi tanımlamasına izin verir.
* C taşınabilir bir dildir. Yani herhangi bir C kodu hiçbir değişikliğe uğramadan, veya çok az bir değişimle, başka bir derleyicide derlenebilir. Örneğin, Windows işletim sistemlerinde yazılan bir C kodu, Linux, UNIX veya VAX gibi işletim sistemlerinde de derlenebilir.
* C yapısal bir dildir. C kodları fonksiyon olarak adlandıralan altprogramlardan oluşmuştur.
* C++, Java, JavaScript, JavaApplet, PHP, C#, … gibi dillerin temelinde C vardır.
Benzer Püf Noktaları
Yorumunu Bırak !
Facebook Hayran Sayfamız
En Çok Okunan Yazılar
- Google'ın Püf Noktaları (36069)
- Smf Güvenlik için Püf noktalar.. (32770)
- Halı Temizliğinde Püf Noktalar: (31293)
- Ervamatin Nedir ? (24917)
- En çok radyasyon yayan telefonlar..! (24765)
- Kek Yapmanın Püf Noktaları! (22550)
- Pc Soğutma'nın Püf Noktası (21167)
- Hurdacıdan Android Uygulaması (19536)
- Tantuni Lavaşı Nasıl Yapılır (19516)
- Tantuni Nedir Nasıl Yapılır (16854)

Yazar:





