ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ ΕΡΓΑΣΤΗΡΙΟ 2

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 4: Αντικειμενοστραφής Προγραμματισμός (Μέθοδοι, Κλάσεις, Αντικείμενα)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Διδάσκων: Παναγιώτης Ανδρέου

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Μελετήστε την θεωρία που αφορά Επαναληπτικές Μεθόδους Επίλυσης Γραμμικών Συστημάτων.

8. Μέθοδοι (Methods)

Κλάσεις και Αντικείµενα

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Οντοκεντρικός Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Συστήματα Βιομηχανικών Διεργασιών 6ο εξάμηνο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Εισαγωγή στον Προγραμματισμό

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

Αντικειμενοστρεφής Προγραμματισμός

ΒΙΟΚΛΙΜΑΤΟΛΟΓΙΑ ΘΕΡΜΟΚΗΠΙΩΝ ΘΕΡΜΟΤΗΤΑΡΥΘΜΙΣΗ ΘΕΡΜΟΚΡΑΣΙΑΣ. Δρ. Λυκοσκούφης Ιωάννης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

Συναρτήσεις και διαδικασίες

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Άσκηση 1 Μέτρηση του συντελεστή γραμμικής διαστολής του υλικού μιας μεταλλικής ράβδου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

Αντικειμενοστρεφής Προγραμματισμός

Δομημένος Προγραμματισμός (ΤΛ1006)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

p

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Wrapper Classes, Abstract Classes and Interfaces

Τύποι Δεδομένων Είσοδος/Έξοδος

Ανάπτυξη και Σχεδίαση Λογισμικού

Εργαστήριο 08 Δημιουργία 1 ου Συντακτικού Αναλυτή

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

Εισαγωγή στον Προγραμματισμό

Διάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι

Transcript:

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ ΕΡΓΑΣΤΗΡΙΟ 2 Θέμα εργαστηρίου: Κλάσεις, μέθοδοι και δηλώσεις ανάθεσης Περιεχόμενο εργαστηρίου: Εισαγωγή στις κλάσεις, στα είδη μεθόδων και στα αντικείμενα Μαθηματικές εκφράσεις της Math class Δηλώσεις ανάθεσης τιμών σε μεταβλητές Πρόγραμμα: Στο σημερινό εργαστήριο θα δημιουργηθεί ένα πρόγραμμα που με δεδομένη θερμοκρασία και σχετική υγρασία του περιβάλλοντος, θα υπολογίζει την «ισοδύναμη θερμοκρασία», που είναι η θερμοκρασία την οποία αισθάνεται ο ανθρώπινος οργανισμός ( equivalent temperature ή heat index ). Στοιχεία φυσικού αντικειμένου προγράμματος: Ο ανθρώπινος οργανισμός ανταλλάσει θερμότητα με το περιβάλλον με i) απλή επαγωγή (ζεσταίνοντας τον αέρα που έρχεται σε επαφή με το σώμα), ii) εξάτμιση του ιδρώτα και iii) ανταλλαγή θερμικής ακτινοβολίας (π.χ. θέρμανση από τον ήλιο). Ισοδύναμη θερμοκρασία (Equivalent temperature ή heat index) του αέρα ονομάζεται η εικονική θερμοκρασία του αέρα που θα προκαλούσε τον ίδιο ρυθμό ανταλλαγής θερμότητας εάν συνέβαιναν μόνο τα φαινόμενα της επαγωγής και της ανταλλαγής ακτινοβολίας (δηλ. χωρίς το φαινόμενο της εξάτμισης). Η υγρασία καθυστερεί την απώλεια θερμότητας από το σώμα μειώνοντας την εξάτμιση του ιδρώτα, άρα αέρας με μεγαλύτερη υγρασία έχει μεγαλύτερη ισοδύναμη θερμοκρασία. Η ισοδύναμη θερμοκρασία του αέρα δίνεται από την ακόλουθη σχέση: όπου: T air είναι η θερμοκρασία του αέρα γ είναι μία παράμετρος (ψυχρομετρική σταθερά) με τιμή γ = 66 Pa/K (Pascal ανά βαθμό Kelvin) σχέση: p w είναι η πραγματική μερική πίεση ατμών του αέρα (σε Pa), η οποία δίνεται από τη Page 1 of 5

