ΠΛΥ212 – Τεχνικές Αντικειμενοστραφούς Προγραμματισμού

Εαρινό Εξάμηνο, 2013

 

Αρχική

Διδακτέα Ύλη

Ασκήσεις

Ασκήσεις – Εργαστήρια

 

Οδηγίες για σύνδεση με τα συστήματα της σχολής από το 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 Trasfer)

-          Εναλλακτικό πρόγραμμα σύνδεσης: PuTTY: A Free Telnet/SSH Client  (για αρχεία εγκατάστασης πατήστε εδώ).

-          Συχνό Πρόβλημα: Χρήση ελληνικών χαρακτήρωνμέσα σε κάποιο αρχείο μπορεί να προκαλέσει πρόβλημα στο turnin γιατί διαβάζονται ως binary. Χρησιμοποιήστε greeklish.

 

Τρίτη Σειρά Ασκήσεων

Η προθεσμία της άσκησης παρατείνεται για την Παρασκευή 31/5, 12 το μεσημέρι.

 

Μπορείτε να κατεβάσετε την τρίτη σειρά ασκήσεων από εδώ. Η προθεσμία παράδοσης είναι την Τετάρτη 29/5 τα μεσάνυχτα.

 

Διευκρινήσεις:

·         Τα αρχεία reviews.txt και stopwords.txt

·         Για την Τρίτη άσκηση χρειάζεστε κάποιες γνώσεις για χειρισμό αρχείων και strings που θα πούμε μέσα στην επόμενη βδομάδα.

·         Οι ασκήσεις είναι ατομικές.

 

Δεύτερη Σειρά Ασκήσεων

Μπορείτε να κατεβάσετε την δεύτερη σειρά ασκήσεων από εδώ. Η προθεσμία παράδοσης είναι την Παρασκευή 24/4 τα μεσάνυχτα.

 

Διευκρινήσεις:

·         Το «χρώμα» του χαρτιού σημαίνει το σχήμα (μπαστούνι, κούπα, καρό, σπαθί) και όχι αν το χαρτί είναι μαύρο ή κόκκινο. Το «νούμερο» του χαρτιού περιλαμβάνει και τις φιγούρες, δηλαδή μπορεί να είναι 2,3,4,…,10,J,Q,K,A.

·         Οι ασκήσεις είναι ατομικές.

 

Πρώτη Σειρά Ασκήσεων

Μπορείτε να κατεβάσετε την πρώτη σειρά ασκήσεων από εδώ. Η προθεσμία παράδοσης είναι την Κυριακή 31/3 τα μεσάνυχτα.

 

Διευκρινήσεις

·         Οι ασκήσεις είναι ατομικές.

·         Το «ανακάτεμα» των χαρτιών πρέπει να γίνεται όταν ο αριθμός των χαρτιών είναι κάτω από το ένα τέταρτο των χαρτιών που είχε αρχικά το αντικείμενο River. Ο έλεγχος θα γίνεται με μία μέθοδο την οποία θα ορίσετε στην κλάση River. To «ανακάτεμα» σημαίνει ότι ξαναγεμίζετε το ρεύμα των χαρτιών με όλα τα χαρτιά, αρχικοποιώντας ξανά τον πίνακα με τα μερικά αθροίσματα.

·         Η μέθοδος που θα υλοποιεί το παιχνίδι του dealer θα πρέπει να παίρνει σαν όρισμα το αντικείμενο River.

·         Η υλοποίηση της κλάσης River και του υπόλοιπου προγράμματος θα βαθμολογηθούν ανεξάρτητα.

·         Ο σχεδιασμός του προγράμματος σε κλάσεις, αντικείμενα και μεθόδους έγινε για τη διευκόλυνση σας. Μπορείτε να κάνετε κάποιες τροποποιήσεις αν σας διευκολύνει αλλά θα πρέπει να ακολουθείτε τη λογική του αντικειμενοστραφούς προγραμματισμού. Δεν επιτρέπεται π.χ. να βάλετε όλο τον κώδικα σε μία μέθοδο, ή μία κλάση. Επίσης θα πρέπει υποχρεωτικά να υλοποιήσετε την κλάση River.

·         Για περισσότερες λεπτομέρειες για το παιχνίδι του blackjack μπορείτε να διαβάσετε εδώ.  Κάποιες μικρές διαφορές στις οδηγίες της εκφώνησης είναι για να κάνουν την υλοποίηση πιο εύκολη.

·         Για τη nextCard υπάρχει μια μικρή αλλαγή στην εκφώνηση που ίσως κάνει την περιγραφή της πιο ξεκάθαρη.

·         Διευκρίνιση για τη nextCard: Υπάρχει ένα πρόβλημα στη συνθήκη που δίνει η εκφώνηση για να επιστρέψετε την τιμή της nextCard(), όταν έχουμε χαρτιά με μηδενικό αριθμό από εμφανίσεις. Η σωστή συνθήκη που θα δουλέψει και σε αυτή την περίπτωση είναι ότι θα βρείτε την πρώτη (τη μικρότερη) θέση j στον πίνακα (όπου η αρίθμηση των θέσεων ξεκινάει από το μηδέν)  που η τιμή της (το περιεχόμενο της) είναι μεγαλύτερη ή ίση με τον τυχαίο αριθμό x και θα επιστρέψετε j+1. Επειδή το πρόβλημα βρέθηκε αργά δεν θα αφαιρεθούν μονάδες αν ακολουθήσετε την προηγούμενη συνθήκη.