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

Save this PDF as:
 WORD  PNG  TXT  JPG

Ebat: px
Şu sayfadan göstermeyi başlat:

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

Transkript

1 FONKSİYONLAR Fonksiyon, programcı tarafından seçilen bir kod bloğuna isim vermek için kullanılan araçtır. Fonksiyon ismi program içerisinde çağrıldığında fonksiyonun temsil ettiği kod çalıştırılır. Örneğin bir sayının faktöriyelini hesaplayan aşağıdaki kod parçasını program içerisinde birçok defa yazmak yerine aynı işlemi gerçekleştiren bir fonksiyon tasarlayıp faktöriyel hesabına ihtiyaç duyulduğunda sadece bu fonksiyonun ismini yazmak çok daha pratik olacaktır. int sayi = 5; int faktoriyel = 1; for(int i=5;i>0;i--) faktoriyel*=i; Faktöriyel Hesabı Faktöriyel Fonksiyonu İlk programımızda main fonksiyonunu yazarak aslında ilk fonksiyonumuzu da tasarlamış olduk. Tabi ki bu fonksiyonu biz değil işletim sisteminin kendisi çağırmaktadır. Yukarıdaki tasarladığımız fonksiyonu ise biz veya fonksiyonumuzu verdiğimiz başka bir programcı çağıracaktır. Aşağıdaki kod bloğunda faktöriyel fonksiyonunun çağrılıp elde edilen değerin bir değişkene atılması gösterilmektedir. int main() int sayi = faktoriyel(5); Faktöriyel fonksiyonu kullanılırken öncelikle çağrılacak olan fonksiyonun ismi yazılır ardından derleyiciye yazılan ismin bir fonksiyona ait olduğunu belirten sol parantez ( karakteri yazılır (Bu karakteri gören derleyici faktoriyel isminin bir değişkene değil de bir fonksiyona ait olduğunu anlamaktadır). Eğer ki fonksiyon yapacağı hesaplama için bir veya birden fazla değeri çağırandan bekliyor ise sol ve sağ parantezler arasına bu değerler girilmelidir. faktoriyel fonksiyonu hangi sayının faktöriyelini alacağını, çağıranın (biz) buraya girdiği değerden almaktadır. Fonksiyonun dışardan aldığı bu değerlere parametre adı verilmektedir. Yukarıdaki örnekte faktöriyel fonksiyonuna parametre olarak 5 değeri girilmiştir.

2 YAZIM KURALI (SYNTAX) C/C++ dillerinde fonksiyon yazım kuralı aşağıdaki gibidir. Dönüş Türü Fonksiyon İsmi Türü Parametreler int faktoriyel (int sayi) Gövde DÖNÜġ TÜRÜ Fonksiyonları çağıran kişiye çağıran (caller) veya istemci(client) adı verilmektedir. Örneğin aşağıdaki kod parçası ile biz çağıran olarak faktoriyel fonksiyonundan 5 sayısının faktöriyelini hesaplamasını istiyoruz. Fonksiyon çağrıldıktan sonra gerekli işlemleri yapıp faktöriyel işleminin sonucunu bulmaktadır. Bulunan sonuçtan çağıranın da haberdar olması için fonksiyon elde ettiği değeri return komutu ile çağırana getirmektedir. Bu işleme değer döndürmek adı verilir. Fonksiyon tanımlanırken ilk olarak döndüreceği değerin türü belirtilmelidir. Faktöriyel fonksiyonu tam sayı bir sonuç elde edeceğinden fonksiyonun dönüş türü de tam sayı olacaktır. Fonksiyonlar çalışmaya başladıktan sonra işlettiği ilk return komutu ile dönüş yapmaktadır. Aşağıdaki return komutu fonksiyonun son satırında yer almaktadır fakat kimi durumlarda bu komutun yeri değişebilir. int main() int sonuc = faktoriyel(5); int main() int sonuc = 120; Fonksiyon bulduğu sonucu çağırana döndürür

3 FONKSĠYON ĠSMĠ Fonksiyon ismi yazılırken değişken ismi kuralları aynen geçerlidir. Fonksiyon isimleri içerisinde sadece İngilizce karakterler kullanılmalıdır. Türkçe karakterler farklı derleyici ve sistemlerde problem çıkartabilir. Bu sebeple kesinlikle Türkçe karakter kullanılmamalıdır. Fonksiyon ismi yaptığı iş hakkında bilgi verecek şekilde seçilmelidir. İsmin başlangıç harfi kimi sistemlerde küçük iken Windows gibi sistemlerde büyük harfle başlamaktadır. Bu seçim programcıya aittir. Mühim olan yapılan seçime program boyunca uyulmasıdır. Ayrıca fonksiyon ismindeki her kelimenin ilk harfi büyük diğer harfleri küçük olmalıdır. int F (int sayi) HATALI DOĞRU int s(int sayi) int karekokbul(int sayi) HATALI DOĞRU Fonksiyon ismi ile aynı isme sahip değişken tanımlanmamalıdır. Örneğin aşağıdaki kodda, faktoriyel ismi öncelikle bir fonksiyon olarak tanımlanırken daha sonra bir tam sayı değişkeni için kullanılmıştır. Bu işlemin ardından faktoriyel ismi ile bir fonksiyon çağrısı yapılmıştır. Fakat derleyici isim ezme kurallarını dikkate aldığı için faktoriyel ismini bir tam sayı değişken olarak algılar ve fonksiyon çağrısı yapılamayacağını belirten bir hata verir. İkinci durumda ise tam sayı değişkeni fonksiyon çağrısından sonra tanımlandığı için derleyici faktöriyel isminin bir fonksiyona ait olduğunu bilir ve bir hata görmez ve kodu derler. Sağdaki kod çalışmasına rağmen pratik açıdan büyük problemler doğurabilir. Fonksiyon isimleri ile değişken isimleri asla karıştırılmamalıdır. int main() int faktoriyel = 7; int sayi = faktoriyel(5); int main() int sayi = faktoriyel(5); int faktoriyel = 7;

4 PARAMETRELER Fonksiyonlar yapacakları işlemler için kullanıcıdan bilgi isteyebilirler. Örneğin faktöriyel fonksiyonu hangi sayının faktöriyelinin alınacağını çağırandan(yani programcıdan) parametre olarak beklemektedir. Fonksiyon tanımlanırken dışarıdan beklenen değerler göz önünde bulundurulmalı ve parametreler buna göre yazılmalıdır. Örneğin bir sayının üstünü alan fonksiyon tasarlamak istersek kullanıcıdan iki değer almamız gerekir. İlk parametre üstü alınacak sayı iken diğer parametre üst değeri olmalıdır. Aşağıda üst alan bir fonksiyon verilmiştir. Fonksiyon iki parametre alacak şekilde tasarlanmıştır. Eğer dikkat ederseniz fonksiyonun gövdesinde alınan parametreler kullanılmaktadır. Fonksiyonu çağıran kişi iki parametre değeri girmek zorundadır yoksa derleyici hata verecektir. Çağrı yapılırken arka planda derleyici fonksiyonun tasarımına bakar ve fonksiyon çağırmak için gereken makine kodlarını oluşturur. Eğer fonksiyonu çağırırken eksik parametre girerseniz iki parametre almak üzere yazılmış olan makine kodları da yanlış sonuçlar verecektir. Bu yüzden derleyici parametre sayısı konusunda hata kabul etmez. int ustal(int taban,int ust) for(int i=0;i<ust;i++) sonuc*=taban; int main(int argc,char** argv) int sayi = ustal(2,4); Doğru Çağrı int ustal(int taban,int ust) for(int i=0;i<ust;i++) sonuc*=taban; int main(int argc,char** argv) int sayi = ustal(2); Hatalı Çağrı Birden fazla parametre alan fonksiyon tasarlanırken parametreleri ayırmak için virgül kullanılmaktadır. Aynı şekilde fonksiyonu çağırırken de yine virgül kullanılır. Ayrıca fonksiyonun alacağı parametreler yazılırken değişken tanımlama kurallarına aynen riayet edilmelidir. Parametreler fonksiyona ait yerel değişkenlerdir. Ömürleri fonksiyon çağrılırken başlar ve fonksiyon geri döndükten sonra sona erer. Parametre değişkenlerin etki alanı sadece tanımlandıkları fonksiyon gövdesi ile sınırlıdır. Örneğin yukarıdaki örnekte taban parametresi main fonksiyonu içerisinde bir anlam ifade etmemektedir. Parametrelere daha önceden tanımlanmış değişkenler girildiğinde değişkenin sadece değeri fonksiyona yollanır. Aşağıdaki örneğe bakacak olursak a ve b değişkenleri fonksiyona parametre olarak verilmektedir. Fonksiyon çağrısı yapılmadan önce değişkenlerin değerleri hafızadan çekilip fonksiyona parametre olarak verilmektedir. int main(int argc,char** argv) int a=2,b=4; int sayi = ustal(a,b); int sayi = ustal(2,4);

5 GÖVDE Fonksiyon gövdesi simgesinin hemen ardından başlar ve simgesi ile sona erer. Fonksiyonu bitirmenin bir diğer yolu ise return komutunu kullanmaktadır. return komutu fonksiyonun çağrıldığı noktaya geri dönmesini sağlar. Fonksiyon çağrısı işlemcinin izlediği yolu değiştirmesine neden olmaktadır. Fonksiyon bittiğinde ise çağrının yapıldığı noktadan yolunda devam etmesi gerekir. Yazılan bütün programların bir başlangıç noktasına ihtiyacı vardır bizim programımızın ki ise main fonksiyonu dur. Bu fonksiyon işletim sistemi tarafından çağrılır ve işlemci fonksiyon içerisindeki komutları sıra ile işletir. Örneğin aşağıdaki kod bloğunda ilk önce 10. Satır çalıştırılmaktadır. Fakat bu satırdaki işlemin tamamlanabilmesi için ustal fonksiyonunun (2, 4 parametreleri ile) çağrılması gerekmektedir. Bu yüzden işlemci çalışma akışını değiştirip 3.satıra atlar ve buradan sıra ile komut satırlarını işletir. İşlemci 7. Satıra geldiğinde return komutu ile karşılaşır ve fonksiyon çağrılmadan önceki noktaya yani 10. satıra (dönüş değeri sonuc ile) geri döner. sayi değişkenine ustal fonksiyonundan gelen değer (8) atandıktan sonra işlemci 11.satırı işletir ve program sona erer. 1. int ustal(int taban,int ust) for(int i=0;i<ust;i++) 5. sonuc*=taban; int main(int argc,char** argv) int sayi = ustal(2,4); 11. cout<<"sayi...:"<<sayi<<endl; 12. return komutu fonksiyonun son satırından daha öncede kullanılabilir. Örneğin aşağıdaki fonksiyon, parametrelerinden birisinin 0 olması durumunda hemen sonlanıp geriye 0 değeri döndürmektedir. Dikkat edersek bu mantıklı bir istek çünkü 0 sayısının bütün üstleri yine 0 olacaktır. Bu durumda program çalıştırılırsa öncelikle12.satırda ustal fonksiyonu çağrılacak ve işlemci buradan yönünü değiştirip 3. Satırdaki koşulu çalıştıracaktır. Koşul sonucu doğru olduğu için return 0 komutu devreye girer ve işlemci fonksiyonun çağrıldığı noktaya yani 12. Satıra dönüş değeri ile geri döner. 1. int ustal(int taban,int ust) if(taban==0) 4. return 0; for(int i=0;i<ust;i++) 7. sonuc*=taban; int main(int argc,char** argv) int sayi = ustal(0,4); 13. cout<<"sayi...:"<<sayi<<endl; 14.

6 DÖNÜġ DEĞERĠ OLMAYAN FONKSĠYONLAR Fonksiyonlar işleri bittikten sonra çağrıldıkları noktaya geri dönerler. Fakat kimi fonksiyonlar geri dönerken bir değer getirmezler. Bu fonksiyonların dönüş değerleri void olmalıdır. Örneğin programınız içerisinde ekrana * simgelerinden oluşan bir şekil çizdirmek istiyorsunuz. Bu işlemi gerçekleştirecek kodları sürekli yazmak yerine fonksiyon kullanmak istiyorsunuz. Fonksiyonunuz sadece ekrana yazı çıkartacak ve size bir değer getirmeyecektir. Bu durumda fonksiyonun dönüş değerini void yazmak çok daha mantıklı olacaktır. 1. void yildiz() for(int i=0;i<10;i++) 4. cout<<"*"; int main(int argc,char** argv) yildiz(); Değer getirmemesi fonksiyonun dönmediği anlamına gelmez. Yukarıdaki yildiz fonksiyonunda return ifadesi yer almamaktadır. Bu yüzden fonksiyon, son satırına kadar işletilecek ve ardından (diğer bütün fonksiyonlarda olduğu gibi) çağrıldığı noktaya geri dönecektir. Dönüş değeri olmamasına rağmen void fonksiyonlarda return komutu kullanılabilir. Aşağıdaki fonksiyona dikkat edecek olursanız 3.satır da return komutu kullanılmış fakat sağında bir değer bulunmuyor. Bunun anlamı fonksiyon 3.satırda çağrıldığı noktaya dönüş yapıyor fakat bir değer getirmiyor. Fonksiyonumuz çağrıldığı gibi geri döndüğü için 4 ve 5. Satırı hiçbir zaman işletemeyecektir. 1. void yildiz() return; 4. for(int i=0;i<10;i++) 5. cout<<"*"; int main(int argc,char** argv) yildiz(); yildiz fonksiyonu ile ilgili bir özellikte parametresinin olmamasıdır.

7 Fonksiyonların ĠĢleyiĢi Fonksiyonlar çağrıldığında işlemci kodu işletme sırasını değiştirip farklı satırlardaki komutları çalıştırmaya başlayacaktır. Örneğin aşağıdaki kodun 12.satırında ustal fonksiyonu çağrıldığında işlemci artık main fonksiyonunda devam etmeyip 3.satırdaki kodları işletmeye başlar. main fonksiyonu ustal fonksiyonu geri dönene kadar beklemede kalacaktır. Bu teknik bütün programlama dillerinde mevcuttur. Bir fonksiyonu daima başka bir fonksiyon çağıracaktır. Çağıran fonksiyon çağrılan fonksiyon işini bitirene kadar beklemede kalır. 1. int ustal(int taban,int ust) cout<<"ustal calisti"<<endl; for(int i=0;i<ust;i++) 7. sonuc*=taban; int main(int argc,char** argv) int sayi = ustal(0,4); 13. cout<<"main devam ediyor"<<endl; 14. EKRAN ÇIKTISI main fonksiyonunun işleyişi aşağıdaki şekilde gösterilmiştir. Şekilden de görüleceği gibi ustal fonksiyonu çağrıldıktan sonra main fonksiyonu ustal fonksiyonun bitmesini beklemektedir. ustal döndükten sonra main yoluna devam etmektedir.

8 DEĞER ĠLE ÇAĞIRMA ( call by value) Fonksiyon parametrelerinin de birer değişken olduğundan bahsetmiştik. Ayrıca değişkenler konusu sayesinde değişkenlerin tanımlandıkları etki alanları içerisinde var olduklarını biliyoruz. Buna göre aşağıda ki degistir fonksiyonunun a ve b değişkenlerinden haberi yoktur. Fonksiyona sadece a ve b değişkenlerinin sahip olduğu değerler verilir. Aşağıda degistir fonksiyonu çağrılmadan önceki hafızanın sembolik bir görüntüsü verilmiştir. 1. void degistir(int sayi1,int sayi2) int temp = sayi1; 4. sayi1= sayi2; 5. sayi2 = temp; int main(int argc,char** argv) int a=2,b=4; 10. degistir(a,b); 11. cout<<a<<b; 12. Değişken Adı Hafıza Hücre İçeriği a 2 b 4 Fonksiyon çağrıldıktan sonraki hafıza görüntüsü de aşağıda verilmiştir. degistir fonksiyonuna ait olan sayi1 ve sayi2 değişkenleri, a ve b değişkenlerinin sadece değerlerini almıştır. Fonksiyon a ve b değişkenlerinin varlığından habersizdir. Dolayısıyla onları manipüle edemez. 1. void degistir(int sayi1,int sayi2) int temp = sayi1; 4. sayi1= sayi2; 5. sayi2 = temp; int main(int argc,char** argv) int a=2,b=4; 10. degistir(a,b); 11. cout<<a<<b; 12. Değişken Hafıza Hücre Adı İçeriği a 2 b 4 sayi1 2 sayi2 4 Aslında fonksiyona parametre olarak bir değişken verilirken sadece değişkenin değeri alınmaktadır. Alınan bu değerler aşağıdaki gibi fonksiyonun sayi1 ve sayi2 değişkenlerine ilk değer olarak atanmaktadır. (aşağıdaki işlem sadece bir gösterimdir) 1. void degistir(int sayi1 = 2,int sayi2 =4 ) int temp = sayi1; 4. sayi1= sayi2; 5. sayi2 = temp; int main(int argc,char** argv) int a=2,b=4; 10. degistir(a,b); 11.

9 Ön Tanımlama ( Forward Decleration) Fonksiyon çağrısının da makine kodu karşılığı mevcuttur. Fakat çağrı yapılmadan önce de bazı hazırlık işlemlerinin yine makine kodu ile yapılması gerekir. Derleyicinin bütün bu işleri doğru şekilde yapabilmesi için çağrılacak fonksiyonun dönüş değeri, ismi ve parametre bilgilerini çağrıdan önce bilmesi gerekir. Aşağıda degistir fonksiyonun çağrısına karşılık gelen makine kodları gösterilmektedir. 5.satırdaki call komutu fonksiyonu çağıran asıl makine komutudur. Önceki satırdaki makine komutları fonksiyon çağrısına yapılan hazırlıktır. 1. void degistir(int sayi1,int sayi2) int temp = sayi1; 4. sayi1= sayi2; 5. sayi2 = temp; int main(int argc,char** argv) int a=2,b=4; 10. degistir(a,b); mov eax,dword ptr [b] 2. push eax 3. mov ecx,dword ptr [a] 4. ecx 5. call ustal (2111C7h) Programımız tek bir dosyadan ibaret olduğundan şu ana kadarki fonksiyon tanımlama yöntemi bir problem teşkil etmeyecektir. Fakat büyük projelerde birçok dosya olması kaçınılmazdır. Bugüne kadarki programlarımızda daima bir kütüphane eklediğimizi düşünürsek aslında bizim projelerimizde birden fazla dosya ile çalışmaktadır. Dolayısıyla fonksiyonlar farklı dosyalarda bulunabilir. Bu fonksiyonları çağırmak için derleyicinin fonksiyona ait dönüş türü, fonksiyon ismi ve parametre bilgilerine ihtiyaç duyacaktır. Bu bilgiler fonksiyon çağrılmadan önce derleyiciye verilmelidir. C++ programlama dili gövdesi farklı yerde bulunan fonksiyonların çağrılmasına imkân tanıyan ön tanımlama (forward decleration) adı verilen bir mekanizmaya sahiptir. Aşağı solda bulunan kod parçasını incelersek degistir fonksiyonunun gövdesinin çağrıldıktan sonra tanımlandığını göreceğiz. C++ derleyicisi bu durumda bizlere değiştir fonksiyonun tanımlı olmadığını söyleyecektir(fonksiyon farklı bir dosyada da olabilirdi). Derleyici, çağrı yapılmadan önce fonksiyonu göremediği için hata vermektedir. Bu problemin çözümü fonksiyonun ön tanımlamasını çağrılmadan önce yapmaktır. Fonksiyonun ön tanımlamasına prototip adı da verilmektedir. int main(int argc,char** argv) int a=2,b=4; degistir(a,b); cout<<a<<b; void degistir(int sayi1,int sayi2) int temp = sayi1; sayi1= sayi2; sayi2 = temp; Hatalı Çağrı void degistir(int sayi1,int sayi2); int main(int argc,char** argv) int a=2,b=4; degistir(a,b); cout<<a<<b; void degistir(int sayi1,int sayi2) int temp = sayi1; sayi1= sayi2; sayi2 = temp; Doğru Çağrı

10 Kendini Çağıran Fonksiyonlar (Öz Yineleme) Kimi problemler aynı işlemin farklı değerler ile sürekli yapılmasıyla elde edilebilir. Bu tip durumlar da şuana kadar döngüleri kullanmaya çalıştık. Fonksiyonlar sayesinde farklı bir çözüm daha üretebiliyoruz. Örneğin aşağıdaki faktöriyel hesabı yapan fonksiyonu öz yinelemeli olarak çözümü gösterilmektedir. int main() int faktoriyel = 7; int sayi = faktoriyel(5); if(sayi==1) return 1; return sayi*faktoriyel(sayi-1); int main() int sayi = faktoriyel(5); faktoriyel fonksiyonu 5 değeri ile çağrıldığında gerçekleşen işlemler aşağıdaki gibidir. Fonksiyon ilk olarak parametrenin 1 olup olmadığını kontrol ediyor. Ardından bu fonksiyon içerisinde faktoriyel fonksiyonu 4 değeri ile yeniden çağrılıyor. Aynı işlem şekilde de görüldüğü üzere parametre 1 olana kadar devam etmektedir. Ardından faktoriyel(1) fonksiyonu faktoriyel (2) fonksiyonuna 1 değerini döndürür. faktoriyel (2) fonksiyonu bu değeri 2 ile çarpıp sonucu faktoriyel (3) fonksiyonuna döndürür. Bu işlem faktoriyel (5) fonksiyonuna kadar devam eder. faktoriyel(5) fonksiyonu kendisine dönen değeri 5 ile çarpıp sonucu ilk çağrıyı yapana döndürecektir. int sayi = faktoriyel(5); //faktoriyel(4) için int faktoriyel(4) if(4==1) return 1; return 4*faktoriyel(3); //faktoriyel(2) için int faktoriyel(2) if(2==1) return 1; return 2*faktoriyel(1); //faktoriyel(5) için int faktoriyel(5) if(5==1) return 1; return 5*faktoriyel(4); //faktoriyel(3) için int faktoriyel(3) if(3==1) return 1; return 3*faktoriyel(2); //faktoriyel(1) için int faktoriyel(1) if(1==1) return 1;

11 Aşağıdaki şekle dikkat edecek olursak fonksiyonlar parametre değerini bir azaltarak sürekli aynı fonksiyonu çağırıyorlar. Taki faktoriyel(1) fonksiyonu çağrılana dek. Parametre 1 olduğunda fonksiyon kendisini çağırmayı kesip 1 değerini geri döndürmektedir. Bu bir döngünün bitiş koşuluna benzer. Öz yineleme işlemininde de bir sona ihtiyacı vardır. Aksi taktirde sonsuz bir fonksiyon çağrısı programımızın hata (stack overflow) verip sonlanmasına sebep olacaktır. Dikkat etmemiz gereken bir hususta faktoriyel(2) fonksiyonunun faktoriyel(1) fonksiyonu bitmeden yoluna devam edemeyecek olmasıdır. faktoriyel(1) fonksiyonu 1 değerini faktoriyel(2) fonksiyonuna döndürecektir. Aynı şekilde faktoriyel(2) fonksiyonu da hesapladığı sonucu faktoriyel(3) fonksiyonuna oda şekilde de görüldüğü gibi sonucu faktoriyel(4) fonksiyona döndürecektir. faktoriyel(4) fonksiyonu öz yinelemeyi başlatan faktoriyel(5) fonksiyonuna kombine sonucu döndürecektir. faktoriyel(5) fonksiyonu ise çağrıldığı noktaya döndürdüğü değeri bırakıp işlemi sonlandıracaktır. int sayi = faktoriyel(5); 5*faktoriyel(4) 4*faktoriyel(3) 3*faktoriyel(2) 2*faktoriyel(1) 1 int sayi = 120 5*24 4*6 3*2 2*1 1

12 Kara Kutu Tasarımı (Black box) Fonksiyonlarımızı tasarlarken onları sadece kendimiz için değil başka programcılarında kullanacağını düşünerek tasarlamalıyız. Aynı şekilde bizler de bugüne kadar başkaları tarafından tasarlanmış fonksiyonları kullandık. Örneğin pow fonksiyonu üst almaya yaramaktadır. Bu fonksiyon hakkında bildiğimiz iki parametre aldığı ve sonucu dönüş değeri olarak döndürdüğüdür. Fonksiyonun gövdesi hakkında bilgi sahibi değiliz. Bizim açımızdan pow fonksiyonu bir kara kutudan ibarettir. Bu televizyon ile kumanda arasındaki ilişkiye benzer. Televizyonun teorik olarak nasıl çalıştığını bilmiyoruz ama kumanda sayesinde onu istediğimiz gibi kullanıp sonuç alabiliyoruz. Aşağıda pow fonksiyonun çağrısı gösterilmiştir. pow fonksiyonuna yapacağı hesaplama ile ilgili bilgileri parametre yoluyla veriyoruz. Fonksiyon gerekli işlemleri yaptıktan sonra elde ettiği sonucu bize dönüş değeri olarak bildirmektedir. Binlerce programcı bu fonksiyonu bizimle aynı amaç için kullanmaktadır. Bu yüzden bir fonksiyon tasarlarken basitliğine özen gösterilmelidir. pow(2.0,3.0) pow 8 pow fonksiyonu tek ve basit bir işi gerçekleştirmektedir. Bu sayede fonksiyon herkesin isteğine karşılık verebilir. pow fonksiyon içerisine sadece bizim işimizi görecek kodlar yerleştirseydik fonksiyonu kullanacak tek kişi de biz olurduk. Örneğin tasarladığınız fonksiyonun içerisine konsola yazı yazdırmak gibi işlemler yapılmamalıdır. Fonksiyon Gövdesinin Büyüklüğü Fonksiyonlar tasarlanırken gövdesi olabildiğince küçük tutulmalıdır. Bunu sağlayabilmek için yazdığımız fonksiyonun tek bir görevi gerçekleştirmesini sağlamalıyız. Örneğin e sayısını hesaplayacak bir fonksiyon tasarlamak isteyelim. e sayısını elde edeceğimiz seri aşağıdaki gibi olduğuna göre bu işlemi gerçekleştirecek fonksiyonda sağdaki gibi olacaktır. float ehesapla(int sinir) float sonuc = 0; for(int i=0;i<sinir;i++) int faktoriyel = 1; for(int j=i;j>0;j--) faktoriyel*=j; sonuc+=1.0f/faktoriyel; Eğer ehesapla fonksiyonuna dikkat edecek olursak iki işlemi bir arada yapmaktadır. İçerdeki döngü faktöriyel işlemi yapmaktadır. Bu işlem için ayrı bir fonksiyon tasarlayabiliriz.

13 float ehesapla(int sinir) float sonuc = 0; for(int i=0;i<sinir;i++) sonuc+=1.0f/ faktoriyel(i); Faktöriyel işlemi ayrı bir fonksiyon ile elde edildiğinden ehesapla fonksiyonunun gövdesi daha basit bir hale geldi. Ayrıca ehesapla fonksiyonunda oluşacak hatalar fonksiyon gövdesi küçük olduğundan çok daha kolay bulunacaktır. Programcılık hayatınız boyunca oluşturacağınız fonksiyon gövdelerinin küçük olmasına dikkat edin. Büyük gövdeye sahip olan bir fonksiyonda çıkacak bir hatayı bulmak çok zor olacaktır. Hâlbuki gövde küçük olduğunda hatayı bulmakta kolay olacaktır. Fonksiyon Dokümantasyonu Programcı olarak yazdığımız kodların daima bir program üreteceğini düşünmemeliyiz. Kimi zaman programcıların görevi başka programcılara yardımcı olacak kütüphaneleri tasarlamak olabilir. Bu durumda sonuçta tek başına çalışılabilecek bir ürün elde edilmez. Ayrıca yazdığımız fonksiyonları başka programcılar kullanacağından fonksiyonların kullanımı ve davranışları hakkında bilgi verilmesi gerekir. Genellikle bu bilgiler fonksiyon isminin üzerinde yer alır. /* Bir sayının istenen üstünü taban üstü alınacak olan ust tabanın alınacak üst değeri. Negatif ust alma işleminin sonucu döndürülür. */ int ustal(int taban,int ust) for(int i=0;i<ust;i++) sonuc*=taban; Yazdığımız her fonksiyon için yukarıda olduğu gibi bir yorum bloğu eklemeliyiz. Bu sadece başka programcılar için değil kendimiz içinde faydalı olacaktır. Yorum stiliniz yukarıdaki ile birebir olmak zorunda değildir. Fakat fonksiyonun yaptığı iş, parametreleri, dönüş değeri ve kullanımı hakkında temel bilgiler yazılması şarttır.

14 Fonksiyon AĢırı Yükleme Programcılık hayatımızda aynı işlemin farklı türde parametreler için yapılması gerektiğini göreceğiz. Örneğin üst alma işlemi tam sayılar üzerinde çalıştığı gibi ondalık sayılar üzerinde çalışmasını da istiyoruz. Yapılacak işlem yine üst alma işlemi fakat parametreler farklıdır. C++ dili bu tip durumlar için fonksiyon aşırı yükleme adı verilen bir tekniğe sahiptir. Bu teknikte ismi aynı olan farklı fonksiyonlar tasarlayabilmekteyiz. Aşağıda iki farklı ustal isminde fonksiyon tanımlanmıştır. int ustal(int taban,int ust) for(int i=0;i<ust;i++) sonuc*=taban; float ustal(float taban,float ust) float sonuc = 1; for(int i=0;i<ust;i++) sonuc*=taban; int main(int argc,char** argv) cout<< ustal(2.4f,4.0f)<<endl; cout<< ustal(2,4)<<endl; EKRAN ÇIKTISI Yukarıdaki koda dikkat edecek olursak ustal fonksiyonu iki tanedir. Derleyici hangi fonksiyonun çağrılacağına, programcının fonksiyona girdiği parametrelerden karar vermektedir. main fonksiyonundaki ilk ustal(2.4f,4.0f) çağrısı derleyiciye parametreleri iki float olan ustal fonksiyonunun çağrılacağını belirtmektedir. main deki ikinci çağrı da ise parametreler iki tam sayıdır. Bu da derleyiciye çağrılacak fonksiyonun iki tane tam sayı olacağını belirtir. Bir fonksiyonu aşırı yükleyebilmek için parametre sayısının veya türlerinin değiştirmesi gerekir. Parametre sayısı arttırılabilir veya azaltılabilir. Mühim olan parametrelerin farklı olmasıdır. Aşırı yükleme için sadece dönüş değerlerinin farklı olması yeterli değildir. Derleyici hangi fonksiyonun çağrılacağına parametreler üzerinden karar verir. Fonksiyon isimleri aynı olması fonksiyonların aynı olduğu anlamına gelmez. Aslında iki farklı fonksiyon olmasına rağmen derleyici bizlere aynı ismi verme kolaylığı sağlamıştır. Aşağıdaki şekilde aşırı yüklenmiş fonksiyonların bizim tarafımızdan görünüşü ile derleyici tarafından görünüşleri verilmiştir. Biz float parametreli ustal fonksiyonunu çağırdığımızda derleyici bizim hangi fonksiyonu istediğimizi anlıyor ve ona göre asıl fonksiyonu çağırıyor. int ustal(int taban,int ust) int ustal_int_int(int taban,int ust) float ustal(float taban,float ust) int ustal_float_float(float taban,float ust) Bizim Gördüğümüz Derleyicinin Gördüğü

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

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir. İST 205 Bilgisayar Programlama III C Programlamaya Giriş ve Matematiksel-İstatistiksel Uygulamalar Y.Doç.Dr. Levent Özbek Ankara Üniversitesi Fen Fakültesi İstatistik Bölümü Tel: 0.312.2126720/1420 ozbek@science.ankara.edu.tr

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Programlama Dili Prensipleri. Lab Notları 4

Programlama Dili Prensipleri. Lab Notları 4 Programlama Dili Prensipleri Lab Notları 4 1. Karar Yapıları IF Yapıları Karar yapıları olarak C/C++ ile Java programlama dilleri birbirine yakın ifadeler içerir. Bir programın akışı yukarıdan aşağı doğru

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

WebInstaller. 1. Kurulum Đçin Gereksinimler

WebInstaller. 1. Kurulum Đçin Gereksinimler WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

C PROGRAMLAMA DİLİNE GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

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

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken] Sayaçlar Düzenli olarak artan (+) veya azalan (-) sayı veya string ifadeler elde etmek için kullanılırlar. Eşitliğin her iki tarafındaki değişken isminin aynı olmasına dikkat edin. Bu durum matematik olarak

