User Tools

Site Tools


qna:hw:lsn04

Differences

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

Link to this comparison view

Next revision
Previous revision
qna:hw:lsn04 [2022/03/28 06:59]
xallos created
qna:hw:lsn04 [2022/04/04 17:11] (current)
xallos
Line 7: Line 7:
 ===== Εργαστηριακή διάλεξη ===== ===== Εργαστηριακή διάλεξη =====
  
-{{ :qna:hw:c-programming-l03-ab.pdf | Διαφάνειες }} \\ +{{ :qna:hw:c-programming-l04-b.pdf | Διαφάνειες }} \\ 
-{{ :qna:hw:c-programming-exercise-3.pdf | Εκφώνηση }} \\ +{{ :qna:hw:c-programming-exercise-4.pdf | Εκφώνηση }} \\ 
-{{ :qna:hw:smproject-LIFE.zip | smProject-LIFE}} \\ +{{ :qna:hw:smproject-FACTORIAL.zip | smProject-FACTORIAL}} \\ 
-{{ :qna:hw:smproject-DIGIT.zip | smProject-DIGIT}} \\ +{{ :qna:hw:smproject-LIFE-2.zip | smProject-LIFE-2}} \\ 
-{{ :qna:hw:live-03.zip | Κώδικες }}+{{ :qna:hw:smproject-LINES-VH.zip | smProject-LINES-VH}} \\ 
 +{{ :qna:hw:live-04.zip | Κώδικες }}
  
-===== Εργασία 3.1 ===== +===== Εργασία 4.1 ===== 
-Πρώτος κώδικας πάνω στο [[https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game Of Life]]+Υπολογισμός παραγοντικού
  
-==== Ερώτημα 3.1.1 ====+==== Ερώτημα 4.1.1 ====
  
 === Έλεγχοι === === Έλεγχοι ===
  
