Bilgisayar Programlama BIL 107

1 Bilgisayar Programlama BIL 107Örnek Sorular Bilgisayar ...
Author: Bora Eroğlu
0 downloads 6 Views

1 Bilgisayar Programlama BIL 107Örnek Sorular Bilgisayar Programlama BIL 107

2 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıSORU Celcius (C) cinsinden verilen bir sıcaklık değerini Fahrenheit (F) ve Kelvin (K) birimlerine çeviren C programı yazınız. Bilgi: F=1.8C+32 K=C #include main(){ float c,f,k; printf("Celcius degeri girin:"); scanf("%f",&c); f=1.8*c+32; k=c ; printf("%7.2f C = %7.2f F = %7.2f K",c,f,k); } Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

3 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıSORU Girilen Not 45 den Büyükse GEÇTİ, küçükse KALDI yazacak programı kodlayınız. #include main(){ int not; printf("not girin:"); scanf("%d",¬); if(not>=45)printf("gecti"); else printf("kaldi"); } Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

4 SORU Katsayıları verilen 2. dereceden bir denklemin köklerini hesaplayan C programını yazınız. NOT: Kök hesaplamak için; math.h kitaplığı ve sqrt(x) fonksiyonu kullanılmalıdır. #include #include main(){ float a,b,c; printf("katsayilari girin:"); scanf("%f %f %f",&a,&b,&c); float d=b*b-4*a*c; if(d>0){float x1=(-b+sqrt(d))/(2*a); float x2=(-b-sqrt(d))/(2*a); printf("kokler %f ve %f\n",x1,x2);} else if(d==0){float x1=(-b)/(2*a); printf("katli kokler %f\n",x1);} else printf("reel kok yoktur\n"); }

5 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıSORU Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

6 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıBir dairenin alanını veya bir çemberin çevresini hesaplayan C programını yazınız İSTENENLER: Programda ilk önce daire veya çember seçimi yapılacak, seçime göre daire için alan hesabı, çember için ise çevre hesabı yapılarak sonuç ekrana yazdırılacaktır. Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

7 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıKlavyeden girilen bir sayının pozitif, negatif ve sıfır olduğunu ekrana yazan C programını yazınız. Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

8 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları1’den verilen N sayısına kadar olan sayıların ortalamasını bulan programı yazınız. Not: programınız girilen sayılardan kaç tanesinin asal olduğunu da ekrana yazsın. Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

9 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıGirilen N adet sayıdan en büyüğünü bulan programını yazınız. Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

10 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıDusme yuksekliği=200 Zaman (s) Yerden Yükseklik (m) Yere çarpma zamanı(s)= 6.4 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

11 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıElemanları girilen N elemanlı bir A dizisi için : 1. Girilen bir B sayısından büyük olan elemanların sayısını, 2. A dizisinin ortalamasını, 3. Ortalamadan büyük kaç eleman olduğunu, hesaplayan Fortran programı kodlayın. Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

12 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıDr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

13 Dr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar UygulamalarıDr. Sedat ŞENGÜL Fen Fakültesi Fizik Bölümü Bilgisayar Uygulamaları

14 Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz______ i = 'A'; printf(____, i__); CEVAP: char i = 'A'; printf("%d", i+1);

15 Soru 2: Aşağıdaki programın üreteceği çıktıyı yazınız#include int b = 5; float f(float a){ for (; b>a; a=a*2) printf("%.2f\n", b/a); return a; } void main(){ float a = 5, b = 2.5; for (; b printf("%.2f\n", f(b/a)); CEVAP: 10.00 5.00 2.50 1.25 8.00

16 Soru 3: Yandaki matematiksel fonksiyon ile aynı işlemi yapan C dili fonksiyonunu yazınızfloat f(int x) { int i; float sonuc = 0; for (i = 1; i <= 5; i++) sonuc += i * pow(x, i) / fakt(x+i); return sonuc; } long fakt(int sayi) { long i, f = 1; for (i = 1; i <= sayi; i++) f *= i; return f; }

17 Soru 4: Kullanıcıdan 2 tamsayı değer alan ve bu değerler arasında yer alan tüm asal sayıları ve bu asal sayıların toplamını ekranda gösteren programı yazınız main(){ int sayi1, sayi2, i, j, toplam = 0; printf ("kucuk sayiyi girin: "); scanf("%d", &sayi1); printf ("buyuk sayiyi girin: "); scanf("%d", &sayi2); printf("iki sayi arasindaki asal sayilar:\n"); for (i = sayi1; i <= sayi2; i++){ for (j = 2; j <= sqrt(i); j++) if (i % j == 0) break; if (j > sqrt(i) && i > 1){ printf("%d\n", i); toplam += i; } printf ("toplami = %d", toplam);

18 Önceki soruyu asal fonksiyonunu kullanarak yapalım:bool asal(int sayi){ for (int i=2; i<=sqrt(sayi); i++) if (sayi%i == 0) return false; return true; } main(){ int sayi1, sayi2, i, j, toplam = 0; printf ("kucuk sayiyi girin: "); scanf("%d", &sayi1); printf ("buyuk sayiyi girin: "); scanf("%d", &sayi2); printf("iki sayi arasindaki asal sayilar:\n"); for (i = sayi1; i <= sayi2; i++){ if (asal(i)) { printf("%d\n", i); toplam += i; printf ("toplami = %d", toplam);

19 Soru 5: Parametre olarak aldığı iki sayının dost sayı olup olmadığını döndüren fonksiyonu yazınız (A’nın tam bölenlerinin toplamı B’ye eşitse ve B’nin tam bölenlerinin toplamı A’ya eşitse, A ve B dost sayılardır) private bool dost(int sayi1, int sayi2) { int i, bolenler1 = 0, bolenler2 = 0; for (i = 1; i <= sayi1 / 2; i++) if (sayi1 % i == 0) bolenler1 += i; for (i = 1; i <= sayi2 / 2; i++) if (sayi2 % i == 0) bolenler2 += i; if (bolenler1 == sayi2 && bolenler2 == sayi1) return true; else return false; }

20 Soru 6: Aşağıdaki programı hatalarını düzelterek tekrar yazınız#include int main(){ printf("10 tane sayi girin %d", &sayi); for (i=1; i<10; i++) { printf("%d. sayi : "); printf("sayilarin ortalamasi = "); printf("%d\n", sayi/10); }; } #include void main(){ int i=1, toplam, sayi; printf("10 tane sayi giriniz"); for(i=1; i<=10; i++) { printf("%d. sayi :", i); scanf("%d", &sayi); toplam = toplam + sayi; } printf("sayilarin ortalamasi = "); printf("%d\n", toplam/10);