• Tidak ada hasil yang ditemukan

King Saud University

N/A
N/A
Protected

Academic year: 2025

Membagikan "King Saud University"

Copied!
5
0
0

Teks penuh

(1)

K i n g S a u d U n i v e r s i t y

College of Computer and Information Sciences Computer Science Department

Course Code: CSC 113

Course Title: Computer Programming II

Semester: Spring 2017

Exercises Cover Sheet:

Final Exam

Student Name:

Student ID:

Student Section No.

Tick the

Relevant Computer Science B.Sc. Program ABET Student Outcomes

Question No.

Relevant Is Hyperlinked

Covering

%

X a) Apply knowledge of computing and mathematics appropriate to the computer science;

b) Analyze a problem, and identify and define the computing requirements appropriate to its solution

X c) Design, implement and evaluate a computer-based system, process, component, or program to meet desired needs;

X d) Function effectively on teams to accomplish a common goal;

e) Understanding of professional, ethical, legal, security, and social issues and responsibilities;

f) Communicate effectively with a range of audiences;

g) Analyze the local and global impact of computing on individuals, organizations and society;

h) Recognition of the need for, and an ability to engage in, continuing professional development;

X i) Use current techniques, skills, and tools necessary for computing practices.

j) Apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;

k) Apply design and development principles in the construction of software systems of varying complexity;

(2)

2

Exercise1:

+Medicine(in name : String, in expiry : String, in perKGDosage : double) +getExpiry() : String

-name : String -expiry : String -perKGDosage : double

Medicine

+Syrup(in name : String, in expiry : String, in perKGDosage : double, in volume : int, in perML_mg : double) +getVolume() : int

-volume : int -perML_mg : double

Syrup

+Tablet(in name : String, in expiry : String, in perKGDosage : double, in perPacketTables : int, in perTablet_mg : double) -perPacketTables : int

-perTablet_mg : double

Tablet +calculateDosage(in weight : int) : double

«interface»

MedicineAdministration

+Pharmacy(in branchNo : int, in city : String, in size : int) +addMedicine(in m : Medicine)

+getMedicines(in d : String) : Medicine [ ] +saveSyrup(in fname : String, in v : int) +readTablet(in fname : String) : int

+displayPrescription(in patientName : String, in weight : int) +getCity() : String

-branchNo : int -city : String

Pharmacy

-arMed 1

*

MedicineAdministration Interface:

o Methods:

calculateDosage (weight: int): This method calculates and returns the total dosage to be administered to the patient based on his weight (the weight of the patient). The total dosage is calculated using the following formula:

o For Syrup: the total dosage = (perKGDosage * weight) / perML_mg.

This will return the number of milliliters of the syrup.

o For Tablet: the total dosage = (perKGDosage * weight) / perTablet_mg. This will return the total number of tablets.

Medicine class o Attributes:

name: the name of the Medicine.

expiry: the expiry date of the Medicine.

perKGDosage: This attribute describes the strength of the medicine in milligrams per Kilogram of the patient’s weight.

o Methods:

Medicine (name: String, expiry: String, perKGDosage: double ): constructor.

getExpiry(): this method returns the expiry date of the Medicine.

(3)

3 o Attributes:

volume: the total volume of the syrup in milliliters

perML_mg: Number of milligrams of the medicine per milliliter.

o Methods:

Syrup (name: String, expiry: String, perKGDosage: double, volume: int, perML_mg: double): constructor.

getVolume():this method returns the volume of the Syrup.

Tablet class:

o Attributes:

perPacketTables: number of tablets in one blister packet.

perTablet_mg: Number of milligrams of the medicine per tablet o Methods:

Tablet(name: String, expiry: String, perKGDosage: double, perPacketTables: int, perTablet_mg: double): constructor

QUESTION: Translate into Java code:

1. The interface MedicineAdministration

2. The class Medicine.

3. The class Tablet.

(4)

4

Exercise 2:

Let’s consider the class Medicine described in exercise 1.

+Medicine(in name : String, in expiry : String, in perKGDosage : double) +getExpiry() : String

-name : String -expiry : String -perKGDosage : double

Medicine

