WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Benzer belgeler
Öğr. Gör. Serkan AKSU 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Hafta 13 Fonksiyonlar

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Fonksiyon nedir? <?php $deger = pow(5,3); //625 döndürür echo $deger; echo "<br>", pow(5,3);

ALGORİTMA VE PROGRAMLAMA I

1 PROGRAMLAMAYA GİRİŞ

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

ALGORİTMA VE PROGRAMLAMA I

Php İle Mysql Veritabanından Bilgi Çekme

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

11- FONKSİYONLAR (FUNCTIONS)

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

08217 Internet Programcılığı I Internet Programming I

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Dr. Fatih AY Tel: fatihay@fatihay.net

Özyineleme (Recursion)

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Sunum İçeriği. Programlamaya Giriş

BİL-142 Bilgisayar Programlama II

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Göstericiler (Pointers)

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Yrd. Doç. Dr. Caner ÖZCAN

İSTANBUL RUMELİ ÜNİVERSİTESİ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI 1.SINIF 2.YARIYIL İNTERNET PROGRAMCILIĞI II DERS İZLENCESİ

İNTERNET PROGRAMCILIĞI - II

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Algoritmalar ve Programlama. Algoritma

Ders 8: Metotlar. barisgokce.com

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HSancak Nesne Tabanlı Programlama I Ders Notları

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

C PROGRAMLAMA D İ L İ

BİL-142 Bilgisayar Programlama II

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

C++ Dilinde Bazı Temel Algoritmalar

WEB PROGRAMLAMA I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Yrd. Doç. Dr. Caner ÖZCAN

PROGRAMLAMA DİLLERİ I

C++ Dersi: Nesne Tabanlı Programlama

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Yrd. Doç. Dr. Caner ÖZCAN

Timer İle arka plan renk değişimi

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

1-100 tam puan üzerinden notları harf notuna çeviren Php kodunu yazınız. <?php

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

WEB PROGRAMLAMA II. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

SAYISAL KONTROL 2 PROJESİ

Algoritma ve Akış Diyagramları

İnternet Programcılığı Dersi 2.Dönem Ders Notu

NB Macro Kullanımı Hakkında Genel Bilgiler

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Bölüm 10: PHP ile Veritabanı Uygulamaları

Algoritma ve Programlamaya Giriş

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI Bahar Yarıyılı

C Programlama Dilininin Basit Yapıları

Akış Kontrol Mekanizmaları

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Operatörler. İnternet Programcılığı 2. Operatörler

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Operatörlerin Aşırı Yüklenmesi

ALGORİTMA VE PROGRAMLAMA II

Internet Programming II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Pointer Kavramı. Veri Yapıları

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

ALGORİTMA VE PROGRAMLAMA II

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

BTEP243 Ders 3. class Yazım Kuralı:

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

YZM 2105 Nesneye Yönelik Programlama

Transkript:

WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu ve Değişkenler 3. Hafta PHP de Karar kontrol yapıları ve Döngüler 4. Hafta Dizi ve Dizi işlemleri 5. Hafta Fonksiyon, Sınıf ve Nesne Kavramları 6. Hafta HTML ve PHP 7. Hafta PHP ile Veritabanı İşlemleri 8. Hafta MYSQL, MYSQLİ 9. Hafta AJAX 10. Hafta 11. Hafta 12. Hafta 13. Hafta 14. Hafta Öğr. Gör. M. Mutlu YAPICI

Bu Ünitede Ele Alınan Konular PHP dilinin genel yapısı PHP de fonksiyonlar Kullanıcı Tanımlı Fonksiyonlar Dönüş değerine sahip Fonksiyonlar Varsayılan Parametreye Sahip Fonksiyonlar Referansa Bağlı Çağırılan Fonksiyonlar Öz Yinelemeli (Recursive) Fonksiyonlar Parametre Sayısı Değişen Fonksiyonlar Dışarıdaki Bir Dosyadan Fonksiyon Çağırmak

Ders Kazanımları Bu bölümü Bitirdiğimizde, PHP dilinin genel yapısı PHP de fonksiyonlar Kullanıcı Tanımlı Fonksiyonlar Dönüş değerine sahip Fonksiyonlar Varsayılan Parametreye Sahip Fonksiyonlar Referansa Bağlı Çağırılan Fonksiyonlar Öz Yinelemeli (Recursive) Fonksiyonlar Parametre Sayısı Değişen Fonksiyonlar Dışarıdaki Bir Dosyadan Fonksiyon Çağırmak öğrenmiş olacaksınız.

