4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.

Slides:



Advertisements
Benzer bir sunumlar
STRİNG FONKSİYONLARI.
Advertisements

Fonksiyonlar.
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
Değişken Bildirimleri
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye Dayalı Programlama
Erişim Denetimi, Fonksiyon
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Paralel Programlamaya Giriş
FONKSİYONLAR.
Özyineleme(Recursion)
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Bilgisayar Programlama
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Algoritma & Programlama
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 10: ALTPROGRAM KAVRAMI ve FONKSİYON
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Fonksiyonlar.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
1 Değişken alanları Geçici değişkenler Birleşik ifadeler(bloklar) ve değişkenler Değişken Depolama Süresi ve Alanı –Local ve global değişkenler –Static.
Hafta2 Rekürsif Algoritmalar
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Programlama Dillerinin Prensipleri
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Bölüm 4 Seçme Komutları Alıştırmalar
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
PHP'de Program Denetimi
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
Bölüm 2 C Dilinin Temelleri
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-7
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
Aritmetik Operatörler
Bilgisayar Bilimi Fonksiyonlar-2.
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

4. Hafta1 4. HAFTA

4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama küçük ölçekte daha kolaydır  Küçük parçalara yoğunlaşmak kolaydır  Parçalara ayrılan problem çok sayıda insan tarafından paralel olarak çözülebilir  Yapısal programlama fonksiyonlarla mümkündür  Daha güvenli ve verimli kod üretimi

5. Hafta3 Fonksiyon(); ………. void fonksiyon() { } Ana Program Fonksiyon Fonksiyonlar (Functions)

4. Hafta4 Fonksiyonlara ait terimler  Tanıtım, prototip  Tanımlama  Kullanım  Parametre listesi  Dönüş tipi  Değişken kapsamları (Yerel, global,static,extern)  Değerle Çağırma (Call by value)  Referansla Çağırma (Call by reference)

4. Hafta5 Fonksiyon Tanımlama Format: Fonk_dönüş_değer_tipi fonksiyon_ismi (parametre_listesi){ gerekli değişken tanımlamaları; fonksiyon gövdesi; } Örnek: Çağrıldığı alandan aldığı tamsayının karesini döndüren fonksiyon tanımı: int kareAl(int x){ return x*x; }  Her fonksiyon bir değer döndürmek zorunda olmayabilir (void ). Örnek: Ekrana alınan parametreye göre mesaj yazdırma: void mesaj (int mesajNo){ switch(mesajNo){ case 0: cout<<“Mesaj 0”;break; case 1: cout<<“Mesaj 1”;break; default:cout<<“Tanımsız Durum”; }} Dikkat : Fonksiyon tanımı çağıran fonksiyondan önce yapılmalı. Eğer sonra yapılacaksa, tanıtım (prototip) mutlaka çağıran fonksiyondan önce yapılmalı

4. Hafta6 Fonksiyonların Yazılması  Fonksiyonlar 3farklı şekilde yazılabilir Bir fonksiyonun gövdesi Ana programdan (main) önce yazılabilir. Bir fonksiyonun gövdesi Ana programdan (main) önce yazılabilir. Prototipinin ana programdan önce yazılması koşuluyla fonksiyonun gövdesi Ana programdan sonra yazılabilir. Prototipinin ana programdan önce yazılması koşuluyla fonksiyonun gövdesi Ana programdan sonra yazılabilir. Fonksiyonun gövdesi bir başlık dosyasında yazılarak ana programda çağrılabilir. Fonksiyonun gövdesi bir başlık dosyasında yazılarak ana programda çağrılabilir. #include #include using namespace std; int kareKok(int a){ //Fonksiyonun gövdesi return a*a; return a*a;}main(){ int sayi; int sayi; cout<<"Kare almak icin bir sayi giriniz:"; cout<<"Kare almak icin bir sayi giriniz:"; cin>>sayi; cin>>sayi; int karekok=kareKok(sayi); int karekok=kareKok(sayi); cout<<“KARESI:"<<karekok<<endl; cout<<“KARESI:"<<karekok<<endl; system("PAUSE"); system("PAUSE"); return 0; return 0;} #include #include #using namespace std; int kareKok(int a);//prototip tanıtım main(){ int sayi; int sayi; cout<<"Kare almak icin bir sayi giriniz:"; cout<<"Kare almak icin bir sayi giriniz:"; cin>>sayi; cin>>sayi; int karekok=kareKok(sayi); int karekok=kareKok(sayi); cout<<“KARESI:"<<karekok<<endl; cout<<“KARESI:"<<karekok<<endl; system("PAUSE"); system("PAUSE"); return 0; return 0;} int kareKok(int a){ //Fonksiyonun gövdesi return a*a; return a*a;}

4. Hafta7 Örnek 4-1:Değer Döndürmeyen Fonksiyonlar #include #include using namespace std; void Univyaz(void) { cout<<"Sakarya Universitesi"<<endl; cout<<"Sakarya Universitesi"<<endl;} void Ciz(void) { for (int i=0;i<=20;i++) for (int i=0;i<=20;i++) cout<<'*'; cout<<'*'; cout<<endl; cout<<endl;} void Fakulte() { cout<<"Teknik Egitim"<<endl; cout<<"Teknik Egitim"<<endl;} main() { Univyaz(); Univyaz(); Ciz(); Ciz(); Fakulte(); Fakulte(); Ciz(); Ciz(); system("pause"); system("pause");}

4. Hafta8 Örnek 4-2:Faktöriyel ve Fibonacci #include #include long fakto (int fak){ int i=2, sonuc=1; for(;i<=fak;i++)sonuc*=i; return sonuc; } long fibo(int fib){//Fibonacci s sayıları: 0, 1,1,2,3,5,8,13,21,34,55, 89 ….. int fibo1=1, fibo2=1, geci, i=3; for(;i<=fib;i++){ geci=fibo1+fibo2; geci=fibo1+fibo2; fibo1=fibo2; fibo1=fibo2; fibo2=geci; fibo2=geci;}if(fib>1) return fibo2; return fibo2;else return 0; return 0;}main(){ int i; cout<<“Fibonacci ve faktöriyeli bulunacak değeri giriniz:”; cin>>i; cout<<“Faktoriyel (“<<i<<“):”<<fakto(i)<<endl; cout<<“Fibonacci (“<<i<<“):”<<fibo(i); }

4. Hafta9 Değişken Kapsamları  Yerel (local) değişkenler  Global değişkenler  Static değişkenler

4. Hafta10 #include<stdio.h> int x=4,y=4; //global değişkenler int f1(int a, int b){ int x=3;//f1 in yerel x değişkeni int y; ………….} void f2(void){ int x=4;//f2 nin yerel x değişkeni static int y=2;//f2 nin statik değişkeni ……….}main(){ int x=5;//main fonk. yerel x değişkeni y=10;……..}

4. Hafta11 Özyineleme (recursion) f1( )//recursive function { f1();//özyineleme f1();//özyineleme} Fonksiyonun kendi kendini çağırması ile döngüsel yapı kurulur. Nerelerde kullanabiliriz?  Seri hesaplamalarında  Döngüsel hesap zorluklarında

4. Hafta12 Özyineleme – Genel Kullanım Fonksiyon (int k) {…. if (k<0) return a; // dönüş noktası Fonksiyon(k-1); //özyineleme Fonksiyon(k-1); //özyineleme….} Not: Dönüş noktası kullanılmazsa sonsuz döngü kurulumuş olur

4. Hafta13 Özyineleme- örnek  Faktöriyel Hesabı n!=n*(n-1)! #include #include using namespace std; long fakto(int x){ if(x<=1) return 1; // dönüş else return (x*fakto(x-1)); // özyineleme } main() { int gir; int gir; cout<<"Faktoriyeli hesaplancak sayiyi giriniz:"; cout<<"Faktoriyeli hesaplancak sayiyi giriniz:"; cin>>gir;cout >gir;cout<<endl; cout<<"Faktoriyel("<<gir<<")="<<fakto(gir);cout<<endl; cout<<"Faktoriyel("<<gir<<")="<<fakto(gir);cout<<endl; system("pause"); system("pause");}

4. Hafta14 Özyineleme- örnek  Fibonacci …….. Fibo(n)= Fibo(n-2)+Fibo(n-1) long fibo(int n){ if(n==2 || n==1) return 1; else return (fibo(n-1)+fibo(n-2)); }

4. Hafta15 Çalışma Soruları 1. Aşağıdaki programı do-while ile tekrar düzenleyiniz. for (c=getche(); (ch=getche())!='f'; ++i) { if (ch=='a') continue; else if (ch=='e') break; else printf("%c ",ch); printf("Next iteration\n"); }

4. Hafta16 2. c,d,e,f,g,h,i,j,k,l,m harfleri 0,1,2,3,..,9 rakamlarına karşılık gelecek şekilde eşleştirilmiştir. Klavyeden girilen bitişik formdaki harflerden oluşan harf dizisinin sayısal karşılığını veren programı yazınız. İlgili harflerin dışında giriş yapılırsa harf grubunun tamamlandığı varsayılmalıdır. Örnek ekran çıktısı: Girişiniz?efcds 2x x x x10 0 = Klavyeden üç harfli(Türkçeye has karakter içermeyen) bir kelime girilmesini takiben bir cümle girilmesi istenir ve girilen cümlede daha önce belirlenen üç harfli kelimeden kaç adet olduğu ekrana yazdırılır. Cümlenin bittiği, nokta işareti ile anlaşılır. 4. Klavyeden girilen kelimelerin ve sayıların adedini bulan programı yazınız. Kelimeler harflerden, sayılar rakamlardan oluşur. Program ayrıca kurala uymayan girdilerin de adedini vermelidir. Sayı ve kelimeler birbirinden boşluk ile ayrılmalıdır. Girdi işlemi nokta işareti ile sonlandırılmalıdır soruda girilen kelimelerin en uzununu ve en kısasını sayısal karşılıklarını verecek şekilde değiştiriniz.

4. Hafta17 6. Programınız klavyeden üç adet parametre almaktadır. Sırasıyla, bir karakter ve iki adet reel sayı (char,float,float).İlk parametre +, -, *,\ gibi dört işlem operatörüdür. Takip eden diğer iki parametre işleme sokulacak sayılardır.Her parametre arasında virgül olmalıdır. Aritmetik işlemin sonucu ekrana yazdırılmalıdır. Girişlerde hata olduğunda hata mesajı yazdırılmalıdır. Örnek1: Örnek2: Giriş? Giriş? +,3,4 %,3,4 Sonuç=7Hatalı parametre girişi 7. Dışarıdan girilen sayıyı Pascal üçgeninin satır sayısı olarak alan ve ilgili üçgene ait sayıları ekrana yazdıran (üçgensel formda) programı yazınız. Çözüm için fonksiyonları kullanınız. 8. Klavyeden girilen hexadecimal sayının onluk karşılığını ekrana bastıran programı yazınız.

4. Hafta18 9.Klavyeden üç adet parametre alan bir fonksiyon değer döndürmemektedir. İlk parametre başlangıç sayısı, ikinci parametre komşu kolon farkı, üçüncü parametre kolon adeti olacaktır. İlk kolon ve satır birinci parametre değeri ile başlayacak ve satırlar birer artarak aşağıya devam edecektir. Aynı satırdaki kolonların değeri soldaki kolona ikinci parametre değeri eklenerek bulunacaktır. Satır sayısının bulunması için; sağdaki kolonun en üst değeri, soldaki komşu sütunun en alttaki değerinden bir fazla olmalıdır. Parametreler birbirinden virgül veya boşluk ile ayrılabilir. Örnek Çıktı: Sayıları giriniz? 15,6,