Detaylı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

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

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları Microsoft Excel Microsoft Excel yazılımı bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

INTEGER OVERFLOW ***************************************************************/

INTEGER OVERFLOW ***************************************************************/ INTEGER OVERFLOW BELGE HAKKINDA Bu belge "GNU Free Documentation Licence" ile kaynak gösterilmek ve önceden yazarından izin alınmak kaydıyla yeniden yayınlanabilir. Bu belgedeki eksik, yanlış ya da geliştirilmesi

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

Bigisayar Programlama

Bigisayar Programlama Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :

Detaylı

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

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 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

Dr. Fatih AY Tel:

Dr. Fatih AY Tel: Bilgisayar Programlama Ders 5 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyonlar Fonksiyonlar Büyük programlar geliştirmenin en iyi yolu, onu orijinal programdan daha kolay

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir. www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta yunus@yunus.gen.tr Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013 How to ASP Language Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı 29 Eki. 1 Kas. 2013 Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; } for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

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

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

Detaylı

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz

Detaylı

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Python büyük-küçük harf ayrımı yapar. Pythonda kod yazarken girintiler kullanılır Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Klavyeden girilen bir değeri okumak ad=input("adınızı giriniz")

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 İşaretçiler ve Diziler Fonksiyon

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

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

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

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

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

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

