Soru1: Klavyeden okutulan 2 den buyuk herhangi bir n sayi
degeri icin nxn’lik bir matris olsun ve bu matrisin satir,
sutun ve kosegen toplamlari esit olan programi asagidaki
ornekde verildigi gibi ekrana yazdiran programi Java da
kodlayiniz.
Not: n 2 den buyuk bir tamsayi ise:
Ornek:n=5 icin (istenildigi kadar arttirilabilir):
5
Toplam=65.0
11 18 25 2 9
10 12 19 21 3
4 6 13 20 22
23 5 7 14 16
17 24 1 8 15
Soru2: Klavyeden rastgele okutulan 13 haneli barkod numarasinin
dogrulugunu yapan programi asagidaki orneklerdeki gibi
ciktisini veren Java programini kodlayiniz.
Not: Barkod toplamda 13 haneli bir dizidir ve en son rakam yani
13. sayi degeri kontrol degeridir.
Kural: 13 haneli rastgele (random) bir barkod numarasi
olusturun ve bu dizideki kontrol degeri haric tek indisli dizi
elemanlarinin toplaminin 5 kati ve cift indisli dizi
elemanlarin ise 2 kati alinarak, toplam sonuc 10’a bolunerek
kalan hesaplanir. Elde edilen kalan deger 10’dan cikartilarak
barkodun ilk veya son degerlerinden birisine esitse barkod
numarasi gecerli olur.
Ornek: Asagida 3 adet ornek verilmistir.
Barkod numarasini okunuyor
7 6 8 1 0 0 8 4 7 0 7 4 1
Barkotun son rakami:1
Gecerli Barkod numaraniz 7-68100847074
Barkot kontrol rakami: 1
Barkot numarasi gecerli
--------------------------------------------
Barkod numarasini okunuyor
6 8 4 2 4 6 5 2 3 6 1 2 4
1
Barkotun son rakami:4
Gecerli Barkod numaraniz 6-84246523612
Barkot kontrol rakami: 4
Barkot numarasi gecerli
-----------------------------------------------
Barkod numarasini okunuyor
8 8 6 2 7 0 6 8 7 4 4 3 1
Barkotun son rakami:1
Gecerli Barkod numaraniz 8-86270687443
Barkot kontrol rakami: 9
Barkot numarasi gecersiz
------------------------------------------------
Soru3: Klavyeden okutulan herhangi bir n sayi degeri icin
asagidaki sekilleri veren programlari static metodlari
kullanarak Java dilinde kodlayiniz.
Not: Iki ayri seklimiz icin iki ayri static metod kullanarak
asagidaki sekiller elde edilir. n=7 icin asagidaki ornekler
verilmistir. (Birinci sekil 10 puan, ikinci sekil 5 puandir).
Ornek:
N sayisinizi giriniz:
7
*
***
*****
*******
*********
***********
*************
*************
*************
*************
*************
*************
*************
*************
***********
*********
*******
*****
***
*
2
Soru4: Klavyeden okutulan herhangi bir zar sayisi (n) ve atis
sayisi (m) olan bir zar oyunu icin zarlarin rastgele gelis
sayilarini [.] noktalarla veren programi ve en yuksek sonucu
veren atisi yazdiran programi Javada kodlayiniz.
Ornek:Klavyeden okutulan 3 zar ve 2 kez atis gerceklessin. Yani
bu durumda n=3 ve m=2 [Link] durum icin rastgele zar
durumlari:
1. Zar 2. Zar 3. Zar
1. Atis: [:.] [::] [::.]
2. Atis: [:] [:::] [::.]
2. atis en buyuk zar toplamina sahiptir.
Soru5: Iki kisi zar atis sonuclarina gore bir oyun oynarlar.
Bu iki kisi cebindeki para miktarlarini ortaya koyarlar. Sonra
iki adet zari ayni anda atarak iki zarin toplam degeri hangi
oyuncuda fazla ise o kazanir. Kazanacagi miktar ise zarlar
arasindaki fark kadardir. Bu sekilde oyun tekrarlanarak
oyunculardan birisinin parasi bitene kadar oyun devam eder.
Eger oyunda her iki taraf ayni buyuklukte zar atarsa atislar
tekrarlanir. Oyunda kimin kacinci turda kac para ile
bitirdigini gosteren programi Java da kodlayiniz
Ornek: Klavyeden okutacagimiz Birinci oyuncu parası 15 olsun.
Ikinci oyuncunun 18 parasi olsun ve her iki oyuncu ayni anda
iki zari atsin.
1. Turda 1. Oyuncunun zar toplamlari :
1. Zar degeri= 5 ve 2. Zar degeri=6 Toplami=11
1. Turda 2. Oyuncunun zar toplamlari:
1. Zar degeri=1 ve 2. Zar degeri=2 Toplami=3
Zarlar arasindaki fark=8 1.
Oyuncu 8 para kazandi.
1. Oyuncunun parasi=23 2. Oyuncunun parasi=10
--------------------------------------------------
Oyunda 2. tur basliyor:
2. Turda 1. Oyuncunun zar toplamlari :
1. Zar degeri= 1 ve 2. Zar degeri=2 Toplami=3
3
2. Turda 2. Oyuncunun zar toplamlari:
1. Zar degeri=6 ve 2. Zar degeri=6 Toplami=12
Zarlar arasindaki fark=9 2.
Oyuncu 9 para kazandi.
1. Oyuncunun parasi=14 2. Oyuncunun parasi=19
--------------------------------------------------
Oyunda 3. tur basliyor:
3. Turda 1. Oyuncunun zar toplamlari :
1. Zar degeri= 5 ve 2. Zar degeri=6 Toplami=11
3. Turda 2. Oyuncunun zar toplamlari:
1. Zar degeri=1 ve 2. Zar degeri=1 Toplami=2
Zarlar arasindaki fark=9 1.
Oyuncu 9 para kazandi.
1. Oyuncunun parasi=23 2. Oyuncunun parasi=10
--------------------------------------------------
Oyunda 4. tur basliyor:
4. Turda 1. Oyuncunun zar toplamlari :
1. Zar degeri= 6 ve 2. Zar degeri=4 Toplami=10
4. Turda 2. Oyuncunun zar toplamlari:
1. Zar degeri=2 ve 2. Zar degeri=1 Toplami=3
Zarlar arasindaki fark=7 1.
Oyuncu 7 para kazandi.
1. Oyuncunun parasi=30 2. Oyuncunun parasi=3
--------------------------------------------------
Oyunda 5. tur basliyor:
5. Turda 1. Oyuncunun zar toplamlari :
1. Zar degeri= 3 ve 2. Zar degeri=6 Toplami=9
5. Turda 2. Oyuncunun zar toplamlari:
1. Zar degeri=2 ve 2. Zar degeri=2 Toplami=4
Zarlar arasindaki fark=5 1.
Oyuncu 5 para kazandi.
4
1. Oyuncunun parasi=35 2. Oyuncunun parasi=-2
--------------------------------------------------
OYUN BİTTİ!
1. Oyuncu 5. Turda 35 para ile kazandi.
Soru6: Klavyeden okutulan herhangi bir n tas degeri olmak
[Link] 3 adet X, Y, Z cubuklari icin n=3 ve n=4 tas
degerleri icin hanoi kuleleri oyununun cozumu asagidaki
sekillerde gosterilmektedir. n tas degeri icin Hanoi
kulelerinin tas tasinma asamalarini veren programi recursion
metod kullanarak asagidak program ciktisi gibi Java da
kodlayiniz.
Not: 3 tas icin ilk olarak en ustteki tas Z cubuguna tasinir.
Kalan tas da X’den Y cubuguna tasinir.Z cubugundaki tas da Y
cubuguna tasinir benzer sekilde Z cubugunda tum taslar
buyukden kucuge dogru dizilir. Bir cubuktan alinan tasin baska
bir cubuga tasinmasini X--->Y olarak gosterilir, yani X
cubugundan Y cubuguna tasinma olarak dusunulur. n=3’lu tas
icin hanoi kulesi cozumlerden bir tanesi:
n=4’lu tas icin hanoi
kulesi cozumlerinden bir tanesi:
5
(Figure: [Link]
Klavyeden okutulan n=3 icin, icin 23-1 tane hamle olur. 4 tas
degeri icin 15 hamle olur. 10 adet tas icin 1023 tane hamle
olur.
3 adet tas buyukten kucuge dogru Y cubugunda asagidaki gibi
dizilir.
Ornek: Tas degerini giriniz:
3
X---> Y
X---> Z
Y---> Z
X---> Y
Z---> X
Z---> Y
X---> Y
*Sizden istenilen 2’den buyuk herhangi bir tas degeri icin
recursion metodunu kullanarak cozumleri yukaridaki gibi
gosteren bir Java programi saglamak.
6
7