Algoritma ve Programlama Dünyası — Fonksiyonlar ve Metotlar

Turhan Can Kargın
Kodcular
Published in
4 min readSep 19, 2022

--

Herkese merhabalar!! Algoritma ve programlama dünyası serisinde bir önceki bölümünde programlama dillerinde kullanıcıdan bilgi alıp bu bilgileri çıktısını almanın mantığını Python, C++ ve JAVA dilleri için öğrendik. Bu yazıdan önceki bölüm olan Algoritma ve Programlama Dünyası — Kullanıcıdan Bilgi Almak yazısını daha okumadıysanız bu linke tıklayarak ulaşabilirsiniz.

Bu yazı da ise programlam dillerinde fonksiyon metot kavramlarından bahsedeceğiz. Hadi başlayalım!!

Source: https://www.codingem.com/python-what-is-the-difference-between-a-function-and-a-method/

Fonksiyon, belirli bir görevi gerçekleştirmek için bir dizi talimat veya prosedürdür. Metot ise bir nesneyle ilişkili bir dizi talimattır. Bir fonksiyon herhangi bir nesneye ihtiyaç duymaz ve bağımsızdır, metot ise herhangi bir nesneyle bağlantılı bir işlevdir. Metotlar, OOP (Nesne Yönelimli Programlama) ile ilgili bir kavram olduğu için daha sonra daha detaylı ele alınacaktır. Şimdilik metot ve fonksiyonun benzer amaçları olduğunu bilseniz yeterlidir.

Main kavramı konusunda bahsedilirken az da olsa fonksiyonlar konusuna değinilmiş oldu. Fonksiyonlar, programlamanın en küçük yapı taşlarıdır diyebiliriz. Genel amaçları, değişen girdi değerlerine göre sıklıkla hesaplanması gereken işlemlerin grulanmasını ve çıktı vermeyi sağlamak. Aynı zamanda iş bölümü sağlarlar. Temel bir fonksiyon yapısını aşağıda görebilirsiniz.

Fonksiyonlar temelde geri dönüş yapan ve geri dönüş yapmayan olarak ikiye ayırmak mümkündür. Yazının ilerideki kısımlarında bu kavramlar örneklerle pekiştirilecektir. Fonksiyonlara kısaca şöyle bir örnek verilebilir; bir programda sıklıkla sayıların ortalamasını aldığımızı varsayalım. Her ortalama alınacak yerde tüm sayıları toplayıp eleman sayısına bölmek yerine bir fonksiyon yazıp bu işlem tanımlanabilir ve bu fonksiyonu çağırarak her seferinde ortalama alınması daha mantıklı bir işlemdir. Bu aynı zamanda daha temiz kod yazmamızı sağlar. Bu ortalama alma fonksiyonunda parametre olarak elemanların bulunduğu dizi parametre olarak alınabilir ve geri dönüş olarak da ortalanın sonucu dönecektir.

Fonksiyonların Genel Yapısı

Java ve C++ gibi derlenebilir dillerin genel fonksiyon yapısı aşağıdaki gibidir. Python dilinin fonksiyon yapısından yazının ilerleyen kısımlarında bahsedeceğiz.

[return tipi] [fonksiyon ismi][(parametreler)]{// Algoritma
// İşlem
return [geri dönüşü yapılacak veri];
}

Şimdi yukarıda açıkladığımız fonksiyon yapısını yakından inceleyelim:

  • [return tipi]: Kısacası geri dönüşü yapılacak olan veririn tipi burada belirtilir. Örneğin ortalama yapacaksak geri dönüşü yapılan veri çok muhtemelen bir float veri tipinde olacağı için burada float diye belirtmek mantıklıdır. Bazen amacı itibariyle bazı fonksiyonlar geri dönüş yapmaz. Bu tip fonksiyonlar return tipi olarak void anahtar kelimesini kullanmalıdır.
  • [fonksiyon ismi]: Burada fonksiyona amacı doğrultusunda mantıklı bir isim verilmelidir. Örneğin, [ortalama_alma]
  • [(Parametreler)]: Eğer altprogramın dışarıdan parametreler alması gerekiyorsa, bu bölümde alacağı tipler ile birlikte isimleri belirtilmelidir. Bu parametreler virgül yardımıyla ayrılır.
  • [geri dönüşü yapılacak veri]: Hesaplamanın yapıldığı ve geri dönüşünün yapılması istendiği veri burada belirtilmelidir.

C++ Fonksiyon Örneği

Basitlik açısından şimdi iki sayının toplamını döndüren bir fonksiyon ve bu fonksiyonun çağırıldığı bir program yazalım.

#include<iostream>
using namespace std;
int Toplam(int a, int b)
{
int sonuc = a + b;
return sonuc;
}
int main ()
{
int a, b;
cout << "Lutfen 1. sayiyi giriniz:";
cin >> a;
cout << “Lutfen 2. sayiyi giriniz:";
cin >> b;
int sonuc = Toplam(a, b);
cout << "Bu sayilarin toplami = " << sonuc << endl;
}

Bu yazılan fonksiyonun çıktısı aşağıdaki gibidir.

JAVA Fonksiyon Örneği

Yine bir toplama örneği gösterelim

import java.util.Scanner;
public class ToplamaSinif
{
public static void main(String[] args)
{
int a,b;
Scanner scn = new Scanner(System.in);
System.out.println("Lutfen ilk sayiyi giriniz :");
a = scn.nextInt();
System.out.println("Lutfen diger sayiyi giriniz :");
b = scn.nextInt();
int sonuc = Toplam(a, b);
System.out.println("Bu sayilarin toplami = " + sonuc);
}
public static int Toplam(int sayi1, int sayi2)
{
int sonuc = sayi1 + sayi2;
return sonuc;
}
}

Bu yazılan fonksiyonun çıktısı aşağıdaki gibidir.

Python Fonksiyon Örneği

Şimdi göreceksinizki Python ile fonksiyon oluşturmak çok daha kolay ve kısa olucak.

def toplama(a, b):
sum = a + b
return sum
num1 = int(input("Lutfen ilk sayiyi giriniz :"))
>>> Lutfen ilk sayiyi giriniz: 20
num2 = int(input("Lutfen diger sayiyi giriniz :"))
>>> Lutfen diger sayiyi giriniz: 30
sum = toplama(num1, num2)
print("Bu sayilarin toplami = ", sum)
>>> Bu sayilarin toplami = 50

Bu yazılan fonksiyonun çıktısı her bir kod satırından sonra verilmiştir.

Sonuç:

Görüldüğü üzere her bir dilde de tek problem farklı söz dizimleriyle fonksiyonlar kullanılarak çözülmüştür. Biz kısa olması sebebiyle toplama fonksiyonu yazdık fakat çok daha komplike problemler için oluşturulan fonksiyonlar sade ve temiz kod yazmak için önemli bir adımdır. Kodun okunabilirliğini arttırır.

Bu yazıda kısaca programlamada fonksiyon ve metot kavramlarını gördük. Vakit ayırıp okuduğunuz için teşekkür ederim. Serinin bir sonraki bölümünde görüşmek üzere.

Herhangi bir sorunuz olursa veya benimle iletişim kurmak isterseniz tüm sosyal medya hesaplarım aşağıdaki linkte yer alıyor.

--

--