Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

Benzer belgeler
Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

ARA SINAV 07.Nisan 2015

Başkent Üniversitesi Mühendislik Fakültesi Bahar Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı Cevap Anahtarı

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

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

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

Bil Hafta Çalışma Soruları (Yanıtlar)

Adı Soyadı : Öğrenci No :

Döngü ve Koşul Deyimleri

Arasınav Soruları Güz, Süre: 90 Dakika

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

C dilinde if-else yapısı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Programlama Dilleri Laboratuvarı

4.Hafta BİL Soruların Çözümleri

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Final Sınavı Soruları Güz, Süre: 90 Dakika

Giris {\} /\ Suhap SAHIN Onur GÖK

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

YAPILAR (STRUCTURES)

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Adı Soyadı : Öğrenci No :

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR Y.Y. BM106 PROGRAMLAMA DİLLERİ 1, ARA SINAVI

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

#include <stdio.h> main() { int i; i=0; do { printf("i nin simdiki degeri= %d\n",i); i = i + 1; } while (i<5); }

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

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

Program Akış Kontrol Yapıları

Karşılaştırma Komutları (Switch ve? Operatörü)

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Hafta 11 Çok Boyutlu Diziler

Temel Giriş/Çıkış Fonksiyonları

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

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

// Aşağıdaki programın çıktısı nedir?

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

C PROGRAMLAMA D İ L İ

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

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

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

Diziler (Arrays) Çok Boyutlu Diziler

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

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

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

B tekrarlama kontrol komutları 7. do-while döngüsü 8. while döngüsü 9. for döngüsü

5. BÖLÜM (10ncu ve 11nci hafta)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Kısa Sınav ( 8 Ksım 2013)

C ile Uygulamalar 4 - Cevaplar

Adım Adım C. Dr. Hidayet Takcı

Ders 6: Karşılaştırma Deyimleri

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

BİL1001 Bilgisayar Bilimlerine Giriş 1

Programlama Dilleri Laboratuvarı

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

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

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

Matris İşlemleri Uygulaması

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

C ile Uygulamalar 2 - Cevaplar

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

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

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

ALGORİTMA VE PROGRAMLAMA I

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

Bölüm 3 Yapısal Programlama

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

BPR152-Algoritma ve Programlama II Uygulama -8

Eln 1001 Bilgisayar Programlama I

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

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

BÖLÜM 10: FONKSİYONLAR

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

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

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

C Dersleri Bölüm 3 : Program akışı

Telefon Rehberi Uygulaması

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Transkript:

Başkent Üniversitesi Mühendislik Fakültesi 2014-2015 Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı Yer Sıra no Sınav Tarihi : 11-11-2014 Sınav Başlama Saati : 09:15 Sınav Süresi : 100 Dakika Öğretim Elemanları : Kaya Kılan (Koordinatör), Erdem Çorapçıoğlu, Esma Ergüner Özkoç, Mehmet Dikmen, Muhammet Yorulmaz, Umut Tosun ÖĞRENCİ AD SOYAD :... NUMARA :... BÖLÜM :... İMZA :... SINAVDA DİKKAT EDİLECEK KURALLAR 1. Bu soru kitapçığı kapak sayfası dahil Beş (5 ) sayfadan oluşur. Eksik kağıt olması durumunda görevliyi uyarınız. Zımbalı kağıtları birbirinden ayırmayınız. 2. Cevaplarınızı ayrılan yerlere yazınız. Yerler yetmediği takdirde soru kağıtlarının arka yüzleri kullanılabilir. Düzgün ve okunaklı yazmaya özen gösteriniz. 3. Soru sormayınız.(sorularda yanlışlık görüyorsanız yanlışın ne olduğunu yazıp soruyu ona göre çözünüz.) 4. Sınavın ilk yarım saatinden önce ve bitime onbeş dakika kala sınıfınızdan ayrılmayınız. 5. Bu sınav toplam 5 sorudan oluşmaktadır. SORU 1 SORU 2 SORU 3 SORU 4 SORU 5 TOPLAM

