User Tools

Site Tools


qna:hw:lsn05

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
qna:hw:lsn05 [2022/04/13 11:02]
xallos created
qna:hw:lsn05 [2022/04/13 21:56] (current)
xallos
Line 9: Line 9:
 {{ :qna:hw:c-programming-l05-b.pdf | Διαφάνειες }} \\ {{ :qna:hw:c-programming-l05-b.pdf | Διαφάνειες }} \\
 {{ :qna:hw:c-programming-exercise-5.pdf | Εκφώνηση }} \\ {{ :qna:hw:c-programming-exercise-5.pdf | Εκφώνηση }} \\
-{{ :qna:hw:smproject-FACTORIAL.zip | smProject-FACTORIAL}} \\ +{{ :qna:hw:smproject-triliza.zip | smProject-TRILIZA}} \\ 
-{{ :qna:hw:smproject-LIFE-2.zip | smProject-LIFE-2}} \\ +{{ :qna:hw:smproject-rotate.zip |smProject-ROTATE}} \\
-{{ :qna:hw:smproject-LINES-VH.zip | smProject-LINES-VH}} \\+
 {{ :qna:hw:live-05.zip | Κώδικες }} {{ :qna:hw:live-05.zip | Κώδικες }}
  
-===== Εργασία 4.1 ===== +===== Εργασία 5.1 ===== 
-Υπολογισμός παραγοντικού+Παιχνίδι Τρίλιζα
  
-==== Ερώτημα 4.1.1 ====+ 
 +<WRAP tip> 
 +Τα μηνύματα λάθους, ειδικά γι'αυτό το smProject είναι της μορφής: 
 +<code> 
 +  A ... board ... detected (XOX|O-X|XXO) 
 +</code> 
 +δηλαδή εμφανίζουν το board ανά γραμμή όπως δόθηκε στη συνάρτησή σας. Το παραπάνω board είναι το: 
 +<code> 
 +XOX 
 +O-X 
 +XXO 
 +</code> 
 +Το ''-'' συμβολίζει το κενό κελί. 
 +</WRAP> 
 + 
 +==== Ερώτημα 5.1.1 ==== 
 + 
 +Συνάρτηση ''isFinished''
  
 === Έλεγχοι === === Έλεγχοι ===
  
-== Test 4-1-1-a == +== Test 5-1-1-a == 
-Ο υπολογισμός του παραγοντικού για την τιμή 0 (δηλαδή το ''0!''είναι λανθασμένος. Δείτε στην εκφώνηση την τιμή που ζητείται να επιστρέφει.+Η συνάρτηση ''isFinished'' δεν επέστρεψε **αληθές** για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε.
  
-== Test 4-1-1-b == +== Test 5-1-1-b == 
-Το μήνυμα που είδατε στο CLion, πάνω από το link (σύνδεσμοπου πατήσατε ήταν της μορφής: +Η συνάρτηση ''isFinished'' δεν επέστρεψε **αληθές** για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει "νόμιμη" διάταξη, αν και δεν παίζει ρόλο.
-''factorial(ΧΧ)==... FAILED : Test at (ΧΧ) failed.''+
  
-Αυτό σημαίνει ότι ο υπολογισμός του παραγοντικού για την τιμή ''ΧΧ'' είναι λανθασμένος. Η σωστή τιμή είναι αυτή που φαίνεται δεξια από το ''==''.+== Test 5-1-1-c == 
 +Η συνάρτηση ''isFinished'' δεν επέστρεψε **ψευδές** για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε.
  
 +== Test 5-1-1-d ==
 +Η συνάρτηση ''isFinished'' δεν επέστρεψε **ψευδές** για το δεδομένο board που φαίνεται στο μήνυμα, ενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει "νόμιμη" διάταξη, αν και δεν παίζει ρόλο.
  
-===== Εργασία 4.2 ====+==== Ερώτημα 5.1.2 ====
-Δεύτερος κώδικας πάνω στο [[https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game Of Life]]+
  
-==== Ερώτημα 4.2.1 ====+Συνάρτηση ''isPlayablePos''
  
 === Έλεγχοι === === Έλεγχοι ===
  
-== Test 4-2-1-a == +== Test 5-1-2-a == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά x και y (αριστερά και πάνω από αυτό).+Η συνάρτηση ''isPlayablePos'' δεν επέστρεψε **αληθές** για **άδειο** board και για __αποδεκτές συντεταγμένες κελιού__, ενώ έπρεπε.
  
-== Test 4-2-1-b == +== Test 5-1-2-b == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά x (αριστερά από αυτό).+Η συνάρτηση ''isPlayablePos'' δεν επέστρεψε **ψευδές** για **άδειο** board και για __μη αποδεκτές συντεταγμένες κελιού__, ενώ έπρεπε.
  
-== Test 4-2-1-c == +== Test 5-1-2-c == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά y (πάνω από αυτό).+Η συνάρτηση ''isPlayablePos'' δεν επέστρεψε **ψευδές** για το δεδομένο **πλήρες** board που φαίνεται στο μήνυμα, για απόδεκτές ή μη συντεταγμένες, ενώ έπρεπε.
  
-== Test 4-2-1-d == +== Test 5-1-2-d == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (δεξιά και κάτω από αυτό).+Η συνάρτηση ''isPlayablePos'' δεν επέστρεψε **ψευδές** για το δεδομένο **πλήρες** board που φαίνεται στο μήνυμα, για απόδεκτές ή μη συντεταγμένεςενώ έπρεπε. Παρεμπιπτόντως το board αυτό δεν έχει "νόμιμη" διάταξη, αν και δεν παίζει ρόλο.
  
-== Test 4-2-1-e == +== Test 5-1-2-e == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x (δεξιά από αυτό).+Η συνάρτηση ''isPlayablePos'' επέστρεψε **ψευδές** αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, __για απόδεκτές συντεταγμένες__ κελιού που __είναι ελεύθερο__.
  
-== Test 4-2-1-f == +== Test 5-1-2-f == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά y (κάτω από αυτό).+Η συνάρτηση ''isPlayablePos'' επέστρεψε **αληθές** αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, __για απόδεκτές συντεταγμένες__ κελιού που __**δεν** είναι ελεύθερο__.
  
-== Test 4-2-1-g == +== Test 5-1-2-g == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (αριστερά και κάτω από αυτό).+Η συνάρτηση ''isPlayablePos'' επέστρεψε **ψευδές** αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, __για απόδεκτές συντεταγμένες__ κελιού που __είναι ελεύθερο__. Παρεμπιπτόντως το board αυτό δεν έχει "νόμιμη" διάταξη, αν και δεν παίζει ρόλο.
  
-== Test 4-2-1-h == +== Test 5-1-2-h == 
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (δεξιά και πάνω από αυτό).+Η συνάρτηση ''isPlayablePos'' επέστρεψε **αληθές** αποτέλεσμα για το δεδομένο board που φαίνεται στο μήνυμα, __για απόδεκτές συντεταγμένες__ κελιού που __**δεν** είναι ελεύθερο__. Παρεμπιπτόντως το board αυτό δεν έχει "νόμιμη" διάταξη, αν και δεν παίζει ρόλο.
  
-== Test 4-2-1-i == +==== Ερώτημα 5.1.3 ====
-Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **πολύ** εκτός ορίων κατά x και y (δεξιά και κάτω από αυτό).+
  
-== Test 4-2-1-j == +Συνάρτηση ''canPlay''
-Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι ακριβώς στο όριο του πλέγματος. Αυτό σημαίνει ότι κάποιοι από τους γείτονες της θέσης είναι εκτός πλέγματος, πράγμα το οποίο είναι αποδεκτό δεν μας πειράζει. Το σημείο είναι **σε μία από τις γωνίες** του πλέγματος.+
  
-== Test 4-2-1-k =+=== Έλεγχοι ===
-Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι ακριβώς στο όριο του πλέγματος. Αυτό σημαίνει ότι κάποιοι από τους γείτονες της θέσης είναι εκτός πλέγματος, πράγμα το οποίο είναι αποδεκτό δεν μας πειράζει. Το σημείο είναι **σε κάποια πλευρά** του πλέγματος.+
  
-== Test 4-2-1-== +== Test 5-1-3-a == 
-Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι "για τα καλά" εντός του πλέγματος. Αυτό σημαίνει ότι όλοι οι γείτονες της θέσης είναι εντός πλέγματος.+Η συνάρτηση ''canPlay'' επέστρεψε **ψευδές** για **άδειο** board, για τον παίκτη ''Χ'' και για __αποδεκτές συντεταγμένες κελιού__.
  
-== Test 4-2-1-== +== Test 5-1-3-b == 
-Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι "για τα καλά" εντός του πλέγματος. Αυτό σημαίνει ότι όλοι οι γείτονες της θέσης είναι εντός πλέγματος. Όμως **το πλέγμα είναι μεγαλύτερων διαστάσεων από το τυπικό 20x12**.+Η συνάρτηση ''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 που το παιχνίδι __είναι σε εξέλιξη__ και για __αποδεκτές συντεταγμένες κελιού__, για τον παίκτη του οποίου __**δεν** είναι η σειρά του να παίξει__.
  
-===== Εργασία 4.===== +== Test 5-1-3-g == 
-Σχεδιασμός οριζόντιων και κατακόρυφων γραμμών σε πλέγμα.+Η συνάρτηση ''canPlay'' επέστρεψε **αληθές** για εσφαλμένο board που __υπάρχουν κενά κελιά__ και για __αποδεκτές συντεταγμένες κελιού__, για τον παίκτη του οποίου __είναι η σειρά του να παίξει__.
  
-==== Ερώτημα 4.3.1 ====+==== Ερώτημα 5.1.4 ==== 
 + 
 +Συνάρτηση ''rc2int''
  
 === Έλεγχοι === === Έλεγχοι ===
  
-== Test 4-3-1-a == +== Test 5-1-4-a == 
-Για σχεδιασμό που εμπλέκει και τις 3 ζητούμενες συναρτήσεις το αποτέλεσμα δεν είναι το αναμενόμενο. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι.+Η συνάρτηση ''rc2int'' επέστρεψε λανθασμένο αποτέλεσμα για κελί της 1ης γραμμής, όπου το αποτέλεσμα θα έπρεπε να είναι το **μηδέν**.
  
-== Test 4-3-1-b == +== Test 5-1-4-b == 
-Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα)η συνάρτηση ''drawHLine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.+Η συνάρτηση ''rc2int'' επέστρεψε λανθασμένο αποτέλεσμα για κελί της 1ης γραμμήςόπου το αποτέλεσμα θα έπρεπε να είναι **μονοψήφιος** ακέραιος.
  
-== Test 4-3-1-c == +== Test 5-1-4-c == 
-Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα)η συνάρτηση ''drawVLine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.+Η συνάρτηση ''rc2int'' επέστρεψε λανθασμένο αποτέλεσμα για κελί της 2ης ή 3ης γραμμήςόπου το αποτέλεσμα θα έπρεπε να είναι **διψήφιος** ακέραιος.
  
