User Tools

Site Tools


qna:hw:lsn05

Μάθημα 5

Προετοιμασία

Εργαστηριακή διάλεξη

Εργασία 5.1

Παιχνίδι Τρίλιζα

Τα μηνύματα λάθους, ειδικά γι'αυτό το smProject είναι της μορφής:

  A ... board ... detected (XOX|O-X|XXO)

δηλαδή εμφανίζουν το board ανά γραμμή όπως δόθηκε στη συνάρτησή σας. Το παραπάνω board είναι το:

XOX
O-X
XXO

Το - συμβολίζει το κενό κελί.

Ερώτημα 5.1.1

Συνάρτηση isFinished

Έλεγχοι

Test 5-1-1-a

Η συνάρτηση isFinished δεν επέστρεψε αληθές για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε.

Test 5-1-1-b

Η συνάρτηση isFinished δεν επέστρεψε αληθές για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει “νόμιμη” διάταξη, αν και δεν παίζει ρόλο.

Test 5-1-1-c

Η συνάρτηση isFinished δεν επέστρεψε ψευδές για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε.

Test 5-1-1-d

Η συνάρτηση isFinished δεν επέστρεψε ψευδές για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει “νόμιμη” διάταξη, αν και δεν παίζει ρόλο.

Ερώτημα 5.1.2

Συνάρτηση isPlayablePos

Έλεγχοι

Test 5-1-2-a

Η συνάρτηση isPlayablePos δεν επέστρεψε αληθές για άδειο board και για αποδεκτές συντεταγμένες κελιού, ενώ έπρεπε.

Test 5-1-2-b

Η συνάρτηση isPlayablePos δεν επέστρεψε ψευδές για άδειο board και για μη αποδεκτές συντεταγμένες κελιού, ενώ έπρεπε.

Test 5-1-2-c

Η συνάρτηση isPlayablePos δεν επέστρεψε ψευδές για το δεδομένο πλήρες board που φαίνεται στο μήνυμα, για απόδεκτές ή μη συντεταγμένες, ενώ έπρεπε.

Test 5-1-2-d

Η συνάρτηση isPlayablePos δεν επέστρεψε ψευδές για το δεδομένο πλήρες board που φαίνεται στο μήνυμα, για απόδεκτές ή μη συντεταγμένες, ενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει “νόμιμη” διάταξη, αν και δεν παίζει ρόλο.

Test 5-1-2-e

Η συνάρτηση isPlayablePos επέστρεψε ψευδές αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, για απόδεκτές συντεταγμένες κελιού που είναι ελεύθερο.

Test 5-1-2-f

Η συνάρτηση isPlayablePos επέστρεψε αληθές αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, για απόδεκτές συντεταγμένες κελιού που δεν είναι ελεύθερο.

Test 5-1-2-g

Η συνάρτηση isPlayablePos επέστρεψε ψευδές αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, για απόδεκτές συντεταγμένες κελιού που είναι ελεύθερο. Παρεμπιπτόντως το board αυτό δεν έχει “νόμιμη” διάταξη, αν και δεν παίζει ρόλο.

Test 5-1-2-h

Η συνάρτηση isPlayablePos επέστρεψε αληθές αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, για απόδεκτές συντεταγμένες κελιού που δεν είναι ελεύθερο. Παρεμπιπτόντως το board αυτό δεν έχει “νόμιμη” διάταξη, αν και δεν παίζει ρόλο.

Ερώτημα 5.1.3

Συνάρτηση canPlay

Έλεγχοι

Test 5-1-3-a

Η συνάρτηση canPlay επέστρεψε ψευδές για άδειο board, για τον παίκτη Χ και για αποδεκτές συντεταγμένες κελιού.

Test 5-1-3-b

Η συνάρτηση canPlay επέστρεψε αληθές για άδειο board και για μη αποδεκτές συντεταγμένες κελιού.

Test 5-1-3-c

Η συνάρτηση canPlay επέστρεψε αληθές για άδειο board και για αποδεκτές συντεταγμένες κελιού, αλλά για τον παίκτη Ο (που δεν είναι η σειρά του να παίξει).

Test 5-1-3-d

Η συνάρτηση canPlay επέστρεψε αληθές για λανθασμένο και πλήρες board και για αποδεκτές συντεταγμένες κελιού, για κάποιον παίκτη ενώ έπρεπε.

Test 5-1-3-e

Η συνάρτηση canPlay επέστρεψε ψευδές για board που το παιχνίδι είναι σε εξέλιξη και για αποδεκτές συντεταγμένες κελιού, για τον παίκτη του οποίου είναι η σειρά του να παίξει.

Test 5-1-3-f

Η συνάρτηση canPlay επέστρεψε αληθές για board που το παιχνίδι είναι σε εξέλιξη και για αποδεκτές συντεταγμένες κελιού, για τον παίκτη του οποίου δεν είναι η σειρά του να παίξει.

Test 5-1-3-g

Η συνάρτηση canPlay επέστρεψε αληθές για εσφαλμένο board που υπάρχουν κενά κελιά και για αποδεκτές συντεταγμένες κελιού, για τον παίκτη του οποίου είναι η σειρά του να παίξει.

Ερώτημα 5.1.4

Συνάρτηση rc2int

Έλεγχοι

Test 5-1-4-a

Η συνάρτηση rc2int επέστρεψε λανθασμένο αποτέλεσμα για κελί της 1ης γραμμής, όπου το αποτέλεσμα θα έπρεπε να είναι το μηδέν.

