İçeriğe atla

Yapısal programlama

Kontrol Edilmiş

Yapısal programlama, programlama dilleri kullanılarak yazılan, mantıksal bütünlük gösteren bloklara (bölümlere) bölünebilirler. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır.

Yapısal programlama yordamsal programlamanın bir alt/yan dalı olarak görülebilir, temel programlama tekniklerinden birisidir. “goto” terimine karşı bağımlılığı azalttığı ve hatta kaldırdığı için ünlenmiştir.

Tarihsel olarak bakıldığında yapısal programlamadan pek çok alt yöntem türetilmiştir. Bunlardan ikisi Jackson’ın Yapısal Programlaması ve Dijkstra’nın Yapısal Programlamasıdır.

Yapısal programlama, yordamsal programlama dillerinin pek çoğu ile yapılabilmektedir. 1970'lerin başlarında popülerleşmeye başlayan yapısal programlama ile pek çok yeni yordamsal programlama dili yapısal programlamayı destekleyecek özellikleri barındırmaya başladılar. Bu dillere örnek olarak Pascal ve Ada verilebilir.

Küçük kod parçacıkları seviyesinde yapısal programlama hiyerarşik program akışı yapılarını tavsiye eder. Bu yapılar pek çok modern dilde kolayca elde edilebilen, “while”, “repeat”, “for” gibi yapılardır. Yapısal programlama bu yapılar için tek giriş ve tek çıkış noktalarını tavsiye eder. Bu tavsiyeyi zorunlu kılan dillere rastlanmaktadır.

Bu teknik ile programcılar büyük kod parçalarını daha kısa alt yordamlar halinde yazarlar. Bu sayede parçacıklar anlaşılabilecek kadar küçük olurlar. Genel olarak programlarda çok az veya hiç genel (global) değişkenler kullanılmaz, genel değişkenler yerine altyordamlar yerel değişkenler kullanırlar ve değişkenlerini adres ve değer ile gönderir.

Dijkstra’nın yapısal programlaması

Dijkstra’nın yapısal programlaması programın alt bölümlere ayrılması ve programın tek giriş ve çıkış noktası olması mantığına dayanır. Yukarıda anlatılan Yapısal Programlamanın temeli Dijkstra’nın tekniğine dayanır.

Jackson’ın Yapısal Programlaması

Jackson’ın Yapısal Programlaması (JYP) veri akışı yapısı ile program yapısı arasındaki ilişkiye dayanır. JYP ilk olarak 1970'lerde Michael A. Jackson tarafından geliştirilmiş ve “Principles of Program Design” isimli kitabında yayınlanmıştır. Jackson’ın amacı standart COBOL programlamayı iyileştirmek olsa da bu metot modern programlama dilleri (örneğin C ve Perl gibi) ile kodlamada da geçerlidir.

JYP’yi oluşturan temel yapılar…

  • Temel eylemler
  • Sıralamalar
  • Tekrarlar
  • Seçimler

Metot programın girdilerinin temel yapılar ile ifade edilmesi ile başlar. Daha sonra programın çıktıları aynı şekilde ifade edilirler. Her girdi ve çıktı ayrı bir Veri Yapısı Diyagramı olarak modellenirler.

Girdi ve çıktı yapıları daha sonra Program Yapı Diyagramı (PYD) olarak birleştirilirler. Bazı programlar tüm veriyi almadan çıktı üretmezken bazıları her girdi birimi için çıktı üretir, bu durum PYD’de işlenmiş olur.

Dil bağımlı olmayan PYD daha sonra bir programlama dili vasıtası ile uygulanır. PYD daha çok yordamsal diller için uygun bir yaklaşım olup nesne yönelimli dillerde kullanılmamaktadır.

JSP programın girdi, çıktı ve program yapısını anlatmak için diyagramları kullanır.

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">COBOL</span> İngilizce dil özelliklerine benzer programlama dili

COBOL, bir programlama dili. Ticaret alanı ve özellikle iş yerlerinin yönetimiyle ilgili konularda, tüm dünyada kullanılmak üzere hazırlanmıştır. ISAM yapısına izin veren sınırlı sayıdaki dilden biridir. Sayı tipi sınırsızdır. COBOL 2002 'den beri Nesne Yönelimli Programlama'yı desteklemektedir. COBOL 1959'da Üniversiteler, Hükûmetler ve Ticari Kuruluşlar tarafından oluşturulan bir komite tarafından yaratılmıştır. "COBOL" ismi 18 Eylül 1959'da toplanan komitenin kararıdır.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