if (ad == Sabri) Console.WriteLine(Merhaba Sabri. Ne zamandır gözükmüyodun...); Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ Fonksiyonlar (Alt programlar) Fonksiyon Kavramı Fonksiyon, belirli sayıda verileri kullanarak bunları işleyen ve bir sonuç üreten komut grubudur. Her fonksiyonun bir adı ve fonksiyona

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı

Bölüm 2 - C ile Programlamaya Giriş

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş LABORATUVAR ÇALIŞMASI 1 - Python a Giriş Bu Çalışmanın Amacı Bu çalışmadaki amacımız, kullandığımız sistem ve kullanım hedefimiz için en uygun olan Python sürümünü bilgisayarımıza yükleyerek bilgisayarımızı

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER ÜNİTE 9 MICROSOFT EXCEL - II BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ İÇİNDEKİLER Çalışma sayfasına yeni nesneler eklemek Veriler ile ilgili işlemler Grafikler ler Sıralama Yapmak Filtreleme Yapmak

Detaylı

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları Sayfa1 NESNE TABANLI PROGRAMLAMA 25.01.2011 Final Sınavı Cevapları CEVAPLAR 1. A ve C 3x3 boyutlu kare matrislerdir. Bu matrisler için, iken, işlemini gerçekleştirerek C matrisini oluşturan bir C++ programı

