lostyazilim

Fonksiyonlar ne işe yarar ve nerelerde kullanılır ?

19 Mesajlar 12.967 Okunma
lstbozum
wmaraci reklam

Nefes Nefes Öğrenci Kullanıcı
  • Üyelik 17.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad B** E**
  • Mesajlar 556
  • Beğeniler 45 / 32
  • Ticaret 1, (%100)
Hocalarım kitap da aldım fakat şu nalet olsa fonksiyonları anlmıyorum tam olarak necidir recursive dizi fonksiyonları ne işe yarar nerelerde kullanılır ?
 

 

wmaraci
reklam

CoLLeR CoLLeR WM Aracı Kullanıcı
  • Üyelik 31.01.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Webmaster
  • Konum Kayseri
  • Ad Soyad M** A**
  • Mesajlar 69
  • Beğeniler 5 / 21
  • Ticaret 0, (%0)
Nasıl anlatsam bilemedim ama fonksiyonu bir kola makinası gibi düşün bir taraftan para atarsın diğer taraftan sonuç olarak sana kola gelir.
Yani;



function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}



Örneğin yukarda kolaver adında bir fonksiyon tanımladık.Fonksiyonun bizden tek istediği $para geri kalan işlemleri kendi yapıyor.
Kullanımı ise;
Buda 2 den başka hangi değer olursa kola vermez.


echo KolaVer(2);



recursive dizi fonksiyonlarına örnek verecek olursak;



function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}



Yukarıdaki örnek biraz saçma ama bu saatte anca bu kadar anlatabildim.Para değerimiz 2 den büyükse paranın yarısını KolaVer() fonksiyonunda yeniden baktırıyoruz.Burda da kola verebilmesi için saçma ama 2 nin katları olması lazım. Kodları bir incele bakalım umarım anlatabilmişimdir.Sormaktan çekinme müsait oldukça anlatmaya çalışırım hatta aklıma daha iyi bir örnek gelirse veririm.
Mintik

kişi bu mesajı beğendi.

PHP, Python, Javascript, C#, React-Native

Nefes Nefes Öğrenci Kullanıcı
  • Üyelik 17.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad B** E**
  • Mesajlar 556
  • Beğeniler 45 / 32
  • Ticaret 1, (%100)
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}

hocam burası beni bitirdi nedir bu :D
 

 

alparslan alparslan Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 10.10.2011
  • Yaş/Cinsiyet - / E
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 308
  • Beğeniler 27 / 39
  • Ticaret 9, (%100)
Daha sistemli ve sonradan düzenlenebilir bir kodlama için fonksiyon ve sınıf kullanımı zorunlu gibi birşeydir. Fonksiyon ne işe yarar diye düşünmek yerine hocam ne olduğunu az çok kavrayın zaten php projelerinizde ihtiyaç hissedeceksiniz.
 

 

wmaraci
wmaraci

CoLLeR CoLLeR WM Aracı Kullanıcı
  • Üyelik 31.01.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Webmaster
  • Konum Kayseri
  • Ad Soyad M** A**
  • Mesajlar 69
  • Beğeniler 5 / 21
  • Ticaret 0, (%0)

Nefes adlı üyeden alıntı

function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}

hocam burası beni bitirdi nedir bu :D


Dediğim gibi saçma ve basite indirgenmiş şekilde yazdım :)
2 den büyükse yarısını alarak tekrar fonsiyona sok ve kontrol et oluyo :D
 

 

PHP, Python, Javascript, C#, React-Native

Nefes Nefes Öğrenci Kullanıcı
  • Üyelik 17.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad B** E**
  • Mesajlar 556
  • Beğeniler 45 / 32
  • Ticaret 1, (%100)
Peki hocam bunu direk if ile yapsak olmaz mı illaha fonksiyon mu gerekli ?
 

 

mustafa94 mustafa94 o_0 Kullanıcı
  • Üyelik 26.03.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek Emekli Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad M** Ş**
  • Mesajlar 1398
  • Beğeniler 283 / 283
  • Ticaret 240, (%100)
fonksiyonu bir kıyma makinesi gibi düşün.Et'e x de.Makineye f() fonksiyonu de.Eti makinenin içine atıyoruz ve çıkan ürün yani kıyma da f(x) oluyor. :).
 

 

