საშინაო დავალება, 2-3 დეკემბერი

12 views
Skip to first unread message

Mikheil Kapanadze

unread,
Dec 4, 2008, 12:02:48 PM12/4/08
to Java in TSU - 2008
მოგესალმებით. ესაა დავალება ყველა ჯგუფისათვის:

ააგეთ კლასი Complex (კომპლექსური რიცხვი) რომელსაც აქვს 2 private ველი,
სახელებით real და imaginary. ასევე შესაბამისი get/set მეთოდები.

დაწერეთ პროგრამა, რომელიც ArrayList-ში შეინახავს კომპლექსურ რიცხვებს,
დაბეჭდავს ამ ArrayList-ს, დაალაგებს მას პირველი კრიტერიუმით,
დაბეჭდავს, შემდეგ დაალაგებს სხვა კრიტერიუმით და ისევ დაბეჭდავს.

ბეჭდვისას კომპლექსურ რიცხვებს ჰქონდეთ a+bi ფორმა. მაგალითად, 5+7i
19-52i და ა.შ.

პირველი კრიტერიუმი:
თუკი გვაქვს a+bi c+di, ვიტყვით რომ პირელი რიცხვი მეტია მეორეზე, თუკი
a>b ანდა, თუ a=b, მაშინ c>d

მეორე კრიტერიუმი
შევადაროთ Math.sqrt(a*a + b*b) da Math.sqrt(c*c + d*d) და რომელიც
მეტია, შესაბამისი რიცხვია მეტი

ამის შემდეგ ეკრანზე პროგრამამ ეკრანზე დაბეჭდოს განსხვავებული
კომპლექსური რიცხვები, შესაბამისი რაოდენობების მითითებებით. ასეთი
ფორმით:
Distinct Numbers
=============
5+6i 3
1+2i 1

(ანუ გვერდზე მიეწეროს, რამდენჯერ შეგვხვდა ArrayList-ში ეს კომპლექსური
რიცხვი)

მითითება - განსხვავებულების დასათვლელად გამოიყენეთ java.util.Map

დავალების გამოგზავნის ბოლო ვადაა კვირა, 7 დეკემბერი, ღამის 12:00

Mikheil Kapanadze

unread,
Dec 6, 2008, 1:55:24 PM12/6/08
to Java in TSU - 2008
მოგესალმებით,

ალბათ ბევრი მიხვდით რომ დავალებაში შეცდომა იყო (მადლობა ირაკლი
ქობესაშვილს იმისათვის რომ იპოვა ეს შეცდომა და მაცნობა). უნდა ეწეროს
ასეთი რამ:

პირველი კრიტერიუმი:
თუკი გვაქვს a+bi c+di, ვიტყვით რომ პირელი რიცხვი მეტია მეორეზე, თუკი

a>c ანდა, თუ a=c, მაშინ პირველი რიცხვი მეორეზე მეტია თუკი b>d

ანუ, სხვაგვარად რომ ვთქვათ, ჯერ ვადარებთ real ნაწილებს. თუ ერთ-ერთი
მეტია, შესაბამისი კომპლექსური რიცხვიც მეტი იქნება. თუკი real-ები
ერთმანეთის ტოლია, მერე ვადარებთ imaginary-ებს.

Reply all
Reply to author
Forward
0 new messages