ΜΥΥ
205/ΠΛΥ212 – Τεχνικές
Αντικειμενοστραφούς
Προγραμματισμού
Εαρινό
Εξάμηνο, 2014
|
Αρχική
|
Ασκήσεις
– Εργαστήρια
Οδηγίες
για σύνδεση με
τα συστήματα
της σχολής από
το Windows-based PC σας
(τερματικό και
μεταφορά
αρχείων): ·
Κατεβάστε
το πρόγραμμα SSH SFTP Secure Shell Client 3.2.9 (για αρχεία
εγκατάστασης
πατήστε εδώ) ·
Εγκαταστήστε
το πρόγραμμα ·
Κατά
την εκτέλεση
του
προγράμματος
επιλέξτε "Quick Connect" ·
Host Name: scylla.cs.uoi.gr, User Name: το
login
του
λογαριασμού
σας ·
Όταν
σας ζητήσει Password: τον
προσωπικό
κωδικό σας ·
Στο
τερματικό
εμφανίζεται
μήνυμα που σας
λέει σε ποια
συστήματα των
εργαστήριων
προγραμματισμού
μπορείτε να
συνδεθείτε
στη συνέχεια ·
π.χ. δίνοντας
στο τερματικό
τις εντολές: "ssh hp6000ws03"
ή "ssh ultra20ws07" ·
Στο
μενού Window, μπορείτε
να ανοίξετε
επιπλέον
τερματικά (New Terminal) ή
παράθυρα
μεταφοράς
αρχείων (New File Transfer) ·
Εναλλακτικό
πρόγραμμα
σύνδεσης: PuTTY: A Free Telnet/SSH Client (για
αρχεία
εγκατάστασης
πατήστε εδώ). ·
Συχνό
Πρόβλημα: Χρήση
ελληνικών
χαρακτήρων
μέσα σε κάποιο
αρχείο μπορεί
να προκαλέσει
πρόβλημα στο turnin
γιατί
διαβάζονται
ως binary.
Χρησιμοποιήστε
greeklish. Επίσης
χρήσιμες
οδηγίες για τη
μεταφορά
αρχείων μπορείτε
να βρείτε στη σελίδα
που ετοίμασε ο
Γιώργος Ζάχος Τρίτη
Σειρά
Ασκήσεων Μπορείτε
να κατεβάσετε
την εκφώνηση
της τρίτης
σειράς
ασκήσεων εδώ. Η
σειρά αυτή
έχει δύο
τύπους
ασκήσεων:
κανονικές και bonus. Η
προθεσμία
παράδοσης για τις
κανονικές
ασκήσεις είναι
Δευτέρα 2
Ιουνίου πριν τις
3 μ.μ.. Για
τις bonus
ασκήσεις η
προθεσμία
είναι στις 17/6
πριν τις 6:00 μ.μ.
Οι ασκήσεις
είναι ατομικές. Το
αρχείο για την
δεύτερη
άσκηση
μπορείτε να το
κατεβάσετε από
εδώ. Θα
παραδώσετε τα
αρχεία σας
ηλεκτρονικά.
Για τις κανονικές
ασκήσεις θα
κάνετε turnin
στο assignment3@ply212. Για
τις bonus ερωτήσεις θα
κάνετε turnin
στο bonus@ply212. Μην
ξεχάσετε να
βάλετε το
όνομα σας και
τον ΑΜ σε σχόλια
στον κώδικα
σας (σε greeklish).
Επειδή το turnin
εκτός
πανεπιστημίου
μπορεί να
είναι
προβληματικό,
βεβαιωθείτε
ότι μπορείτε
να κάνετε turnin
πριν από την προθεσμία.
Η παράδοση των
ασκήσεων
πρέπει να
γίνει
ηλεκτρονικά. Δεύτερη
Σειρά
Ασκήσεων Μπορείτε
να κατεβάσετε
την εκφώνηση
της δεύτερης
σειράς
ασκήσεων εδώ. Η
προθεσμία
παράδοσης
είναι Δευτέρα 12
Μαΐου πριν το
μάθημα. Οι
ασκήσεις
είναι ατομικές. Ένα
παράδειγμα
της SortedListTest
είναι εδώ.
Ο κώδικας που
θα
χρησιμοποιήσουμε
για να σας εξετάσουμε
μπορεί να
είναι
διαφορετικός
(και κατά πάσα
πιθανότητα
πιο
περίπλοκος).
Επίσης εδώ
είναι η βάση
για την κλάση Person
(τα πεδία και ο constructor).
Μπορείτε (και
πρέπει) να
προσθέσετε
επιπλέον μεθόδους
αλλά δεν
πρέπει να
προσθέσετε
επιπλέον πεδία. Διαφάνειες
που δείχνουν
πως θα πρέπει
να γίνει η δημιουργία
του λαβύρινθου
εδώ. Θα
βοηθήσει να
δείτε και το animation
των
διαφανειών. Θα
παραδώσετε τα
αρχεία σας
ηλεκτρονικά
κάνοντας turnin
στο assignment2@ply212.
Π.χ., turnin assignment2@ply212 SortedPersonList.java για
να κάνετε turnin
το αρχείο για
την πρώτη
ερώτηση. Μην
ξεχάσετε να βάλετε
το όνομα σας
και τον ΑΜ σε
σχόλια στον
κώδικα σας (σε greeklish).
Επειδή το turnin
εκτός
πανεπιστημίου
μπορεί να
είναι
προβληματικό,
βεβαιωθείτε
ότι μπορείτε
να κάνετε turnin
πριν από την προθεσμία.
Η παράδοση των
ασκήσεων
πρέπει να
γίνει
ηλεκτρονικά. Πρώτη
Σειρά
Ασκήσεων Μπορείτε
να κατεβάσετε
την εκφώνηση
της πρώτης σειράς
ασκήσεων εδώ. Η
προθεσμία
παράδοσης
είναι
Παρασκευή 4
Απριλίου 11:59 μ.μ. Οι
ασκήσεις
είναι
ατομικές. Ένα
παράδειγμα
της TestSortedArray
είναι εδώ.
Ο κώδικας που
θα
χρησιμοποιήσουμε
για να σας εξετάσουμε
μπορεί να
είναι
διαφορετικός
(και κατά πάσα
πιθανότητα
πιο
περίπλοκος). Θα
παραδώσετε τα
αρχεία σας
ηλεκτρονικά
κάνοντας turnin
στο assignment1@ply212.
Π.χ., turnin assignment1@ply212 SortedArray.java για
να κάνετε turnin
το αρχείο για
την πρώτη
άσκηση. Μην
ξεχάσετε να βάλετε
το όνομα σας
και τον ΑΜ σε
σχόλια στον
κώδικα σας (σε greeklish).
Επειδή το turnin
εκτός
πανεπιστημίου
μπορεί να
είναι
προβληματικό,
βεβαιωθείτε
ότι μπορείτε
να κάνετε turnin
πριν από την
προθεσμία. Διευκρινήσεις
για την πρώτη
ερώτηση: ·
Για να
πάρετε όλους
τους βαθμούς, η
μέθοδος insert
θα πρέπει να
τοποθετεί το
στοιχείο στην
κατάλληλη
θέση χωρίς να
καλείτε μία
μέθοδο sort
που ταξινομεί
όλο τον πίνακα. ·
Η καλύτερη
λύση για τις containsElement, insert
και delete
χρησιμοποιεί
την μέθοδο find.
Γενικά είναι
καλό να
αποφεύγετε
την επανάληψη
κώδικα. ·
Όπου
αναφερόμαστε
στα στοιχεία
του πίνακα
εννοούμε τα
στοιχεία που
έχετε
προσθέσει
(μείον αυτά που
έχετε
αφαιρέσει) εσείς
στον πίνακα. Ο
αριθμός των
στοιχείων και
η χωρητικότητα
είναι
διαφορετικά
πράγματα. ·
Ανεξάρτητα
από τη
χωρητικότητα,
ο αρχικός
αριθμός των
στοιχείων όταν
δημιουργείται
ο πίνακας θα
πρέπει να
είναι μηδενικός.
Η
αρχικοποίηση
των θέσεων του
πίνακα δεν θα
πρέπει να
κάνει διαφορά
στην
υλοποίηση σας.
Θα πρέπει να
μπορείτε να
αποθηκεύετε
και αρνητικά στοιχεία
και το
στοιχείο
μηδέν. ·
Θα
παραδώσετε
μόνο την κλάση SortedArray.
Δεν
χρειάζεται να
έχει μέθοδο main
αλλά αν την
έχετε
δημιουργήσει
για να
τεστάρετε την
κλάση σας
μπορείτε να
την
παραδώσετε.
Εμείς θα
δημιουργήσουμε
μια δικιά μας
κλάση που θα
δημιουργεί
ένα
αντικείμενο SortedArray
της κλάσης σας
και θα εξετάζει
διάφορες
περιπτώσεις
(περισσότερες
από το παράδειγμα
που έχουμε στη
σελίδα του
μαθήματος). ·
Δώστε
σωστά ονόματα
στις
μεταβλητές
και τις μεθόδους,
σύμφωνα με τις
συμβάσεις, και
φροντίστε ο κώδικα
σας να είναι
απλός και
σωστά
δομημένος.
Βαθμολογείται
και η ποιότητα
του κώδικα. |