+calculateDosage(in weight : int) : double

«interface»

MedicineAdministration

+Pharmacy(in branchNo : int, in city : String, in size : int) +addMedicine(in m : Medicine)

+getMedicines(in d : String) : Medicine [ ] +saveSyrup(in fname : String, in v : int) +readTablet(in fname : String) : int

+displayPrescription(in patientName : String, in weight : int) +getCity() : String

-branchNo : int -city : String

Pharmacy

-arMed

1 *

Pharmacy class:

o Attributes:

branchNo: the branch number of the Pharmacy.

city: the city name of the Pharmacy.

o Methods:

Pharmacy (branchNo: int, city: String, size: int): constructor

addMedicine(m: Medicine): this method adds the Medicine m to the Pharmacy. This method raises an ArrayOutOfBoundException if the array arMed is full.

getMedicines(d: String): This method returns an array containing all Medicine objects that will expire on date d.

saveSyrup (fileName: String, v: int):this method saves, into the file filename, all Syrup objects of the Pharmacy having a volume greater than v.

readTablet(fileName: String): This method returns the number of Tablets stored in the file fileName.

getCity():this method returns the city name of the Pharmacy.

QUESTION: Translate into Java code the class Pharmacy.

(5)

5

Let’s consider the class Pharmacy described in exercise 2.

+Node()

+Node(in p : Pharmacy) +setData(in p : Pharmacy) +getData() : Pharmacy +setNext(in n : Node) +getNext() : Node

Node

-data

1 1

-next 1

1

+ListOfPharmacies()

+insertAtFront(in p : Pharmacy) +insertAtBack(in p : Pharmacy) +countPharmacies(in c : String) : int

+split(in riyadhList : ListOfPharmacies, in jeddahList : ListOfPharmacies) ListOfPharmacies

-head 1 1

+Pharmacy(in branchNo : int, in city : String, in size : int) +addMedicine(in m : Medicine)

+getMedicines(in d : String) : Medicine [ ] +saveSyrup(in fname : String, in v : int) +readTablet(in fname : String) : int

+displayPrescription(in patientName : String, in weight : int) +getCity() : String

-branchNo : int -city : String

Pharmacy

ListOfPharmacies class:

o Attributes:

head: references the first element of the linked list.

o Methods:

ListOfPharmacies (): constructor.

insertAtFront (p: Pharmacy):this method adds the Pharmacy p at the front of the linked list.

insertAtBack (p: Pharmacy):this method adds the Pharmacy p at the end of the linked list.

countPharmacies(c: String):this method returns the number of pharmacies in the city c.

split (riyadhList: ListOfPharmacies, jeddahList: ListOfPharmacies): This method inserts all pharmacies of Riyadh in the list riyadhList and the pharmacies of Jeddah in the list jeddahList.

QUESTION: Translate into Java code the following methods of the class ListOfPharmacies:

1. The method countPharmacies.

2. The method split.

Referensi

Dokumen terkait

In Graph 10 we list the parallelism results for the NAS Parallel Benchmark workloads running on the oracle model architecture with one restriction: the maximum number of processors are

of CSE, ITER, Siksha ’O’ Anusandhan Deemed to be University, Bhubaneswar, India cSchool of Electrical Sciences, IIT Bhubaneswar, Bhubaneswar, India Received 12 January 2013; revised

The total number of feature points from the modalities used in the proposed work is repre- sented as follows: fen¼fnþen ð2Þ It is not enough to create the grouped feature vector point

This is obvious because as the number of user queries grow, the queries eventually get categorized either as exact or a subset or partial and skylines of the previ- ously computed

This paper compares neural network based sentiment classification methods back propagation neural network BPN, probabilistic neural network PNN & homogeneous ensemble of PNN HEN using

But implementation of both S-box in CLBs results in better frequency and throughput results although it requires more number of slice LUTs as compared to other exploration techniques..

Proposed system for Arabic Web Search Results Clustering based FCA theory The Arabic language is the fourth most spoken language in the internet, and with the number of Arabic

A there is no relationship B positive C negative D curvilinear The equation of the regression line between a person's age in years x and the number of hours he exercises per week y is