-== Test 3-1-1-a == +== Test 4-1-1-a == 
-Η επόμενη γενιά για **ζωντανό** κελί και πλήθος ζωντανών γειτόνων εκτός αποδεκτών ορίων (κάτω του μηδέν ή πάνω του οκτώδεν επιστρέφει ψευδές. Αυτό δεν είναι απαραίτητα λάθος αφού δεν καθορίζεται από την εκφώνηση, αλλά είναι εάν ο κώδικας σας είναι αρκετά απλός τότε αυτό θα ήταν το αναμενόμενο αποτέλεσμα. Μήπως πρέπει να δείτε το ενδεχόμενο να τον απλοποιήσετε;+Ο υπολογισμός του παραγοντικού για την τιμή 0 (δηλαδή το ''0!'') είναι λανθασμένος. Δείτε στην εκφώνηση την τιμή που ζητείται να επιστρέφει.
  
-== Test 3-1-1-b == +== Test 4-1-1-b == 
-Η επόμενη γενιά για **ζωντανό** κελί και πλήθος ζωντανών γειτόνων (0-1 ή 4-8) που θα έπρεπε να δίνει νεκρό κελί, δίνει ζωντανό.+Το μήνυμα που είδατε στο CLion, πάνω από το link (σύνδεσμο) που πατήσατε ήταν της μορφής: 
 +''factorial(ΧΧ)==... FAILED : Test at (ΧΧ) failed.''
  
-== Test 3-1-1-c == +Αυτό σημαίνει ότι ο υπολογισμός του παραγοντικού για την τιμή ''ΧΧ'' είναι λανθασμένος. Η σωστή τιμή είναι αυτή που φαίνεται δεξια από το ''==''.
-Η επόμενη γενιά για **ζωντανό** κελί και πλήθος ζωντανών γειτόνων (2-3) που θα έπρεπε να δίνει ζωντανό κελί, δίνει νεκρό.+
  
-== Test 3-1-1-d == 
-Η επόμενη γενικά για **νεκρό** κελί και πλήθος ζωντανών γειτόνων εκτός αποδεκτών ορίων (κάτω του μηδέν ή πάνω του οκτώ) δεν επιστρέφει ψευδές. Αυτό δεν είναι απαραίτητα λάθος αφού δεν καθορίζεται από την εκφώνηση, αλλά είναι εάν ο κώδικας σας είναι αρκετά απλός τότε αυτό θα ήταν το αναμενόμενο αποτέλεσμα. Μήπως πρέπει να δείτε το ενδεχόμενο να τον απλοποιήσετε; 
  
-== Test 3-1-1-e == +===== Εργασία 4.2 ===== 
-Η επόμενη γενιά για **νεκρό** κελί και πλήθος ζωντανών γειτόνων (0-2 ή 4-8) που θα έπρεπε να δίνει νεκρό κελί, δίνει ζωντανό.+Δεύτερος κώδικας πάνω στο [[https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game Of Life]]
  
 +==== Ερώτημα 4.2.1 ====
  
-== Test 3-1-1-f =+=== Έλεγχοι ===
-Η επόμενη γενιά για **νεκρό** κελί και πλήθος ζωντανών γειτόνων (3) που θα έπρεπε να δίνει ζωντανό κελί, δίνει νεκρό.+
  
-===== Εργασία 3.2 =====+== Test 4-2-1-a == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά x και y (αριστερά και πάνω από αυτό).
  
-==== Ερώτημα 3.2.1 ====+== Test 4-2-1-b == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά x (αριστερά από αυτό). 
 + 
 +== Test 4-2-1-c == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, εκτός ορίων κατά y (πάνω από αυτό). 
 + 
 +== Test 4-2-1-d == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (δεξιά και κάτω από αυτό). 
 + 
 +== Test 4-2-1-e == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x (δεξιά από αυτό). 
 + 
 +== Test 4-2-1-f == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά y (κάτω από αυτό). 
 + 
 +== Test 4-2-1-g == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (αριστερά και κάτω από αυτό). 
 + 
 +== Test 4-2-1-h == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **ακριβώς** εκτός ορίων κατά x και y (δεξιά και πάνω από αυτό). 
 + 
 +== Test 4-2-1-i == 
 +Η συνάρτηση δεν επιστρέφει -1 ως ένδειξη λάθους όπως θα έπρεπε όταν το ζητούμενο σημείο είναι έξω από το πλέγμα, **πολύ** εκτός ορίων κατά x και y (δεξιά και κάτω από αυτό). 
 + 
 +== Test 4-2-1-j == 
 +Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι ακριβώς στο όριο του πλέγματος. Αυτό σημαίνει ότι κάποιοι από τους γείτονες της θέσης είναι εκτός πλέγματος, πράγμα το οποίο είναι αποδεκτό δεν μας πειράζει. Το σημείο είναι **σε μία από τις γωνίες** του πλέγματος. 
 + 
 +== Test 4-2-1-k == 
 +Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι ακριβώς στο όριο του πλέγματος. Αυτό σημαίνει ότι κάποιοι από τους γείτονες της θέσης είναι εκτός πλέγματος, πράγμα το οποίο είναι αποδεκτό δεν μας πειράζει. Το σημείο είναι **σε κάποια πλευρά** του πλέγματος. 
 + 
 +== Test 4-2-1-l == 
 +Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι "για τα καλά" εντός του πλέγματος. Αυτό σημαίνει ότι όλοι οι γείτονες της θέσης είναι εντός πλέγματος. 
 + 
 +== Test 4-2-1-m == 
 +Η συνάρτηση επιστρέφει λανθασμένο πλήθος γειτόνων για τη ζητούμενη θέση, η οποία είναι "για τα καλά" εντός του πλέγματος. Αυτό σημαίνει ότι όλοι οι γείτονες της θέσης είναι εντός πλέγματος. Όμως **το πλέγμα είναι μεγαλύτερων διαστάσεων από το τυπικό 20x12**. 
 + 
 + 
 + 
 + 
 + 
 +===== Εργασία 4.3 ===== 
 +Σχεδιασμός οριζόντιων και κατακόρυφων γραμμών σε πλέγμα. 
 + 
 +==== Ερώτημα 4.3.1 ====
  
 === Έλεγχοι === === Έλεγχοι ===
  
-== Test 3-2-1-a == +== Test 4-3-1-a == 
-Λανθασμένο αποτέλεσμα για αποδεκτό (1-3) ψηφίο σε ομοιοψήφιο αριθμό (πχ 111,333,888).+Για σχεδιασμό που εμπλέκει και τις 3 ζητούμενες συναρτήσεις το αποτέλεσμα δεν είναι το αναμενόμενο. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι. 
 + 
 +== Test 4-3-1-b == 
 +Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα), η συνάρτηση ''drawHLine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. 
 + 
 +== Test 4-3-1-c == 
 +Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα)η συνάρτηση ''drawVLine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. 
 + 
 +== Test 4-3-1-d == 
 +Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y (δείτε το ακριβές μήνυμα) και για **καταφόρυφη** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. **Προσοχή!** Μπορεί το πρόβλημα να έχει να κάνει με το ότι το μήκος που ζητείται να βγάζει τη γραμμή εκτός πλέγματος.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα (διαφροτερικό του -1) για μη τριψήφιο αριθμό.+Για σχεδιασμό που ζητείται εκτός των ορίων του πλέγματος, κατά x ή κατά y είτε το ακριβές μήνυμακαι για **οριζόντια** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε. **Προσοχή!** Μπορεί το πρόβλημα να έχει να κάνει με το ότι το μήκος που ζητείται να βγάζει τη γραμμή εκτός πλέγματος.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα ιαφροτερικό του -2) για ψηφίο εκτός ορίων (1-3).+Για σχεδιασμό γραμμής που ζητείται **από άκρο σε άκρο**, αλλά εντός των ορίων του πλέγματος, και για **καταφόρυφη** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα ιαφροτερικό του -2) για ψηφίο εκτός ορίων και μη τρηψήφιο αριθμό ταυτόχρονα.+Για σχεδιασμό γραμμής που ζητείται **από άκρο σε άκρο**, αλλά εντός των ορίων του πλέγματος, και για **οριζόντια** γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 1ο ψηφίο (δηλαδή οι εκατοντάδες).+Για σχεδιασμό γραμμής **μήκους 1**, εντός των ορίων του πλέγματος, είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμήη συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 2ο ψηφίο (δηλαδή οι δεκάδες).+Για σχεδιασμό γραμμής **μήκους 0**, εντός των ορίων του πλέγματος, είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμήη συνάρτηση ''drawALine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 3ο ψηφίο (δηλαδή οι μονάδες).+Για σχεδιασμό γραμμής **αρνητικού μήκους**, με **αρχικό σημείο εντός των ορίων του πλέγματος**, αλλά που **θα κατέληγε εντός** των ορίων του πλέγματος, είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 3ο ψηφίο (δηλαδή οι μονάδες)φαίνεται να επιστράφηκε το 1ο.+Για σχεδιασμό γραμμής **αρνητικού μήκους**, με **αρχικό σημείο εντός των ορίων του πλέγματος**, αλλά που **θα κατέληγε εκτός** των ορίων του πλέγματος,  είτε για **καταφόρυφη**, είτε για **οριζόντια**  γραμμή, η συνάρτηση ''drawALine'' δεν επιστρέφει ψευδές όπως θα έπρεπε.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 3ο ψηφίο (δηλαδή οι μονάδες), φαίνεται να επιστράφηκε το 2ο.+Για σχεδιασμό γραμμών που φτάνουν **μέχρι το όριο του πλέγματος** και που εμπλέκει και τις 3 ζητούμενες συναρτήσεις, **το αποτέλεσμα στο πλέγμα δεν είναι το αναμενόμενο**. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 1ο ψηφίο (δηλαδή οι εκατοντάδες), φαίνεται να επιστράφηκε το 2ο.+Για σχεδιασμό που ζητείται **εντός των ορίων του πλέγματος**, αλλά με αντίστροφη φορά (το ''y1'' είναι μεγαλύτερο του ''y2''), η συνάρτηση ''drawVLine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
-== Test 3-2-1-== +== Test 4-3-1-== 
-Λανθασμένο αποτέλεσμα όταν ζητήθηκε το 1ο ψηφίο (δηλαδή οι εκατοντάδες), φαίνεται να επιστράφηκε το 3ο.+Για σχεδιασμό που ζητείται **εντός των ορίων του πλέγματος**, αλλά με αντίστροφη φορά (το ''x1'' είναι μεγαλύτερο του ''x2''), η συνάρτηση ''drawHLine'' δεν επιστρέφει αληθές όπως θα έπρεπε. **Προσοχή!** Αυτή η δοκιμή δεν ελέγχει εάν έγινε σωστά ο σχεδιασμός, αλλά μόνο το λογικό αποτέλεσμα.
  
 +== Test 4-3-1-o ==
 +Για σχεδιασμό γραμμών οριζόντιων (''drawHLine'') και κατακόρυφων (''drawVLine''), που δίνονται με αντίτροφη φορά (δηλαδή είτε το ''x1'' είναι μεγαλύτερο του ''x2'', είτε το ''y1'' είναι μεγαλύτερο του ''y2''), **το αποτέλεσμα στο πλέγμα δεν είναι το αναμενόμενο**. Ακολουθήστε το σύνδεσμο που που ακολουθεί το μήνυμα με ένδειξη Grid visualization ώστε να δείτε πως έχετε σχεδιάσει το πλέγμα και το πως θα έπρεπε να είναι.
qna/hw/lsn04.1648450787.txt.gz · Last modified: 2022/03/28 06:59 by xallos