Fonksiyonlar Profesyonel programlamada Brute Force dediğimiz tek düze programlama yetersiz kalmaktadır. Geliştirdiğimiz yazılımların daha kolay analiz edilmesi ve modüler bir yapıya kavuşabilmesi ve hatta en önemlisi Nesnel Programlamaya (OOP) uygun olabilmesi için fonksiyon oluşturulması büyük önem taşımaktadır. Fonksiyonlar sayesinde yapacağımız programları görevlerine göre parçalara ayırıp her bir göreve bir fonksiyon tanımlayarak aynı göreve başka yerde ihtiyacımız olduğunda tekrar tekrar aynı kodları yazmaktan kurtuluruz. Fonksiyonların programlamadaki önemini sayfalarca anlatsak azdır. Daha fazla bilgiyi çeşitli kaynaklardan edinebilirsiniz.

Fonksiyonlar PHP de Fonksiyon tanımlama işlemi function anahtar kelimesi ile yapılmaktadır. Örnek : function Fonksiyon Adı () { Yapılacak İşlemler...

Fonksiyonlar PHP de Fonksiyon tanımlama işlemi function anahtar kelimesi ile yapılmaktadır. Örnek : function merhabayaz () { Echo Merhaba ; merhabayaz();//fonksiyonu ismi ile çağırıyoruz.

Fonksiyonlar Fonksiyonlara dışarıdan değer gönderebilmek için fonksiyon argümanları kullanılmaktadır. Fonksiyon parantezleri arasına tanımlanan değişkenlere fonksiyon argümanı yada parametre denir. Bu değişkenler sayesinde fonksiyonlara dışarıdan bilgi yüklemesi yapılır. Örnek : function merhabayaz ($adi) { Echo Merhaba.$adi; merhabayaz( Mutlu );//Fonksiyonu ismi ile çağırıyoruz.

Fonksiyonlar Fonksiyonlara dışarıdan değer gönderebilmek için fonksiyon argümanları kullandığımızı söyledik peki ama fonksiyon içerisinden dışarıya nasıl veri göndereceğiz. Bu işlem için de fonksiyonların değer dönderme özelliklerini kullanacağız. Fonksiyonlar return anahtar kelimesi ile çağırıldıkları yere sonuç dönderirler. Örnek : function ToplamaIslemi ($sayi1, $sayi2) { return $sayi1 + $sayi2; Echo ToplamaIslemi(5, 10);//toplama işlemi yapıyor.

Fonksiyonlar Örnek; $sayi ve $islemturu diye iki argümanı bulunan bir fonksiyon tanımlayınız. Bu fonksiyonun $islemturu değeri tek ise 1 den itibaren $sayi ya kadar olan tek sayıları, çift ise 1 den itibaren $sayi ya kadar olan çift sayıları, tümü ise 1 den itibaren $sayi ya kadar olan tüm sayıları, toplasın.

Fonksiyonlar Örnek; Bir önceki sorudan $islemturunu çıkartın. $sayı ya kadar olan tek, çift ve tum toplamları bulup bunları dizi şeklinde geri dönderin.

Varsayılan Parametreli Fonksiyonlar Fonksiyonları çağırırken eğer bir parametresine değer göndermezseniz hata mesajı ile karşılaşırsınız. Eğer bazı parametrelere her zaman değer göndermeyelim onların varsayılan bir değeri olsun göndermediğimizde o değer geçerli olsun diyorsanız. Default yani varsayılan değerlerini tanımlamalısınız. Örnek : function ToplamaIslemi ($sayi1, $sayi2) { return $sayi1 + $sayi2; Echo ToplamaIslemi(10);//parametre eksi hatası alırsınız. Örnek : function ToplamaIslemi ($sayi1, $sayi2=5) { return $sayi1 + $sayi2; Echo ToplamaIslemi(10);//işlem başarılı çünkü ikinci varsayılan değere sahip.

Varsayılan Parametreli Fonksiyonlar Faktöriyel hesabı yapan bir fonksiyon oluşturun. Eğer fonksiyona değer gönderilmiyorsa 10 faktöriyeli hesaplasın. Gönderiliyorsa gönderilen sayının faktöriyelini hesaplasın.

Referansla Çağrılan Fonksiyonlar Şimdiye kadar kullandığımız fonksiyonları değer gönderme ve değeri geri alma şeklinde tanımladık. Bu tip fonksiyonlarda tanımlanan her değişken aynı adla bile olsa yeni bir değişkeni ifade eder. Daha önceki konularda değişken tanımlarken değişkenleri referansları ile tanımlayıp birbirlerine bağlamıştık. Fonksiyonlara gönderdiğimiz parametre değişkenleri de aynı şekilde referansla birbirlerine bağlayarak return işlemine gerek kalmadan değer alabiliriz. Örnek : function Karesi (&$sayi) { $sayi *=$sayi; $a=6; ToplamaIslemi($a); Echo $a;//a değeri 6 değil artık 36 dır çünkü $sayi anın adresine işlem sonucunu yükledi. Böylece retun e gerek kalmadan sonucu alabildik

Parametre Sayısı Değişen Fonksiyonlar Bazen fonksiyona göndereceğimiz parametre sayıları değişebilir ve biz başlangıçta kaç adet veri göndereceğimizi bilmeyebiliriz. Bu gibi durumlarda parametre sayısı değişen fonksiyon mantığını kullanabiliriz. Bu fonksiyon türündeki ana mantı, öncelikle fonksiyon içerisinden fonksiyona o anda kaç parametre geldiğini öğrenmeliyiz ve bunun için func_num_args(); fonksiyonunu kullanacağız. Daha sonra her parametre değerini dönğü ile sırasıyla alıp işleme katacağız. Parametreler gelirken sanki bir dizi elemanıymış gibi geliyor yani 0. indisten başlayarak sıralı bir şekilde geliyor. İndis numarası ile sıradaki elemana ulaşabilmek için de func_get_args(); fonksiyonunu kullanacağız. Örnek : function carpim(){ $carpim=1; $par_say= func_num_args();///gelen parametre sayısını aldık for($i=0;$i<$par_say;$i++) { $carpim *=func_get_arg($i);//$i. sıradaki parametreyi alıp işleme katıyoruz return $carpim; echo carpim(2,5,7,8,10);//5600 echo carpim(22,5);//110

Recursive Fonksiyonlar Bazı işlemler aslında hep kendini tekrar eder sadece işleme gelen parametre değerleri değişir. Bu gibi durumlarda işlemi sürekli çağırmak gerekir. İşte bu gibi durumlarda kendi kendini çağıran fonksiyonlar kullanılır. Bir çok sıralama algoritmasında ve gelişmiş algoritmalarda öz yinelemeli yani recursive fonksiyonlar çok sık kullanılır. Örneğin faktöriyel hesaplamalarında aslında 1 e kadar olan sayılar hep toplamcarpimla çarpılır yani yapılan işlem hep değeri bir azaltıp çarpmadır. Bu faktöriyel hesaplama işlemine recursive fonksiyonlar çok uygundur. Örnek : function faktoriyel($sayi){ if($sayi<2) { return 1;//eğer gelen değer 2 den küçükse 1 döndürelim return $sayi * faktoriyel($sayi-1); ///1 den büyükse şimdiki değerle çarpılmak üzere değerin 1 eksiğini tekrar fonksiyona gönderelim. Yani fonksiyonu fonksiyon içinden tekrar çağıralım echo faktoriyel(5);//120

Farklı Dosyadan Çağırılan Fonksiyonlar Programlamada tek bir dosyaya tüm kodları yazmak, tüm fonksiyonları oluşturmak kod karmaşasına ve düzensizliğe sebep olur ve kodları yorumlamak analiz etmek zorlaşır. Bu gibi durumlarla karşılaşmamak için aslında biz programcılar her kodu her fonksiyonu ilgili dosyaya kaydedip gerektiğinde o dosyayı kullanacağımız yere import ederek yani yükleyerek kullanırız. Örneğin veritabanı işlemleri ile ilgili fonksiyonlar bir dosyada, kullanıcı işlemleri ile ilgili fonksiyonlar başka bir dosyada, oturum işlemleri ile ilgili fonksiyonlar başka bir dosyada tanımlanarak daha düzenli bir yapı oluşturulur. İşte bu gibi durumlarda kullanılacak fonksiyona ait dosya gereklidir ve kullanacağımız yere yüklenmelidir. Yükleme işlemi için PHP de require( dosya adi ); fonksiyonu kullanılır. Örnek : bu kod faktoriyel.php dosyasında olsun function faktoriyel($sayi){ if($sayi<2) { return 1;//eğer gelen değer 2 den küçükse 1 döndürelim return $sayi * faktoriyel($sayi-1); ///1 den büyükse şimdiki değerle çarpılmak üzere değerin 1 eksiğini tekrar fonksiyona gönderelim. Yani fonksiyonu fonksiyon içinden tekrar çağıralım Ve şimdi biz onu anasayfa.php den kullanmak isteyelim. Öncelikle faktöriyel.php yi yüklemeliyiz. require( faktöriyel.php ); // faktöriyel.php dosyası yükleniyor. echo faktoriyel(5);//120 fonksiyon kullanılıyor.

KAYNAKLAR İnternet ortamı PHP ve AJAX Haydar TUNA A dan Z ye PHP Rıza ÇELİK