etubil131

advertisement
Ad Soyad:
10 Mart 2014 Pazartesi
TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü
2013 – 2014 Yılı Bahar Dönemi Lab Sınavı
 Sınav süresi 120 dakikadır. Sınavda size üç soru sorulmaktadır. Bu sorulardan 1. soruyu
çözmeniz, 2. ve 3. sorulardan ise istediğiniz 1 tanesini seçerek sadece onu çözmeniz
istenmektedir. Soruların toplam değeri 100 puandır ve puan değerleri köşeli ayraç ile
belirtilmiştir. Sınavda defter, kitap, slayt ve bilgisayarınızda bulunan kodları kullanabilirsiniz.
Sınavda yardımlaşmak, cep telefonu veya internet kullanmak, başkalarıyla kaynak paylaşmak
kesinlikle yasaktır.
 Sınıf veya metot isimleri belirtilmiş olan sorularda bu isimlere birebir uymanız
beklenmektedir.
 Kodunuzu teslim etmeden önce mutlaka test ediniz. Derleme hatası olan, yani
çalıştırılamayan kodlar, daha az iş yapmasına rağmen derleme hatası olmayan kodlardan
daha az puan alabilirler.
 Hazırlamış olduğunuz kodları teslim etmek için öğrenci numaranız isimli ana klasörün
içerisine hazırladığınız .java uzantılı dosyaları koymanız gerekmektedir. Klasörün içerisine
.java uzantılı program dosyaları dışında herhangi bir dosya koymayınız.
#etubil131
1. [60 puan]
Aşağıda tanımlanmış özel bir matematiksel işlemin sonucunu hesaplayan Java programını yazmanız
istenmektedir. Programınız klavyeden 4 basamaklı bir tam sayı değeri okumalı ve sonrasında her
basamaktaki rakam için o rakamın 10'a tümleyeni kadar kuvvetini hesaplamalı ve hesaplanan kuvvet
değerlerini toplayarak ekrana yazdırmalıdır. Bunu yaparken aşağıdaki metot kurallarına uymanız
istenmektedir:



klavyedenOku() metodu klavyeden 4 basamaklı bir tam sayı değeri okumalıdır. Eğer
okuduğu tam sayı değeri 4 basamaklı bir sayı değilse kullanıcıya hata mesajı vererek programı
sonlandırmalıdır. Eğer okuduğu tam sayı değeri 4 basamaklı bir sayı ise bu değeri çağrıldığı
yere döndürmelidir.
ozelHesapla(int) metodu parametre olarak 4 basamaklı bir tam sayı değeri almalıdır.
Parametre olarak aldığı 4 basamaklı tam sayıyı basamaklarına ayrıştırmalı ve her bir basamağı
kuvvetHesapla(int)
metoduna
parametre
olarak
yollamalıdır.
kuvvetHesapla(int) metodunun geri döndürdüğü değerlerin toplamını hesaplayarak
bu değeri çağrıldığı yere geri döndürmelidir.
kuvvetHesapla(int) metodu parametre olarak bir rakam ([0, 9] aralığında bir tam sayı)
değeri almalıdır. Parametre olarak aldığı tam sayı değerinin 10'a tümleyen kuvvetini
hesaplamalı ve hesapladığı değeri geri döndürmelidir. Örneğin parametre olarak 3 tam
sayısını aldıysa 37 değerini hesaplamalı ve geriye 2187 sonucunu, parametre olarak 8 tam
sayını aldıysa 82 değerini hesaplamalı ve geriye 64 sonucunu döndürmelidir. Diğer bütün
değerler benzer şekilde hesaplanmalıdır.
BİL 131 – Bilişim Teknolojileri ve Programlama

Programın ana metodunda sadece klavyedenOku() metodu çağrılmalı, bu metottan geri
dönen değer ozelHesapla(int) metoduna parametre olarak verilmeli,
ozelHesapla(int) metodundan geri dönen değer ise sonuc isimli bir tam sayı
değişkenine değer olarak atanmalı ve sonrasında ekrana yazdırılmalıdır.
Programın örnek çıktıları aşağıda verilmiştir:
Lutfen 4 basamakli bir tam sayi giriniz: 123
Hata!! Girdiginiz tam sayi 4 basamakli olmalidir.
iyi gunler..
Lutfen 4 basamakli bir tam sayi giriniz: 12345
Hata!! Girdiginiz tam sayi 4 basamakli olmalidir.
iyi gunler..
Lutfen 4 basamakli bir tam sayi giriniz: 1234
sonuc = 6540
iyi gunler..
Lutfen 4 basamakli bir tam sayi giriniz: 6789
sonuc = 1712
iyi gunler..
2. [40 puan – Seçmeli Soru]
Bir döngü içerisinde kullanıcından 10 tane tam sayı girmesini isteyen ve bu tam sayılardan çift olanlar
ile tek olanların ortalamasını ayrı ayrı hesaplayarak ekrana yazdıran Java programını yazınız.
Programın iki örnek çıktısı aşağıda verilmiştir:
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
bir
bir
bir
bir
bir
bir
bir
bir
bir
bir
tam
tam
tam
tam
tam
tam
tam
tam
tam
tam
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
1
2
3
4
5
6
7
8
9
10
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
Lutfen
bir
bir
bir
bir
bir
bir
bir
bir
bir
bir
tam
tam
tam
tam
tam
tam
tam
tam
tam
tam
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
sayi
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
giriniz:
1
3
5
7
9
11
13
15
17
19
Girmis oldugunuz sayilardan:
tek sayilarin ortalamasi = 5.0
cift sayilarin ortalamasi = 6.0
Girmis oldugunuz sayilardan:
tek sayilarin ortalamasi = 10.0
cift sayilarin ortalamasi = 0.0
iyi gunler..
iyi gunler..
BİL 131 – Bilişim Teknolojileri ve Programlama
3. [40 puan – Seçmeli Soru]
Klavyeden girilen bir cümle içerisinde yine klavyeden girilen bir kelimeyi sansürlemek istiyoruz.
Programınız klavyeden cümle olarak girilen ilk String değeri içerisinde klavyeden kelime olarak girilen
ikinci String değerini aramalı ve her bulduğu kelimenin yerine, o kelimenin uzunluğu kadar * karakteri
yazmalıdır.
Programın örnek çıktıları aşağıda verilmiştir:
Lutfen bir cumle giriniz: bir berber bir berbere bre berber gel
beraber bir berber dukkani acalim demis.
Lutfen bir kelime giriniz: berber
Girdilerinize gore sonuc: bir ****** bir ******e bre ****** gel
beraber bir ****** dukkani acalim demis.
iyi gunler..
Lutfen bir cumle giriniz: bir berber bir berbere bre berber gel
beraber bir berber dukkani acalim demis.
Lutfen bir kelime giriniz: ber
Girdilerinize gore sonuc: bir ****** bir ******e bre ****** gel
***a*** bir ****** dukkani acalim demis.
iyi gunler..
Lutfen bir cumle giriniz: kartal kalkar dal sarkar, dal sarkar
kartal kalkar.
Lutfen bir kelime giriniz: berber
Girdilerinize gore sonuc: kartal kalkar dal sarkar, dal sarkar
kartal kalkar.
iyi gunler..
Download