όπου: φ είναι η σχετική υγρασία του αέρα (0 1) p ws είναι η κορεσμένη μερική πίεση ατμών του αέρα (σε Pa), η οποία δίνεται από τη σχέση: όπου Τ είναι η θερμοκρασία του αέρα σε βαθμούς Kelvin ( o K = o C + 273.15 ), ενώ οι παράμετροι Α 1 Α 7 έχουν τις ακόλουθες τιμές: Α 1 = 5.8002206 10 3 Α 2 = 1.3914993 Α 3 = 48.640239 10 3 Α 4 = 41.764768 10 6 Α 5 = 14.452093 10 9 Α 6 = 0 Α 7 = 6.5459673 Δομή του προγράμματος Το πρόγραμμα θα αποτελείται από δύο κλάσεις: την κλάση εφαρμογής (CalcEquivTemp) και μία κλάση υποστήριξης (EquivTemp). Όλοι οι απαραίτητοι υπολογισμοί θα γίνονται σε μεθόδους της κλάσης υποστήριξης, ενώ η κλάση εφαρμογής θα αναλαμβάνει την είσοδο των δεδομένων, την κλήση των απαραίτητων μεθόδων και την έξοδο (στην οθόνη) των αποτελεσμάτων. Η κλάση υποστήριξης θα περιέχει τις ακόλουθες μεθόδους: i) Modifier methods (τροποποιητικές): setairtemp: θέτει τιμή στη μεταβλητή της θερμοκρασίας setrhpercent: θέτει τιμή στη μεταβλητή της σχετικής υγρασίας ii) Operations methods (λειτουργικές): convertctok: μετατρέπει τους βαθμούς Κελσίου σε βαθμούς Κέλβιν convertrh: μετατρέπει το ποσοστό της σχετικής υγρασίας σε δεκαδικό (0 1) calcsatvaporpressure: υπολογίζει την κορεσμένη μερική πίεση ατμών (σε kpa) calcactualvaporpressure: υπολογίζει την πραγματική μερική πίεση ατμών (σε kpa) calcet: υπολογίζει την ισοδύναμη θερμοκρασία (σε o C) iii) Accessor methods (πρόσβασης): accesssatvappress: επιστρέφει την κορεσμένη μερική πίεση ατμών (σε kpa) accessvappress: επιστρέφει την πραγματική μερική πίεση ατμών (σε kpa) accesset: επιστρέφει την ισοδύναμη θερμοκρασία (σε o C) Η κλάση εφαρμογής θα περιέχει μόνο τη μέθοδο main η οποία θα ζητάει από τον χρήστη την είσοδο τιμών για θερμοκρασία και σχετική υγρασία, θα καλεί τις απαραίτητες μεθόδους της κλάσης υποστήριξης (αφού φτιάξει ένα αντικείμενό της) ώστε να υπολογίσει την ισοδύναμη θερμοκρασία, και θα εμφανίζει στην οθόνη τα αποτελέσματα (τις τιμές εισόδου (θερ/σία, υγρασία), την τιμή της πραγματικής μερικής πίεσης ατμών και τέλος την τιμή της ισοδύναμης θερμοκρασίας). Page 2 of 5

Σκελετός του προγράμματος Ακολουθεί ο σκελετός της κλάσης υποστήριξης (EquivTemp), δηλαδή το κύριο μέρος της κλάσης με τις απαραίτητες μεταβλητές και τις μεθόδους της, αλλά χωρίς τον κώδικα της κάθε μεθόδου. Αφού γραφεί ο σκελετός αυτός της κλάσης στον BlueJ και αφού διαπιστωθεί ότι γίνεται compiled χωρίς να βρίσκει συντακτικά λάθη (μπορεί να βρίσκει άλλα σφάλματα, π.χ. ότι λείπει κάποιο return κτλ., αλλά με ενδιάμεσο compilation μπορούμε να διορθώσουμε τυχόν συντακτικά λάθη πριν το πρόγραμμα γίνει πολύ μεγάλο και πολύπλοκο), θα πρέπει να συμπληρωθεί ο κώδικας των μεθόδων, για να ολοκληρωθεί η κλάση υποστήριξης. Προσοχή: Από τον ορισμό των modifier μεθόδων της κλάσης γίνεται σαφές ότι οι μέθοδοι αυτές δεν επιστρέφουν κάποια τιμή, αλλά θέτουν τιμές σε μεταβλητές της κλάσης. Επίσης, από τον ορισμό των operations μεθόδων της κλάσης γίνεται σαφές ότι οι μέθοδοι αυτές δεν δέχονται κάποιες τιμές, αλλά χρησιμοποιούν τιμές των μεταβλητών της κλάσης για να υπολογίσουν τις τιμές άλλων μεταβλητών. /** * Write a description of class EquivTemp here. * * @author (your name) * @version (a version number or a date) */ public class EquivTemp // variables private double CtoK = 273.15; // constant, convert Celsius to Kelvin private double airtempc; // air temperature, in Celcius private double airtempk; // air temperature, in Kelvin private double rhumidity; // relative humidity, 0 to 1 private double rhumiditypercent; // relative humidity, percent // προσθέστε και άλλες μεταβλητές εάν χρειάζεται // Modifier methods to receive values and assign them to class variables // Μέθοδος που δέχεται τιμή για τη θερμοκρασία και την // αναθέτει στη μεταβλητή κλάσης public void setairtemp(double temp) // Μέθοδος που δέχεται τιμή για τη σχετ. υγρασία (%) και την // αναθέτει στη μεταβλητή κλάσης public void setrhpercent(double rh) Page 3 of 5

