Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1

Σχετικά έγγραφα
lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση.

FAIL PASS PASS οριακά

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές.

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Βαθμός Σχόλιο. lab3_grades

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. -

to post PASS PASS FAIL

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ.

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS

ΑΕΜ ή username. Sheet2

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh.

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς.

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'.

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα.

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

Εισαγωγή στον Προγραμματισμό

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση.

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά.

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια.

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα.

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

scanf() scanf() stdin scanf() printf() int float double %lf float

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά "Helo".

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS

Διαδικασιακός Προγραμματισμός

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ανάπτυξη και Σχεδίαση Λογισμικού

ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 10/12/2014, 22:00

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι.

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΣΧΟΛΙΑ ΓΙΑ ΤΟ LAB 1. Sheet3_2

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Λύσεις για τις ασκήσεις του lab5

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας.

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου.

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

lab3grades οριακό PASS

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Προγραμματισμός Ι (ΗΥ120)

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

Διαδικασιακός Προγραμματισμός

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου.

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεθόδων Επίλυσης Προβλημάτων

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Τετάρτη 7/12/2016, 21:00

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings.

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Γλώσσα Προγραμματισμού C

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

CE 120. Φροντιστήριο 14/10/2011

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 10/11/2015, 22:00

Transcript:

AEM 0001 0002 0003 0004 0005 0006 0007 COMMENTS οριακά -Υπολογίζεις λάθος τα στατιστικά. -Δεν βάζεις τα σχόλια µε βάση τις προδιαγραφές του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση σε κάποια σηµεία. - Τα µεγέθη των πινάκων πρέπει να τα ορίζεις είτε µε #define είτε µε const - µη χρησιµοποιείς literals. - Άσχηµη στοίχιση - Το output δεν είναι όπως ζητά η εκφώνηση. Στο µέλλον πρόσεχε να το κάνεις να ταιριάζει ακριβώς Η απουσία είναι δικαιολογηµένη, αλλά καλό είναι να ξανακάνεις κάποια στιγµή αυτό το σετ για εξάσκηση. - Δεν υπάρχουν σχόλια - Άσχηµη στοίχιση - Το output δεν είναι όπως ζητά η εκφώνηση. Στο µέλλον πρόσεχε να το κάνεις να ταιριάζει ακριβώς οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. Δεν έπρεπε όµως να τυπώνεις µε µηδενικά και την βαθµολογία των φοιτητών. -Έχεις αρκετά σχόλια, αλλά δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. - Καλή δουλειά µε το φορµάρισµα του output - Τα µεγέθη των πινάκων πρέπει να τα ορίζεις είτε µε #define είτε µε const - µη χρησιµοποιείς literals. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1