-== Test 4-3-1-d == +== Test 5-1-4-d == 
-Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα) και για **καταφόρυφη** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. **Προσοχή!** Μπορεί το πρόβλημα να έχει να κάνει με το ότι το μήκος που ζητείται να βγάζει τη γραμμή εκτός πλέγματος.+Η συνάρτηση ''rc2int'' δεν επέστρεψε ''-1'' για κελί εκτός board.
  
-== Test 4-3-1-e == +==== Ερώτημα 5.1.5 ====
-Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα) και για **οριζόντια** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. **Προσοχή!** Μπορεί το πρόβλημα να έχει να κάνει με το ότι το μήκος που ζητείται να βγάζει τη γραμμή εκτός πλέγματος.+
  
-== Test 4-3-1-f == +Συνάρτηση ''winningMove''
-Για σχεδιασμό γραμμής που ζητείται **από άκρο σε άκρο**, αλλά εντός των ορίων του πλέγματος, και για **καταφόρυφη** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.+
  
-== Test 4-3-1-g =+=== Έλεγχοι ===
-Για σχεδιασμό γραμμής που ζητείται **από άκρο σε άκρο**, αλλά εντός των ορίων του πλέγματος, και για **οριζόντια** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.+
  
-== Test 4-3-1-== +== Test 5-1-5-a == 
-Για σχεδιασμό γραμμής **μήκους 1**, εντός των ορίων του πλέγματος, είτε για **καταφόρυφη**είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμόςαλλά μόνο το λογικό αποτέλεσμα.+Η συνάρτηση ''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 ===== 
 +"Περιστροφή" πίνακα 
 + 
 +<WRAP tip> 
 +Τα μηνύματα λάθους, ειδικά γι'αυτό το smProject είναι της μορφής: 
 +<code> 
 +  testRotateArray(..., ..., ..., ...) FAILED : ... 
 +BRHKATE: 1 2 3 4 
 +  SWSTO: 5 6 7 8 
 +</code> 
 +δηλαδή κάτω από το μήνυμα με τη λέξη ''FAILED'', εμφανίζουν το αποτέλεσμα που **έχετε υπολογίσει** και κάτω από αυτό, το **σωστό αποτέλεσμα**. 
 +</WRAP> 
 + 
 +==== Ομάδα ελέγχων 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 4-3-1-i == +== Test 5-2-3-== 
-Για σχεδιασμό γραμμής **μήκους 0**, εντός των ορίων του πλέγματος, είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε**Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμόςαλλά μόνο το λογικό αποτέλεσμα.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **δεξιά** περιστροφή κατά **μία θέση**. Για μήκος πίνακα ίσο με 1.
  
-== Test 4-3-1-j == +== Test 5-2-3-== 
-Για σχεδιασμό γραμμής **αρνητικού μήκους**, με **αρχικό σημείο εντός των ορίων του πλέγματος**αλλά που **θα κατέληγε εντός** των ορίων του πλέγματος, είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **δεξιά** περιστροφή κατά **περισσότερες θέσεις από το μήκος του πίνακα** (''k > N'').
  
-== Test 4-3-1-k == +== Test 5-2-3-== 
-Για σχεδιασμό γραμμής **αρνητικού μήκους**, με **αρχικό σημείο εντός των ορίων του πλέγματος**, αλλά που **θα κατέληγε εκτός** των ορίων του πλέγματος,  είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **δεξιά** περιστροφή κατά **θέσεις όσες και το μήκος του πίνακα** (''k = N'').
  
-== Test 4-3-1-l == +== Test 5-2-3-== 
-Για σχεδιασμό γραμμών που φτάνουν **μέχρι το όριο του πλέγματος** και που εμπλέκει και τις 3 ζητούμενες συναρτήσεις, **το αποτέλεσμα στο πλέγμα δεν είναι το αναμενόμενο**. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **αριστερή** περιστροφή κατά **μία θέση**. Για μήκος πίνακα ίσο με 1.
  
-== Test 4-3-1-m == +== Test 5-2-3-== 
-Για σχεδιασμό που ζητείται **εντός των ορίων του πλέγματος**, αλλά με αντίστροφη φορά (το ''y1'' είναι μεγαλύτερο του ''y2''), η συνάρτηση ''drawVLine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμόςαλλά μόνο το λογικό αποτέλεσμα.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **αριστερή** περιστροφή κατά **περισσότερες θέσεις από το μήκος του πίνακα** (''k > N'').
  
-== Test 4-3-1-n == +== Test 5-2-3-== 
-Για σχεδιασμό που ζητείται **εντός των ορίων του πλέγματος**, αλλά με αντίστροφη φορά (το ''x1'' είναι μεγαλύτερο του ''x2''), η συνάρτηση ''drawHLine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμόςαλλά μόνο το λογικό αποτέλεσμα.+Η συνάρτηση ''rotateArray'' δεν επιστρέφει **σωστό** αποτέλεσμα για **αριστερή** περιστροφή κατά **θέσεις όσες και το μήκος του πίνακα** (''k = N'').
  
-== Test 4-3-1-o == 
-Για σχεδιασμό γραμμών οριζόντιων (''drawHLine'') και κατακόρυφων (''drawVLine''), που δίνονται με αντίτροφη φορά (δηλαδή είτε το ''x1'' είναι μεγαλύτερο του ''x2'', είτε το ''y1'' είναι μεγαλύτερο του ''y2''), **το αποτέλεσμα στο πλέγμα δεν είναι το αναμενόμενο**. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι. 
qna/hw/lsn05.1649847753.txt.gz · Last modified: 2022/04/13 11:02 by xallos