Detaylı

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Programlama Dili Prensipleri. Lab Notları 8 ve 9 Programlama Dili Prensipleri Lab Notları 8 ve 9 Fonksiyonel Programlama Fonksiyonel programlamada bir fonksiyon aynı parametreler aldığı sürece aynı sonucu üretecektir. Daha çok yapay zeka için kullanılan

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

7- Turbo Pascal Programlamada Alt Programlar (Procedure) 7- Turbo Pascal Programlamada Alt Programlar (Procedure) Alt programların ana programda yapacağımız ek işlevleri üstlendiğinden daha önceki bölümde bahsetmiştik. Alt programlar genelde ana program bloğu

Detaylı

Print Komutu ile Değişkenleri Yazdırmak

Print Komutu ile Değişkenleri Yazdırmak PYTHON DERS-4 Bu derste eksiklerimizi gidereceğiz. Şimdiye kadar bazı komutları kullandık ancak kullandığımız bu komutların özellikleri hakkında hiçbir şey öğrenmedik. İşte bu derste biraz onlardan bahsedeceğiz.

Detaylı

Giriş. ENF102 Jeoloji

Giriş. ENF102 Jeoloji DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

STORED PROCEDURE LER (Saklı Yordamlar)

STORED PROCEDURE LER (Saklı Yordamlar) STORED PROCEDURE LER (Saklı Yordamlar) Eskiden yazılımlar, sadece prosedür denilen kod parçalarından oluşurdu. Her prosedür belli bir işlevi yerine getirmek için yazılmış kod parçalarıdır. Mesela, 2 sayı

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2) BLM-112 PROGRAMLAMA DİLLERİ II Ders-3 İşaretçiler (Pointer) (Kısım-2) Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dinamik Bellek Yönetimi Bir program çalıştırıldığında

Detaylı

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ Değişkenler PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ C# Programlama Dili Giriş Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı