User Tools

Site Tools


qna:hw:lsn65

Differences

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

Link to this comparison view

Next revision
Previous revision
qna:hw:lsn65 [2022/04/16 18:11]
xallos created
qna:hw:lsn65 [2022/04/18 22:01] (current)
xallos
Line 4: Line 4:
 {{ :qna:hw:recap-a-whiteboard.pdf | Διαφάνειες }}\\ {{ :qna:hw:recap-a-whiteboard.pdf | Διαφάνειες }}\\
 {{ :qna:hw:c-programming-exercise-a-recap.pdf | Εκφώνηση }} \\ {{ :qna:hw:c-programming-exercise-a-recap.pdf | Εκφώνηση }} \\
-{{ :qna:hw:smproject-ra1.zip | smProject-TRILIZA }} \\ +{{ :qna:hw:smproject-life-3.zip | smProject-LIFE-3 }} \\ 
-{{ :qna:hw:smproject-ra2.zip | smProject-ROTATE }} \\+{{ :qna:hw:smproject-matrix-1.zip | smProject-MATRIX-1 }} \\
 {{ :qna:hw:live-r-a.zip | Κώδικες }} {{ :qna:hw:live-r-a.zip | Κώδικες }}
  
Line 12: Line 12:
 Τρίτος και τελευταίος κώδικας πάνω στο [[https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game Of Life]] Τρίτος και τελευταίος κώδικας πάνω στο [[https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game Of Life]]
  
-==== Ερώτημα A.1.1 ====+==== Ζητούμενα ==== 
 + 
 +Δημιουργία της συνάρτησης ''bool boardInit(int rows, int cols, bool next[rows][cols])'' η οποία δίνει τιμές στα κελιά του grid βάσει του πίνακα ''next'' που πρέπει να έχει τις ίδιες διαστάσεις με το grid. Ουσιαστικά αντιγράφει τον πίνακα ''next'' στο grid.
  
 Δημιουργία της συνάρτησης ''bool calcNextGen(int rows, int cols, bool next[rows][cols])'' η οποία υπολογίζει βάσει του grid, την επόμενη γενιά του παιχνιδιού και την αποθηκεύει (__αυτό μας βοηθάει πολύ στην πραγματικότητα__) στον πίνακα next που πρέπει να έχει τις ίδιες διαστάσεις με το grid. Δημιουργία της συνάρτησης ''bool calcNextGen(int rows, int cols, bool next[rows][cols])'' η οποία υπολογίζει βάσει του grid, την επόμενη γενιά του παιχνιδιού και την αποθηκεύει (__αυτό μας βοηθάει πολύ στην πραγματικότητα__) στον πίνακα next που πρέπει να έχει τις ίδιες διαστάσεις με το grid.
 +
 +==== Έλεγχοι A.1.1 ====
 +
 +Έλεγχοι ως προς την επιβεβαίωση των τιμών των παραμέτρων των συναρτήσεων.
  
 === Έλεγχοι === === Έλεγχοι ===
Line 20: Line 26:
 == Test A-1-1-a == == Test A-1-1-a ==
  
-Εκκρεμούν...+Μία ή περισσότερες κλήσεις της ''boardInit'' με μηδενικό μήκος ή πλάτος (ή και τα δύο) __δεν επέστρεψαν ψευδές__ όπως ζητούνταν στην εκφώνηση.
  
 +== Test A-1-1-b ==
 +
 +Μία ή περισσότερες κλήσεις της ''boardInit'' με αρνητικό μήκος ή πλάτος (ή και τα δύο) __δεν επέστρεψαν ψευδές__ όπως ζητούνταν στην εκφώνηση.
 +
 +== Test A-1-1-c ==
 +
 +Μία ή περισσότερες κλήσεις της ''calcNextGen'' με μηδενικό μήκος ή πλάτος (ή και τα δύο) __δεν επέστρεψαν ψευδές__ όπως ζητούνταν στην εκφώνηση.
 +
 +== Test A-1-1-d ==
 +
 +Μία ή περισσότερες κλήσεις της ''calcNextGen'' με αρνητικό μήκος ή πλάτος (ή και τα δύο) __δεν επέστρεψαν ψευδές__ όπως ζητούνταν στην εκφώνηση.
 +
 +== Test A-1-1-e ==
 +
 +Η κλήση της ''boardInit'' για αποδεκτές τιμές μήκους και πλάτους __**είτε** δεν επέστρεψε **αληθές**__ όπως ζητούνταν στην εκφώνηση, __**είτε** δεν έδωσε σωστές διαστάσεις στο grid__.
 +
 +== Test A-1-1-f ==
 +
 +Η κλήση της ''calcNextGen'' με διαστάσεις πίνακα διαφορετικές από του grid __δεν επέστρεψε ψευδές__ όπως ζητούνταν στην εκφώνηση.\\
 +<wrap danger>Προσοχή!</wrap> Για να είναι έγκυρο αυτό το σφάλμα πρέπει να **μην** έχει παρουσιαστεί νωρίτερα το σφάλμα ''A-1-1-e''. Εάν έχει παρουσιαστεί το ''A-1-1-e'' θα πρέπει πρώτα να το λύσετε και μετά να λάβετε υπόψη σας αυτό τον έλεγχο (εάν ακόμα θα εμφανίζετα ως εσφαλμένος).
  
 ==== Ερώτημα A.1.2 ==== ==== Ερώτημα A.1.2 ====
  
-Δημιουργία της συνάρτησης ''bool boardInit(int rows, int cols, bool next[rows][cols])'' η οποία δίνει τιμές στα κελιά του grid βάσει του πίνακα ''next'' που πρέπει να έχει τις ίδιες διαστάσεις με το grid. Ουσιαστικά αντιγράφει τον πίνακα ''next'' στο grid.+Έλεγχος λειτουργίας της συνάρτησης ''boardInit''.
  
 === Έλεγχοι === === Έλεγχοι ===
Line 31: Line 57:
 == Test A-1-2-a == == Test A-1-2-a ==
  
-Εκκρεμούν...+Η συνάρτηση επιστρέφει **ψευδές** ενώ δεν θα έπρεπε για δεδομένο board. __Η δοκιμή αυτή δεν περιέχει έλεγχο των περιεχομένων του grid__. 
 + 
 +== Test A-1-2-b == 
 + 
 +Η συνάρτηση ενώ επιστρέφει __αληθές__ όπως θα έπρεπε για δεδομένο board, το __περιεχόμενο του grid **δεν** είναι το αναμενόμενο__. 
 + 
 + 
 +==== Ερώτημα A.1.3 ==== 
 + 
 +Σύνθετοι έλεγχοι των συναρτήσεων ''boardInit'' και ''calcNextGen''. Αν και ο σκοπός είναι να ελεγχθεί η ''calcNextGen'', χρειάζεται και η ''boardInit'' ώστε να δημιουργηθούν τα grids.\\ 
 +<wrap danger>Προσοχή!</wrap> Εάν η ''boardInit'' δεν έχει περάσει όλες τις δοκιμές της ενότητας A.1.2 , __μπορεί να είναι αυτή η αιτία αποτυχίας των δοκιμών Α.1.3__. 
 + 
 +=== Έλεγχοι === 
 + 
 +== Test A-1-3-a == 
 + 
 +Η συνάρτηση ''boardInit'' επιστρέφει **ψευδές** ενώ δεν θα έπρεπε για δεδομένο board. __Η δοκιμή αυτή δεν περιέχει έλεγχο των περιεχομένων του grid__. 
 + 
 +== Test A-1-3-b == 
 + 
 +Η συνάρτηση ''calcNextGen'' επιστρέφει **ψευδές** ενώ δεν θα έπρεπε για δεδομένο board. __Η δοκιμή αυτή δεν περιέχει έλεγχο του πίνακα με το αποτέλεσμα, αλλά μόνο την τιμή που επιστρέφει η ''calcNextGen''__. 
 + 
 +== Test A-1-3-c == 
 + 
 +Η συνάρτηση ''boardInit'' επιστρέφει **ψευδές** ενώ δεν θα έπρεπε για δεδομένο board. __Η δοκιμή αυτή δεν περιέχει έλεγχο των περιεχομένων του grid__. 
 + 
 +== Test A-1-3-d == 
 + 
 +Η συνάρτηση ''calcNextGen'' ενώ __ορθώς επιστρέφει αληθές__, όμως **δεν υπολογίζει σωστά την επόμενη γενιά** βάσει του grid. Αυτό, ανάλογα την συγκεκριμένη δοκιμή, μπορεί να αφορά την 1η ή μεταγενέστερη γενιά, συμβουλευτείτε το μήνυμα που εμφανίζεται μέσα στο //CLion//
 + 
 +== Test A-1-3-e == 
 + 
 +Η συνάρτηση ''calcNextGen'' ενώ __ορθώς επιστρέφει αληθές__, όμως **δεν υπολογίζει σωστά την επόμενη γενιά** βάσει του grid. Ενώ το νέο board θα έπρεπε **να είναι διαφορετικό**, αυτό μένει ίδιο με πριν!
  
 ===== Εργασία A.2 ===== ===== Εργασία A.2 =====
  
-Πρώτη εργασία πάνω στην άλγεβρα πινάκων.+Πρώτη εργασία πάνω στην άλγεβρα πινάκων. Τα μηνύματα στο CLion ακολουθούνται από τον πίνακα που δημιουργεί την αποτυχία της δοκιμής.
  
 ==== Ερώτημα A.2.1 ==== ==== Ερώτημα A.2.1 ====
Line 45: Line 103:
 == Test A-2-1-a == == Test A-2-1-a ==
  
-Εκκρεμούν...+Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **μηδενικές** γραμμές ή/και στήλες του πίνακα. 
 + 
 +== Test A-2-1-b == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **αρνητικές** γραμμές ή/και στήλες του πίνακα. 
 + 
 +== Test A-2-1-c == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **μη** κάτω τριγωνικό πίνακα μικρών διαστάσεων (3x3). 
 + 
 +== Test A-2-1-d == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές** όπως θα έπρεπε__ για **όντως** κάτω τριγωνικό πίνακα μικρών διαστάσεων (3x3). 
 + 
 +== Test A-2-1-e == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **μη τετράγωνικό** πίνακα. 
 + 
 +== Test A-2-1-f == 
 + 
 +Η συνάρτηση __δεν ανιχνεύει σωστά την κάτω-τριγωνικότητα__ του πίνακα για κάπως μεγαλύτερο πίνακα (5x5). 
 + 
 +== Test A-2-1-g == 
 + 
 +Η συνάρτηση __δεν ανιχνεύει σωστά την κάτω-τριγωνικότητα__ του πίνακα για κάπως μεγαλύτερο πίνακα (12x12).
  
 ==== Ερώτημα A.2.2 ==== ==== Ερώτημα A.2.2 ====
Line 55: Line 137:
 == Test A-2-2-a == == Test A-2-2-a ==
  
-Εκκρεμούν...+Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **μηδενικές** γραμμές ή/και στήλες του πίνακα. 
 + 
 +== Test A-2-2-b == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **αρνητικές** γραμμές ή/και στήλες του πίνακα. 
 + 
 +== Test A-2-2-c == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές** ή δεν παράγει το σωστό ("διπλάσιο") άθροισμα όπως θα έπρεπε__ για δεδομένο τετράγωνο πίνακα, με τον εαυτό του. 
 + 
 +== Test A-2-2-d == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές** ή δεν παράγει το σωστό (μηδενικό) άθροισμα όπως θα έπρεπε__ για δεδομένο τετράγωνο πίνακα, με τον αντίθετό του. 
 + 
 +== Test A-2-2-e == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές** ή δεν παράγει το σωστό άθροισμα όπως θα έπρεπε__ για δεδομένο **τετράγωνο** πίνακα, με έναν ίδιας διάστασης που όλα τα στοιχεία του είναι ίσα με το ''1''
 + 
 +== Test A-2-2-f == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές** ή δεν παράγει το σωστό άθροισμα όπως θα έπρεπε__ για δεδομένο **μη\_τετράγωνο** πίνακα, με έναν ίδιας διάστασης που όλα τα στοιχεία του είναι ίσα με το ''1''. 
  
 ==== Ερώτημα A.2.3 ==== ==== Ερώτημα A.2.3 ====
Line 65: Line 168:
 == Test A-2-3-a == == Test A-2-3-a ==
  
-Εκκρεμούν...+Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **μηδενικές** γραμμές ή/και στήλες κάποιου πίνακα. 
 + 
 +== Test A-2-3-b == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **αρνητικές** γραμμές ή/και στήλες κάποιου πίνακα. 
 + 
 +== Test A-2-3-c == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **ψευδές** όπως θα έπρεπε__ για **αρνητικές** δύο ή/και των τριών διαστάσεων των πινάκων σε γραμμές ή/και στήλες κάποιου πίνακα. 
 + 
 +== Test A-2-3-d == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές ή το σωστό αποτέλεσμα** όπως θα έπρεπε__ για πολλαπλασιασμό τετραγωνικού πίνακα με διαγώνιο. 
 + 
 +== Test A-2-3-e == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές ή το σωστό αποτέλεσμα** όπως θα έπρεπε__ για πολλαπλασιασμό τετραγωνικού πίνακα με τον μοναδιαίο. 
 + 
 +== Test A-2-3-f == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές ή το σωστό αποτέλεσμα** όπως θα έπρεπε__ για πολλαπλασιασμό πίνακα γραμμή με τετραγωνικό πίνακα. 
 + 
 +== Test A-2-3-g == 
 + 
 +Η συνάρτηση __δεν επιστρέφει **αληθές ή το σωστό αποτέλεσμα** όπως θα έπρεπε__ για πολλαπλασιασμό μεταξύ δύο τετραγωνικών πινάκων. 
  
 ==== Έλεγχοι A.2.4 ==== ==== Έλεγχοι A.2.4 ====
Line 75: Line 203:
 == Test A-2-4-a == == Test A-2-4-a ==
  
-Εκκρεμούν...+Οι συναρτήσεις ''add'' και ''mul'' __δεν επιστρέφουν συνδυαστικό το **αναμενόμενο** αποτέλεσμα όπως θα έπρεπε__ για για την επιβεβαίωση της παράστασης πινάκων ''Α*Β - Β*Α ≠ 0''.
  
qna/hw/lsn65.1650132675.txt.gz · Last modified: 2022/04/16 18:11 by xallos