====== Β Μάθημα Ανακεφαλαίωσης ====== ===== Εργαστηριακή διάλεξη ===== {{ :qna:hw:recap-b-whiteboard.pdf | Διαφάνειες }}\\ {{ :qna:hw:c-programming-exercise-b-recap.pdf | Εκφώνηση }} \\ {{ :qna:hw:smproject-super-string.zip | smProject-SUPER-STRING }} \\ {{ :qna:hw:live-r-b.zip | Κώδικες }} ===== Εργασία B.1 ===== Δημιουργία συνεργαζόμενων συναρτήσεων που διαχειρίζονται ένα SuperString βάσει της εκφώνησης. Τα μηνύματα λάθους στην κονσόλα του CLion έχουν διαφορετική μορφή από τα συνηθισμένα. Σε κάθε test εμφανίζεται η εντολή που εκτελείται __έτσι και αλλιώς__. Σε περίπτωση που αποτύχει το test η εντολή εμφανίζεται ξανά στην επόμενη γραμμή του κειμένου και υπάρχει ένα ενδεικτικό μικρό λεκτικό στο τέλος της, καθώς και το link προς αυτή τη σελίδα. R U N N I N G T E S T ssAppend(s1 = ssCreate(size=14, T1 = "Hello "), T2 = "there!") && (s2 = ssCreate(size, joinTexts(T1,T2))) && compareSuperStrings(s1, s2) R U N N I N G T E S T ssAppend(s1 = ssCreate(size=13, T1 = "Hello "), T2 = "there!") && (s2 = ssCreate(size, joinTexts(T1,T2))) && compareSuperStrings(s1, s2) ssAppend(s1 = ssCreate(size=13, T1 = "Hello "), T2 = "there!") && (s2 = ssCreate(size, joinTexts(T1,T2))) && compareSuperStrings(s1, s2) FAILED : C H E C K F A I L E D! https://qna.c-programming.allos.gr/doku.php?id=qna:hw:lsn66#test_B-1-1-a ==== Ζητούμενα ==== ==== Ερώτημα B.1.1 ==== Έλεγχοι που αφορούν τη συνάρτηση ''ssCreate''. === Έλεγχοι === == Test B-1-1-a == Ο έλεγχος που απέτυχε αφορούσε μη αποδεκτά δεδομένα για τη συνάρτηση ''ssCreate''. Δείτε το μήνυμα στην κονσόλα για την ακριβή εντολή που απέτυχε. == Test B-1-1-b == Ο έλεγχος που απέτυχε αφορά δεδομένο κείμενο μηδενικού μήκους (το οποίο είναι αποδεκτό ως δεδομένο). == Test B-1-1-c == Ο έλεγχος που απέτυχε αφορά κείμενο μήκους μικρότερου από το ''baseSize''. == Test B-1-1-d == Ο έλεγχος που απέτυχε αφορά κείμενο μήκους κατά ένα μικρότερου από το ''baseSize'' (ή ακέραιου πολλαπλασίου του). Δηλαδή μαζί με το τελικό 0, ίσου με το ''baseSize''. == Test B-1-1-e == Ο έλεγχος που απέτυχε αφορά κείμενο μήκους μεγαλύτερο από το ''baseSize'', το οποίο αφήνει και "χώρο" μέχρι το επόμενο πολλαπλάσιο του ''baseSize''. ==== Ερώτημα B.1.3 ==== Έλεγχος λειτουργίας της συνάρτησης ''ssAppend''. Για να λειτουργήσουν αυτοί οι έλεγχοι θα πρέπει να έχουν περάσει επιτυχώς οι έλεγχοι της ''ssCreate'', καθώς αυτή χρησιμοποιείται συνδυαστικά με την ''ssAppend'' στους ελέγχους. === Έλεγχοι === == Test B-1-3-a == Έλεγχος σωστής αντιμετώπισης μη αποδεκτών δεδομένων της συνάρτησης. Δείτε το μήνυμα στην κονσόλα για την ακριβή εντολή που απέτυχε. == Test B-1-3-b == Έλεγχος προσάρτησης κειμένου σε ''SuperString'' με ''baseSize'' πολύ μεγαλύτερο από το ενωμένο κείμενο. == Test B-1-3-c == Έλεγχος προσάρτησης κειμένου σε ''SuperString'' με ''baseSize'' κατά ένα χαρακτήρα (byte) μεγαλύτερο από το ενωμένο κείμενο. == Test B-1-3-d == Έλεγχος προσάρτησης κειμένου σε ''SuperString'' με ''baseSize'' ακριβώς ίσο με το ενωμένο κείμενο. == Test B-1-3-e == Έλεγχος προσάρτησης κειμένου σε ''SuperString'' με ''baseSize'' μικρότερο με το ενωμένο κείμενο. ==== Ερώτημα B.1.4 ==== Έλεγχος λειτουργίας της συνάρτησης ''ssTruncate''. Για να λειτουργήσουν αυτοί οι έλεγχοι θα πρέπει να έχουν περάσει επιτυχώς οι έλεγχοι της ''ssCreate'', καθώς αυτή χρησιμοποιείται συνδυαστικά με την ''ssAppend'' στους ελέγχους. === Έλεγχοι === == Test B-1-4-a == Έλεγχος σωστής αντιμετώπισης μη αποδεκτών δεδομένων της συνάρτησης. Δείτε το μήνυμα στην κονσόλα για την ακριβή εντολή που απέτυχε. == Test B-1-4-b == Έλεγχος "αποκοπής" (truncate) κειμένου μικρότερου από το ''baseSize''. == Test B-1-4-c == Έλεγχος "αποκοπής" (truncate) κειμένου (που μαζί με το τερματικό κωδικό 0) έχει μέγεθος ακριβώς ίσο με το ''baseSize''. == Test B-1-4-d == Έλεγχος "αποκοπής" (truncate) κειμένου μεγαλύτερου από το ''baseSize''.