SORU 1. Aşağıda verilen program parçalarının üreteceği ekran çıktısını, değişkenlerin değerlerini göstererek belirtilen yere yazınız. (16 puan) int a = 10,x = 3,y = 4,z = 2; a x y. z_ ÇIKTI: switch(a % 3) { case 0: if(y>5 x<1) printf("aaa\n"); printf("bbb\n"); break; case 1: if( x+y > 5 && z==1 ) printf("ccc\n"); printf("ddd\n"); z = (x+y) % 6; printf("%d\n",z); case 2: printf("eee\n"); int i = 1, x = 0; i x. ÇIKTI: do{ x = x + i * 2; printf("%d, %d \n", i, x ); i = i + 2; while( i%7 > 0); int a, b, n = 44; n a b. ÇIKTI: while(n<65){ a = n % 10 ; b = n / 10 ; n += a; if( a >= 0 && a-b > 3 ) printf(" %d \n", b); if( b%a == 0) printf(" %d \n", b*a ); printf(" %d \n", n); 2

#include <stdio.h> int main(){ int a = 10,x = 3,y = 4,z = 2; switch(a % 3) { case 0: if(y>5 x<1) printf("aaa\n"); printf("bbb\n"); break; case 1: if( x+y > 5 && z==1 ) printf("ccc\n"); printf("ddd\n"); z = (x+y) % 6; printf("%d\n",z); case 2: printf("eee\n"); /** DDD 1 EEE */ #include <stdio.h> int main(){ int i = 1, x = 0; do{ x = x + i * 2; printf("%d, %d \n", i, x ); i = i + 2; while( i%7 > 0); /** 1 2 3 8 5 18 */ 3

#include <stdio.h> int main(){ int a, b, n = 44; printf("a =%f b=%f \n",a,b); printf("--------------\n"); while(n<65){ a = n % 10 ; b = n / 10 ; n += a; if( a >= 0 && a-b > 3 ) printf(" %d \n", b); if( b%a == 0) printf(" %d \n", b*a ); printf(" %d \n", n); /** a=0.000000 b=0.000000 4 62 12 68 */ 4

SORU 2. Aşağıda verilen akış diyagramının (flow chart) üreteceği ekran çıktı ya da çıktılarını, değişkenlerin değerlerini göstererek belirtilen yere yazınız. (10 puan) BAŞLA n k s ÇIKTI n = 15 s = 1 E n%2==0 H H s<4 E k = n/2 k = (n+1)/2 k =(3*n+1)/2 s = s+1 k n=k H k==1 E n DUR 5

2.SORU Çözüm: #include <stdio.h> int main() { int n=15, s=1, k; do { if (n % 2 == 0) k = n/2; if (s<4) k= (3*n+1)/2 ; k = (n+1)/2; s = s+1; printf("\nk = %d",k); n=k; while (k!= 1); printf("\nn = %d",n); /** k = 23 k = 35 k = 53 k = 27 k = 14 k = 7 k = 4 k = 2 k = 1 n = 1 */ 6

SORU 3. Aşağıdaki programın amacı; klavyeden girilen sayı ve pozitif kuvvet değerine göre üssünü hesaplayıp ekrana yazdırmaktır. Ancak verilen program bazı sözdizim(syntax) ve mantık hataları içermektedir. Sadece hatalı olan satırların karşısına doğru biçimlerini örnekteki gibi yazınız. Yeni bir satır eklemeyiniz. (14 puan) #include<studio.h> int main() { int sayac, sayi, kuvvet, sonuc ; printf("sayı ve kuvvet değerini giriniz : ") scanf("%d%d", sayi, kuvvet ); if( kuvvet!= 0 ){ printf("yanlış!! Kuvveti pozitif giriniz:"); scanf("%d", kuvvet ); { for( sayac=1 ; sayac<kuvvet ; sayac+1 ) sonuc = sayi * sayi; printf("---------\n Sonuç = ", sayi); return 0; ÖRNEK ÇALIŞMA : Sayı ve kuvvet değerini giriniz : 2-5 Yanlış!! Kuvveti pozitif giriniz : -5 Yanlış!! Kuvveti pozitif giriniz : 5 --------- Sonuç = 16 #include<stdio.h> 7

Çözüm: /* Ara Sınav Soru 3 */ #include <stdio.h> int main() { int sayac, sayi, kuvvet, sonuc ; printf("sayı ve kuvvet değerini giriniz : "); scanf("%d%d", &sayi, &kuvvet ); while( kuvvet <= 0 ) { printf("yanlış!! Kuvveti pozitif giriniz:"); scanf("%d", &kuvvet ); for( sayac=1 ; sayac < kuvvet ; sayac++ ) { sonuc = sayac * sayac; printf("---------\n Sonuc = %d --> %d \n", sayac, sonuc); return 0; /** Say² ve kuvvet de erini giriniz : 2-5 Yanl²!! Kuvveti pozitif giriniz:-5 Yanl²!! Kuvveti pozitif giriniz:5 --------- Sonuc = 1 --> 1 --------- Sonuc = 2 --> 4 --------- Sonuc = 3 --> 9 --------- Sonuc = 4 --> 16 */ 8

SORU 4. Çocuklarda antibiyotik dozunun ayarlanması yaşamsal önem taşımaktadır. Bu nedenle aşağıda verilen bilgilere göre antibiyotik dozu hesaplayan bir C programı yazmanız istenmektedir. Program, piyasada bulunan etken maddeleri farklı iki antibiyotik türü (A,B) için çocuğun kilosuna göre doz hesabı yapmalıdır. Bu hesabı yaparken aşağıdaki çizelge kullanılmaktadır. Çizelgede, 1 günde, 10 Kg dan küçük (10 dahil değil), 10-40Kg arası normal (10, 40 dahil) ve 40 Kg dan büyük çocuklara verilecek doz miktarı ve günlük uygulama adeti verilmiştir. Bu çizelgedeki değerler ile kullanıcıdan alınan antibiyotik türü ve kilo bilgisine göre çocuğun her seferde alacağı doz miktarı hesaplanmalıdır. (Örneğin, aşağıdaki Örnek Çalışma 1 de çocuğun kilosu normal aralıkta olduğu için günlük alması gereken antibiyotik miktarı 16,3 X 150 = 2445 mg dır. A antibiyotiği 4 seferde alınacağından 4 e bölünür ve her dozda 611,25mg olarak hesaplanır) (30 puan) Antibiyotik Türü Günlük Doz Sayısı 10Kg dan Küçük 10Kg-40Kg Arası (Normal) 40Kg dan Büyük A 4 Normalin Yarısı 150mg/kg 4500mg B 3 Normalin Yarısı 120mg/kg 3000mg ÖRNEK ÇALIŞMA 1: Kullanılacak antibiyotik türünü giriniz ( A, a, B, b ): A Çocuğun kilosunu giriniz(gr) giriniz: 16300 Çocuk, A türündeki antibiyotikten günde 4 defa 611.25 mglık dozlar halinde almalıdır. ÖRNEK ÇALIŞMA 2: Kullanılacak antibiyotik türünü giriniz ( A, a, B, b ): b Çocuğun kilosunu giriniz(gr) giriniz: 55000 Çocuk, b türündeki antibiyotikten günde 3 defa 1000.00 mglık dozlar halinde almalıdır. 9

Çözüm: /* Ara Sınav Soru 4 */ #include <stdio.h> int main() { char ch; int gunluk_doz_sayisi ; float doz; float agirlik; printf("antibiyotik türünü giriniz (A,a,B,b)\n"); scanf("%c", &ch) ; printf("çocuğun kilosunu (gr) giriniz\n"); scanf("%d", &agirlik) ; agirlik = (float) agirlik /1000; switch(ch) { case 'a': case 'A': if ((agirlik>0 && agirlik <10)) doz = 4*75*agirlik ; if ((10<= agirlik && agirlik <=40)) doz = 4*150*agirlik; if (agirlik >40) doz = 4*4500*agirlik; printf("%f", doz); break; case 'b': case 'B': if ((agirlik>0 && agirlik <10)) doz = 3*60*agirlik ; if ((10<= agirlik && agirlik <=40)) doz = 3*120*agirlik; if (agirlik >40) doz = 3*3000*agirlik; printf("%f", doz); break; return 0; 10

SORU 5. Tavla oyununda kendi pullarını önce tamamlayan oyuncu o eli kazanır ve 1 puan alır. Kazanan oyuncu rakibini mars ederek kazanmış ise 2 puan alır. Toplamda 5 puan ya da üstüne ulaşan ilk oyuncu oyunu kazanır. Yukarıda verilen bilgiler ışığında; her eli kimin kazandığı (1 ya da 2 nolu oyuncu) ve mars edip etmediği bilgileri klavyeden girildiğinde; her elin sonunda o anki puan durumunu ekranda görüntüleyen ve oyun bittiğinde de kazanan oyuncuyu ekrana yazan bir C programı geliştiriniz. (30 puan) ÖRNEK ÇALIŞMA 1: ÖRNEK ÇALIŞMA 2: 1. eli kazananı giriniz (1 ya da 2): 1 Mars etti mi (e/h): e Puan durumu: 2-0 2. eli kazananı giriniz (1 ya da 2): 1 Mars etti mi (e/h): e Puan durumu: 4-0 3. eli kazananı giriniz (1 ya da 2): 1 Mars etti mi (e/h): h Puan durumu: 5-0 ------------------------------------ 3 EL SONUNDA KAZANAN: 1. OYUNCUDUR 1. eli kazanan oyuncu (1 ya da 2): 2 Mars etti mi (e/h): h Puan durumu: 0-1 2. eli kazanan oyuncu (1 ya da 2): 1 Mars etti mi (e/h): h Puan durumu: 1-1 3. eli kazanan oyuncu (1 ya da 2): 2 Mars etti mi (e/h): e Puan durumu: 1-3 4. eli kazanan oyuncu (1 ya da 2): 1 Mars etti mi (e/h): h Puan durumu: 2-3 5. eli kazanan oyuncu (1 ya da 2): 2 Mars etti mi (e/h): e Puan durumu: 2-5 ------------------------------------ 5 EL SONUNDA KAZANAN: 2. OYUNCUDUR 11

Çözüm: /* Ara Sınav Soru 5 */ #include <stdio.h> int main() { char ch; int i, puan1, puan2, oyuncu; for (i=1; i<=5; i++) { printf("%d eli kazananı giriniz\n", i); scanf("%d", &oyuncu); switch (oyuncu) { case 1: puan1++ ; printf("mars etti mi? (e/h)\n"); scanf("%c",&ch); if (ch== 'e') puan1++; printf("puan durumu : %d\n",puan1); break; return 0; case 2: puan2++ ; printf("mars etti mi? (e/h)\n"); scanf("%c",&ch); if (ch== 'e') puan2++; printf("puan durumu : %d\n",puan1); break; 12