0008 0009 0010 0011 0012 0013 0014 0015 πολύ οριακά -Τα αποτελέσµατά είναι λάθος γιατί δεν αρχικοποιείς τον πίνακα των scores. -Δεν υπάρχουν καθόλου σχόλια! - Μη χρησιµοποιείς 0d στο scanf - Μη περιγραφικά ονόµατα µεταβλητών - Όταν έχεις ορίσει σταθερές (είτε µε #define είτε µε const), να χρησιµοποιείς το όνοµά τους σε όλα τα σχετικά σηµεία του προγράµµατος - µη χρησιµοποιείς τις τιµές (literal values) - Δεν υπάρχουν σχόλια συναρτήσεων - Καλή δουλειά στο φορµάρισµα του output -Πολύ καλή εργασία, µε δήλωση σταθερών, καλό σχολιασµό και σωστά αποτελέσµατα. οριακά - Διαβάζεις τον αριθµό των φοιτητών µετά τις σωστές απαντήσεις ενώ θα έπρεπε να τον διαβάζεις πριν - Η κλήση στη συνάρτηση που βρίσκει τις σωστές απαντήσεις έπρεπε να είναι µέσα στο for και να λειτουργεί µόνο για ένα φοιτητή. Εναλλακτικά, θα µπορούσες να την αφήσεις όπως είναι, αλλά να περνάς ως παράµετρο ένα πίνακα µε απαντήσεις φοιτητων. - Τα αποτελέσµατα και για τα σκορ των φοιτητών και για τα στατιστικά είναι λάθος - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - Δε χρησιµοποιείς σταθερές για τα µέγιστα µεγέθη των φοιτητών και ερωτήσεων - Λάθος ονοµασία αρχείου - Λάθος απροσεξίας στην εµφάνιση του output. Στο µέλλον να ελέγχεις ότι το output του προγράµµατός σου είναι ακριβώς όπως το ζητά η άσκηση. - Μη γράφεις σχόλια σε ελληνικούς χαρακτήρες. - Άσχηµη στοίχιση Page 2

0016 0017 0018 0019 0020 0021 οριακά - Τα αποτελέσµατα για τα στατιστικά είναι λάθος, βασικά τυπώνονται σκουπίδια γιατί αυξάνεις τα περιεχόµενα του πίνακα plhthos χωρίς να τον έχεις αρχικοποιήσει ποτέ - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - Δε χρησιµοποιείς σταθερές για τα µέγιστα µεγέθη των φοιτητών και ερωτήσεων - Καθόλου σχόλια -Υπολογίζεις λάθος τα στατιστικά. -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων. -Στο in2.txt πέφτεις σε ατέρµονο βρόγχο. -Πρόσεξε την στοίχιση του κώδικά σου. -Δεν υπάρχουν καθόλου σχόλια! Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. οριακά -Το οutput του προγράµµατός σου δεν ήταν ακριβώς όπως ζητούσε η άσκηση. - Το πλήθος των ερωτήσεων πρέπει να είναι 21 γιατί οι απαντήσεις δίνονται ως συµβολοσειρά και πρέπει να υπολογίσεις και τον τερµατικό χαρακτήρα, το πρόγραµµά σου δηλ για 20 ερωτήσεις δε δουλεύει σωστά - Έχει compilation warnings. Δεν πρέπει να τα αγνοείς γιατί σε προειδοποιούν για σηµαντικά λάθη. - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών - Δε διαβάζεις τα στοιχεία µε τη σειρά που σου λέει η άσκηση. - ο πίνακας SCORE που ορίζεις στη main δεν έχει καµία σχέση µε τον τοπικό πίνακα SCORE που δηλώνεις στη συνάρτηση orthotita apantisevn, οπότε στον υπολογισµό των στατιστικών χησιµοποείς έναν µη αρχικοποιηµένο πινακα µε τυχαία δεδοµένα. - για τον υπολογισµό του ποσοστού δε χρησιµοποιείς παρενθέσεις για τη προτεραιτότητα των τελεστών και κάνεις πράξεις µεταξύ ακεραίων οπότε το αποτέλεσµα θα είναι ακέραιος και πάντα 0. - Καλύτερα σχολιασµένος κώδικας - Οι πίνακες µε τις ερωτήσεις απαντήσεις θα έπρεπε να είναι µεγέθους 21 Page 3

0022 0023 0024 0025 - Έχει compilation warnings. Δεν πρέπει να τα αγνοείς γιατί σε προειδοποιούν για σοβαρά λάθη. - Σταθερές όπως το µέγεθος των πινάκων να τις ορίζεις πάντα µε #define ή µε const. - Δεν υπάρχουν σχόλια συναρτήσεων - Οι µεταβλητές πρέπει να έχουν περιγραφικά ονόµατα. - Πρόσεχε λίγο τη στοίχιση -Το πρόγραµµά σου πέφτει σε ατέρµονο βρόγχο στο διάβασµα του πλήθους των ερωτήσεων! Χρησιµοποιείς την do-while σαν να είναι εκτέλεσε_µέχρις_ότου ενώ είναι εκτέλεσε_όσο! -Γενικά, διαβάζεις µε λάθος τρόπο την είσοδο, άρα υπολογίζεις και λάθος τα στατιστικά. -Το πρόγραµµά σου βγάζει segmentation faults. -Έχεις αρκετά σχόλια, αλλά καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. οριακά -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Υπολογίζεις λάθος τα στατιστικά. -Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών και συναρτήσεων! -Δεν υπάρχουν καθόλου σχόλια! -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά! -Πρόσεξε την στοίχιση του κώδικά σου! -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. Page 4

0026 0027 0028 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Αποτελεί καλή πρακτική οι σταθερές που δηλώνονται µε define να αποτελούνται µόνο από κεφαλαίους χαρακτήρες. Οµοίως και για τις µεταβλητές, οι οποίες δεν θα πρέπει να αποτελούνται µόνο από κεφαλαίους χαρακτήρες. - Το δεύτερο for loop στην συνάρτηση main που χρησιµοποιείς για τον έλεγχο ορθότητας είναι περιττό καθώς γι' αυτό το λόγο έχεις δηµιουργήσει την συνάρτηση elegxos_apantisewn. - Οι κλήσεις των συναρτήσεων elegxos_apantisewn και statistika δεν εκτελούνται ποτέ καθώς έχει ήδη εκτελεστεί η εντολή return οπότε το πρόγραµµα έχει τερµατίσει. - Στην συνάρτηση statistika θα έπρεπε να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών. - Ο έλεγχος για την ορθότητα του αριθµού των απαντήσεων και του αριθµού των φοιτητών που εισάγει ο χρήστης είναι λανθασµένος. Οι δύο συνθήκες δεν µπορούν να ισχύουν ταυτόχρονα. Δες την αντίστοιχη λύση. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Ο επεξεργαστής κειµένου που χρησιµοποίησες (πιθανώς notepad?) είχε προσθέσει χαρακτήρες carriage return στο αρχείο. - To πρόγραµµα δεν κάνει compile και δεν έχουν υλοποιηθεί πολλά κοµµάτια. -Υπολογίζεις λάθος τα στατιστικά σε όλες τις εισόδους. -Τα περισσότερα µηνύµατα που εκτυπώνεις είναι λάθος. -Πρόσεξε την στοίχιση του κώδικά σου. -Δεν υπάρχουν καθόλου σχόλια! Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. Page 5

0030 0031 0032 0032 0033 0034 0035 0036 0037 - δηλώνεις δύο πίνακες µεγέθους students το οποίο δεν είναι σταθερό µέγεθος - οι δηλώσεις των συναρτήσεων δε πρέπει να γίνονται µέσα στη main. - Λάθος αποτελεσµατα - Καθόλου σχόλια - Δεν κάνει compile. Έχει σοβαρά λάθη πολλά από τα οποία έπρεπε να µπορείς να έχεις διορθώσει. - Αντιγραφή - Το µέγεθος ενός πίνακα θα πρέπει να είναι πάντα σταθερή ποσότητα. Τα segmentation faults του προγράµµατος οφείλονται στην δήλωση των µεγεθών των πινάκων ως µεταβλητές. - Καθώς η συνάρτηση control λαµβάνει ως παράµετρο την µεταβλητή i δεν θα έπρεπε να την τροποποιείς εντός της συνάρτησης. Αυτό έχει ως αποτέλεσµα την λανθασµένη λειτουργία της συνάρτησης. Θα έπρεπε να έχεις δηλώσει µία άλλη µεταβλητή για το for loop. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Προσοχή στην στοίχιση. - Έχει compilation warnings. Δεν πρέπει να τα αγνοείς γιατί σε προειδοποιούν για σηµαντικά λάθη. - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών - Δεν υπάρχουν σχόλια - Το πρόγραµµα δε διαβάζει 20 απαντήσεις, αλλά 19. Page 6

0038 0638 1043 1067 1072 1073 1074 1075 1076 - Compilation warnings - Εντελώς λάθος αποτελέσµατα - Δε τυπώνεις τα σκορ για κάθε φοιτητή - το output διαφορετικό απόαυτό που ζητά η άσκηση - πιο περογραφικά ονόµατα στις µεταβλητές οριακά -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Εκτύπωση πολλών περιττών µηνυµάτων. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. Δεν έπρεπε όµως να τυπώνεις µε µηδενικά και την βαθµολογία των φοιτητών. -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Έχεις αρκετά σχόλια, αλλά δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Το πρόγραµµά σου πέφτει σε ατέρµονο βρόγχο στο in2.txt!!!! -Η while (number_of_students<=0 number_of_students>=15) είναι λάθος, έπρεπε να έχεις >15, όχι >= -Δεν τυπώνεις τα ΑΕΜ µε µηδενικά. -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων. -Δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. - Δεν υπάρχουν σχόλια συναρτήσεων - Πρόσεχε λίγο τη στοίχιση - Μικρά λάθη στο φορµάρισµα του output. - Γιατί το VATHMOS είναι 19? Page 7

1077 1078 1079 1080 1081 1082 1083 οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων. -Δεν δηλώνεις τα πρωτότυπα των συναρτήσεών σου. -Δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Πρόσεξε την στοίχιση του κώδικά σου! -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά! Και γενικά πολύ καλό format εξόδου. οριακά - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - Φρόντισε ο κώδικάς σου να είναι ευκολοδιάβαστος, δεν έχεις καλή στοίχιση αλλού αφήνεις µεγάλα κενά αλλού καθόλου - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Αντί να καλείς την συνάρτηση elegxos_orthotitas σε ένα loop, θα ήταν καλύτερα να έχεις ενσωµατώσει το loop εντός της συνάρτησης. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Οι µεταβλητές που χρησιµοποιούνται σε κάθε συνάρτηση θα πρέπει να δηλώνονται στην αρχή αυτής, πριν τις όποιες εντολές. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Αρκετή προσοχή στην στοίχιση. Επίσης, µείωσε τον αριθµό των κενών γραµµών. Page 8

1084 1085 1086 1087 1088 1089 1090 - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - οι µαθητές πρέπει να είναι µέχρι 15 και όχι µέχρι 14 - λάθος αποτελέσµατα σε µερικά στατιστικά κι αυτό γιατί τα τα ποσοστά θα έπρεπε να αποθηκευτούν και να υπολογιστούν ως double - Πολύ καλή δουλειά γενικά - Άφηνε λίγο µεγαλύτερα κενά όταν στοιχίζεις τον κώδικα. Το συνηθες µέγεθος του κενού είναι 1 tab. - Δίνε λίγο πιο περιγραφικά ονόµατα στις µεταβλητές. Απέφευγε sum1, sum2, κτλ. - Πολύ καλή δουλειά στο φορµάρισµα του output. - Πολλά από τα σχόλια που έχεις δεν παρέχουν χρήσιµες πληροφορίες άρα είναι περιττά. - Δεν υπάρχουν σχόλια συναρτήσεων. οριακά - H συνάρτηση για τη σύγκριση είναι λάθος, ο πίνακας των σκορ έχει να κάνει µε το πλήθος των φοιτητών και όχι µε το πλήθος των ερωτήσεων(score[i] ενώ το i αυξάνεται σε σχέση µε το πλήθος των ερωτήσεων) - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - Δε χρησιµοποιείς σταθερές για τα µέγιστα µεγέθη των φοιτητών και ερωτήσεων - Γιατί οι πίνακες αρχικοποιούνται µε τιµές 40 και 30? οριακά -Υπολογίζεις λάθος τα στατιστικά. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά! -Δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Να βάζεις σχόλια όπου χρειάζεται, π.χ. σε µεταβλητές που δεν είναι προφανές το τι αναπαριστούν. -Πρόσεξε λίγο την στοίχιση του κώδικά σου! - Αντιγραφή Page 9

1091 1092 1093 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Το ένα σκέλος του ελέγχου για εγκυρότητα της εισόδου από τον χρήστη είναι λανθασµένο. Το πρόγραµµα εκλαµβάνει ως σωστό αριθµό ερωτήσεων ή φοιτητών ίσο µε µηδέν. - Τα σχόλια των συναρτήσεων δεν συµµορφώνονται µε αυτά του αντίστοιχου φυλλαδίου. - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών - Λαθάκια στο φορµάρισµα του output. - Μην αφήνεις τόσο µεγάλα κενά ανάµεσα στις συναρτήσεις. - Δεν υπάρχουν σχόλια. Page 10

1094 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Θα ήταν καλό να έχεις απαλείψει τα warnings που εµφανίζονται. - Ο έλεγχος για την ορθότητα του αριθµού των απαντήσεων και του αριθµού των φοιτητών που εισάγει ο χρήστης είναι λανθασµένος. Δες την αντίστοιχη λύση. - Η υλοποίηση της λήψης των δεδοµένων από τον χρήστη είναι λανθασµένη. Επίσης, η λήψη των απαντήσεων θα έπρεπε να γίνεται στην συνάρτηση main και όχι στην function. Εποµένως, η συνάρτηση function θα έπρεπε να λαµβάνει ως επιπλέον παραµέτρους τις σωστές απαντήσεις και τις απαντήσεις του εκάστοτε φοιτητή. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Τα µεγέθη των πινάκων θα έπρεπε να έχουν δηλωθεί ως σταθερές είτε µε define είτε µε const. - Στην συνάρτηση statistika θα έπρεπε να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών. - Θα ήταν καλό να χρησιµοποιείς Linux για την ανάπτυξη των ασκήσεων. - Για ποιο λόγο καλείς την συνάρτηση srand; - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Προσοχή στην στοίχιση.il... Page 11

1095 1096 1097 1098 1099 1100 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα µεγέθη των πινάκων θα έπρεπε να έχουν δηλωθεί ως σταθερές. - Τα ονόµατα των µεταβλητών και των παραµέτρων θα πρέπει να είναι πιο περιγραφικά. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Η κλήση στην συνάρτηση strlen είναι περιττή. - Ο χαρακτήρας ' 0 ' στο αλφαριθµητικό µορφοποίησης της συνάρτησης scanf είναι περιττός. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Η σταθερά MITRWO τι συµβολίζει; Γιατί είναι 14 και όχι 15; -Εφόσον δηλώνεις κάποιες σταθερές, πρέπει να τις χρησιµοποιείς παντού στον κώδικά σου και να µην έχεις αλλού σταθερές και αλλού αριθµούς. -Έχεις αρκετά σχόλια, αλλά δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Σωστά αποτελέσµατα και καλό format εξόδου. -Δηλώνεις σταθερά µόνο για το µέγεθος του ενός πίνακα. Γιατί όχι και για τον άλλον; -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. -Πρόσεξε την στοίχιση του κώδικά σου. - Πολύ καλή δουλειά στο φορµάρισµα του output. -Πριν παραδώσεις ένα πρόγραµµα, πρέπει να αφαιρείς τελείως κώδικα που βρίσκεται µέσα σε σχόλια. - Δεν υπάρχουν σχόλια συναρτήσεων. - Κάποιες από τις µεταβλητές/σταθερές δεν έχουν καθόλου περιγραφικά ονόµατα. Page 12

1101 1102 1103 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα µεγέθη των πινάκων θα έπρεπε να δηλώνονται ως σταθερές µε const ή define. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Καθώς το µέγιστο πλήθος φοιτητών είναι 15, αυτό θα έπρεπε να είναι και το µέγεθος του πίνακα AEM. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Αρκετή προσοχή στην στοίχιση. οριακά - Μη χρησιµοποιείς \n στο scanf -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Εκτύπωση πολλών περιττών µηνυµάτων. -Δεν υπάρχουν καθόλου σχόλια! -Πρόσεξε την στοίχιση! - Μόνο οι σταθερές γράφονται µε κεφαλαία - Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών/σταθερών -Το πρόγραµµά σου πέφτει σε ατέρµονο βρόγχο στο in2.txt!!!! -Εφόσον δηλώνεις κάποιες σταθερές, πρέπει να τις χρησιµοποιείς παντού στον κώδικά σου και να µην έχεις αλλού σταθερές και αλλού αριθµούς. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών, σταθερών και συναρτήσεων. -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. -Πρόσεξε την στοίχιση του κώδικά σου! Page 13

1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 - Το οutput του προγράµµατός σου δεν ήταν ακριβώς όπως ζητούσε η άσκηση. Στο µέλλον πρέπει να το προσέχεις αυτό. - Σταθερές όπως το µέγεθος των πινάκων να τις ορίζεις πάντα µε #define ή µε const. - Καλή δουλειά στα σχόλια. -Το πρόγραµµά σου βγάζει segmentation faults -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Υπολογίζεις λάθος τα στατιστικά. -Δεν βάζεις τα σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Πρόσεξε λίγο την στοίχιση σε κάποια σηµεία. -Δεν ξέρεις να κάνεις κλήση συναρτήσεων! Διάβασε καλά την αντίστοιχη θεωρία. -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων. -Δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. οριακά - Το πλήθος των ερωτήσεων πρέπει να είναι 21 γιατί οι απαντήσεις δίνονται ως συµβολοσειρά και πρέπει να υπολογίσεις και τον τερµατικό χαρακτήρα, το πρόγραµµά σου δηλ για 20 ερωτήσεις δε δουλεύει σωστά - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση Page 14

1114 1115 1116 1117 1118 - Γενικά καλή δουλειά - Όταν έχεις ορίσει σταθερές (είτε µε #define είτε µε const), να χρησιµοποιείς το όνοµά τους σε όλα τα σχετικά σηµεία του προγράµµατος - µη χρησιµοποιείς τις τιµές (literal values) - Πρόσεχε τη στοίχιση -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Οι const int µεταβλητές που έχεις παίρνουν τιµή από την ίδια σταθερά που δηλώνεις πιο πάνω µε την #define. Για ποιον λόγο χρησιµοποιείς δύο τότε; Για ποιον λόγο τις δηλώνεις γενικά και δεν χρησιµοποιείς τις σταθερές που δήλωσες µε την#define; - Αντιγραφή οριακά -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση του κώδικά σου. -Πολύ καλό format εξόδου. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. Page 15

1119 1120 1121 1122 1123 -Το πρόγραµµά σου δεν δουλεύει καθόλου! -Οι µεταβλητές test_num,stu_num δεν αρχικοποιούνται πουθενά, άρα δεν µπορείς να τις χρησιµοποιήσεις για µεγέθη πινάκων στις δηλώσεις char right_str[test_num],ans_str[test_num]; και int AEM[test_num],scores[stu_num];. Έπρεπε να χρησιµοποιήσεις τις σταθερές που δηλώνεις πάνω, αλλιώς τι νόηµα έχουν; -Στο in3.txt πέφτεις σε ατέρµονο βρόγχο. -Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών, σταθερών και συναρτήσεων. -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Δεν τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. - Πολύ καλή εργασία, µπράβο. - Κάποια από τα σχόλια µέσα στο πρόγραµµα ήταν περιττά γιατι δεν έδειναν κάποια πληροφορία που δεν ήταν προφανής από τον κώδικα. Για παράδειγµα, δε χρειάζεται σχόλιο για την εντολή scanf("%20s", correct_answers); -Υπολογίζεις λάθος τα στατιστικά. -Η εκτύπωση των στατιστικών δεν πρέπει να είναι µέσα στην for. -Τυπώνονται λάθος µηνύµατα! -Δεν τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. -Εφόσον δηλώνεις κάποιες σταθερές, πρέπει να τις χρησιµοποιείς παντού στον κώδικά σου και να µην έχεις αλλού σταθερές και αλλού αριθµούς. -Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών, σταθερών και συναρτήσεων. -Έχεις αρκετά σχόλια, αλλά δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Πρόσεξε την στοίχιση του κώδικά σου! Page 16

1124 1125 1126 1127 1128 - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών - Όταν ορίζεις σταθερές, είτε µε #define είτε µε const, να χρησιµοποιείς τα ονόµατά τους, όχι literal τιµές. οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τυπώνονται λάθος µηνύµατα! -Για ποιον λόγο κάνεις #include την <math.h> αφού δεν την χρησιµοποιείς; -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση του κώδικά σου. - Δεν κάνει compile. Έχει σοβαρά λάθη πολλά από τα οποία έπρεπε να µπορείς να έχεις διορθώσει. οριακά - Το µέγεθος του πίνακα answer θα έπρεπε να είναι ίσο µε 21. Αυτό προκαλεί σφάλµατα κατά την εκτέλεση του προγράµµατος καθώς προσπελαύνεις θέσεις µνήµης που δεν σου ανήκουν. - Θα έπρεπε να χρησιµοποιείς πιο περιγραφικά ονόµατα για τις συναρτήσεις. - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Αρκετή προσοχή στην στοίχιση. Page 17

1129 1130 1131 1132 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Όπως αναφέρεται και στην εκφώνηση, δεν θα έπρεπε να χρησιµοποιείς καθολικές µεταβλητές. - Τα σχόλια των συναρτήσεων δεν συµµορφώνονται µε αυτά του αντίστοιχου φυλλαδίου. - Προσοχή στην στοίχιση. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Τα µεγέθη των πινάκων θα έπρεπε να έχουν δηλωθεί ως σταθερές είτε µε define είτε µε const. - Η λήψη των δεδοµένων για κάθε φοιτητή θα έπρεπε να γίνεται στην συνάρτηση main και όχι στην συνάρτηση Checker. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Τα σχόλια των συναρτήσεων δεν συµµορφώνονται µε αυτά του αντίστοιχου φυλλαδίου. - Προσοχή στην στοίχιση. -Οι συναρτήσεις δηλώνονται έξω από την main, OXI µέσα!!!! -Υπολογίζεις λάθος τα στατιστικά. -Δεν τυπώνεις τα ΑΕΜ µε µηδενικά. -Τυπώνονται λάθος µηνύµατα! -Δεν δηλώνεις σταθερές για τα µεγέθη των πινάκων -Έχεις αρκετά σχόλια, αλλά δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Πρόσεξε την στοίχιση! Page 18

1133 1134 1135 1136 1137 1138 1139 1140 1141 οριακά - Το πρόγραµµά σου βγάζει λάθος αποτελέσµατα στα στατιστικά, τα αποτελέσµατα των υπόλογισµών σου βγαίνουν 0, γιατί δεν έχεις ορίσει προτεραιότητα µε παρενθέσεις στις µαθηµατικές σου εκφράσεις και γιατί το αποτέλεσµα σου αφού είναι έκφραση ακεραίων είναι ακέραιος ενώ θα έπρεπε να είναι double - Περιγραφικά ονόµατα σε συναρτήσεις (π.χ. Συνάρτηση µε όνοµα kostas? πιο περιγραφικό όνοµα δε ξαναείδα ) - Καθόλου Σχόλια - δηλώνεις δύο πίνακες µεγέθους students το οποίο δεν είναι σταθερό µέγεθος - Λάθος αποτελεσµατα - Δε χρησιµοποιείς σταθερές για το µέγιστο αριθµό φοιτητών και ερωτήσεων - Το µέγεθος ενός πίνακας πρέπει να είναι πάντα σταθερή ποσότητα. - Δεν υπάρχουν σχόλια συναρτήσεων και πολλά από τα σχόλια που υπάρχουν δεν παρέχουν χρήσιµες πληροφορίες. Διάβασε το φυλλάδιο σχολιασµού. - Οι µεταβλητές πρέπει να έχουν περιγραφικά ονόµατα. - Πολύ άσχηµη στοίχιση - Το πρόγραµµα δε διαβάζει 20 απαντήσεις, αλλά 19. οριακά - Το οutput του προγράµµατός σου δεν ήταν ακριβώς όπως ζητούσε η άσκηση. - H σταθερα για το πλήθος των ερωτήσεων-απαντήσεων θα έπρεπε να είναι 21 γιατί είναι συµβολοσειρα και θα έπρεπε να υπολογίσεις και τον τερµατικό χαρακτήρα - Δεν κάνει compile. Έχει σοβαρά λάθη πολλά από τα οποία έπρεπε να µπορείς να έχεις διορθώσει. - Πολύ άσχηµα ονόµατα µεταβλητών. Καθόλου περιγραφικά. Επίσης µη χρησιµοποιείς σκέτο l (el) γιατί σε κάποιες γραµµατοσειρές είναι ίδιο µε το 1 (ένα) - Άσχηµη στοιχιση - Δεν υπάρχουν σχόλια συναρτήσεων - Ελειπή σχόλια - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών. - Πολύ καλή δουλειά µε το φορµάρισµα του output Page 19

1142 1143 1144 1145 οριακά - warnings στο complation γιατί προσπαθείς να ορίσεις ακρίβεια δεκαδικών ψηφίων σε ακεραίους -Το πλήθος των ερωτήσεων πρέπει να είναι 21 γιατί οι απαντήσεις δίνονται ως συµβολοσειρά και πρέπει να υπολογίσεις και τον τερµατικό χαρακτήρα, το πρόγραµµά σου δηλ για 20 ερωτήσεις δε δουλεύει σωστά - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - προσπάθησε ο κώδικάς σου να είναι πιο ευανάγνωστος(αλλού πολλά κενά, αλλού λίγα) - Ο χαρακτήρας '. ' στο αλφαριθµητικό µορφοποίησης στις εντολές printf είναι περιττός. Γι' αυτό σε ενηµερώνουν τα warnings, τα οποία θα έπρεπε να έχεις διορθώσει πριν την υποβολή του κώδικα. - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Αντί να καλείς την συνάρτηση answer_control σε ένα loop, θα ήταν καλύτερα να έχεις ενσωµατώσει το loop εντός της συνάρτησης. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Τα σχόλια των συναρτήσεων δεν συµµορφώνονται µε αυτά του αντίστοιχου φυλλαδίου. - Προσοχή στην στοίχιση. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Τα σχόλια είναι λίγα και δεν βοηθάνε σχεδόν καθόλου. Καλύτερα να διαβάσεις τις προδιαγραφές σχολίων του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση του κώδικά σου. -Πολύ καλό format εξόδου. -Τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. Page 20

1146 1147 1148 1149 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. Τα όποια επιπλέον µηνύµατα χρησιµοποιείς για debugging θα πρέπει να αφαιρούνται πριν την παράδοση του κώδικα. - Η υλοποίηση της λήψης των δεδοµένων από τον χρήστη είναι λανθασµένη. Επίσης, ο έλεγχος για έγκυρη είσοδο από τον χρήστης είναι ελλιπής. Δες την αντίστοιχη λύση. - Τα αποτελέσµατα που παράγονται από το πρόγραµµα δεν είναι σωστά. Δες την αντίστοιχη λύση. - Καθώς το δεύτερο όρισµα στις κλήσεις της συνάρτησης scanf εντός της συνάρτησης sugkrisi είναι χαρακτήρας, το αντίστοιχο προσδιοριστικό θα έπρεπε να είναι '' %c''. - Αποτελεί καλή πρακτική να δηλώνεις µε κεφαλαίους χαρακτήρες µόνο τις σταθερές. Εποµένως, ο πίνακας AEM θα έπρεπε να έχει δηλωθεί ως aem. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Δεν κάνει compile - Μόνο οι σταθερές γράφονται µε όλο κεφαλαία. - Το πρόγραµµα δε διαβάζει 20 απαντήσεις, αλλά 19. - Έχουν υλοποιηθεί ελάχιστες λειτουργίες. Page 21

1150 1151 1152 1153 1154 οριακά - Δεν κάνει compile. Φαίνεται να έκανες κάποιο copy+paste κατά λάθος πριν στείλεις την άσκηση. Καλό είναι να κάνεις πάντα ένα τελικό compile πριν την παράδοση. - Μη περιγραφικά ονόµατα µεταβλητών - Πρόσεχε τη στοίχιση - Λάθος αποτελέσµατα σε κάποια test cases. Στο µέλλον να χρησιµοποιείς gdb για να βρίσκεις πού είναι το λάθος. - Όταν έχεις ορίσει σταθερές (είτε µε #define είτε µε const), να χρησιµοποιείς το όνοµά τους σε όλα τα σχετικά σηµεία του προγράµµατος - µη χρησιµοποιείς τις τιµές (literal values) - Πρόσεχε τα όρια των for σου. Το πρόγραµµά σου προσπαθεί να διαβάσει απαντήσεις για περισσότερους φοιτητές από ο,τι πρέπει - Δεν υπάρχουν σχόλια συναρτήσεων. - Δεν υπάρχουν επεξηγηµατικά σχόλια σε σηµεία που δεν είναι ξεκάθαρο τι συµβαίνει (τι ακριβώς είναι τα str_print1, str_print3, κτλ)? - Η έξοδος του προγράµµατος δεν συµµορφώνεται πλήρως µε τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - Το πρόγραµµα δεν διαβάζει 20 αλλά 19 απαντήσεις. - Αποτελεί καλή πρακτική οι σταθερές που δηλώνονται µε define να αποτελούνται µόνο από κεφαλαίους χαρακτήρες. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Αρκετή προσοχή στην στοίχιση. - To output του προγράµµατός σου θα έπρεπε να είναι ακριβως σαν αυτό σαν τα αρχεία εξόδου expout - καλός κώδικas, σχολίασε µε βάση τα πρότυπα σχολιασµού που έχουν δωθεί. Page 22

1155 1156 1157 1158 1159 1160 -Οι συναρτήσεις δηλώνονται έξω από την main, OXI µέσα!!!! -Έχεις υλοποιήσει µόνο µία και όχι δύο συναρτήσεις. -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Δεν χρειαζόταν να δηλώσει δισδιάστατους πίνακες, µπορούσες να χρησιµοποιήσεις και απλούς µονοδιάστατους. -Δεν υπάρχουν σχόλια µε βάση τις προδιαγραφές του φυλλαδίου πριν από κάθε συνάρτηση. -Πρόσεξε την στοίχιση! οριακά - Μη περιγραφικά ονόµατα µεταβλητών - Το output δεν είναι όπως το ζητήσαµε - Άσχηµη στοίχιση - Δεν υπάρχουν σχόλια συναρτήσεων - Λάθος αποτελέσµατα γιατί γίνεται λάθος η εισαγωγή δεδοµένων. - Το output δεν είναι όπως το ζητήσαµε - Οι συµβολοσειρές γενικά πρέπει να συγκρίνονται µε strcmp. Στη συγκεκριµένη άσκηση έπρεπε να τις συγκρίνεις ένα-ένα χαρακτήρα - Ελειπή σχόλια - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών - Λάθος αποτελέσµατα οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. πάντα να σκέφτεσαι το '\0'. -Δεν τυπώνεις σωστά τα ΑΕΜ µε µηδενικά. -Πολύ ωραία τα σχόλια πρίς τις συναρτήσεις αλλά έπρεπε να βάλεις και σχόλια στον υπόλοιπο κώδικα, π.χ. τι δηλώνει η µεταβλητή foitites1; -Πρόσεξε την στοίχιση! - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - ο αριθµός των φοιτητών και των ερωτήσεων δε πρέπει να είναι µικρότερος του 1 όχι µικρότερος του 0 - Δε τυπώνεις τα αεµ µε µηδενικά µπροστά Page 23

1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 -Δεν διαβάζεις σωστά την είσοδο. Η scanf δεν έπρεπε να έχει \n. -Τα αποτελέσµατά είναι παντελώς λάθος! -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. -Γενικά, εκτύπωση πολλών περιττών µηνυµάτων. -Δεν υπάρχουν καθόλου σχόλια! - Δεν υπολογίζεις στατιστικά - Έχει compilation warnings. Δεν πρέπει να τα αγνοείς γιατί σε προειδοποιούν για σηµαντικά λάθη. - Άσχηµη στοίχιση - Μη περιγραφικά ονόµατα µεταβλητών Page 24

1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Αποτελεί καλή πρακτική οι σταθερές που δηλώνονται µε define να αποτελούνται µόνο από κεφαλαίους χαρακτήρες. Οµοίως και για τις µεταβλητές, οι οποίες δεν θα πρέπει να αποτελούνται µόνο από κεφαλαίους χαρακτήρες. - Αντί να καλείς την συνάρτηση orthotita σε ένα loop, θα ήταν καλύτερα να έχεις ενσωµατώσει το loop εντός της συνάρτησης. - Συνήθως, αρνητική τιµή επιστροφής από κάποια συνάρτηση συνεπάγεται την ύπαρξη κάποιου σφάλµατος. Εποµένως, θα ήταν καλό η συνάρτηση statistica να επιστρέφει 0. - Δεν υπάρχουν σχόλια στις συναρτήσεις. Η ύπαρξη σχολίων αποτελούσε και απαίτηση της άσκησης. - Αρκετή προσοχή στην στοίχιση. - Δεν κάνει compile. Έχει σοβαρά λάθη πολλά από τα οποία έπρεπε να µπορείς να έχεις διορθώσει. - Αντιγραφή οριακά -Υπολογίζεις λάθος τα στατιστικά σε κάποιες εισόδους. -Τυπώνεις µηνύµατα που ενηµερώνουν το χρήστη για το τι δεδοµένα πρέπει να δώσει, ενώ η εκφώνηση τόνιζε ακριβώς το αντίθετο. πάντα να σκέφτεσαι το '\0'. - Δεν κάνει compile. Έχει σοβαρά λάθη πολλά από τα οποία έπρεπε να µπορείς να έχεις διορθώσει. Page 25

1185 1186 1187 1188 1189 1190 1191 1192 1193 - Απρόσεκτα λάθη στην εµφάνιση του output. Στο µέλλον να ελέγχεις ότι το output του προγράµµατός σου είναι ακριβώς όπως το ζητά η άσκηση. - Δεν υπάρχουν σχόλια συναρτήσεων. - Η έξοδος του προγράµµατος δεν ακολουθεί τις δοθείσες προδιαγραφές. Στην επόµενη εργασία, θα πρέπει να ακολουθείς επακριβώς τις αντίστοιχες οδηγίες. - Τα αποτελέσµατα του προγράµµατος είναι λανθασµένα. Δες την αντίστοιχη λύση. - Αντί να καλείς την συνάρτηση elegxos_orthotitas σε ένα loop, θα ήταν καλύτερα να έχεις ενσωµατώσει το loop εντός της συνάρτησης. - Καθώς για την λήψη ενός αλφαριθµητικού µεγέθους 20 χαρακτήρων απαιτείται µέγεθος πίνακα ίσο µε 21 χαρακτήρες, αυτό θα έπρεπε να είναι και το µέγεθος των αντίστοιχων πινάκων. Θα πρέπει τέτοιου είδους λάθη να µπορούν να βρεθούν µε χρήση του gdb. - To output του προγράµµατός σου δεν είναι όπως ζητούσε η άσκηση - Τα µεγέθη των πινάκων πρέπει να τα ορίζεις είτε µε #define είτε µε const - µη χρησιµοποιείς literals. - Οι µεταβλητές στη συνάρτηση που υπολογίζει τα A, B, κτλ, έπρεπε να είχαν πιο περιγραφικά ονόµατα (και τότε δε θα χρειαζόταν να βαλεις σχόλια που να εξηγουν τη λειτουργία τους). - Καλή δουλειά µε τα σχόλια συναρτήσεων - Άφηνε λίγο µεγαλύτερα κενά όταν στοιχίζεις τον κώδικα. Το συνηθες µέγεθος του κενού είναι 1 tab. Page 26