Yapısal olmayan programlama, program yazılış sırası ile işletilirler. Bir “goto” terimi işletimin programda bir yerden başka bir yere iletilmesini sağlar. Bir “goto” çağrıldığında program goto’nun hedef satırından devam eder. Bu yüzden programın nasıl çalıştığını anlamak için programı aklınızda çalıştırmanız gerekir. Bunun anlamı programın mantığının anlaşılması özellikle program büyüdükçe imkânsızlaşmasıdır. Bazı derleyiciler “goto”ların hedeflerini indeksleyerek daha kolay bir dolaşım sağlayabilmektedir.

<span class="mw-page-title-main">Yordamsal programlama</span>

Yordamsal programlama, yordamların çağrılması mantığına dayanan bir yöntemdir. Fonksiyon, altyordam, altprogram, metot gibi de adlandırılan yordamlar içlerinde hesaplama adımları barındıran program parçacıklarıdır. Tanımlanmış yordamlar program sırasında herhangi bir zamanda çağrılabilirler. Yordamlar diğer yordamların içindende çağrılabilecekleri gibi kendi kendilerini de çağırabilirler.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

Matematikte matematiksel programlama, eniyileme ya da optimizasyon terimi; bir gerçel fonksiyonu minimize ya da maksimize etmek amacı ile gerçek ya da tam sayı değerlerini tanımlı bir aralıkta seçip fonksiyona yerleştirerek sistematik olarak bir problemi incelemek ya da çözmek işlemlerini ifade eder. Örneğin bu problem şöyle olabilir:

Cephe yönelimli programlama veya ilgiye yönelik programlama, çapraz kesim işlerini bölerek modülerliği artırmayı amaçlayan bir programlama yaklaşımıdır. Bütün programlama yaklaşımlarında kodlar uzadıkça, kodların anlaşılabilirliği çok düşmekte, bazen de içinden çıkılmaz bir hal almaktadır. Programlamanın varlığıyla birlikte bu sorun da hep var olmuştur. Bu sorunla savaşabilmek için sürekli çalışmalar devam etmektedir, bu süreçte ortaya çıkan önemli bir programlama yaklaşımı da Cephe Yönelimli Programlamadır.

Sözde kod, bilgisayar bilimleri alanında algoritmalar ve programlar oluşturulurken ve aktarılırken kullanılan, günlük konuşma diline benzer ve belli bir programlama dilinin detaylarından uzak anlatımlardır. Programın yapısının ve çalışma mantığının yüksek seviyeli bir biçimde, gerektiği yerde doğrudan doğal dil cümleleriyle, ama yine de bir program yapısı ve akışı içinde anlatılmasıdır. Böylelikle sözde kodu okuyan ya da yazan birisi, programlama dillerinin sözdizim detaylarına dikkat etmek zorunda kalmadan, programın ve algoritmanın çalışma mantığını düşünebilir.

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

Hesaplamalı Parçacık Fiziği bilgisayar tekniklerini ve bilgisayar araçlarının parçacık fiziği alanında kullanılmasıdır. Parçaçık fiziginde hesaplama teknikleri, hem teori kısmında hem de deney kısmında çok yoğun olarak kullanılmaktadır. Genel olarak yazılan bilgisayar programları simülasyon yapmak, alınan verilerin işlenmesi için kullanılır.

<span class="mw-page-title-main">Yazılım testi</span>

Yazılım testi, test altında hizmetlerin veya ürünlerin kalitesi hakkında paydaşlara bilgi sağlamak için yürütülen bir araştırmadır. Yazılım testi aynı zamanda, yazılım uygulamalarının risklerini anlamak için yazılımı bağımsız ve nesnel olarak incelemektir. Test teknikleri yazılım böceklerini bulma niyetiyle uygulama veya bir programı çalıştırma süreçlerini kapsar.

<span class="mw-page-title-main">İşlev modeli</span>

Sistem ve yazılım mühendisliğindeki işlev modeli modellenen sistem veya konu alanının işlevlerinin yapısal temsilidir.

<span class="mw-page-title-main">Ayrıştırıcı (yazılım)</span>

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.

ALGOL 68, çok daha geniş bir uygulama kapsamı ve daha titiz bir şekilde tanımlanmış sözdizimi ve anlambilim hedefiyle tasarlanmış, ALGOL 60 programlama dilinin halefi olarak tasarlanan programlama dilidir.

Bilgisayar biliminde, bildirimsel programlama bir programlama paradigmasıdır. —bilgisayar programlarının yapısını ve öğelerini oluşturma stili— bir hesaplamanın mantığını kontrol akışını tanımlamadan ifade eder.

Bilgisayar biliminde zorunlu programlama ya da emperatif programlama, programın durumunu değiştiren ifadeler kullanan yazılımın programlama paradigması'dır. Doğal dillerdeki zorunlu kipin komutları ifade etmesi gibi, zorunlu program da bilgisayar'ın gerçekleştireceği komutlardan oluşur. Zorunlu programlama, beklenen sonuçlarının üst düzey tanımlarından ziyade programın nasıl adım adım çalıştığını açıklamaya odaklanır.