0% found this document useful (0 votes)
5 views3 pages

Assignment 3

Uploaded by

mcsurmeli39
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views3 pages

Assignment 3

Uploaded by

mcsurmeli39
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Ödev 3

Veriliş 13/06/2020 - Teslim 06/07/2020 BBS 515 - Nesne Yönelimli Programlama

Soru 1 - Comparable Sayılar


Kesirli sayılar (Kesir), tam sayılar (TamSayi) ve rasyonel sayılar (RasyonelSayi) gibi Reel sayıları
(ReelSayi) gösteren bir sınıf hiyerarşisi tanımlayın. Bütün gerçek sayıların kendi arasında sıralanabilmesini
sağlayanız (Comparable interface’ini gerçekleştirin).
ReelSayi [] sayilar = new ReelSayi [6];
faturalar [0] = new Kesir (11 , 5) ;
faturalar [1] = new Kesir (4 ,3) ;
faturalar [2] = new TamSayi (3) ;
faturalar [3] = new TamSayi (1) ;
faturalar [4] = new RasyonelSayi (0.1) ;
faturalar [5] = new RasyonelSayi (0.6) ;

Arrays . sort ( sayilar ) ;

Yazdığınız programlar bu farklı tipteki sayıları doğru sıralayıp sıralamadığına göre test edilecektir.
Yukarıdaki kodlardaki gibi constructorlar tanımlamanız gerekmektedir ve sıralama işleminin sayısal
değerlere göre doğru çalışıp çalışmadığına göre test yapılacaktır. Aşağıda UML olarak kısmi olarak
sınıflar verilmiştir, bunlar sadece testte kullanılan metodlar ve özellikleri göstermektedir, ek olarak
istediğiniz gibi tanımlama yapabilirsiniz.
<<abstract>>
ReelSayi
+ compareTo(ReelSayi) int

Kesir TamSayi RasyonelSayi


- pay: double - sayi : int - sayi: double
- payda: double
TamSayi(deger : int) RasyonelSayi(deger: double)
Kesir(pay:double, payda:double)

Soru 2 - Otopark Takip Sistemi


Bir Otopark’ın dolu park yerlerini takip eden bir program gerçekleştirilecektir. Takip edilen otopark
farklı en ve boylara sahip dikdörtgen park yerlerinden oluşabilmektedir. Otoparkın metre karesinin
kira ücreti bilinmektedir, buna göre her park yerinin alanına göre (boy x alan x metre kare fiyatı)
ücretlendirme yapılmaktadır. Araçların da sığabileceği park yerleri dikdörtgen olarak tanımlanmaktadır.
Park yerine bir araç geldiğinde sığabildiği en ucuz park yerine park etmektedir, bir park yerine

1
doğal olarak sadece bir araç park edebilmektedir, eğer uygun park yeri bulunamazsa o araç park
edememektedir. Yazdığınız programın toplam kazancı takip etmesi beklenmektedir.
Programın 3 tane sınıfı olması gerekiyor. Otopark nesnesinin aşağıdaki gibi metodları tanımlanmalıdır,
bunlardan ikisi constructor olacaktır. Birinci constructor bütün park yerlerinin aynı eni ve boyu
olduğunu varsaymaktadır. İkincisi ise farklı en, boy ve adetlerde park yerleri oluşurabilmektedir.
Her park yerinin ücreti kapladığı alan çarpı metrekare kira fiyatıdır.
ParkYeri
- en: double
- boy: double
+ ParkYeri(en: double, boy:
double, ucret:double)
+ getBoy()
+ getEn()
+ getUcret()

parkYerleri
n 0..1

0..1

Otopark Arac
- metrekareUcret - plaka:String
+ Otopark(metreKareKira: - en: double
double, en: double, boy: dou- - boy: double
ble, parkAdeti: int) + Arac(en: double, boy: dou-
+ Otopark(metreKareKira: ble, plaka:String)
double, enler: double[], boylar: + getPlaka()
double[], parkAdetleri: int[]) + getBoy()
+ parkEt(Arac): ParkYeri + getEn()
+ parktanCik(Arac) : ParkYeri
+ parktanCik(ParkYeri) : Arac
+ getKazanc() : double

Aşağıda bu sınıfların kullanımına örnekler oluşturulmuştur.


Otopark otopark = new Otopark (10 , 3 , 6 , 10) ;

Arac arac = new Arac (5 , 2 , " 06 QZ1234 " ) ;


Arac arac2 = new Arac (3 , 1 , " 06 QZ1235 " ) ;
Arac arac3 = new Arac (7 , 2 , " 06 QZ1236 " ) ;

2
Arac arac4 = new Arac (5 , 5 , " 06 QZ1237 " ) ;

ParkYeri park1 = otopark . parkEt ( arac ) ;


otopark . parkEt ( arac2 ) ;
otopark . parkEt ( arac3 ) ;
otopark . parkEt ( arac4 ) ;

ParkYeri park = otopark . parktanCik ( arac2 ) ;

double [] enler = {3 , 6};


double [] boylar = {8 , 10};
int [] adetler = {5 ,5};
Otopark otopark2 = new Otopark (10 , enler , boylar , adetler ) ;
park = otopark2 . parkEt ( arac ) ;

otopark . getKazanc () ;

You might also like