Memleket mi, yıldızlar mı, gençliğim mi daha uzak?

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)

Nefes adlı üyeden alıntı

Peki hocam bunu direk if ile yapsak olmaz mı illaha fonksiyon mu gerekli ?


Soru bana değil ama bir şeyler yazayım dedim.
If kullanarak da bir çözüm üretebilirsin fakat sadece o soruna özgü bir çözüm olur, başka yerde kullanmak için her seferinde yazman gerekir. Fonksiyonu ise bir kere tanımladıktan sonra duruma göre istediğin yerde/projede kullanabilirsin.
 

 

Nefes Nefes Öğrenci Kullanıcı
  • Üyelik 17.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad B** E**
  • Mesajlar 556
  • Beğeniler 45 / 32
  • Ticaret 1, (%100)
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}


hocam peki $para yerine $deneme yi sisteme koymak istiyorum bu sefer de fonksiyondaki $parayı silip denememe mi yazacam e o zaman $parayı fonksiyondan çıkarmış olmaz mıyız ben ikisini hatta varsa daha çok değişkeni aynı fonksiyona sokmak istiyorum peki nasıl olacak ?

Ek Olarak: Hocalar dediklerini anladım şöyle bir kod yazdım ben $et degiskenine string bir ifade girdiğimde else kodunu çalıştırmıyor neden ?

function et($et) {
if ($et>=5) {
# code...
return "et kiyma islemine geciyor...";
}
elseif ($et<5) {
# code...
return "lütfen daha fazla et giriniz.";
}
else {
# code...
return "kullanilmayan bir ifade girildi.";
}
}




$sonuc = et();
echo "$sonuc";


Ek Olarak: Sorunu çözdüm hocalar kusura bakmaıyn :)
 

 

CoLLeR CoLLeR WM Aracı Kullanıcı
  • Üyelik 31.01.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Webmaster
  • Konum Kayseri
  • Ad Soyad M** A**
  • Mesajlar 69
  • Beğeniler 5 / 21
  • Ticaret 0, (%0)

Nefes adlı üyeden alıntı

Peki hocam bunu direk if ile yapsak olmaz mı illaha fonksiyon mu gerekli ?


Fonksiyon kullanmadan da çalışabilirsin tabi fonksiyonlar sadece senin işini hafifletir ve kod kalabalığını azaltır.

Örneğin sayfanın bir kaç yerinde Kullanıcı adını yazdıracaksın veya id ye göre kullanıcı adı bulacaksın bunun için veritabanından çekme işlemi için her yerde aynı kodlamayı yapman gerek.Bu uzun işlemi kısaltmak için fonsiyonlar var.




function UyeAdi($id){
/*Veritabanı işlemlerin*/
return $kullanici;
}



Umarım anlatabilmişimdir.

Ek Olarak:

Nefes adlı üyeden alıntı

function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}


hocam peki $para yerine $deneme yi sisteme koymak istiyorum bu sefer de fonksiyondaki $parayı silip denememe mi yazacam e o zaman $parayı fonksiyondan çıkarmış olmaz mıyız ben ikisini hatta varsa daha çok değişkeni aynı fonksiyona sokmak istiyorum peki nasıl olacak ?

Ek Olarak: Hocalar dediklerini anladım şöyle bir kod yazdım ben $et degiskenine string bir ifade girdiğimde else kodunu çalıştırmıyor neden ?

function et($et) {
if ($et>=5) {
# code...
return "et kiyma islemine geciyor...";
}
elseif ($et<5) {
# code...
return "lütfen daha fazla et giriniz.";
}
else {
# code...
return "kullanilmayan bir ifade girildi.";
}
}




$sonuc = et();
echo "$sonuc";


Ek Olarak: Sorunu çözdüm hocalar kusura bakmaıyn :)


Ek olarak fonksiyonu bu şekilde çağıramazsın içerisine et tanımlaman gerekiyor.

$sonuc = et();
yerine
$sonuc = et(10);


veya o şekilde de çalışabilmesi için fonksiyonu şu hale getirmelisin ;

function et($et=10){
/*.....*/
}

yani et tanımlaması yapılmadıysa 10 kabul et demektir bu.
Nefes

kişi bu mesajı beğendi.

PHP, Python, Javascript, C#, React-Native
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al