Algoritma ve Programlama
0

Bilgisayar olarak adlandırdığımız elektronik aracın günlük hayattaki işlerimizi gözle görülür biçimde kolaylaştırdığı aşikâr. Peki bu muazzam becerinin ardında ne yatıyor? Algoritmaların kurulmasıyla programlama yaparak işlevsel hale getirdiğimiz bu elektronik aracın ardındaki sürece beraber bakalım bir de!

‘İki mühim bileşeni olan ve kendisinden beklenen işlemleri sahip olduğu programa göre yapan elektronik bir beyin’ olarak tanımlayabiliriz bilgisayarı. Öyleyse önemli olan iki bileşenine gelelim!

Bu iki bileşen donanım ve yazılımdır. Bilgisayarı oluşturan tüm fiziksel aygıtlara (Girdi-Çıktı aygıtları, Depolama aygıtları, Bilgi İşlem aygıtları) ‘Donanım’ deriz. Bunun yanı sıra bilgisayarla ilgili her türlü soyut kavramla beraber herhangi bir programı tanımlarken kullandığımız terime de ‘Yazılım (Sistem ve Uygulama Yazılımı)’ deriz.

yazılım ve donanım

NEDİR BU SİSTEM VE UYGULAMA YAZILIMI?

Sistem yazılımı bilgisayarın çalışmasını sağlayan yazılımdır. Temelde bilgisayarı çalıştıran ve donanımların birbiriyle haberleşmesini sağlayan bu yazılımlar olmadan bilgisayarı çalıştırmak mümkün değildir. Bu tür yazılımlara örnek vermek gerekirse; işletim sistemleri, ağ yazılımları, derleyici/yorumlayıcı yazılımları ve donanım/sürücü yazılımları gibi farklı gruplardan söz edebiliriz.

Uygulama yazılımlarıysa bilgisayara herhangi bir görevin yaptırılmasını sağlayan yazılımdır. Bu yazılımlar kullanıcı ile bilgisayar arasındaki iletişimi sağlar. Buna ek olarak programcının herhangi bir problem çözümü için programlama diliyle yazdığı programlardır.

programlama

PROGRAMLAMA DİLİ NEDİR?

Bazı kodları kullanarak yazmış olduğumuz uygulamalara ‘Programlama Dili’ deriz. Bu kodlar programlama dillerinin 0-1’den oluşan makine diline çevrilmesini sağlar. Yazılan programlar ise ‘Derleyici’ ve ‘Yorumlayıcı’ dediğimiz çevirici programlar sayesinde makine diline çevrilir ve sonuçları bizlerin anlayabileceği şekle dönüştürür.

Bunlarla beraber programlama dillerini yüksek ve düşük olmak üzere iki seviyeye ayırırız. Yüksek seviye diller (Python, Java, C, C++) donanımdan bağımsız, anlaşılması ve okunması daha kolay olduğu için insana daha yakın olan dillerdir. Düşük seviye diller (Assembly Dili, Makine Dili) ise insan tarafından anlaşılması zor olan, donanıma ve makine diline daha yakın olan dillerdir.

Üst seviyeli dilleri makine diline çevirirken çevirici (derleyici / yorumlayıcı) , alt seviye dilleri (assembly) çevirirken de assembler yazılımlar kullanırız.

PROGRAMLAMANIN ADIMLARI

  • Program gerekliliklerini belirlemek
  • Program tasarımı ve algoritmasını oluşturmak
  • Kodları yazmak
  • Programın bilgisayar tarafından anlaşılır hale çevrilmesini sağlamak
  • Programı çalıştırmak
  • Programın test edilmesi ve hataların ayıklanması
  • Verimlilik için programın modifiye edilmesi ve çalıştırılması ‘ gibi bir süreci kapsıyor.

SORUN ÇÖZME ADIMLARI

  • Soru tanımlama
  • Algoritma geliştirme
  • Girdi ve çıktı biçimi belirleme
  • Akış şemasını çizme
  • Kodlama
  • Programı sınama’ gibi bir prosesten oluşurken bu adımların en mühim kısmı problemin çözümü için algoritma geliştirebilmektir!

algoritma

ALGORİTMA NEDİR?

Algoritma bir problemin çözümünde izlenecek olan yoldur. Bu yoldaki takip edilen iş sıralamasını ve uygulanan kurallar dizisini kapsar. Özellikle matematikte çok önemli olan algoritma, doğru işlem sıralaması yapılmazsa problemin çözülemeyeceği anlamına gelir. Bundan dolayı bir bilgisayar programı için de programı kodlamadan önce işlem adımlarının yazılması (algoritma) oldukça önemlidir. Algoritmayı tanımlarken ise ya bir dil ya da çeşitli sembolik gösterimler ve şemalardan yararlanılabiliriz.

Hayatın her noktasında yer alan algoritmanın haliyle bazı özellikleri de mevcut. Bunlar:

  • Girdilerin belirlenmesi (Input specified): Giriş değişkenlerini tanımlamalıyız.
  • Çıktıların belirlenmesi (Output specified): Çıkış değişkenlerini tanımlamalıyız.
  • Kesinlik (Definiteness): Aynı girdi aynı çıktıyı vermeli.
  • Etkinlik (Effectiveness): Basit olmalı, problemin çözümünü mümkün olan en az adımda ve en kısa sürede gerçekleştirmeli.
  • Sonluluk (Finiteness): Sonlu sayıda işlem içermeli, sonsuz döngüleri olmamalı’ gibi karakterlerdir.

algoritma programlama

Algoritmayla ilgili daha çok bilgi sahibi olmak isterseniz bu yazımızı da okuyabilirsiniz 😊

Aslında en temelde ihtiyaç duyduğumuz ve geliştirilmesi fazlasıyla önemli olan algoritmadan en bilindik kısımlardan başlayarak bir miktar bilgi sahibi olduğumuzu umuyorum😊 Keza yaşamımızın her yerinde olan algoritmalar, mantığını kavradığımız takdirde bu elektronik platformda çok yardımcı olacak bir tasarı! 😉

twitter retweet

Ne Düşünüyorsun?
  • 2
    harika_
    Harika!
  • 0
    g_zel_
    Güzel!
  • 1
    haval_
    Havalı!
  • 0
    e_lenceli_
    Eğlenceli!
  • 0
    _zg_n_m_
    Üzgünüm!
  • 2
    sevmedim_
    Sevmedim!

Project Manager | Digital Content Manager | Trainee at YetGen | Author | Student

Yazarın Profili
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir