Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın

Slides:



Advertisements
Benzer bir sunumlar
Soru1 : Bir borcun faizi, basit olarak aşağıdaki formülle hesaplanır:
Advertisements

Dizi Kullanan Örnekler
Soru1: 1’den 4’e kadar olan tamsayıları ekrana tek satırda görülecek şekilde yazdıran bir programı aşağıdaki metotları kullanarak yazınız. Bir printf ifadesi.
Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Nöbetçi Kontrollü Döngü
Göstericiler (Pointers)
void medyan(int cevap[]) { int j; siralama(cevap);
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
Bölüm 4 İşlevlerve Modüler Programlama. 1 / 8 İşlev Tanımı /* İşlev açıklama satırı */ ( ) { }
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Değişken Bildirimleri
Atama ve Girdi/Çıktı Komutları
Bölüm 2: Program Denetimi
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 10 Yapılar ve Birleşimler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
Soru1: Bir tanesi tam sayı diğeri string olan iki elemanlı bir struct’ı bir başka struct’a direk kopyalama, memcpy kullanarak kopyalama ve tek tek elemanlarını.
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
Erişim Denetimi, Fonksiyon
Fonksiyonlar.
FONKSİYONLAR.
Özyineleme(Recursion)
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
DÖNGÜLER.
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Algoritma & Programlama
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Diziler (Arrays).
Temel Giriş/Çıkış Fonksiyonları
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
C Programlama Diline Giriş
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PROGRAM DENETİM DEYİMLERİ
JAVA PROGRAMLAMA ORNEKLER
The if statement. if Şartlı kontrol Koşul değimi doğru (1) yada yanlış (0) değeri üretir. Şartın doğru olması durumunda if satırından sonraki değimler.
Örnek Adam asmaca oyununun programının yazılması.
BİL542 PARALEL PROGRAMLAMA
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
Algoritma, bir işin hangi aşamalardan geçilerek yapılacağını gösteren çalışma planıdır. Algoritma Nedir ?
2. HAFTA 2. Hafta.
Algoritmalar ve Programlama I Ders 10: ALTPROGRAM KAVRAMI ve FONKSİYON
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
3. HAFTA 3. Hafta.
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
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.
BİLGİSAYAR programlama II
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.
Ö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.
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
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
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-7
Bölüm 2 C Dilinin Temelleri
Sunum transkripti:

Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın. Fonksiyon taban^us geri göndersin. Örneğin kuvvet(3,4)=3*3*3*3. Us değişkeninin, 1'e eşit yada daha büyük bir tamsayı olduğunu kabul edin. Yineleme basamağı taban^us = taban * taban^(us-1) şeklinde olmalı ve döngüden us, 1‘e eşit olduğunda çıkılmalıdır çünkü taban^1 = taban ‘dır. #include <stdio.h> #include <conio.h> double kuvvet(double taban,int us); int main() { double taban; int us; printf("Lutfen sirasi ile taban ve usu(tamsayi) giriniz: "); scanf("%lf%d",&taban,&us); printf("%.2f 'in %d' nci kuvveti: %.2f",taban,us,kuvvet(taban,us)); getch(); return 0; } double kuvvet(double taban,int us) if(us==1) return taban; else return taban*kuvvet(taban,us-1);

Soru2: (Yineleme Fonksiyonun Görselleştirilmesi) Daha önce anlatılan faktöriyel fonksiyonunu çağıran parametresini her yinelemede ekrana yazdırın. Bu işlem 1’den 10 ‘a kadar olan sayıların faktöriyelleri için gerçekleştirilsin. #include <stdio.h> #include <conio.h> long faktoriyel(long f); void yinelemeG(int s); int main() { int i; for(i=1;i<=10;i++) printf("%3d!=%ld\n",i,faktoriyel(i)); getch(); return 0; } long faktoriyel(long sayi) if(sayi<=1) return 1; else yinelemeG(sayi); return(sayi*faktoriyel(sayi-1)); void yinelemeG(int s) { printf("Sayi= %*d\n",s,s); }

Soru3: x ve y tam sayılarının ortak bölenlerinin en büyüğü (OBEB), her ikisini de tam bölen tam sayıların en büyüğüdür. x ve y sayılarının OBEB'ini bulan ver döndüren bir obeb yineleme fonksiyonu yazınız. x ve y ‘nin OBEB'i yineleme fonksiyonunda şu şekilde ifade edilmelidir: Eğer y sıfır ise, obeb(x, y) = x, eğer y, sıfıra eşit değilse obeb(x, y) = obeb(y, x % y) #include <stdio.h> #include <conio.h> int obeb(int x,int y); int main() { int x; int y; printf("OBEB'i bulunacak x ve y tamsayilarini giriniz:"); scanf("%d%d",&x,&y); printf("Bu sayilar icin OBEB: %d",obeb(x,y)); getch(); return 0; } int obeb(int x,int y) if(y==0) return x; else return obeb(y,x%y);

Soru4: main fonksiyonunun kendi kendini çağırmasıyla 500’e kadar sayan bir sayaç programı yazınız. #include <stdio.h> #include <conio.h> int main() { static int i=1; printf("%d\n",i); i++; if(i>500) getch(); return 0; } else main();

Soru5: Notları [0, 100] aralığında olacak şekilde 10 öğrencinin notları giriliyor. Bu notların hepsini, en yüksek puanlı öğrencinin puanı 100 olacak şekilde öteleyip sonra da ötelenmiş puanlara ekrana yazdıran ve bu puanlara göre ortalama hesaplayarak bu ortalamanın altında hangi öğrencilerin kaldığını yazdıran programı yazın. #include <stdio.h> #include <conio.h> #define BOYUT 10 int main() { int i,d[BOYUT],max=0,ek=0,top=0; float ort; for(i=0;i<BOYUT;i++) printf("%d. not:",(i+1)); scanf("%d",&d[i]); if(d[i]>max) max=d[i]; } ek=100-max; printf("Otelenmis notlar\n"); d[i]=d[i]+ek; printf("%d. not:%d\n",(i+1),d[i]); top+=d[i]; ort= 1.0*top/BOYUT; printf("Kalan ogrenciler\n"); for(i=0;i<BOYUT;i++) { if(d[i]<ort) printf("%d. ogr. kaldi.\n",(i+1)); } getch(); return 0;

Soru6: Tek belirteçli(boyut) bir dizi kullanarak, kullanıcıdan 10 ile 100 arasında en fazla 20 tamsayı alarak bunların tekrarlı olanlarını göz ardı edecek biçimde ekrana yazdıran programı yazınız. Mümkün olan en küçük diziyi kullanınız. #include <stdio.h> #include <conio.h> #define MAX 10 int main() { int sayi; int saydizi[MAX]; int k=0; int i; int dup; printf("Lutfen 10-100 arasi bir tamsayi giriniz:(Bitirmek icin -1) "); scanf("%d",&sayi); while(sayi !=-1 && k<MAX) if(sayi<10 || sayi>100) printf("Hatali giris taptiniz!\n"); continue; }

dup=1; for(i=0;i<k;i++) { if(sayi==saydizi[i]) dup=0; } if(dup==1) saydizi[k]=sayi; k++; printf("Lutfen 10-100 arasi bir tamsayi giriniz:(Bitirmek icin -1) "); scanf("%d",&sayi); printf("Tekrarsiz sayilar:\n"); printf("%4d",saydizi[i]); getch(); return 0;