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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος όνοµα αρχείου.το επίθετο βάζουµε όχι το όνοµα FAIL -Έχεις συντακτικά λάθη και προειδοποιήσεις στο πρόγραµµα σου. -Υπαρξη σχολίου στη πρώτη γραµµή. -Σωστή δήλωση και χρήση σταθερών. -Καλή στοίχηση και καλά ονόµατα µεταβλητών. -Στην αρχικοποιήση του πίνακα δε θέλει το int!χωρίς αυτό είναι σωστή! -Δεν υπολογίζεται ούτε εµφανίζεται το σωστό αποτέλεσµα για το µέσο όρο. -Καλή η λογική, κάνε ξανά την άσκηση σπίτι και δες µετά τη λύση Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Θα ήταν προτιµότερο να χρησιµοποιήσετε τα ονόµατα STUDENTS και TESTS για τις σταθερές αντί για τα N και Μ. -Σωστή αρχικοποίηση πίνακα και καλά ονόµατα µετβλητών. -Ο κώδικας σας, για την είσοδο που δόθηκε τρέχει σωστά. Ωστόσο αν προστεθούν επιπλέον tests τα αποτελέσµατα δεν είναι σωστά. Αυτό διότι έχετε λάθος στη γραµµή 36. Η επανάληψη σας τρέχει µέχρι Ν αντί για Μ. Αν είχατε ονοµάσει τις σταθερές όπως σας είπα παραπάνω θα είχατε εντοπίσει το λάθος. -Υπάρχει αρχικό σχόλιο -Η στοίχιση του κώδικα σας είναι πολύ καλή -Ο κώδικας σας δεν κάνει compile. -Έχετε δηλώσει τις σταθερές χωρίς όµως να τους δώσετε τιµές. -Χρησιµοποιείτε συναρτήσεις από το string.h χωρίς όµως να το έχετε κάνει include -Κατά τα άλλα η σκέψη σας είναι σωστή. Δοκιµάστε να διορθώσετε τα λάθη σας και στη συνέχεια δείτε και την ενδεικτική λύση. -Το αρχικό σχόλιο είναι φτωχό -Ξανά πολύ καλή στοίχιση και ονόµατα µεταβλητών

2 Πολύ ωραίο σχόλιο στην αρχή του προγράµµατος! -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Πρέπει όταν ο χρήστης δίνει -1 για αριθµό µητρώου να τερµατίζει το πρόγραµµα, σε εσάς περιµένει και τους βαθµούς. -Σωστή εκτύπωση αποτελεσµάτων. -Πολύ ωραίο σχόλιο στην αρχή του προγράµµατος! -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Το πρόγραµµα σας δεν µπορεί να καταλάβει πότε να σταµατήσει και τρέχει συνεχώς χωρίς να επηρεάζεται από το µέγεθος της λέξης. Προσπαθήστε τη σπίτι σας και µετά δείτε τις λύσεις - Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα apotelesma. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα aem. Για τη σωστή χρήση τους, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα apotelesma, τον ορίζεται και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές των πινάκων aem και averages, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. - Καλή στοίχιση κώδικα - Το GRADES που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν aem= Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Σε κάθε θέση του πίνακα εισάγεται το πλήθος, θα έπρεπε να αθροίζετε κάθε νέο πληθος στο συνολικό άθροισµα. - Προσοχή στην έξοδο του προγράµµατος - Σε πολύ αρχικό στάδιο για να βαθµολογηθεί και να σχολιαστεί

3 Συνήθως αποφεύγουµε να γράφουµε κώδικα ή σχόλια µετά την 80στή στήλη του αρχείου, για να µη χρειάζεται ο αναγνώστης να κάνει scroll δεξιά-αριστερά. Επίσης, έχεις τεράστια κενά ανάµεσα στο τέλος κάθε εντολής και του σχολίου που ακολουθεί. Το wrapping που γίνεται τελικά καθιστά τον κώδικα δυσανάγνωστο. Καλό που έχεις σχόλια, αλλά µην το παρακάνεις. Για παράδειγµα, το σχόλιο για το aem = FIRST_AEM + y δε λέει κάτι παραπάνω από αυτό που διαβάζει κανείς στον κώδικα Καλή δουλειά γενικά - Πρόσεχε τους τύπους. Το average είναι δηλωµένο ως float, αλλά µετά κάνεις typecast σε double. Θα µπορούσες να το έχεις double από την αρχή. - Είναι προτιµότερο να δηλώνεις τις µεταβλητές στην αρχή της συνάρτησης - Στο τελευταίο for έπρεπε να παρακάµπτεις τις γραµµές του πίνακα που περιέχουν Δες στις διαλέξεις πώς µπορείς να χρησιµοποιήσεις sprintf για να κάνεις πιο γενικό το format string της scanf στις περιπτώσεις που διαβάζεις συµβολοσειρές. - Καλή προσπάθεια, αλλά ελλειπής. Δες τη λύση. Hint: Μια διαίρεση είναι ισότιµη µε συνεχείς αφαιρέσεις. Οπότε όταν βλέπεις ότι σε κάθε επανάληψη χρειάζεται να αφαιρείς την ίδια ποσότητα από ένα σύνολο, σκέψου µήπως τελικά µπορείς να κάνεις την ίδια δουλειά και µε µια διαίρεση. - το πρόγραµµά σας δε δούλεψε σωστά γιατί η scanf σταµατά να διαβάζει όταν βρει whitespace. Εποµένως το a (το οποίο είναι και απαίσιο όνοµα µεταβλητής) δεν περιέχει χαρακτήρα-κενό-ακέραιο-κενό-χαρακτήρα, αλλά µόνο χαρακτήρα. Την επόµενη φορά που κάνετε scanf, στο a θα µπουν τα ψηφία που αποτελούν το πλήθος, τα οποία σας είναι άχρηστα αν δεν τα µετατρέψετε σε ακέραιο. Δε γίνεται να κάνετε typecast για τη µετατροπή - πρέπει να χρησιµοποιήσετε τη συνάρτηση atoi. Γενικά φαίνεται να είστε inventive, αλλά δυστυχώς χρησιµοποιήσατε λάθος τη γλώσσα. Αν δεν έχετε καταλάβει γιατί είναι λάθος τα παραπάνω, επικοινωνήστε µε την κυρία Ντουφεξή. - Αν εξαιρέσουµε το πρόβληµα µε την ανάγνωση δεδοµένων, η λογική σας είναι σωστή.

4 1565 FAIL - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Kακή χρήση της scanf, τα δεδοµένα δεν εισάγονται, \n µέσα στη scanf - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Κακή χρήση των εµφωλευµένων for -Άσχηµη στοίχιση Oριακό -Δεν παραδόθηκε -Πολύ καλή στοίχιση. -Πολύ καλές µεταβλητές. -Στο σχόλιο θα µπορούσατε να το κάνετε πιο περιγραφικό. -Πολύ καλή χρήση του define. -Δεν παραδόθηκε Oριακό - Πολύ καλή προσπάθεια, Μπράβο. - Πλήρως σύµφωνη µε τις προδιαγραφές της άσκησης. - Είναι µια καλή αρχή. - Σωστή χρήση της sprintf - Μέχρι στιγµής διαβάζετε την πρώτη λέξη και βρίσκετε το µέγεθος της. - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Χρήση switch. -Δεν παραδόθηκε

5 Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Σε πολύ αρχικό στάδιο για να διορθωθεί και να σχολιαστεί Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. - Όταν βρίσκετε το κατάλληλο κελί πρέπει να προσθέτετε σε αυτό την ποσότητα plithos. Εσείς κάνετε το ισοδύναµο του x=x++ το οποίο δεν είναι καν καλά ορισµένη πράξη. - Η τιµή του type που εκτυπώνετε στο τέλος είναι πάντα '-' γιατί αυτή ήταν η τελευταία τιµή που εκχωρήθηκε στη µεταβλητή type. Έπρεπε να εκτυπώνετε την τιµή 'V'+i - Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch Δεν κάνει compile κι έχει αρκετά προβλήµατα: -- Αυτό που κάνατε στο scanf είναι τελείως λάθος. Δείτε τη λύση ή στις διαλέξεις πώς χρησιµοποιείται το sprintf για αυτή τη δουλειά - Δε χρειάζεται το for για το µετρητή: θα µπορούσατε να χρησιµοποιήσετε τη strlen.επιπλέον, το for έχει κίνδυνο να βγάλει λάθος αποτέλεσµα γιατί δε βγαίνετε από το loop όταν συναντήσετε \0. Έτσι αν τύχει και το string έχει οτιδήποτε άλλο από \0 µετά το τέλος του, ο µετρητής θα πάρει µεγαλύτερη τιµή από ότι πρέπει.

6 Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή χρήση της εντολής strcat -Θα πρέπε να βάζετε στην τελευταία θέση του πίνακα τον χαρακτήρα \ Οριακό Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Καλά ονόµατα µεταβλητών, καλή στοίχιση και σωστή δήλωση µεταβλητών - Πολύ καλά ορίζετε µε #define και το Σωστή αρχικοποίηση του πίνακα και ανάγνωση των δεδοµένων - Στην εκτύπωση δεν ακολοθείτε τις προδιαγραφές της εκφώνησης. Δεν εµφανίζεται το ΑΜ του φοιτητή και επίσης, εκτυπώνει µέσο όρο και για τους φοιτητές που δεν βάζουµε βαθµούς. Θα µπορούσατε να βάλετε πχ ένα if(students_grades[i][0]<0) continue; πριν ξεκινήσετε να υπολογίζετε το άθροισµα των βαθµών (πριν το sum = 0; µέσα στην for) - Για την εκτύπωση του ΑΜ, αρκούσε να βάλετε στην printf να εκτυπώνει έναν ακέραιο µε %d ο οποίος θα έπαιρνε την τιµή 1350+i. - Το πρόγραµµά σας τρέχει και για άλλο αριθµό φοιτητών ή/και µαθηµάτων. Άσκηση 2η:

