Algoritma Nedir? Program Nedir? – Programlamaya Giriş

Bu yazıda algoritma ve program nedir, akış şemaları nedir bundan bahsederek programlaya giriş yapacağım.

Algoritma Nedir?

Algoritma, yapılmak ve yaptırılmak istenen bir işlemin, adım adım sıralanarak işlem basamaklarına bölünmesidir. Algoritmaların belirli şartları sağlamaları gerekmektedir:

concepts of programming languages - Guide For New Programmers
  • Her algoritmada mutlaka bir girdi bulunmalıdır.  
  • Girdiye karşılık olarak algoritma sonucunda mutlaka bir çıktı elde edilmelidir.
  • Algoritma her basamağında açıklık ilkesine uymalı ve okuyana net bir karar verdirmelidir.
  • Çıktıya ulaştıran algoritma belirli bir basamak sayısına sahiptir.

Algoritma, kısaca bizim bilgisayara yaptıracağımız işlerin sıralı olarak nasıl yapılacağını listeleme biçimidir.

Örnek olarak, kenar uzunlukları kullanıcı tarafından girilen bir dikdörtgen prizmanın hacmini hesaplamak istediğimizi varsayalım.

Bunun için yazmamız gereken algoritma, her adımı numaralandıracak olursak:

Adım0: Başla

Adım1: Kısa kenar, uzun kenar, yükseklik ve hacim değerlerini tanımla

Adım2: Kısa kenarın uzunluğunu oku

Adım3: Uzun kenarın uzunluğunu oku

Adım4: Yükseklik uzunluğunu oku

Adım5: Sayıları çarp ve hacim değerine ata

Adım6: Hacim değerini görüntüle

Adım7: Dur

şeklinde olacaktır.

Görüldüğü üzere her adımda yazacağımız programın ne yapması gerektiğini belirleyerek hem yazan kişi için hem de programın işlemleri doğru olarak yerine getirebilmesi için belirli bir mantıksal olay örgüsü kurmuş olduk.

Peki bahsettiğimiz program nedir, programların mantığı nasıl çalışır önce onu bir inceleyelim.

Program nedir?

Bir problemin, çeşitli makine dilleri kullanılarak bilgisayar ve bilgisayar mantığında çalışan cihazlara, onların anlayabileceği şekilde işlenmesine programlama, bunun sonucunda oluşan belirli bir çalışma algoritmalarına sahip kodlara (yazılımlara) ise program denir. Bir veya birden fazla algoritma dizilerinin birleşimi bir programı oluşturur. Bu programlar, programlama dili olarak adlandırılan, makinelerin çalışma mantığına uygun olarak oluşturulan iletişim dilleri ile yazılır. Programlama dillerine ve programlama dillerinin tarihine daha sonra detaylı olarak değineceğim.

Örnek olarak yukarıda bahsettiğimiz algoritma örneğini programa dönüştürecek olsaydık.

C++ programlama dili kullanarak:

#include<iostream>
using namespace std; 
int main(){
int kisaKenar, uzunKenar, yukseklik, hacim;
cin >> kisaKenar;
cin >> uzunKenar;
cin >> yukseklik;
hacim=kisaKenar*uzunKenar*yukseklik;
cout <<hacim<<endl;
}

şeklinde olacaktır.

Aynı algoritmayı Java dilini kullanarak programa dönüştürecek olursak:

import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double kisaKenar = input.nextDouble();
double uzunKenar = input.nextDouble();
double yukseklik = input.nextDouble();
double hacim = kisaKenar*uzunKenar*yukseklik;
System.out.println("Hacim: "+hacim);
     }
}

şeklinde olacaktır. Görüldüğü üzere 2 farklı programlama dili ile aynı algoritmayı kullanarak hacim hesabı yapmak mümkündür.

Akış Diyagramları Nedir?

Algoritmaların daha iyi anlaşılabilmesi için belirli şekillerle çizilmelerine akış diyagramı denir.

Akış diyagramları oluşturulmadan önce:

  • Algoritmanın adımları belirlenmeli,
  • Her adım için kullanılacak şekiller belirlenmeli.   

Yukarıda vermiş olduğumuz algoritma için akış şeması yazacak olursak:

şeklinde olacaktır.

Bu yazıda algoritma ve programlaya giriş yaptık, akış diyagramları ve algoritma ile ilgili örneklere ise buradan ulaşabilirsiniz.

ALGO1W69O39TC88429