Test 5-1-4-b

Η συνάρτηση rc2int επέστρεψε λανθασμένο αποτέλεσμα για κελί της 1ης γραμμής, όπου το αποτέλεσμα θα έπρεπε να είναι μονοψήφιος ακέραιος.

Test 5-1-4-c

Η συνάρτηση rc2int επέστρεψε λανθασμένο αποτέλεσμα για κελί της 2ης ή 3ης γραμμής, όπου το αποτέλεσμα θα έπρεπε να είναι διψήφιος ακέραιος.

Test 5-1-4-d

Η συνάρτηση rc2int δεν επέστρεψε -1 για κελί εκτός board.

Ερώτημα 5.1.5

Συνάρτηση winningMove

Έλεγχοι

Test 5-1-5-a

Η συνάρτηση winningMove δεν επέστρεψε -1 για άδειο board.

Test 5-1-5-b

Η συνάρτηση winningMove δεν επέστρεψε -2 για πλήρες και σωστό board.

Test 5-1-5-c

Η συνάρτηση winningMove δεν επέστρεψε -2 για πλήρες και λανθασμένο board.

Test 5-1-5-d

Η συνάρτηση winningMove δεν επέστρεψε -2 για λανθασμένο board, που περιέχει κενά κελιά.

Test 5-1-5-e

Η συνάρτηση winningMove δεν επέστρεψε -1 για σωστό board, ενώ δεν υπάρχει κίνηση που να δίνει νίκη.

Test 5-1-5-f

Η συνάρτηση winningMove δεν επέστρεψε -2 για λανθασμένο board, που περιέχει κενά.

Test 5-1-5-g

Η συνάρτηση winningMove δεν βρήκε την (υπαρκτή) κίνηση που δίνει τη νίκη για τον παίκτη που είχε σειρά σε σωστό board.

Test 5-1-5-h

Η συνάρτηση winningMove βρίσκοντας την υπαρκτή κίνηση που δίνει τη νίκη, δεν άφησε το board άθικτο όπως έπρεπε.

Test 5-1-5-i

Η συνάρτηση winningMove ψάχνοντας για την μη υπαρκτή κίνηση που δίνει τη νίκη, δεν άφησε το board άθικτο όπως έπρεπε.

Εργασία 5.2

“Περιστροφή” πίνακα

Τα μηνύματα λάθους, ειδικά γι'αυτό το smProject είναι της μορφής:

  testRotateArray(..., ..., ..., ...) FAILED : ...
BRHKATE: 1 2 3 4
  SWSTO: 5 6 7 8

δηλαδή κάτω από το μήνυμα με τη λέξη FAILED, εμφανίζουν το αποτέλεσμα που έχετε υπολογίσει και κάτω από αυτό, το σωστό αποτέλεσμα.

Ομάδα ελέγχων 5.2.1

Εσφαλμένα δεδομένα.

Έλεγχοι

Test 5-2-1-a

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για μηδενικό μήκος Ν σε δεξιά περιστροφή.

Test 5-2-1-b

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για αρνητικό μήκος Ν σε δεξιά περιστροφή.

Test 5-2-1-c

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για αρνητικό πληθος θέσεων k σε δεξιά περιστροφή.

Test 5-2-1-d

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για μηδενικό μήκος Ν σε αριστερή περιστροφή.

Test 5-2-1-e

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για αρνητικό μήκος Ν σε αριστερή περιστροφή.

Test 5-2-1-f

Η συνάρτηση rotateArray δεν επιστρέφει ψευδές αποτέλεσμα για αρνητικό πληθος θέσεων k σε αριστερή περιστροφή.

Ομάδα ελέγχων 5.2.2

Σωστά δεδομένα για περιστροφή σε πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Έλεγχοι

Test 5-2-2-a

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά μηδενικό μήκος θέσεων k. Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Test 5-2-2-b

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά μία θέση (k=1). Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Test 5-2-2-c

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά περισσότερο από μία θέση (k>1). Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Test 5-2-2-d

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά μηδενικό μήκος θέσεων k. Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Test 5-2-2-e

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά μία θέση (k=1). Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Test 5-2-2-f

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά περισσότερο από μία θέση (k>1). Πάντα για πλήθος θέσεων μικρότερο του μήκους του πίνακα (k < N).

Ομάδα ελέγχων 5.2.3

Σωστά δεδομένα για περιστροφή σε πλήθος θέσεων μεγαλύτερη ή ίσο του μήκους του πίνακα (k ≥ N).

Έλεγχοι

Test 5-2-3-a

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά μία θέση. Για μήκος πίνακα ίσο με 1.

Test 5-2-3-b

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά περισσότερες θέσεις από το μήκος του πίνακα (k > N).

Test 5-2-3-c

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για δεξιά περιστροφή κατά θέσεις όσες και το μήκος του πίνακα (k = N).

Test 5-2-3-d

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά μία θέση. Για μήκος πίνακα ίσο με 1.

Test 5-2-3-e

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά περισσότερες θέσεις από το μήκος του πίνακα (k > N).

Test 5-2-3-f

Η συνάρτηση rotateArray δεν επιστρέφει σωστό αποτέλεσμα για αριστερή περιστροφή κατά θέσεις όσες και το μήκος του πίνακα (k = N).

qna/hw/lsn05.txt · Last modified: 2022/04/13 21:56 by xallos