7 1575 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος, και γενικά στο κώδικά σας - Σωστή δήλωση και χρήση των σταθερών, αλλά τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, πχ STUDENTS και TESTS ή GRADES. - Καλό θα ήταν να δηλώσετε ως σταθερά και την τιµή Στην while η συνθήκη i<n είναι πάντα αληθής, αφού το i δεν αυξάνεται πουθενά µέσα στο βρόχο - Ζητάτε άλλη είσοδο από αυτήν που περιγράφεται στην εκφώνηση. Εσείς λέτε πρώτα να εισάγει ο χρήστης όλα τα ΑΜ, (τα οποία µπορεί να είναι και περισσότερα από 5, αφού το i δεν αυξάνεται, οπότε ο µόνος έλεγχος είναι το ΑΜ να είναι διάφορο του -1. Αυτό κρύβει τον κίνδυνο να γράφετε εκτός των ορίων του πίνακα arithm_mitr[n]. - Η αρχικοποίηση του πίνακα stud_test είναι σωστή, καλό είναι να κάνετε αρχικοποίηση όλων των πινάκων που χρησιµοποιείτε στο πρόγραµµα - Η λάθος είσοδος που περιµένετε σας χαλάει και όλο το υπόλοιπο κώδικα, διαβάστε πιο προσεχτικά τις εκφωνήσεις Οριακό Άσκηση 2η: -Πολύ καλή στοίχιση. -Πολύ καλές µεταβλητές. -Στο σχόλιο θα µπορούσατε να το κάνετε πιο περιγραφικό. -Πολύ καλή χρήση του define. -Δεν παραδόθηκε FAIL - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Kακή χρήση της scanf, τα δεδοµένα δεν εισάγονται, \n µέσα στη scanf - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Κακή χρήση των εµφωλευµένων for -Άσχηµη στοίχιση. -Δεν παραδόθηκε

8 Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή χρήση της εντολής strcat -Θα πρέπε να βάζετε στην τελευταία θέση του πίνακα τον χαρακτήρα \ Άσκηση 1η: - Σωστά δηλώνετε µε #define το πλήθος των φοιτητών και των µαθηµάτων. Θα µπορούσατε να δηλώσετε ως σταθερά και το Στην αρχικοποίηση του πίνακα τρέχετε την for µια εξτρα επανάληψη, γράφοντας εκτός των ορίων του πίνακα. Κανονικά θέλετε να τρέξει η for πέντε φορές, όσο και οι φοιτητές, άρα από grammes=0 εώς grammes=4. Όταν η τιµή της µεταβλητής grammes γίνει 5, πρέπει να βγείτε από την for. (Άρα grammes<students και όχι grammes<students+1) - Παρόµοιο λάθος έχετε και την πρώτη for που ξεκινάει την ανάγνωση των δεδοµένων - Στην ανάγνωση των ΑΜ και βαθµών έτσι πως είναι ο κώδικας περιµένει για κάθε ΑΜ να διαβάσει 5x6=30 βαθµούς και όχι 5.. Αυτό συµβαίνει γιατί για κάθε επανάληψη της εξωτερικής for διαβάζετε 5 ακεραίους µε την εσωτερική for. - Η scanf ("%d", &pinakas[metritis-1350][stiles] ); είναι λάθος γιατί γράφει εκτός των ορίων του πίνακα. Η µεταβλητή metritis παίρνει τιµές από 0 εως 5. - Το πρόγραµµά σας δεν µπορεί να χρησιµοποιηθεί εύκολα για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Πολύ pass... Άσκηση 2η: Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. 'Ασκηση 2:.

9 Θα µπορούσατε να είχατε καλύτερα ονόµατα σταθερών από Μ, Ν - Στο διάβασµα του πίνακα, θα ταίριαζε καλύτερα while αντί για το εξωτερικό for (αλλά σωστό είναι κι όπως το έχετε) - Ο έλεγχος avg!=0.0 για την τελική εκτύπωση δεν είναι απαραίτητα ακριβής. Αν κάποιος έχει γράψει µηδέν σε όλα, τότε δε θα εκτυπωθεί ο µέσος όρος του. - Καλή δουλειά κατά τα άλλα Δεν παραδόθηκε. - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. 'Ασκηση 2:. - Δεν υπάρχουν χρήσιµα σχόλια - Το 3 θα µπορούσε να ήταν #defined σταθερά - Οι έλεγχοι για τον τρόπο παραγγελίας θα µπορούσαν να έχουν υλοποιηθεί µε switch - Οι εντολές isitiria[tipos-'v'][j]=plithos_tipwn[i]; i++; έπρεπε να βρίσκονται µέσα στο παραπάνω while. - Στο τελευταίο printf δεν εκτυπώνεται σωστά ο τύπος. - Πολύ pass... -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Το αρχικό σχόλιο δεν είναι πολύ περιγραφικό. -Καλή χρήση του define. -Γενικά πολύ καλή δουλειά Ισχύει ό,τι πάνω για στοίχιση, σχόλιο, µεταβλητές και define. -Ξεκινάτε πολύ καλά και βάζετε όσες φορές χωράει ο πίνακας εισόδου στον πίνακα εξόδου, αλλά δεν κάνατε το τελικό στάδιο να βάλετε τα γράµµατα που χωράνε ακόµα στον πίνακα εξόδου. -Πολύ καλή προσπάθεια.

10 1589 -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ενώ δηλώσατε σταθερά δε τη χρησιµοποιείτε! -Στη scanf δε χρησιµοποιούµε \n. -Καλή στοίχιση και ονόµατα µεταβλητών. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Όχι και τόσο καλή αρχικοποιηση πίνακα, θα έπρεπε να έχετε και 2η for. -Λάθος χρήση της while για τερµατισµό του προγράµµατος. Τερµατίζει στην καταχώρηση 4 εγγραφών!!! -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Εµφάνιση αποτελεσµάτων χωρίς το χαρακτήρα µπροστά. - Πολύ pass Δεν παραδόθηκε. - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών. - Δεν υπ'αρχει έξοδος -Το πρόγραµµα σας δεν τρέχει σωστά. Η λογική σας είναι εξαρχής λανθασµένη µιας και χρησιµοποιείτε δύο πίνακες µόνο και µόνο για να κρατάτε σε µία από τις στήλες του ενός τον αριθµό µητρώου. Έχετε σκεφτεί πολύπλοκα ενώ η λύση είναι πιο απλή. -Σωστή χρήση των σταθερών. -Για τη στοίχιση του κώδικα σας, να χρησιµοποιείτε το tab και όχι το κενό. -Προσπαθήστε να τη λύσετε στο σπίτι, διαβάζοντας προσεκτικά ξανά τις οδηγίες. Πολύ pass... -Παραδόθηκε αλλά δεν περιέχει κάτι ουσιαστικό

11 1592 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος, και γενικά στο κώδικά σας - Σωστή δήλωση και χρήση των σταθερών, αλλά τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, πχ STUDENTS και TESTS ή GRADES. - Καλό θα ήταν να δηλώσετε ως σταθερά και την τιµή Στην while η συνθήκη i<n είναι πάντα αληθής, αφού το i δεν αυξάνεται πουθενά µέσα στο βρόχο - Ζητάτε άλλη είσοδο από αυτήν που περιγράφεται στην εκφώνηση. Εσείς λέτε πρώτα να εισάγει ο χρήστης όλα τα ΑΜ, (τα οποία µπορεί να είναι και περισσότερα από 5, αφού το i δεν αυξάνεται, οπότε ο µόνος έλεγχος είναι το ΑΜ να είναι διάφορο του -1. Αυτό κρύβει τον κίνδυνο να γράφετε εκτός των ορίων του πίνακα arithm_mitr[n]. - Η αρχικοποίηση του πίνακα stud_test είναι σωστή, καλό είναι να κάνετε αρχικοποίηση όλων των πινάκων που χρησιµοποιείτε στο πρόγραµµα - Η λάθος είσοδος που περιµένετε σας χαλάει και όλο το υπόλοιπο κώδικα, διαβάστε πιο προσεχτικά τις εκφωνήσεις. Άσκηση 2η: Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab FAIL Σοβαρά λάθη σε πράγµατα που έπρεπε να ξέρετε : - λάθος σύνταξη scanf - χρήση = για σύγκριση - χρήση " αντί για ' σε σταθερές τύπου χαρακτήρα. - λάθος σύνταξη if - Θα µπορούσατε να είχατε καλύτερα ονόµατα σταθερών από Μ, Ν - Στο διάβασµα του πίνακα, θα ταίριαζε καλύτερα while αντί για το εξωτερικό for (αλλά σωστό είναι κι όπως το έχετε) - Ο έλεγχος avg!=0.0 για την τελική εκτύπωση δεν είναι απαραίτητα ακριβής. Αν κάποιος έχει γράψει µηδέν σε όλα, τότε δε θα εκτυπωθεί ο µέσος όρος του. - Καλή δουλειά κατά τα άλλα Δεν παραδόθηκε.

12 Η άσκηση δεν ήταν µέσα σε φάκελο και δεν αναφέρει το ΑΜ σου, ή αν υπήρχε συνεργάτης. Πρέπει να ακολουθείτε τις οδηγίες αποστολής των ασκήσεων κι ας είναι ένα αρχείο µόνο αυτό που στέλνετε FAIL Άσκηση 1η: - Καλά ονόµατα µεταβλητών, καλή στοίχιση. - Χρησιµοποιείς κατάλληλες δηλώσεις µεταβλητών και σταθερών έτσι ώστε η άσκηση να τρέχει σωστά για οποιοδήποτε αριθµό φοιτητών ή/και µαθηµάτων - Θα µπορούσατε και την τιµή 1350 να την ορίσετε ως σταθερά - Καλή διαµόρφωση της εξόδου του προγράµµατος - Στα αποτελέσµατα σας εκτυπώνει πάντα ΑΜ-1, αντί για τα ΑΜ, για τους φοιτητές για τους οποίους βάζετε βαθµούς. Αυτό συµβαίνει γιατί στην printf(" %d : %.2lf\n",ΑΜ+ i +1350, MO ); η µεταλητή ΑΜ έχει κρατήσει το τελευταίο ΑΜ που βάλαµε ως είσοδο, δηλαδή το -1.Αν το αφαιρέσετε τα αποτελέσµατα είναι σωστά. Άσκηση 2η: -Προειδοποιήσεις για µη χρησιµοποιήση δηλωµένων µεταβλητών και λογικών λαθών. Για να κάνουµε σύγκριση, χρησιµοποιούµε == και όχι =!!!Πολύ σηµαντικό που πρέπει να γνωρίζετε! -Καθόλου καλό περιγραφικό σχόλιο. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Σωστή αρχικοποίηση δεδοµένων του πίνακα. -Σωστή χρήση scanf,δε χρειαζόταν όµως να εκτυπώνετε µήνυµα προς το χρήστη. -Σωστός τρόπος εύρεσης της γραµµής του πίνακα που αντιστοιχεί το εισητήριο. -Λάθος χρήση της if else...το τελευταίο else δεν είναι σωστό. -Λάθος τρόπος καταχώρησης του αριθµού των εισητηριών, θα έπρεπε να προσθέτετε κάθε φορά. -Λάθος τρόπος εκτύπωσης αποτελέσµατος. Προσπαθήστε να το ξανακάνετε στο σπίτι και µετά µελετήστε τη λύση. Δεν παραδόθηκε.

13 Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών. - Δεν υπάρχει έξοδος 1599 FAIL 1600 Οριακό - Το πρόγραµµα δεν κάνει compile. Η σύνταξη της switch έχει πολλαπλά λάθη, και είναι ύλη που έπρεπε να ξέρετε καλά. Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Χρησιµοποιείτε #define µόνο για το 1350, γιατί όχι και για όλα τα µεγέθη των πινάκων; Έτσι πως είναι ο κώδικας, δεν µπορεί να τρέξει για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Η έξοδος δεν ακολουθεί τις προδιαγραφές της εκφώνησης. Εκτυπώνονται ΑΜ για τους οποίους δεν βάζουµε βαθµούς και δεν αλλάζετε γραµµή µετά από τα στοιχεία κάθε φοιτητή. - Ο µέσος όρος, παρόλο που είναι τύπου float, δεν υπολογίζει σωστά το αποτέλεσµα. Αυτό συµβαίνει γιατί η µεταβλητή s είναι ακέραιος αριθµός και η διαίρεση µε το 5 προκαλεί διαίρεση µεταξύ ακεραίων, άρα το δεκαδικό µέρος χάνεται. - Ο σωστός τρόπος να βγούµε από loop είναι µε break, κι όχι "πειράζοντας" την τιµή του µετρητή - Πολύ pass Άσκηση 2η:

14 1601 Oριακό - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Χρήση switch. -Δεν παραδόθηκε Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά εκτος από το ΤΤ (άσχηµο όνοµα) που έχετε δηλώσει. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Πολύ καλή στοίχιση -Στην εκτύπωση των περιεχοµένων θα έπρεπε να προηγείται ο τύπος του εισητηρίου και " : " σε κάθε γραµµή. -Φτωχό αρχικό σχόλιο. -Πολύ καλά, µπράβο σας. -Δεν υπάρχει αρχικό σχόλιο. Λάθος στον τρόπο συµπίεσης της άσκησης. Παραλείψατε το βήµα δηµιουργίας φακέλου FAIL Το πρόγραµµα έχει αρκετά warnings - Πολύ άσχηµη στοίχιση και µορφοποίηση του κώδικά σας. Μη βάζετε περισσότερες από µία εντολές ανά γραµµή - Για κάθε επανάληψη της for έχετε δύο scanf, και αυτά που διαβάζετε δεν τα αποθηκεύετε στον πίνακα, αλλά τα γράφετε πάντα στις ίδιες µεταβλητές (χάνοντας κάθε φορά τις προηγούµενες τιµές) - Χρησιµοποιείτε = για σύγκριση! - Γενικα το πρόγραµµα έχει προβλήµατα και στη λογική του. Προσπαθήστε να το ξανακάνετε στο σπίτι και µετά µελετήστε τη λύση. -Πολύ καλά οι µεταβλητές, το σχόλιο και η στοίχιση. -Τα µεγέθη του πίνακα 5 και 3 έπρεπε να είναι σταθερές. -Καλή δουλειά. -Καλό σαν λογική. -Στο φορµάρισµα έπρεπε να είχατε %%%ds. -To SIZE-1-length λογικά θα σας δώσει λάθος αποτέλεσµα. -Δείτε την ενδεικτική λύση.

15 Οριακό Ασκηση 1: -Ο κώδικας σας δεν παράγει τα σωστά αποτελέσµατα. -Καλά ονόµατα µεταβλητών, σταθερών και σωστή αρχικοποίηση πίνακα -Δεν χρειαζόταν να χρησιµοποιήσετε τον δεύτερο πίνακα στον οποίο κρατάτε τα αθροίσµατα των τεστ κάθε φοιτητή. Έστω και έτσι, δεν τον έχετε αρχικοποιήσει µε αποτέλεσµα ο µέσος όρος να µη βγαίνει σωστός. -Η πράξη υπολογισµού του µέσου όρου επιστρέφει ακέραιο. Θα έπρεπε να κάνετε type casting για να επιστρεψει δεκαδικό. Επίσης κάνετε διαίρεση µε το 5, και ετσι δε γινεται να προστεθουν επιπλέον αγωνίσµατα. (θα έπρεπε µε το TESTS) -Τυπώνετε τις τιµές για όλους του φοιτητές και όχι µόνο για αυτούς που έχουν εισαχθεί δεδοµένα. -Υπάρχει αρχικό σχόλιο - Πολύ pass... Άσκηση 1η: - Σωστά δηλώνετε µε #define το πλήθος των φοιτητών και των µαθηµάτων. Θα µπορούσατε να δηλώσετε ως σταθερά και το Στην αρχικοποίηση του πίνακα τρέχετε την for µια εξτρα επανάληψη, γράφοντας εκτός των ορίων του πίνακα. Κανονικά θέλετε να τρέξει η for πέντε φορές, όσο και οι φοιτητές, άρα από grammes=0 εώς grammes=4. Όταν η τιµή της µεταβλητής grammes γίνει 5, πρέπει να βγείτε από την for. (Άρα grammes<students και όχι grammes<students+1) - Παρόµοιο λάθος έχετε και την πρώτη for που ξεκινάει την ανάγνωση των δεδοµένων - Στην ανάγνωση των ΑΜ και βαθµών έτσι πως είναι ο κώδικας περιµένει για κάθε ΑΜ να διαβάσει 5x6=30 βαθµούς και όχι 5.. Αυτό συµβαίνει γιατί για κάθε επανάληψη της εξωτερικής for διαβάζετε 5 ακεραίους µε την εσωτερική for. - Η scanf ("%d", &pinakas[metritis-1350][stiles] ); είναι λάθος γιατί γράφει εκτός των ορίων του πίνακα. Η µεταβλητή metritis παίρνει τιµές από 0 εως 5. - Το πρόγραµµά σας δεν µπορεί να χρησιµοποιηθεί εύκολα για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Πολύ pass... Άσκηση 2η:

16 1607 Οριακό Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Καλά ονόµατα µεταβλητών, καλή στοίχιση και σωστή δήλωση µεταβλητών - Πολύ καλά ορίζετε µε #define και το Σωστή αρχικοποίηση του πίνακα και ανάγνωση των δεδοµένων - Στην εκτύπωση δεν ακολοθείτε τις προδιαγραφές της εκφώνησης. Δεν εµφανίζεται το ΑΜ του φοιτητή και επίσης, εκτυπώνει µέσο όρο και για τους φοιτητές που δεν βάζουµε βαθµούς. Θα µπορούσατε να βάλετε πχ ένα if(students_grades[i][0]<0) continue; πριν ξεκινήσετε να υπολογίζετε το άθροισµα των βαθµών (πριν το sum = 0; µέσα στην for) - Για την εκτύπωση του ΑΜ, αρκούσε να βάλετε στην printf να εκτυπώνει έναν ακέραιο µε %d ο οποίος θα έπαιρνε την τιµή 1350+i. - Το πρόγραµµά σας τρέχει και για άλλο αριθµό φοιτητών ή/και µαθηµάτων Άσκηση 2η: - Πολύ καλή προσπάθεια, Μπράβο. - Πλήρως σύµφωνη µε τις προδιαγραφές της άσκησης. - Είναι µια καλή αρχή. - Σωστή χρήση της sprintf - Μέχρι στιγµής διαβάζετε την πρώτη λέξη και βρίσκετε το µέγεθος της.

17 Άσχηµα ονόµατα µεταβλητών και σταθερών (µικρά και καθόλου περιγραφικά). Οι σταθερές πρέπει να ορίζονται µε κεφαλαία. - Τα k και l sto define, θα έπρεπε να είναι STUDENTS και TESTS. To 1350 καλό θα είναι να είχε δηλωθεί και αυτό ως σταθερά. - Πολύ κακή στοίχιση κώδικα και non-configured Kate! Επίσης ανυπαρξία κενών γραµµών µεταξύ των εντολών και άσκοπα πολλές γραµµές στο τέλος του κώδικα. - Γενικά δεν ακολουθείς ακριβώς τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα stud. Δεν έπρεπε να ορίζεις και επιπλέον πίνακα armpin. Αυτός µπορεί να προέλθει ούτως η άλλως από 1350+i όπου i η τρέχουσα γραµµή του stud. Οι γραµµές στο πίνακα stud προσπελάζονται σωστά ως αεµ Επειδή το 1350 δεν υπάρχει στην αρχή, η πρώτη τιµή του armpin περιέχει "σκουπίδια"... -Γι' αυτό ο πίνακας armpin θα έπρεπε να αρχικοποιείται στην αρχή του κώδικα µε Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo= Επίσης, µερικώς λάθος results, λόγω του ότι δεν υπάρχει typecasting στον υπολογισµό του µέσου όρου. - Πολύ pass Σαν αρχείο στάλθηκε, αλλά δεν περιέχει κάτι παραπάνω από τη δήλωση ενός πίνακα χαρακτήρων. -Θα µπορούσατε να δηλώσετε τo 5 και το 3 σαν σταθερά µε τη χρήση του #define. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων. -To πρόγραµµα σας δεν κάνει compile, έχει συντακτικά λάθη. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή η λογική, προσπαθήστε να τη λύσετε σπίτι και µετά δείτε τη λύση.

18 Καλό σχόλιο. -Καλή στοίχιση. -Όχι καλές µεταβλητές. -Η χρήση της getchar και όχι της scanf οδηγεί να µη διαβάζετε σωστά από το πληκτρολόγιο. - Τι είναι το 54? Έπρεπε να το έχετε σε ονοµασµένη σταθερά για να είναι ξεκάθαρο το πρόγραµµά σας. -Η µορφοποίηση και τα αποτελέσµατα (δεν προσθέτετε κάθε φορά το πλήθος των εισητηρίων) της εξόδου δεν είναι τα ζητούµενα. - Πολύ pass... -Δεν παραδόθηκε. - το πρόγραµµά σας δε δούλεψε σωστά γιατί η scanf σταµατά να διαβάζει όταν βρει whitespace. Εποµένως το a (το οποίο είναι και απαίσιο όνοµα µεταβλητής) δεν περιέχει χαρακτήρα-κενό-ακέραιο-κενό-χαρακτήρα, αλλά µόνο χαρακτήρα. Την επόµενη φορά που κάνετε scanf, στο a θα µπουν τα ψηφία που αποτελούν το πλήθος, τα οποία σας είναι άχρηστα αν δεν τα µετατρέψετε σε ακέραιο. Δε γίνεται να κάνετε typecast για τη µετατροπή - πρέπει να χρησιµοποιήσετε τη συνάρτηση atoi. Γενικά φαίνεται να είστε inventive, αλλά δυστυχώς χρησιµοποιήσατε λάθος τη γλώσσα. Αν δεν έχετε καταλάβει γιατί είναι λάθος τα παραπάνω, επικοινωνήστε µε την κυρία Ντουφεξή. - Αν εξαιρέσουµε το πρόβληµα µε την ανάγνωση δεδοµένων, η λογική σας είναι σωστή. -Το πρόγραµµα σας δεν τρέχει σωστά. Η λογική σας είναι εξαρχής λανθασµένη µιας και χρησιµοποιείτε δύο πίνακες µόνο και µόνο για να κρατάτε σε µία από τις στήλες του ενός τον αριθµό µητρώου. Έχετε σκεφτεί πολύπλοκα ενώ η λύση είναι πιο απλή. -Σωστή χρήση των σταθερών. -Για τη στοίχιση του κώδικα σας, να χρησιµοποιείτε το tab και όχι το κενό. -Προσπαθήστε να τη λύσετε στο σπίτι, διαβάζοντας προσεκτικά ξανά τις οδηγίες. Πολύ pass... -Παραδόθηκε αλλά δεν περιέχει κάτι ουσιαστικό

19 1617 -Καλή στοίχιση. -Το αρχικό σχόλιο θα µπορούσε να είναι καλύτερο. -Μερικές µεταβλητές δεν είναι περιγραφικές. -Το 3 θα µπορούσε να είναι και αυτό σταθερά. -Κάθε φορά που πάτε να γράψετε σε µια θέση πίνακα θα έπρεπε να προσθέτετε τη θέση εκείνη µε το order και όχι να δίνετε την τιµή order. -Στην εκτύπωση του αποτελέσµατος θα έπρεπε να έχετε διπλή for όπως στην αρχικοποίηση, επειδή είναι δισδιάστατος πίνακας. -Το ξεκινάτε καλά. -Δε χρησιµοποιείτε σωστά τη strcpy και strcat. Έχετε βάλει ανάποδα τους πίνακες σε αυτές τις συναρτήσεις. Αντί να αντιγράψετε τον input στον output, κάνετε το αντίθετο. -Πολύ καλά οι µεταβλητές, το σχόλιο και η στοίχιση. -Τα µεγέθη του πίνακα 5 και 3 έπρεπε να είναι σταθερές. -Καλή δουλειά Καλό σαν λογική. -Στο φορµάρισµα έπρεπε να είχατε %%%ds. -To SIZE-1-length λογικά θα σας δώσει λάθος αποτέλεσµα. -Δείτε την ενδεικτική λύση. - Πολύ καλή δουλειά µε τις σταθερές, µπράβο. Θα µπορούσατε να είχατε και το 3 ως #defined σταθερά - Στον έλεγχο του τύπου θα µπορούσατε να είχατε και switch aντί για if - Μην αφήνετε τόσο µεγάλο κενό πριν το return. - Πολύ καλή λύση Εντυπωσιακό το floating point exception :) Το πρόβληµα είναι ότι στη µεταβλητή plithos αποθηκεύετε το µήκος του µεγάλου string που είναι άδειο, κι όχι του temp_text. Έτσι στον υπολογισµό του xoros γίνεται διαίρεση µε το µηδέν. - Το temp_text θα µπορούσε να λέγεται word. - Για τον υπολογισµό των θέσεων που αποµένουν θα µπορούσατε να χρησιµοποιήσετε % - Η διαίρεση έπρεπε να είναι (SIZE-1)/plithos γιατί θέλουµε να µείνει χώρος και για το \0 - Γενικά καλή δουλειά στο κοµµάτι που έχει υλοποιηθεί µέχρι στιγµής.

20 Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα apotelesma. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα aem. Για τη σωστή χρήση τους, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα apotelesma, τον ορίζεται και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές των πινάκων aem και averages, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. - Καλή στοίχιση κώδικα - Το GRADES που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν aem= Πολύ pass... -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να χρησιµοποιήσετε την εντολή strcat και όχι strcpy. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών.

21 Ωραία ορίσατε τις σταθερές, αλλά έπρεπε να χρησιµοποιήσετε το TESTS στη διαίρεση για το µέσο όρο. Αν αλλάξει ο αριθµός διαγωνισµάτων το πρόγραµµά σας δε θα βγάζει πια σωστά αποτελέσµατα γιατί η διαίρεση θα γίνεται πάντα δια του 5. - Ωραία ονόµατα µεταβλητών. Για τους µετρητές των for δε χρειάζεται κάθε φορά διαφορετικό όνοµα. Μόνο αυτοί που είναι σε εµφωλευµένα for πρέπει να είναι διαφορετικοί. Κατά τα άλλα, µπορείτε να τους επαναχρησιµοποιείτε. - Το thesh=arith_mhtroou%10; Αν έχουµε περισσότερους φοιτητες, τότε όσοι έχουν AEM 1350, 1360, 1370 κτλ θα µπούν όλοι στην ίδια γραµµή. - Προς το τέλος του προγράµµατος η στοίχιση χαλάει και δε φαίνεται πού τελειώνει κάθε επανάληψη. Επίσης µην αφήνετε τόσες κενές γραµµές. - Το τελευταίο for έχει αρκετά λογικά λάθη. Το thesh είναι πάντα ίδιο και το άθροισµα δε µηδενίζεται πριν τον υπολογισµό για κάθε φοιτητή. - Πολύ pass Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά. Επίσης τα ονόµατα των σταθερών θα µπορούσαν να ειναι πιο περιγραφικά. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Κατά την εισαγωγή των δεδοµένων έχετε µία printf("\n") η οποία έχει ως αποτέλεσµα πριν την εκτύπωση των αποτελεσµάτων να προηγούνται πολλές κενές γραµµές. -Καλό αρχικό σχόλιο. -Καλή προσπάθεια και σωστά αποτελέσµατα, µπράβο σας.

22 1628 Οριακό Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Θα ήταν προτιµότερο να χρησιµοποιήσετε τα ονόµατα STUDENTS και TESTS για τις σταθερές αντί για τα N και Μ. -Σωστή αρχικοποίηση πίνακα και καλά ονόµατα µετβλητών. -Ο κώδικας σας, για την είσοδο που δόθηκε τρέχει σωστά. Ωστόσο αν προστεθούν επιπλέον tests τα αποτελέσµατα δεν είναι σωστά. Αυτό διότι έχετε λάθος στη γραµµή 36. Η επανάληψη σας τρέχει µέχρι Ν αντί για Μ. Αν είχατε ονοµάσει τις σταθερές όπως σας είπα παραπάνω θα είχατε εντοπίσει το λάθος. Υπάρχει αρχικό σχόλιο -Η στοίχιση του κώδικα σας είναι πολύ καλή Ο κώδικας σας δεν κάνει compile. -Έχετε δηλώσει τις σταθερές χωρίς όµως να τους δώσετε τιµές. -Χρησιµοποιείτε συναρτήσεις από το string.h χωρίς όµως να το έχετε κάνει include -Κατά τα άλλα η σκέψη σας είναι σωστή. Δοκιµάστε να διορθώσετε τα λάθη σας και στη συνέχεια δείτε και την ενδεικτική λύση. -Το αρχικό σχόλιο είναι φτωχό-ξανά πολύ καλή στοίχιση και ονόµατα µεταβλητών - Καλή δουλειά - Να δίνετε περιγραφικά ονόµατα και στις σταθερές σας, γιατί διαφορετικά υπάρχει κίνδυνος να τις µπερδέψετε. Σκεφτείτε το πρόγραµµα να είναι πολύ µεγαλύτερο, µε περισσότερες λειτουργίες, και να σας πει κάποιος ότι τώρα έχουµε 1000 φοιτητές και 30 διαγωνίσµατα. Θα πρέπει να διαβάσετε τον κώδικα για να βρείτε ποιο από τα δύο 5άρια που έχετε τώρα πρέπει να αλλάξει σε 100 και ποιο σε 30. Αν είχατε δώσει καλά ονόµατα, δε θα είχατε αυτό το πρόβληµα. - Το 1350 θα µπορούσε επίσης να είναι #defined - Στο τέλος που διαιρείτε µε 5 έπρεπε να διαιρείτε µε όποια από τις δύο σταθερές είναι το πλήθος διαγωνισµάτων. - Το scanf είναι τελείως λάθος. Έπρεπε να χρησιµοποιήσετε το "κόλπο" µε την sprintf για να κάνετε αυτό που θέλετε. Πάντως παίρνετε πόντους για το ότι σκεφτήκατε ότι κάπως πρέπει να προσδιορίσετε µέγεθος. - Καλή αρχή, αλλά θέλει δουλειά ακόµη, και θα κάνω πως δεν είδα το if (i=1)

23 1630 Οριακό Ασκηση 1: -Ο κώδικας σας δεν παράγει τα σωστά αποτελέσµατα. -Καλά ονόµατα µεταβλητών, σταθερών και σωστή αρχικοποίηση πίνακα -Δεν χρειαζόταν να χρησιµοποιήσετε τον δεύτερο πίνακα στον οποίο κρατάτε τα αθροίσµατα των τεστ κάθε φοιτητή. Έστω και έτσι, δεν τον έχετε αρχικοποιήσει µε αποτέλεσµα ο µέσος όρος να µη βγαίνει σωστός. -Η πράξη υπολογισµού του µέσου όρου επιστρέφει ακέραιο. Θα έπρεπε να κάνετε type casting για να επιστρεψει δεκαδικό. Επίσης κάνετε διαίρεση µε το 5, και ετσι δε γινεται να προστεθουν επιπλέον αγωνίσµατα. (θα έπρεπε µε το TESTS) -Τυπώνετε τις τιµές για όλους του φοιτητές και όχι µόνο για αυτούς που έχουν εισαχθεί δεδοµένα. -Υπάρχει αρχικό σχόλιο - Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Σε κάθε θέση του πίνακα εισάγεται το πλήθος, θα έπρεπε να αθροίζετε κάθε νέο πληθος στο συνολικό άθροισµα. - Προσοχή στην έξοδο του προγράµµατος - Σε πολύ αρχικό στάδιο για να βαθµολογηθεί και να σχολιαστεί Άσκηση 1η: - Έχετε βάλει σχόλια στην αρχή του προγράµµατος, έχετε καλά ονόµατα µεταβλητών και καλή στοίχιση - Χρησιµοποιείτε σωστά τις δηλώσεις #define ώστε το πρόγραµµα να τρέξει εύκολα και για διαφορετικό πλήθος φοιτητών ή/και µαθηµάτων - Θα µπορούσατε να δηλώσετε ως σταθερά την τιµή Στο do...while πρέπει να µπει µια συθήκη ελέγχου αµέσως µετά το scanf του ΑΜ, πχ if(am == -1) break; Έτσι πως είναι ο κώδικας, ουσιαστικά, όταν διαβάζει ΑΜ -1, περιµένει να διαβάσει και 5 τιµές για τους βαθµούς και µετά να βγει από την while, οπότε και δεν τερµατίζει σωστά. - Κατά τα άλλα τα πήγατε καλά Άσκηση 2η:

24 1634 Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Υπάρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή δήλωση σταθερών. -Στην αρχικοποίηση του πίνακα έχετε ανάποδα τις for. Ναι µεν δουλεύει κι έτσι, αλλά δεν είναι αποτελεσµατική προσπέλαση µνήµης. -Λάθος καταχώρηση δεδοµένων. Δεν έπρεπε να αποθηκεύετε τον ΑΜ. -Δε χρειάζεται ταξινόµηση του πίνακα, αλλά µπράβο για την προσπάθεια -Δε χρειάζεται πίνακας για τον υπολογισµό του µέσου όρου. -Λάθος εκτύπωση αποτελεσµάτων. -Προσπαθήστε να ξανακάνετε την άσκηση το σπίτι. - Πολύ pass Δεν παραδόθηκε Οριακό - Ο πίνακας βαθµών είναι µεγέθους ΝxΜ, αλλά κατά την αρχικοποίηση χρησιµοποιείτε Ν και για τις δύο διαστάσεις. Αν είχατε δώσει καλύτερα ονόµατα σε αυτές τις σταθερές, θα ήταν µικρότερη η πιθανότητα να γίνει τέτοιο λάθος. - Σωστή η τοποθέτηση βαθµών στον πίνακα - Προσέξτε τη στοίχιση, σας έχει ξεφύγει σε κάποια σηµεία - Στον υπολογισµό των µέσων όρων έχετε ξανακάνει το λάθος µε τα Ν,Μ µε αποτέλεσµα να βγαίνουν λάθος αποτελέσµατα. Επίσης, το printf έπρεπε να βρίσκεται έξω από το το εσωτερικό for, γιατι εκτυπώνει το µέσο όρο των αριθµών που είναι σε µια ολόκληρη γραµµή FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab5

25 1637 -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ενώ δηλώσατε σταθερά δε τη χρησιµοποιείτε! -Στη scanf δε χρησιµοποιούµε \n. -Καλή στοίχιση και ονόµατα µεταβλητών. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Όχι και τόσο καλή αρχικοποιηση πίνακα, θα έπρεπε να έχετε και 2η for. -Λάθος χρήση της while για τερµατισµό του προγράµµατος. Τερµατίζει στην καταχώρηση 4 εγγραφών!!! -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Εµφάνιση αποτελεσµάτων χωρίς το χαρακτήρα µπροστά. - Πολύ pass FAIL Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab Άσκηση 1 - Χρειάζονται δύο διαφορετικές σταθερές για το πλήθος φοιτητών και διαγωνισµάτων γιατί δεν έχουν καµία σχέση µεταξύ τους. Το πρόγραµµά σας θα πάψει να δουλεύει αν αλλάξει ένα από τα δύο. - Άσχηµα ονόµατα µεταβλητών. Κατά σύµβαση µε κεφαλαία γράφουµε µόνο τις σταθερές. To i περιέχει συγκεκριµένη ποσότητα, δεν είναι απλός µετρητής, οπότε έπρεπε να έχει περιγραφικό όνοµα. - Το 1350 θα µπορούσε να είναι ορισµένο µε #define - Αυτό που κάνετε µε το i είναι λάθος. Αν δοθεί βαθµός µόνο για ένα φοιτητή, ας πούµε µε ΑΕΜ 1354, τότε το i γίνεται 3 το οποίο δεν έχει κάποια λογική. Το 1354 είναι στην πέµπτη θέση. Σε αυτό οφείλεται και το γεγονός ότι εκτυπώνεται µια επιπλέον γραµµή, εκτός ορίων πίνακα. - Πολύ pass 1643 FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab2

26 Καλό σχόλιο. -Καλή στοίχιση. -Όχι καλές µεταβλητές. -Η χρήση της getchar και όχι της scanf οδηγεί να µη διαβάζετε σωστά από το πληκτρολόγιο. - Τι είναι το 54? Έπρεπε να το έχετε σε ονοµασµένη σταθερά για να είναι ξεκάθαρο το πρόγραµµά σας. -Η µορφοποίηση και τα αποτελέσµατα (δεν προσθέτετε κάθε φορά το πλήθος των εισητηρίων) της εξόδου δεν είναι τα ζητούµενα. - Πολύ pass... -Δεν παραδόθηκε. - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Καλή χρήση των εµφωλευµένων for, κακή προσπέλαση στοιχείων πίνακα λάνθασµένη έξοδος -Δεν παραδόθηκε 1646 FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab Οριακό -Δεν έχετε αρχικό σχόλιο. -Πολύ καλές µεταβητές. -Καλή στοίχση. Στο τέλος λίγο θέλει προσοχή. -Το 3 θα µπορούσε να ναι και αυτό σταθερά. -Ο κώδικας δεν κάνει compile.

27 Άσχηµη στοίχιση! - Το 3 θα µπορούσε να είναι #defined σταθερά - Οι έλεγχοι για τον τύπο εισιτηρίου θα µπορούσαν να έχουν γίνει και µε switch. - Στο σηµείο όπου εκτυπώνονται τα πλήθη εισιτηρίων για κάθε τύπο έπρεπε να είχατε χρησιµοποιήσει επανάληψη. - Το πρόγραµµα δεν κάνει compile. - Η αρχικοποίηση είναι λάθος. Άλλο το κενό string, άλλο ένα string από χαρακτήρες κενό (space). Άσκηση 1 - Χρειάζονται δύο διαφορετικές σταθερές για το πλήθος φοιτητών και διαγωνισµάτων γιατί δεν έχουν καµία σχέση µεταξύ τους. Το πρόγραµµά σας θα πάψει να δουλεύει αν αλλάξει ένα από τα δύο. - Άσχηµα ονόµατα µεταβλητών. Κατά σύµβαση µε κεφαλαία γράφουµε µόνο τις σταθερές. To i περιέχει συγκεκριµένη ποσότητα, δεν είναι απλός µετρητής, οπότε έπρεπε να έχει περιγραφικό όνοµα. - Το 1350 θα µπορούσε να είναι ορισµένο µε #define - Αυτό που κάνετε µε το i είναι λάθος. Αν δοθεί βαθµός µόνο για ένα φοιτητή, ας πούµε µε ΑΕΜ 1354, τότε το i γίνεται 3 το οποίο δεν έχει κάποια λογική. Το 1354 είναι στην πέµπτη θέση. Σε αυτό οφείλεται και το γεγονός ότι εκτυπώνεται µια επιπλέον γραµµή, εκτός ορίων πίνακα. - Πολύ pass -Ύπαρξη σχόλιου στην αρχή του προγράµµατος. -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Λάθος υπολογισµός µέσου όρου. Έπρεπε να χρησιµοποιείτε την τιµή του TESTS -Λάθος εµφάνιση του µέσου όρου, θα έπρεπε να εµφανίζονται µόνο τα αποτελέσµατα των ΑΕΜ που δόθηκαν. -Δεν παραδόθηκε.

28 Γενικά καλή προσπάθεια. Τα αποτελέσµατα που παράγονται είναι σωστά. - Γιατί µετά από κάθε εντολή αφήνεις µία κενή γραµµή;; Προσπάθησε να οµαδοποιείς τον κώδικα αφήνοντας µία κενή γραµµή µόνο όταν θες να χωρίσεις τις οµάδες. π.χ. µετά τη δήλωση των µεταβλητών και πριν την αρχικοποίηση των πινάκων σου. - Τα M και Ν που κάνεις define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS και TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Τέλος, καλό είναι τα µηνύµατα για δικό σου debugging µετά την ολοκλήρωση του κώδικα να µπάινουν σε σχόλιο ή ακόµη καλύτερα να αφαιρούνται, και να παραµένει µόνο η έξοδος που ζητείται από την άσκηση FAIL Εστάλη λάθος άσκηση - Πολύ καλή δουλειά µε τις σταθερές, µπράβο. Θα µπορούσατε να είχατε και το 3 ως #defined σταθερά - Στον έλεγχο του τύπου θα µπορούσατε να είχατε και switch aντί για if - Μην αφήνετε τόσο µεγάλο κενό πριν το return. - Πολύ καλή λύση Εντυπωσιακό το floating point exception :) Το πρόβληµα είναι ότι στη µεταβλητή plithos αποθηκεύετε το µήκος του µεγάλου string που είναι άδειο, κι όχι του temp_text. Έτσι στον υπολογισµό του xoros γίνεται διαίρεση µε το µηδέν. - Το temp_text θα µπορούσε να λέγεται word. - Για τον υπολογισµό των θέσεων που αποµένουν θα µπορούσατε να χρησιµοποιήσετε % - Η διαίρεση έπρεπε να είναι (SIZE-1)/plithos γιατί θέλουµε να µείνει χώρος και για το \0 - Γενικά καλή δουλειά στο κοµµάτι που έχει υλοποιηθεί µέχρι στιγµής.

29 Καλή δουλειά - Να δίνετε περιγραφικά ονόµατα και στις σταθερές σας, γιατί διαφορετικά υπάρχει κίνδυνος να τις µπερδέψετε. Σκεφτείτε το πρόγραµµα να είναι πολύ µεγαλύτερο, µε περισσότερες λειτουργίες, και να σας πει κάποιος ότι τώρα έχουµε 1000 φοιτητές και 30 διαγωνίσµατα. Θα πρέπει να διαβάσετε τον κώδικα για να βρείτε ποιο από τα δύο 5άρια που έχετε τώρα πρέπει να αλλάξει σε 100 και ποιο σε 30. Αν είχατε δώσει καλά ονόµατα, δε θα είχατε αυτό το πρόβληµα. - Το 1350 θα µπορούσε επίσης να είναι #defined - Στο τέλος που διαιρείτε µε 5 έπρεπε να διαιρείτε µε όποια από τις δύο σταθερές είναι το πλήθος διαγωνισµάτων. - Το scanf είναι τελείως λάθος. Έπρεπε να χρησιµοποιήσετε το "κόλπο" µε την sprintf για να κάνετε αυτό που θέλετε. Πάντως παίρνετε πόντους για το ότι σκεφτήκατε ότι κάπως πρέπει να προσδιορίσετε µέγεθος. - Καλή αρχή, αλλά θέλει δουλειά ακόµη, και θα κάνω πως δεν είδα το if (i=1) - Καλή δουλειά! - Θα µπορούσε να είναι και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch Δεν κάνει compile κι έχει αρκετά προβλήµατα: -- Αυτό που κάνατε στο scanf είναι τελείως λάθος. Δείτε τη λύση ή στις διαλέξεις πώς χρησιµοποιείται το sprintf για αυτή τη δουλειά - Δε χρειάζεται το for για το µετρητή: θα µπορούσατε να χρησιµοποιήσετε τη strlen.επιπλέον, το for έχει κίνδυνο να βγάλει λάθος αποτέλεσµα γιατί δε βγαίνετε από το loop όταν συναντήσετε \0. Έτσι αν τύχει και το string έχει οτιδήποτε άλλο από \0 µετά το τέλος του, ο µετρητής θα πάρει µεγαλύτερη τιµή από ότι πρέπει.

30 1657 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά εκτος από το ΤΤ (άσχηµο όνοµα) που έχετε δηλώσει. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Πολύ καλή στοίχιση -Στην εκτύπωση των περιεχοµένων θα έπρεπε να προηγείται ο τύπος του εισητηρίου και " : " σε κάθε γραµµή. -Φτωχό αρχικό σχόλιο. -Πολύ καλά, µπράβο σας. -Δεν υπάρχει αρχικό σχόλιο FAIL Εστάλη λάθος άσκηση 1659 Οριακό -Δεν έχετε αρχικό σχόλιο. -Πολύ καλές µεταβητές. -Καλή στοίχση. Στο τέλος λίγο θέλει προσοχή. -Το 3 θα µπορούσε να ναι και αυτό σταθερά. -Ο κώδικας δεν κάνει compile Καλή στοίχιση. -Το αρχικό σχόλιο θα µπορούσε να είναι καλύτερο. -Μερικές µεταβλητές δεν είναι περιγραφικές. -Το 3 θα µπορούσε να είναι και αυτό σταθερά. -Κάθε φορά που πάτε να γράψετε σε µια θέση πίνακα θα έπρεπε να προσθέτετε τη θέση εκείνη µε το order και όχι να δίνετε την τιµή order. -Στην εκτύπωση του αποτελέσµατος θα έπρεπε να έχετε διπλή for όπως στην αρχικοποίηση, επειδή είναι δισδιάστατος πίνακας. -Το ξεκινάτε καλά. -Δε χρησιµοποιείτε σωστά τη strcpy και strcat. Έχετε βάλει ανάποδα τους πίνακες σε αυτές τις συναρτήσεις. Αντί να αντιγράψετε τον input στον output, κάνετε το αντίθετο.

31 1661 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά. Επίσης τα ονόµατα των σταθερών θα µπορούσαν να ειναι πιο περιγραφικά. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Κατά την εισαγωγή των δεδοµένων έχετε µία printf("\n") η οποία έχει ως αποτέλεσµα πριν την εκτύπωση των αποτελεσµάτων να προηγούνται πολλές κενές γραµµές. -Καλό αρχικό σχόλιο. -Καλή προσπάθεια και σωστά αποτελέσµατα, µπράβο σας. Δεν έχετε κάνει σωστά τη συµπίεση µε το σωστό όνοµα φακέλου...ανεπίτρεπτο FAIL -Σωστή χρήση του #define. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Λάθος καταχώρηση δεδοµένων στον πίνακα. -Λάθος εµφάνιση αποτελεσµάτων. Προσπαθήστε να τη λύσετε σπίτι. Δείτε µετά τις λύσεις Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Υπάρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή δήλωση σταθερών. -Στην αρχικοποίηση του πίνακα έχετε ανάποδα τις for. Ναι µεν δουλεύει κι έτσι, αλλά δεν είναι αποτελεσµατική προσπέλαση µνήµης. -Λάθος καταχώρηση δεδοµένων. Δεν έπρεπε να αποθηκεύετε τον ΑΜ. -Δε χρειάζεται ταξινόµηση του πίνακα, αλλά µπράβο για την προσπάθεια -Δε χρειάζεται πίνακας για τον υπολογισµό του µέσου όρου. -Λάθος εκτύπωση αποτελεσµάτων. -Προσπαθήστε να ξανακάνετε την άσκηση το σπίτι. - Πολύ pass Δεν παραδόθηκε.

32 Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα vathmologio. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα mitrwo. Για τη σωστή χρήση του, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα vathmologio, τον ορίζετε και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές του πινάκα mitrwo, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. Το πρόβληµα µε τα αποτελέσµατα που δε σας βγαίνουν σωστά στην εκτύπωση δεν οφείλονται στο %, αλλά στην αναντιστοιχία των στοιχείων για τους aem και βαθµολόγιο. Επίσης, για να πάρετε τα aem ξανά πίσω θέλετε i. -- To % που προσθέσατε στο αρχείο που ξαναστείλατε, δε θα δούλευε σωστά αν αλλάζαµε το STUDENTS σε 11, ή σε οποιαδήποτε άλλη µεγαλύτερη τιµή. - Καλή στοίχιση κώδικα, αν και το χάνετε λίγο στις τελευταίες 5 γραµµές. - Το STUD που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo= FAIL Όταν θα ξαναστέλνετε ασκήσεις, δε θα αλλάζετε ΠΟΤΕ το subject του µαιλ. - Το πρόγραµµα δεν κάνει compile. Η σύνταξη της switch έχει πολλαπλά λάθη, και είναι ύλη που έπρεπε να ξέρετε καλά FAIL Δεν ελήφθη άσκηση 1667 FAIL - Το πρόγραµµα δεν κάνει compile. - Δε γίνεται σωστή χρήση επαναλήψεων όπου πρέπει. - Λάθη σε στοιχειώδη σηµεία όπως στη χρήση printf.

33 1668 -Θα µπορούσατε να δηλώσετε τo 5 και το 3 σαν σταθερά µε τη χρήση του #define. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων Οριακό -To πρόγραµµα σας δεν κάνει compile, έχει συντακτικά λάθη. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή η λογική, προσπαθήστε να τη λύσετε σπίτι και µετά δείτε τη λύση. - Πολύ άσχηµα ονόµατα πινάκων. Είναι πολύ εύκολο να µπερδευτείτε και να χρησιµοποιήσετε λάθος πίνακα για κάτι. - Ασυνεπής στοίχιση, πολλές κενές γραµµές σε σηµεία που δεν πρέπει να υπάρχουν. - Τα ονόµατα των σταθερών τυπικά γράφονται µε όλο κεφαλαία - Το segmentation fault οφείλεται στο ότι στη γραµµή 51 γράψατε κατά λάθος i++ αντί για j++ - Κατά τα άλλα, σωστη λογική. - Ωραία ορίσατε τις σταθερές, αλλά έπρεπε να χρησιµοποιήσετε το TESTS στη διαίρεση για το µέσο όρο. Αν αλλάξει ο αριθµός διαγωνισµάτων το πρόγραµµά σας δε θα βγάζει πια σωστά αποτελέσµατα γιατί η διαίρεση θα γίνεται πάντα δια του 5. - Ωραία ονόµατα µεταβλητών. Για τους µετρητές των for δε χρειάζεται κάθε φορά διαφορετικό όνοµα. Μόνο αυτοί που είναι σε εµφωλευµένα for πρέπει να είναι διαφορετικοί. Κατά τα άλλα, µπορείτε να τους επαναχρησιµοποιείτε. - Το thesh=arith_mhtroou%10; Αν έχουµε περισσότερους φοιτητες, τότε όσοι έχουν AEM 1350, 1360, 1370 κτλ θα µπούν όλοι στην ίδια γραµµή. - Προς το τέλος του προγράµµατος η στοίχιση χαλάει και δε φαίνεται πού τελειώνει κάθε επανάληψη. Επίσης µην αφήνετε τόσες κενές γραµµές. - Το τελευταίο for έχει αρκετά λογικά λάθη. Το thesh είναι πάντα ίδιο και το άθροισµα δε µηδενίζεται πριν τον υπολογισµό για κάθε φοιτητή. - Πολύ pass..

34 Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα vathmologio. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα mitrwo. Για τη σωστή χρήση του, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα vathmologio, τον ορίζετε και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές του πινάκα mitrwo, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. Το πρόβληµα µε τα αποτελέσµατα που δε σας βγαίνουν σωστά στην εκτύπωση δεν οφείλονται στο %, αλλά στην αναντιστοιχία των στοιχείων για τους aem και βαθµολόγιο. Επίσης, για να πάρετε τα aem ξανά πίσω θέλετε i. -- To % που προσθέσατε στο αρχείο που ξαναστείλατε, δε θα δούλευε σωστά αν αλλάζαµε το STUDENTS σε 11, ή σε οποιαδήποτε άλλη µεγαλύτερη τιµή. - Καλή στοίχιση κώδικα, αν και το χάνετε λίγο στις τελευταίες 5 γραµµές. - Το STUD που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo=-1... Όταν θα ξαναστέλνετε ασκήσεις, δε θα αλλάζετε ΠΟΤΕ το subject του µαιλ. - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. - Όταν βρίσκετε το κατάλληλο κελί πρέπει να προσθέτετε σε αυτό την ποσότητα plithos. Εσείς κάνετε το ισοδύναµο του x=x++ το οποίο δεν είναι καν καλά ορισµένη πράξη. - Η τιµή του type που εκτυπώνετε στο τέλος είναι πάντα '-' γιατί αυτή ήταν η τελευταία τιµή που εκχωρήθηκε στη µεταβλητή type. Έπρεπε να εκτυπώνετε την τιµή 'V'+i - Πολύ pass...

35 1673 Οριακό -Ύπαρξη σχόλιου στην αρχή του προγράµµατος. -Σωστή δήλωση και χρήση σταθερών. -Όχι καλή στοίχηση αλλά καλά ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Δεν είναι απαραίτητο το σχόλιο προς το χρήστη για την εισαγωγή των δεδοµένων. -Για τον υπολογισµό του µέσου όρου, θα έπρεπε να χρησιµοποιήσετε την αντίστοιχη σταθερά. -Δεν παραδόθηκε Οριακό -Οι σταθερές καλό είναι να δηλώνονται µε κεφαλαία. -Καλή προσπάθεια. Τα αποτελέσµατα για το αρχείο εισόδου που δόθηκε, είναι σωστά. Αν προστεθούν και άλλα tests, τα αποτελέσµατα είναι λάθος καθώς στον υπολογισµό του µέσου όρου χρησιµοποιείτε το 5 και όχι τη σταθερά Tests. -Κατά τα άλλα καλή στοίχιση και ονόµατα µεταβλητών αλλά δεν υπάρχει αρχικό σχόλιο Ο κώδικας σας δεν κάνει compile. -Δεν µπορείτε να αναθέσετε ένα string σε ενα άλλο µε τον τελεστή = -Ο υπόλοιπος κώδικας δεν υλοποιεί και από τα ζητούµενα Άσκηση 1η: - Έχετε βάλει σχόλια στην αρχή του προγράµµατος, έχετε καλά ονόµατα µεταβλητών και καλή στοίχιση - Χρησιµοποιείτε σωστά τις δηλώσεις #define ώστε το πρόγραµµα να τρέξει εύκολα και για διαφορετικό πλήθος φοιτητών ή/και µαθηµάτων - Θα µπορούσατε να δηλώσετε ως σταθερά την τιµή Στο do...while πρέπει να µπει µια συθήκη ελέγχου αµέσως µετά το scanf του ΑΜ, πχ if(am == -1) break; Έτσι πως είναι ο κώδικας, ουσιαστικά, όταν διαβάζει ΑΜ -1, περιµένει να διαβάσει και 5 τιµές για τους βαθµούς και µετά να βγει από την while, οπότε και δεν τερµατίζει σωστά. - Κατά τα άλλα τα πήγατε καλά Άσκηση 2η:

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

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h Α.Μ. 1375 FAIL 1413 1417 1420 1421 FAIL 1422 FAIL 1424 1425 FAIL 1426 FAIL - Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

Διαβάστε περισσότερα

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

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string. Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 - Πολύ καλή δουλειά κατά τα άλλα, µπράβο. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.h

Διαβάστε περισσότερα

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS lab7 Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 1244 1246 - Η συνθήκη του do/while είναι λάθος µε αποτέλεσµα να µπορεί ο χρήστης να βάζει στοιχεία περισσότερα του SIZE. - Στην συνθήκη

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

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

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά. 00497 Άσκηση1 -Σωστή στοίχιση. -Σωστή χρήση σταθερών. -Σωστά ονόµατα µεταβλητών. -Σωστή χρήση της sprintf. Το sprintf(formatstring, "%%%ds", INIT_SIZE 1); αρκεί να γραφτεί µια φορά. -Σωστή χρήση των συναρτήσεων

Διαβάστε περισσότερα

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

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος θέµα e-mail. -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη αλλά µε Υπάρχει µια προειδοποίηση σχετικά µε την εκτύπωση printf της θέσης. -Ωραία περιγραφικά σχόλια, αλλα καλό

Διαβάστε περισσότερα

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

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση. Sheet1_2 AEM 0001 0002 0003 0004 0006 COMMENTS - Segmentation fault λόγω λάθους στην αναδροµή. Δες τη λύση, αλλά προσπάθησε να το ξανακάνεις και στο σπίτι για εξ - Πρόσεχε λίγο τη στοίχιση - Καλή δουλειά

Διαβάστε περισσότερα

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

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. 449 451 οριακό PASS οριακό PASS, αλλά τα ονόµατα σταθερών γράφονται πάντα µε κεφαλαία για να ξεχωρίζουν. Το max έπρεπε να ήταν MAX. - Ονόµατα µεταβλητών: Καλά, εκτός

Διαβάστε περισσότερα

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1 ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό

Διαβάστε περισσότερα

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

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα. Α. Μ. Βαθμός Σχόλιο 1183 lab2 - Πολύ καλή δουλειά κατά τα άλλα 1194 1238 1239 FAIL 1240 1241 1242 1243 1244 1245 1246 - πολύ καλό (*υπάρχουν οι τελεστές = ). Ο κώδικας είναι καλά σχολιασµένος -

Διαβάστε περισσότερα

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

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Μέτρια σχόλια. 00497 PASS - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της factorial. - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. - Καλά ονόµατα µεταβλητών

Διαβάστε περισσότερα

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

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. - Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 - Καλή στοίχηση, σωστά ονόµατα µεταβλητών, όµως δεν έχετε δηλώσει ως σταθερές το ΦΠΑ και την τιµή ανά τετραγωνικό µέτρο για τη µοκέτα. - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες

Διαβάστε περισσότερα

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

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1 AEM 0001 0002 0003 0004 0005 0006 0007 COMMENTS οριακά -Υπολογίζεις λάθος τα στατιστικά. -Δεν βάζεις τα σχόλια µε βάση τις προδιαγραφές του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση σε κάποια σηµεία. - Τα

Διαβάστε περισσότερα

ΑΕΜ ή username. Sheet2

ΑΕΜ ή username. Sheet2 ΑΕΜ ή username ΒΑΘΜΟΣ 357 ΣΧΟΛΙΑ - Σωστοί τύποι και περιγραφικά ονόµατα µεταβλητών. Αν το price_euro το είχατε price_euro_liter (όπως κάνατε και µε το price_dollar_gallon) δε θα χρειαζόταν καν διευκρινιστικό

Διαβάστε περισσότερα

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

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! AEM 0001 0002 0003 COMMENTS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! -Τυπώνεις 1,2,3 αντί για AVAILABLE, RESERVED,

Διαβάστε περισσότερα

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

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'. 00497 PASS - Τα ονόµατα των µεταβλητών θα µπορούσαν να ήταν λίγο πιο περιγραφικά. - Το µήκος του πίνακα θα έπρεπε να δωθεί ως σταθερά πριν τη main µε την εντολή #define SIZE 5 και όχι ως const. - Πολύ

Διαβάστε περισσότερα

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

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Δεν κάνει compile και το λάθος είναι σηµαντικό: Το head1 είναι δείκτης σε struct, εποµένως η προσπέλαση πεδίου γίνεται 321 FAIL µε head1->next και όχι head1.next. Επιπλέον, έχετε λάθος

Διαβάστε περισσότερα

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

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο AEM 0001 0002 0003 0004 0005 0006 0007 0008 0009 0012 COMMENTS -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο commenting_standard.pdf.

Διαβάστε περισσότερα

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

Βαθμός Σχόλιο. lab3_grades Α. Μ. Βαθμός Σχόλιο 1183 1194 - Το πρόγραµµα πέφτει σε ατέρµονο loop γιατί στο while δεν έχει scanf ώστε να διαβάζει νέα επιλογή, η τιµή της επιλογής δε µπορεί να γίνει ποτέ 5 ή 6 για να τερµατίσει. -

Διαβάστε περισσότερα

Sheet PASS 1426 PASS 1428 PASS. Page 1

Sheet PASS 1426 PASS 1428 PASS. Page 1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ -Δεν εκτελείτε κάποιο loop για το πλήθος των επαναλήψεων που 1413 FAIL θα κληθεί η ανάγνωση και η εγγραφή από το αρχείο. -Το άνοιγµα και κλείσιµο του αρχείου γίνεται σωστά. Έχετε αποστείλει

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

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

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Σωστή χρήση του προσδιοριστή const για την σταθερά p. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. - Στην printf("enter radius: \n"); ο χαρακτήρας αλλαγής γραµµής

Διαβάστε περισσότερα

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

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ 00497 PASS 02103 PASS - Δεν έχει γίνει καθόλου χρήση σταθερών όπως έχουµε ζητήσει να γίνεται για όλες τις σταθερές τιµές. - Υπάρχουν σχόλια αλλά θα µπορούσαν να ήταν πιο επεξηγηµατικά και λίγο περισσότερα

Διαβάστε περισσότερα

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

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. AEM LAB2 0001 Δεν είναι στοιχισµένες σωστά οι εντολές µέσα στη main. 0002 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. 0003 0004 Οι µεταβλητές πρέπει

Διαβάστε περισσότερα

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

Λύσεις για τις ασκήσεις του lab5 Εισαγωγή Λύσεις για τις ασκήσεις του lab5 Επειδή φάνηκε να υπάρχουν αρκετά προβλήματα σχετικά με τον τρόπο σκέψης για την επίλυση των προβλημάτων του lab5, θα συνοδεύσουμε τις λύσεις με αρκετές επεξηγήσεις,

Διαβάστε περισσότερα

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

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1 Επειδή αρκετοί εξακολουθείτε να βάζετε σχόλια στην ίδια γραµµή αλλά πολύ πιο "δεξιά" από τον κώδικα που σχολιάζουν, δείτε παρακάτω πώς µοιάζει ένα τέτοιο πρόγραµµα σε συµβατικό terminal. Όπως έχουµε πει

Διαβάστε περισσότερα

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

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS ΑΕΜ ΒΑΘΜΟΣ -Όλα καλά ΣΧΟΛΙΑ η: -Σωστή 357 PASS η: -Ο κώδικας για την είσοδο του µητρώου πρέπει να δοµηθεί αλλιώς γιατί εµφανίζει λάθος πριν καν δοθεί για πρώτη φορά το µητρώο. -Σωστή στοίχιση, µοναδική

Διαβάστε περισσότερα

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του κώδικα - Στοίχιση οκ, τα ονόµατα των µεταβλητών καλό είναι να είναι πιο περιγραφικά - Δεν χρησιµοποιείτε #define για να ορίσετε

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1349 FAIL Δεν ελήφθη άσκηση 1482 1556 1559 1562 1563 1565 1566 FAIL - Στην initialize πρέπει να κάνετε έλεγχο αν η malloc αποτυγχάνει για κάθε κλήση της, άρα και για δέσµευση χώρου για

Διαβάστε περισσότερα

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

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 lab14grades - Σωστός έλεγχος του argc για όλες τις περιπτώσεις. - Θα έπρεπε να καλέσεις τη συνάρτηση strlen_r και στην περίπτωση του κενού string, strlen_r("\0"). - Σωστή χρήση

Διαβάστε περισσότερα

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

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα. Α. Μ. Βαθμός Σχόλια 1183 FAIL - Πρώτα ελέγχουµε το argc και µετά κάνουµε προσπάθεια να προσπελάσουµε το argv. - Λάθος στην ανάγνωση του πρώτου αρχείου. Κάθε φορά που κάνεις fgetc διαβάζεις τον επόµενο

Διαβάστε περισσότερα

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

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL AEM 0001 0002 0003 COMMENTS οριακά -Η σταθερά για το µέγιστο µέγεθος του πίνακα έπρεπε να έχει τιµή 101 και όχι 100. -Έπρεπε να δεσµέυσεις δυναµικά και την µνήµη του αρχικού string και να το κάνεις free

Διαβάστε περισσότερα

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

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 οριακό PASS - Η µεταβλητή aukswn_aritmos είναι περιττή. Μπορούσες να χρησιµοποιήσεις i+1 στη θέση της. - Σωστή αριθµητική δεικτών - Καλή στοίχιση, σχόλια 451 PASS -Καλή στοίχιση -Καλά

Διαβάστε περισσότερα

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

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά Helo. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Δεν χρησιµοποιείτε καλά ονόµατα µεταβλητών και παραµέτρων στις συναρτήσεις. - Σωστή χρήση της fgets. - Σωστός εντοπισµός του \n και αντικατάσταση µε \0. - Ο χαρακτήρας τερµατισµού \0

Διαβάστε περισσότερα

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

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Οκ 321 PASS -Το σχόλιο στην αρχή του προγράµµατος δεν είναι περιγραφικό. -Προσπάθησε να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών για να αποφεύγεις και τα πολλά σχόλια στον κώδικα.

Διαβάστε περισσότερα

to post PASS PASS FAIL

to post PASS PASS FAIL AEM COMMENTS - Να δίνεις περιγραφικά ονόµατα σε όλες τις µεταβλητές (τι είναι τα k, flag, temp?) - Το.katastash πρέπει να γίνεται reset σε 0 στην euresh_grammatos, µετά από κάθε κλήση στη search_the_word.

Διαβάστε περισσότερα

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 οριακό 1058 FAIL - Καλή δουλειά γενικά. - Πρόσεχε λίγο τα ονόµατα συναρτήσεων/µεταβλητών. Για παράδειγµα, το όνοµα integer δεν είναι καθόλου καλό γιατί δεν περιγράφει τι κάνει η

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

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

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. 357 - Σωστά αποτελέσματα - Περιγραφικά ονόματα μεταβλητών. - Δεν έχετε

Διαβάστε περισσότερα

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

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. : 449 οριακό - Λάθος στους υπολογισµούς. Σε κάθε µία επανάληψη

Διαβάστε περισσότερα

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

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την AEM ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1413. Σκέψου πώς θα µπορούσες να την 1417 κάνεις χωρίς χρήση της βοηθητικής µεταβλητής curr - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να

Διαβάστε περισσότερα

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN.

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN. 7/1/2014 ΣΗΜΑΝΤΙΚΗ ΑΝΑΚΟΙΝΩΣΗ: Όπως ακούσατε και στο σηµερινό µάθηµα, θα υπάρξει ειδική ρύθµιση όσον αφορά τις εξετάσεις για όσους φοιτητές δεν πληρούν τις προϋποθέσεις είτε για τα quiz είτε για τις απουσίες

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS Α. Μ. Βαθμός Σχόλια 1183 1194 1195 FAIL 1238 1239 - Άσχηµα ονόµατα µεταβλητών (s, t) - Δε δεσµεύεις αρκετή µνήµη για τις λέξεις που αποθηκεύονται στον πίνακα (και γι αυτό τελικά το πρόγραµµά σου κάνει

Διαβάστε περισσότερα

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 1389 1413 - Γράφετε αρκετά καθαρά τον κώδικα, µπράβο! Έχετε δώσει καλά ονόµατα στις µεταβλητές και ορίζετε ως σταθερές τις τιµές ταχυτήτων των κυνηγών - Μετατρέπετε όλο το χρόνο

Διαβάστε περισσότερα

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

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι. 02103 FAIL προγράµµατος µε κενές γραµµές -Δεν έχετε συµπεριλάβει καθόλου σχόλια!!! -Τα ονόµατα των σταθερών είναι µε ΚΕΦΑΛΑΙΑ. Επίσης, το 20 και το 1000 έπρεπε να είναι αποθηκευµένα σε σταθερές. - Έχετε

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσµία: 7/1/2014, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

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

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 812 Καλή δουλειά 887 926 FAIL 1040 FAIL Μη αναγνωρίσιµο φορµατ 1060 1138 FAIL Ηµιτελές - Άσχηµα ονόµατα µεταβλητών/πεδίων που κάνουν δυσνόητο τον κώδικα. Μη χρησιµοποιείτε µεταβλητές

Διαβάστε περισσότερα

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

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 Η strcpy αντιγράφει µια γραµµή, οπότε δεν έπρεπε να βρίσκεται µέσα σε διπλό loop. Η εκτύπωση δεν έπρεπε να βρίσκεται µέσα στο loop που γίνεται η αντιγραφή, αλλά να είναι ανεξάρτητη

Διαβάστε περισσότερα

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

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1: -Σωστά αποτελέσµατα και σωστή έξοδος. -Δεν έχετε περιορισµό στην scanf για την ανάγνωση strings. Δηµιουργείτε το format του string µε χρήση της µεθόδου µε το sprintf αλλά δεν

Διαβάστε περισσότερα

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

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

Γλώσσα Προγραμματισμού C Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

Διαβάστε περισσότερα

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

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

Διαβάστε περισσότερα

Στην clearlist: - Όλα ok. οριακό PASS

Στην clearlist: - Όλα ok. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Στη main: - Αποθηκεύετε το αποτέλεσµα της removepart στη µεταβλητή curr, αλλά στην κλήση της clearlist µετά περνάτε την παλιά κεφαλή της λίστας (µεταβλητή list) η οποία δεν είναι πια

Διαβάστε περισσότερα

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

Διαβάστε περισσότερα

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά!

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά! 02103 - Κατα σύµβαση οι σταθερές είναι δηλωµένες µε ΚΕΦΑΛΑΙΑ - Λάθος χρήση της scanf. Το γεγονός ότι η scanf είναι αρκετά "έξυπνη" δεν σηµαίνει ότι το µοτίβο που χρησιµοποιήσατε είναι σωστό. Έπρεπε να

Διαβάστε περισσότερα

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2015-2016 Προθεσµία: Πέµπτη 17/12/2015, 22:00 Διαβάστε πριν ξεκινήσετε Διαβάστε την εκφώνηση προσεκτικά και σχεδιάστε το πρόγραµµά σας πριν

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής

Διαβάστε περισσότερα

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009-20010 Προθεσµία: 15/11/09, 23:59 Στόχοι Χρήση συναρτήσεων Χρήση µονοδιάστατων πινάκων Διαχείριση συµβολοσειρών Φορµαρισµένη έξοδος δεδοµένων

Διαβάστε περισσότερα

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

lab2grades printf("calculus: %.4lf\n", calculus);

lab2grades printf(calculus: %.4lf\n, calculus); lab2b.c:20:2: error: expected ; before print print("calculus: "); ^ printf("calculus:"); 02103 PASS - Απουσία σχολίων στο πρόγραµµα σας. - Τα ονόµατα των µεταβλητών που έχετε επιλέξει είναι περιγραφικά,

Διαβάστε περισσότερα

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Στόχοι Συµβολοσειρές, πίνακες Πριν ξεκινήσετε Βήµα 1: Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα σε αυτόν ένα φάκελο µε όνοµα

Διαβάστε περισσότερα

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης.

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης. ΒΑΘΜΟΣ ΣΧΟΛΙΑ - στην malloc που χρησιµοποιήσατε, δεν έχετε αφήσει χώρο για το \0 και χρησιµοποιείτε sizeof µε λάθος τρόπο. Στο τέλος που βάζετε το \0 είναι στην πραγµατικότητα σε µνήµη που δεν έχετε δεσµεύσει

Διαβάστε περισσότερα

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

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 3: Πίνακες, βρόχοι, συναρτήσεις 1 Ιουνίου 2017 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Στόχοι Συµβολοσειρές, πίνακες Πριν ξεκινήσετε Βήµα 1: Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα σε αυτόν ένα φάκελο µε όνοµα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις

ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις Με µαύρο τα κοµµάτια από την εκφώνηση. Με µπλε απαντήσεις κι επεξηγήσεις. Με κόκκινο τα πιο συχνά λάθη που είδαµε. Άσκηση Παρασκευής ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις Σε αυτή την άσκηση θα γράψετε ένα πρόγραµµα

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσμία: 17/1/14, 22:00 Περιεχόμενα Διαδικαστικά Οδηγίες Αποστολής Εκφώνηση άσκησης (Στάδιο 0, Στάδιο 1, Στάδιο 2, Στάδιο 3, Στάδιο

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 13/1/13, 22:00 Περιεχόµενα Διαδικαστικά Εκφώνηση άσκησης (Στάδιο 0, Στάδιο 1, Στάδιο 2, Στάδιο 3, Στάδιο 4, Στάδιο 5) Οδηγίες

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

Διαβάστε περισσότερα

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

Διαβάστε περισσότερα

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές! Εντολές Επανάληψης Πολλές φορές χρειάζεται να επαναλάβουμε τις ίδιες εντολές Πχ. Έστω ότι θέλουμε να υπολογίσουμε το άθροισμα όρων μιας ακολουθίας διαδοχικών ακεραίων. Δηλαδή αν ο χρήστης δώσει τον αριθμό

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Στόχοι Τελεστές, σταθερές Πριν ξεκινήσετε Βήµα 1: Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα σε αυτόν ένα φάκελο µε όνοµα lab2.

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

Διαβάστε περισσότερα

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

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι: printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι: %d για ακεραίους (int) %lf για κινητής υποδιαστολής διπλής ακρίβειας (double) %f για κινητής υποδιαστολής απλής ακρίβειας

Διαβάστε περισσότερα

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

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

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS ΑΕΜ ΒΑΘΜΟΣ 357 402 Πολύ σωστά, µπράβο ΣΧΟΛΙΑ Λάθος στον υπολογισµό του πλήθους αστερίσκων. Δε µετράτε αυτούς της "κάτω" σειράς, οπότε το αποτέλεσµα δεν είναι σωστό. Η πράξη που κάνετε στη main είναι λάθος

Διαβάστε περισσότερα

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 Προθεσµία: 22/12/2016, 21:00 Διαδικαστικά Η εργασία αυτή µπορεί να γίνει σε οµάδες µέχρι 2 ατόµων. Δεν είναι απαραίτητο να συνεργαστείτε

Διαβάστε περισσότερα

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

Διαβάστε περισσότερα

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 4/11/2014, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 1 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Προθεσµία: Τρίτη 4/11/2014, 22:00 Διαβάστε πριν ξεκινήσετε Διαβάστε την εκφώνηση προσεκτικά και σχεδιάστε το πρόγραµµά σας στο χαρτί.

Διαβάστε περισσότερα

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

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων Στις επόµενες σελίδες µπορείτε να δείτε ενδεικτικούς βαθµούς και σχόλια για το lab1. Επειδή αυτό ήταν το πρώτο εργαστήριο, οι βαθµοί δε θα µετρήσουν (δηλαδή όποιος βαθµολογήθηκε µε fail δε θα πάρει απουσία)

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

Διαβάστε περισσότερα