// Operations methods to calculate intermediate results // Μέθοδος που μετατρέπει βαθμούς Κελσίου σε Κέλβιν public void convertctok() // Μέθοδος που μετατρέπει τη σχετ. υγρασία από ποσοστό σε δεκαδικό public void convertrh() // Μέθοδος που υπολογίζει την κορεσμένη πίεση ατμών, σε kpa public void calcsatvaporpressure() // Μέθοδος που υπολογίζει την πραγματική πίεση ατμών, σε kpa public void calcactualvaporpressure() // Μέθοδος που υπολογίζει την ισοδύναμη θερμοκρασία, σε C public void calcet() // Accessor methods to return calculated and other values // to invoking statements // Μέθοδος που επιστρέφει την κορεσμένη πίεση ατμών public double accesssatvappress() // Μέθοδος που επιστρέφει την πραγματική πίεση ατμών public double accessvappress() // Μέθοδος που επιστρέφει την ισοδύναμη θερμοκρασία public double accesset() // end class Page 4 of 5

Αφού ολοκληρωθεί η κλάση υποστήριξης, μένει να φτιαχτεί η κλάση εφαρμογής του προγράμματος (CalcEquivTemp). Ο σκελετός της κλάσης αυτής φαίνεται παρακάτω. Ξανά, αφού γραφεί ο σκελετός αυτός της κλάσης στον BlueJ και αφού διαπιστωθεί ότι γίνεται compiled χωρίς να βρίσκει συντακτικά λάθη, θα πρέπει να συμπληρωθεί ο κώδικας που λείπει, για να ολοκληρωθεί η κλάση εφαρμογής, και άρα το πρόγραμμα. /** * Write a description of class CalcEquivTemp here. * * @author (your name) * @version (a version number or a date) */ public class CalcEquivTemp // Data variables private static double tempc; private static double percentrh; public static void main(string [] args) // Δημιουργία αντικειμένων της Scanner και της // κλάσης υποστήριξης // Ask user for input data (temperature and rel. humidity (%) // Κλήση μεθόδων της κλάσης υποστήριξης για τον υπολογισμό // των αποτελεσμάτων // ΠΡΟΣΟΧΗ: ΕΧΕΙ ΜΕΓΑΛΗ ΣΗΜΑΣΙΑ Η ΣΕΙΡΑ ΚΛΗΣΗΣ ΤΩΝ ΜΕΘΟΔΩΝ! // Output results (θα χρειαστούν κλήσεις των accessor // methods της κλάσης υποστήριξης) // end main // end class Αφού ολοκληρώσετε και τις δύο κλάσεις (υποστήριξης και εφαρμογής) και βεβαιωθείτε ότι έχουν γίνει compiled χωρίς σφάλματα, τρέξτε την κλάση εφαρμογής. Δοκιμάστε το πρόγραμμά σας για διάφορες τιμές θερμοκρασίας και σχετικής υγρασίας. Κάποιες ενδεικτικές τιμές (αποτελεσμάτων) για δεδομένα ζεύγη θερμοκρασίας/υγρασίας, για να τεστάρετε το πρόγραμμά σας είναι οι εξής: Θερ/σία (C) Υγρασ. (%) Κορ. πίεση ατμ. (kpa) Πραγμ. πίεση ατμ. (kpa) Ισοδ. θερ/σία (C) 20 20 2.33880370 0.46776074 27.08728394 20 80 2.33880370 1.87104296 48.34913576 30 25 4.24603024 1.06150756 46.08344789 Σημείωση: Ο συγκεκριμένος τρόπος υπολογισμού της ισοδύναμης θερμοκρασίας παράγει σχετικά υψηλές τιμές. Άλλες μέθοδοι υπολογίζουν πιο ρεαλιστικές τιμές ισοδύναμης θερ/σίας, αλλά ο συγκεκριμένος τρόπος έχει μεγαλύτερο ενδιαφέρον από προγραμματιστικής άποψης, γι αυτό και χρησιμοποιήθηκε σε αυτή την άσκηση. 031408 Page 5 of 5