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

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

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

Transcript

1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! 321 Υπάρχουν σχόλια π.χ. µε do{ }while τα οποία είναι καλό να µην υπάρχουν. - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! - Όχι και τόσο καλός έλεγχος για το τύπο του εισιτηρίου. Δείτε τη λύση.

2 Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια FAIL 1349 FAIL - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. - Επίσης κακή αριστερή στοίχιση. π.χ. το else στη γραµµή 31, δεν ανήκει στο if της γραµµής 19 αλλά στο if της γραµµής 21. Όµως κάτι τέτοιο δε φαίνεται στη στοίχιση. Οι γραµµές θέλουν ένα tab προς τα δεξιά. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Ακολουθήστε ακριβώς τις προδιαγραφές του output. -Το πρόγραµµα δε λειτουργεί ακριβώς βάσει προδιαγραφών. Η επιλογή 2.Exit δε λειτουργεί ποτέ. Συγκεκριµένα θέλαµε if(option == 1){...} else if (option ==2) {return 0; /*ή µε κάποιο τρόπο έξοδος από while*/} else {/*wrong number, ignore*/} Αυτό το κοµµάτι θα µπορούσε να γίνει και µε switch. - Η συνθήκη while(tickets<=100) θα είναι πάντα αληθής για αυτό και το πρόγραµµα δε φτάνει ποτέ στο return και πέφτει σε ατέρµονο loop. - H if(counter<= 100) θα είναι αληθής 101 φορές και όχι 100. Θέλετε if(counter < 100). Δεν παραδόθηκε Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, κολλάει σε ατέρµονο loop. Αυτό συµβαίνει γιατί όταν ο χρήστης εισάγει ως επιλογή το 2, βγαίνει από το do while, προσπερνάει το πρώτο if, η συνθήκη στο else if δεν είναι αληθής, οπότε γυρίζει στην for αντί να τερµατίσει το πρόγραµµα( που το σωστό ). Θα µπορούσατε να βάλετε ακόµα ένα else {return 0;} µετά το else if. - Η µορφή της εξόδου του προγράµµατος είναι τραγική. Δεν αλλάζετε γραµµή µετά από κάθε επιλογή του µενού, δεν αφήνετε καθόλου κενά. Είναι πολύ σηµαντικό (και εύκολο) να ακολουθήσετε τις οδηγίες που σας δίνονται στις εκφωνήσεις. - Η στοίχιση είναι οκ

3 Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! 1482 Υπάρχουν σχόλια π.χ. µε do{ }while τα οποία είναι καλό να µην υπάρχουν. - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! - Όχι και τόσο καλός έλεγχος για το τύπο του εισιτηρίου. Δείτε τη λύση FAIL - Πολύ καλή, σας ξέφυγε µόνο το \t στο τελευταίο printf. - Το αρχικό printf/scanf/while θα µπορούσε να είχε αντικατασταθεί από ένα do-while. Είναι κλασική περίπτωση χρήσης do-while - Η σειρά από if θα µπορούσε να είχε αντικατασταθεί από switch. - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης. Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, δεν χρησιµοποιεί καθόλου επανάληψη. Εκεί που έχετε την for ουσιαστικά εκτελείται "max" φορές ο βρόχος, δίνοντας κάθε φορά στο x την τιµή max-1. - Τα ονόµατα των µεταβλητών πρέπει να είναι πιο περιγαφικά. - Η στοίχιση είναι οκ - Η έξοδος του προγράµµατος είναι σχεδόν οκ, καλό είναι να µην προσθέτετε παραπάνω κενά ή αλλαγές γραµµών όπου δεν σας ζητείται

4 Άσκηση1: Πολύ καλή, µπράβο. Πολύ καλή στοίχιση, ονόµατα µεταβλητών και σωστή χρήση της switch. -Υπάρχει καλό σχόλιο στην αρχή. -Το µόνο που ξεχάσατε είναι τα \n \t πριν την τελευταία printf. Επίσης θα µπορούσατε να έχετε χρησιµοποιήσει κάποια σταθερά για το µέγιστο πλήθος φοιτητών. Ασκηση 2: -Πολύ καλή δουλειά ξανά. Συνεχίστε έτσι. -Ισχύουν οι προηγούµενες επισηµάνσεις. - Γενικά καλή µορφή κώδικα, σχόλια, ονόµατα µεταβλητών. Σου έχει ξεφύγει λίγο η στοίχιση σε µερικά σηµεία - Δε χρειαζόταν να ρωτάς πόσα εισιτήρια θέλει ο χρήστης. Κάθε φορά που επιλέγει να αγοράσει εισιτήριο, ο αριθµός τους µειώνεται κατά 1. - Γενικά φαίνεται να έχεις µπερδευτεί λίγο όσον αφορά τις τιµές της choice και τους ελέγχους. Δε χρειάζεται η τιµή 3. Μπορούσες να χρησιµοποιήσεις do-while για την εξωτερική επανάληψη (ώστε να είναι εγγυηµένο ότι θα γίνει τουλάχιστον µια επανάληψη), και η συνθήκη να είναι : do {...} while (choice!= 2); Μετά θα µπορούσες να κάνεις το choice 2 και στην περίπτωση που δεν έχουν µείνει εισιτήρια, ώστε να εγγυηθείς την έξοδο από την επανάληψη. Εναλλακτικά, στην περίπτωση που δεν υπάρχουν άλλα εισιτήρια µπορούσες να κάνεις: return 0; για να τερµατίσει η main (kαι κατά συνέπεια το πρόγραµµα). - Η getchar() θα διαβάσει πρώτα το enter που έχει ξεµείνει από την εισαγωγή του ακεραίου. Θα πρέπει ή να χρησιµοποιήσεις και δεύτερη getchar() για να διαβαστεί το γράµµα, ή scanf(" %c", &place); µε ένα κενό ανάµεσα στο " και το % - Η συνθήκη στην εξωτερική while δεν είναι ακριβώς αυτό που θέλουµε. Το πρόγραµµα πρέπει να τερµατίζει αν ζητηθεί τύπος εισιτηρίου που έχει εξαντληθεί, ακόµη κι αν υπάρχουν άλλοι τύποι εισιτηρίων. Δες τη λύση Καλή δουλειά. -Οι θέσεις καλό είναι να δηλώνονται ως σταθερές µε define ή µε const για να µπορούν να αλλάζουν εύκολα. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Πολύ καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Οµοίως για τις σταθερές.

5 1563 -Δεν έχετε σχόλιο στην αρχή και έχετε παντού στον κώδικα και σε σηµεία που δε χρειάζεται. Προτιµούµε ένα καλό σχόλιο στην αρχή. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Το πρόγραµµα πρέπει να διαβάζει τους βαθµούς µε κεφαλαία και όχι µε µικρά που έχετε. -Καλή η επιλογή της switch Ισχύει ό,τι και πριν για στοίχιση, µεταβλητές, σχόλιο. -Ας βάζατε µια αλλαγή σειράς µετά το invalid grade να µην κολλά µε την επόµενη εκτύπωση. -Κατά τα άλλα πολύ καλή δουλειά. Λάθος όνοµα στο φάκελο. Δε βάζουµε το όνοµα του εργαστηρίου, αλλά τα επίθετα µε τα ΑΜ σας. -Καλό σχόλιο, αλλά δε γράφουµε µε ελληνικούς χαρακτήρες. -Καλά ονόµατα µεταβλητών. -Καλή στοίχιση. Λίγο στην αρχή είναι προβληµατική. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Η while για τον έλεγχο των αριθµών των φοιτητών είναι λάθος. Θέλει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Δε συµβαδίζετε µε την έξοδο που σας δώσαµε. -Αν εξαιρέσουµε το λάθος µε τη while, αυτή η άσκηση είναι πολύ καλύτερη από την 1, γιατί διορθώσατε κάποια πράγµατα που δεν ήταν ωραία στην 1. -Και πάλι λίγη διαφορετική έξοδος, όµως πολύ καλύτερα απο πριν.

6 Το εµαιλ δεν είχε θέµα. Να ακολουθείτε προσεκτικά τις οδηγίες! Πολύ καλά. Σωστός κώδικας και ευανάγνωστος. -Σωστή χρήση switch, ωστόσο, καλό είναι να µη βάζετε πολλές εντολές σε µία γραµµή: π.χ. case 'A' : gra++; break; -Το αρχικό σχόλιο δεν είναι περιγραφικό -Στην τελευταία printf ξεχάσατε το \t. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών -Η άσκηση σας δεν δίνει σωστά αποτελέσµατα, µιας και ο τρόπος που υπολογίζετε το ποσοστό δεν είναι σωστός και επίσης ο αριθµός αυτός δεν τυπώνεται σωστά. Δείτε τη λύση. -Επιπλέον, στον έλεγχο της γραµµής 22 δεν έχετε συµπεριλάβει και τα µικρά γράµµατα, µε αποτέλεσµα να τα δέχεται µεν το πρόγραµµα, αλλά να τυπώνει και µήνυµα λάθους. -Κατά τα άλλα, ισχύει ότι και για την πρώτη άσκηση. -Ακολουθήστε ακριβώς τις προδιαγραφές στα µηνύµατα που τυπώνονται. -Η επιλογή choice==2 δεν ελέγχεται πουθενά και λόγω του while(1) το πρόγραµµα δεν τερµατίζει ποτέ! Έτσι όπως δοµήσατε τον κώδικα, θα µπορούσατε να βάλετε return 0; ή break; για να βγείτε από το while υπό συνθήκες... -Οι θέσεις δηλώθηκαν ως σταθερές. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Η µεταβλητή i είναι πρακτικά άχρηστη. Δηλώνεται και χρησιµοποιείται µεν αλλά δεν αλλάζει πουθενά τιµή. Το if (i<seats) µπορεί να γίνει if(0<seats). -Προσέξτε τη στοίχιση του κώδικα. Μην αφήνετε πολλές άσκοπες κενές γραµµές µεταξύ εντολών. Μία κενή γραµµή αρκεί. Επίσης οι εντολές στις γραµµές καλό θέλουν ένα tab η καθεµία αριστερά. -Tip για γρήγορη µορφοποίηση: επιλογή εντολών και µετά Tab για να πάνε δεξιά όλες µαζί. επιλογή και µετά Shift+Tab για να πάνε αριστερά όλες µαζί. -Σε γενικές γραµµές καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Υπάρχει το ίδιο πρόβληµα µε τον τερµατισµό του προγράµµατος και το exit.

7 Πάρα πολύ καλή δουλειά. -Καλό σχόλιο, καλά ονόµατα µεταβλητών και καλή στοίχιση. -Πολύ καλή η χρήση της switch. -Το µέγιστο αριθµό φοιτητών θα µπορούσατε να τον κρατάτε σε µια σταθερά. -Δεν κάνει compile. Ξεχάσατε µια αγκύλη και µια άλλη την κλείνετε λάθος. -Έχετε warnings επειδή έχετε µεταβλητές που δεν τις χρησιµοποιείτε. -Δεν υπολογίζετε κάπου ποσοστό. -Το πρόγραµµα σας δε δουλεύει σωστά γιατί υπάρχει λάθος στη συνθήκη ελέγχου του δεύτερου do-while. Θα έπρεπε να χρησιµοποιήσετε && αντί για. Αν γίνει αυτή η αλλαγή ο κώδικας σας δουλεύει σωστά. -Πολύ καλή στοίχιση, ονόµατα µεταβλητών και υπάρχει αρχικό σχόλιο. -Προσέξτε λίγο περισσότερο τη µορφοποίηση της εξόδου. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Ο κώδικας δεν κάνει compile γιατί υπάρχουν συντακτικά λάθη κυρίως σε κάποιες printf. Επίσης ο έλεγχος στο while όπως και πριν δεν είναι σωστός και δεν υπάρχει τίποτα στο σώµα του while (λείπουν οι {} και υπάρχει ; µετά τη συνθήκη). Τις εντολές που χρειάζονται τις αφήσατε εκτός του while. Η πράξη που κάνετε για το ποσοστό είναι ακέραια διαίρεση και έτσι πρέπει να γίνει type casting. Αν γίνουν αυτές οι αλλαγες δουλεύει σωστά FAIL Στείλατε µόνο µία άσκηση η οποία δεν δουλεύει σωστά. Διαβάζετε σωστά τον αριθµό των φοιτητών, αλλά στη συνέχεια το σώµα του while δεν κλείνει στο σωστό σηµείο. Έπρεπε να κλείνει µετά την τελευταία else if ώστε να γίνουν οι έλεγχοι για τους βαθµούς και έπρεπε να έχετε αρχικοποιήσει τις µεταβλητές σας (δείτε τα warnings του compiler). Επίσης η scanf που έχετε στο τέλος δεν έχει κανένα λόγο ύπαρξης, η στοίχιση δεν είναι παντού καλή και δεν υπάρχει σχόλιο.

8 1572 Λάθος όνοµα στο φάκελο. Δε βάζουµε το όνοµα του εργαστηρίου, αλλά τα επίθετα µε τα ΑΜ σας. -Καλό σχόλιο, αλλά δε γράφουµε µε ελληνικούς χαρακτήρες. -Καλά ονόµατα µεταβλητών. -Καλή στοίχιση. Λίγο στην αρχή είναι προβληµατική. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Η while για τον έλεγχο των αριθµών των φοιτητών είναι λάθος. Θέλει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Δε συµβαδίζετε µε την έξοδο που σας δώσαµε Αν εξαιρέσουµε το λάθος µε τη while, αυτή η άσκηση είναι πολύ καλύτερη από την 1, γιατί διορθώσατε κάποια πράγµατα που δεν ήταν ωραία στην 1. -Και πάλι λίγη διαφορετική έξοδος, όµως πολύ καλύτερα απο πριν. -Πολύ καλά. -Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά. -Θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Αντί για if, θα µπορούσατε να είχατε switch. -Στην τελευταία printf ξεχάσατε το \n πριν το \t Ο κώδικας σας δε λειτουργεί σωστά. Η συνθήκη στο while δεν είναι σωστή, και ο κώδικας εγκλωβίζεται εκεί. Επίσης έχετε λάθος στην τελευταία printf, εσείς µπορεί να θέλετε να τυπώσετε double, αλλά η πράξη σας είναι ακέραια διαίρεση και γι'αυτό σας ενηµερώνει ο compiler. - Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Οι σταθερά είναι οκ. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Δεν παραδόθηκε.

9 Το εµαιλ δεν είχε θέµα. Να ακολουθείτε προσεκτικά τις οδηγίες! FAIL Πολύ καλά. Σωστός κώδικας και ευανάγνωστος. -Σωστή χρήση switch, ωστόσο, καλό είναι να µη βάζετε πολλές εντολές σε µία γραµµή: π.χ. case 'A' : gra++; break; -Το αρχικό σχόλιο δεν είναι περιγραφικό -Στην τελευταία printf ξεχάσατε το \t. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών -Η άσκηση σας δεν δίνει σωστά αποτελέσµατα, µιας και ο τρόπος που υπολογίζετε το ποσοστό δεν είναι σωστός και επίσης ο αριθµός αυτός δεν τυπώνεται σωστά. Δείτε τη λύση. -Επιπλέον, στον έλεγχο της γραµµής 22 δεν έχετε συµπεριλάβει και τα µικρά γράµµατα, µε αποτέλεσµα να τα δέχεται µεν το πρόγραµµα, αλλά να τυπώνει και µήνυµα λάθους. -Κατά τα άλλα, ισχύει ότι και για την πρώτη άσκηση. -Το πρόγραµµα πετάει warning επειδή προσπαθείτε να κάνετε σύγκριση στην if µε (=) και όχι µε (==). -Σε κάθε επάναληψη της for µηδενίζετε τις µεταβλητές, οπότε δεν κρατάτε το συνολικό αριθµό των βαθµών. -Η έξοδό σας δε συµβαδίζει µε την έξοδο που δίνουµε. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Κατά τα άλλα καλό σχόλιο και καλή στοίχιση. -Δεν εστάλη. -Πολύ καλά. -Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά. -Θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Αντί για if, θα µπορούσατε να είχατε switch. -Στην τελευταία printf ξεχάσατε το \n πριν το \t. -Ο κώδικας σας δε λειτουργεί σωστά. Η συνθήκη στο while δεν είναι σωστή, και ο κώδικας εγκλωβίζεται εκεί. Επίσης έχετε λάθος στην τελευταία printf, εσείς µπορεί να θέλετε να τυπώσετε double, αλλά η πράξη σας είναι ακέραια διαίρεση και γι'αυτό σας ενηµερώνει ο compiler.

10 1580 Οριακό Pass Άσκηση 1η - Στοίχιση µέτρια - H πρώτη do while θα έπρεπε να καλύψει όλο το πρόγραµµα και όχι µόνο τη πρώτη printf/scanf καθώς θέλουµε να επιλαµβάνεται ολόκληρη η διαδικασία. - Καλό θα είναι στις δοµές ελέγχου, ακόµη και αν αυτές περιέχουν ουσιαστικά µία εντολή, να βάζετε { } - Λάθος στον έλεγχο για τη διαθεσιµότητα εισιτηρίων. Δείτε τις λύσεις. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση µέτρια - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Η scanf για τύπους char γράφετε ως εξής: scanf( %c,&name); Δηλαδή µε ένα κενό πριν το % FAIL - Κακή στοίχιση κώδικα. Συγκεκριµένα, πολλές άσκοπες κενές γραµµές µετά από κάποιες εντολές. Μία κενή γραµµή αρκεί για να οµαδοποιείτε εντολές κώδικα. Σε άλλα σηµεία που θα έπρεπε να υπάρχει µία κενή γραµµή, δεν υπάρχει. π.χ. µετά τη δήλωση του include. - Οι θέσεις προτιµάται να δηλώνονται ως σταθερές µε χρήση const ή define (προτιµότερο). - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Το πρόγραµµα περιέχει αδικαιολόγητα πολλά λάθη. Αν γράφατε κώδικα λίγο λίγο και µετά κάνατε compile και execute, αυτό δε θα συνέβαινε... - Κώδικας που δεν κάνει compile είναι σα να µην παραδόθηκε. - Τα λάθη του compiler είναι ---επαναδήλωση µεταβλητής ---Τα s, g, b στη γραµµή 24, o compiler τα αντιλαµβάνεται ως µεταβλητές επειδή δεν είναι µέσα σε ' '. Επίσης τα γράµµατα θα έπρεπε να είναι κεφαλαία. ---Το if else στη γραµµή 29 είναι else if. Συγκεκριµένα ο compiler σας λέει ότι το if που προηγείται δεν έχει συνθήκη! -Αν τα διορθώνατε το πρόγραµµα θα έβγαζε κάποια αποτελέσµατα... Στείλατε µόνο ένα πρόγραµµα το οποίο δεν κάνει compile FAIL Δεν εστάλη άσκηση

11 1587 -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Πολύ καλή στοίχιση. -Γενικά πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Γενικά πολύ καλή δουλειά και πάλι Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c 1590 Κατά τα άλλα καλογραµµένο πρόγραµµα, καλές µεταβλητές, σχόλια, στοίχιση και σωστή χρήση switch - Πολύ καλή, µπράβο. Υπάρχει αρχικό σχόλιο (θα έπρεπε να ήταν λίγο πιο περιγραφικό), ο κώδικας έχει πολύ καλή στοίχιση και σωστά ονόµατα µεταβλητών. -Σας λείπει µόνο το \t στην τελευταία printf. -Στην εισαγωγή των µαθητών και των βαθµών, θα µπορούσατε να χρησιµοποιήσετε do-while αντί για printf/scanf/while. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλά, µπράβο σας. Ισχύουν οι ίδιες παρατηρήσεις µε πριν. -Δείτε και την ενδεικτική λύση

12 1591 FAIL 1592 Οριακό Pass -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος. -Καλά ονόµατα µεταβλητών. -'Οχι καλή στοίχιση. -Η µεταβλητή eisodos είναι char και στη while την ελέγχεται σαν int. Θέλει '1' και όχι σκέτο 1. -Ο έλεγχος στη while για την eisodo είναι λάθος. Σωστά θα έπρεπε while(eisodos!='1' && eisodos!='2'). -Στο σηµείο που βάλατε το µετρητή ticket και έτσι όπως κάνετε ελέγχους σε while και if δεν εκτυπώνεται το Not available. -Ο συνολικός αριθµός των διαθέσιµων εισιτηρίων θα ήταν καλό να ήταν σταθερά. -Ο κώδικας δεν κάνει compile: -Έχετε ξεχάσει ένα ; στη σειρά 11. -Έχετε µπερδέψει τις αγκύλες. Ξεκινάτε στη σειρά 17 µε do και όταν φθάνετε στη while ανοίγετε και άλλη αγκύλη. -Έχετε αδήλωτη µεταβλητή ticket. -Ακόµα έχετε και warning επειδή κανετε σύγκριση χαρακτήρων µε "G" και όχι µε 'G'. -Η scanf θέλει ένα κενό πριν το %c. -Οι µεταβλητές που κρατάνε το συνολικό αριθµό των διαθέσιµων εισητηρίων πρέπει να είναι και πάλι σταθερές. -Δείτε την ενδεικτική λύση. Άσκηση 1η Μην αφήνετε µεγάλα κενά! - Στη περίπτωση που έχει δώσει ο χρήστης άλλη επιλογή εκτός του 1-2 θα πρέπε να επαναλαµβάνεται ο βρόγχος και να µην τερµατίζει. -Δεν εστάλη

13 Άσκηση 1η 1593 FAIL -Το πρόγραµµα έχει πολλά συντακτικά και λογικά λάθη. -Σχόλιο στην αρχή της πρότασης ποτέ σε ελληνικούς χαρακτήρες. -Στοίχιση όχι και τόσο καλή. -Λείπουν ερωτηµατικά σε αρκετά σηµεία του κώδικα. -Δήλωση µεταβλητών τύπου char χωρίς λόγο (αν και το όνοµα τους είναι λάθος!). -Λάθος σύνταξη στον έλεγχο των do while (για το λογικό Ή έχουµε και όχι ) στη πρώτη ενώ η δεύτερη είναι τελείως λάθος! -Για τη σύνταξη της scanf µε το τύπο char (%c), πρέπει να έχουµε ένα κενό δηλαδή: scanf( %c,&name); -Λάθος χρήση της case (το κόµµα για ποιο λόγο το χρησιµοποιείς;). -Καθόλου καλή εκτύπωση στη τελευταία printf (καλό είναι να ακολουθούµε την εκφώνηση της άσκησης) Οριακό -Δεν εστάλη -Πολύ καλά. Ευανάγνωστος κώδικας, σωστά ονόµατα µεταβλητών και υπάρχει αρχικό σχόλιο. -Προσοχή στη µορφοποίηση της εξόδου, δεν είναι σωστή. -Αντί για if, θα µπορούσατε να είχατε switch και επίσης θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Το πρόγραµµα σας δε δουλεύει σωστά. Υπάρχει πρόβληµα στη σύνταξη της while στη γραµµή 26. Έχετε βάλει ; πριν το σώµα της while. Επίσης η έξοδος σας δεν είναι σωστή.

14 Κακή στοίχιση κώδικα. Συγκεκριµένα, πολλές άσκοπες κενές γραµµές µετά από κάποιες εντολές. Μία κενή γραµµή αρκεί για να οµαδοποιείτε εντολές κώδικα. Σε άλλα σηµεία που θα έπρεπε να υπάρχει µία κενή γραµµή, δεν υπάρχει. π.χ. µετά τη δήλωση του include. - Οι θέσεις προτιµάται να δηλώνονται ως σταθερές µε χρήση const ή define (προτιµότερο). - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Το πρόγραµµα περιέχει αδικαιολόγητα πολλά λάθη. Αν γράφατε κώδικα λίγο λίγο και µετά κάνατε compile και execute, αυτό δε θα συνέβαινε... - Κώδικας που δεν κάνει compile είναι σα να µην παραδόθηκε. - Τα λάθη του compiler είναι ---επαναδήλωση µεταβλητής ---Τα s, g, b στη γραµµή 24, o compiler τα αντιλαµβάνεται ως µεταβλητές επειδή δεν είναι µέσα σε ' '. Επίσης τα γράµµατα θα έπρεπε να είναι κεφαλαία. ---Το if else στη γραµµή 29 είναι else if. Συγκεκριµένα ο compiler σας λέει ότι το if που προηγείται δεν έχει συνθήκη! -Αν τα διορθώνατε το πρόγραµµα θα έβγαζε κάποια αποτελέσµατα... Άσκηση 1η Το πρόγραµµα έχει συντακτικά λάθη. Λείπει ένα ερωτηµατικό στο τέλος της do while. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. - H προσπάθεια όµως είναι καλή.

15 1597 Οριακό Pass Άσκηση 1η - Το πρόγραµµα δουλεύει κανονικά. - Λάθος ονόµατα µεταβλητών (ολόκληρα ονόµατα ΛΕΜΕ ΣΥΝΕΧΩΣ στο εργαστήριο). - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Το πρόγραµµα έχει πολλά συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε αρκετά σηµεία του κώδικα. - Λάθος ονόµατα µεταβλητών (ολόκληρα ονόµατα ΛΕΜΕ ΣΥΝΕΧΩΣ στο εργαστήριο). - Αρκετά λογικά λάθη και τοποθέτηση ελέγχου σε λάθος σηµείο FAIL - Πολύ καλή, µπράβο. Υπάρχει αρχικό σχόλιο (θα έπρεπε να ήταν λίγο πιο περιγραφικό), ο κώδικας έχει πολύ καλή στοίχιση και σωστά ονόµατα µεταβλητών. -Σας λείπει µόνο το \t στην τελευταία printf. -Στην εισαγωγή των µαθητών και των βαθµών, θα µπορούσατε να χρησιµοποιήσετε do-while αντί για printf/scanf/while. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλά, µπράβο σας. Ισχύουν οι ίδιες παρατηρήσεις µε πριν. -Δείτε και την ενδεικτική λύση Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, δεν χρησιµοποιεί καθόλου επανάληψη. Εκεί που έχετε την for ουσιαστικά εκτελείται "max" φορές ο βρόχος, δίνοντας κάθε φορά στο x την τιµή max-1. - Τα ονόµατα των µεταβλητών πρέπει να είναι πιο περιγαφικά. - Η στοίχιση είναι οκ - Η έξοδος του προγράµµατος είναι σχεδόν οκ, καλό είναι να µην προσθέτετε παραπάνω κενά ή αλλαγές γραµµών όπου δεν σας ζητείται

16 Άσκηση 1η: - Έχετε καλή στοίχιση. βάζετε καλά ονόµατα στις µεταβλητές & έχετε βάλει περιγραφικά σχόλια. - Δεν ορίζετε ως σταθερά το πλήθος των εισιτηρίων (µε const ή define) - Η πρόταση "not available" πρέπει να εκτυπωθεί όταν ο χρήστης ζητάει εισιτήριο, ενώ έχουν µείνει 0, όχι µε το που τελειώνουν τα εισιτήρια. Αυτό συµβαίνει γιατί ο έλεγχος περνάει και στην δεύτερη if όπου το answer == 1 και πλέον το available == 0. : - Έχετε καλή στοίχιση. βάζετε καλά ονόµατα στις µεταβλητές & έχετε βάλει περιγραφικά σχόλια. - Δεν ορίζετε ως σταθερά το πλήθος των εισιτηρίων (µε const ή define) - Κατά τα άλλα είναι σωστή. -Πάρα πολύ καλή δουλειά. -Καλό σχόλιο, καλά ονόµατα µεταβλητών και καλή στοίχιση. -Πολύ καλή η χρήση της switch. -Το µέγιστο αριθµό φοιτητών θα µπορούσατε να τον κρατάτε σε µια σταθερά. -Δεν κάνει compile. Ξεχάσατε µια αγκύλη και µια άλλη την κλείνετε λάθος. -Έχετε warnings επειδή έχετε µεταβλητές που δεν τις χρησιµοποιείτε. -Δεν υπολογίζετε κάπου ποσοστό. -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Πολύ καλή στοίχιση. -Γενικά πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Γενικά πολύ καλή δουλειά και πάλι.

17 -Καλό σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές -Καλή δουλειά Ανύπαρκτο σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές - Το ποσοστό βγαίνει λάθος εξαιτίας του τελεστή div..το είχαµε δει σε προηγούµενο εργαστήριο -Καλή δουλειά Οριακό Pass Άσκηση 1η - Στοίχιση µέτρια - H πρώτη do while θα έπρεπε να καλύψει όλο το πρόγραµµα και όχι µόνο τη πρώτη printf/scanf καθώς θέλουµε να επιλαµβάνεται ολόκληρη η διαδικασία. - Καλό θα είναι στις δοµές ελέγχου, ακόµη και αν αυτές περιέχουν ουσιαστικά µία εντολή, να βάζετε { } - Λάθος στον έλεγχο για τη διαθεσιµότητα εισιτηρίων. Δείτε τις λύσεις. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση µέτρια - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Η scanf για τύπους char γράφετε ως εξής: scanf( %c,&name); Δηλαδή µε ένα κενό πριν το %.

18 Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Οι σταθερά είναι οκ. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια Δεν παραδόθηκε. -Ακολουθήστε ακριβώς τις προδιαγραφές στα µηνύµατα που τυπώνονται. -Η επιλογή choice==2 δεν ελέγχεται πουθενά και λόγω του while(1) το πρόγραµµα δεν τερµατίζει ποτέ! Έτσι όπως δοµήσατε τον κώδικα, θα µπορούσατε να βάλετε return 0; ή break; για να βγείτε από το while υπό συνθήκες... -Οι θέσεις δηλώθηκαν ως σταθερές. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Η µεταβλητή i είναι πρακτικά άχρηστη. Δηλώνεται και χρησιµοποιείται µεν αλλά δεν αλλάζει πουθενά τιµή. Το if (i<seats) µπορεί να γίνει if(0<seats). -Προσέξτε τη στοίχιση του κώδικα. Μην αφήνετε πολλές άσκοπες κενές γραµµές µεταξύ εντολών. Μία κενή γραµµή αρκεί. Επίσης οι εντολές στις γραµµές καλό θέλουν ένα tab η καθεµία αριστερά. -Tip για γρήγορη µορφοποίηση: επιλογή εντολών και µετά Tab για να πάνε δεξιά όλες µαζί. επιλογή και µετά Shift+Tab για να πάνε αριστερά όλες µαζί. -Σε γενικές γραµµές καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Υπάρχει το ίδιο πρόβληµα µε τον τερµατισµό του προγράµµατος και το exit. - Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Το 100 έπρεπε να είχε ανατεθεί σε σταθερά. - Δεν ελέγχεις αν οι θέσεις τύπου box είναι > 0 µε αποτέλεσµα να πέφτει σε αρνητικές τιµές η ποσότητα των υπόλοιπων εισιτηρίων. - Πρόσεχε τη στοίχιση! - Οι αρχικές ποσότητες θέσεων έπρεπε να είναι δηλωµένες ως σταθερές.

19 1611 Οριακό Άσκηση 1η - Το πρόγραµµα σας έχει ένα συντακτικό λάθος γιατί έχει ένα ερωτηµατικό στο µετρητή της for. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε διάφορο (!=). - Το πρόγραµµα σας δεν έχει συντακτικό λάθος. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε το διάφορο Καλό σχόλιο. -Kαλές µεταβλητές. -Περισσότερη προσοχή στη στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Σωστός ο έλεγχος για τη βαθµολογία µε χρήση while επίσης το printf θα έπρεπε να µπει µέσα στο while - Αντί για if, µια πολύ καλή επιλογή είναι η switch.

20 1613 -Δεν έχετε σχόλιο στην αρχή και έχετε παντού στον κώδικα και σε σηµεία που δε χρειάζεται. Προτιµούµε ένα καλό σχόλιο στην αρχή. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Το πρόγραµµα πρέπει να διαβάζει τους βαθµούς µε κεφαλαία και όχι µε µικρά που έχετε. -Καλή η επιλογή της switch Ισχύει ό,τι και πριν για στοίχιση, µεταβλητές, σχόλιο. -Ας βάζατε µια αλλαγή σειράς µετά το invalid grade να µην κολλά µε την επόµενη εκτύπωση. -Κατά τα άλλα πολύ καλή δουλειά. -Δεν έχετε σχόλιο στην αρχή. -Καλά περιγραφικά ονόµατα µεταβλητών και καλή στοίχιση. -Ο έλεγχος στη while είναι λάθος. Εξετάζετε αν είναι µικρότερο του 200 και όχι µεγαλύτερο που ζητάµε. Ακόµα χρησιµοποιείτε && ενώ πρεπει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Αντί για if καλή θα ήταν η χρήση της switch. -Η έξοδο δε συµβαδίζει µε αυτή που σας δώσαµε. πχ Ήθελε ενα \t για την εκτύπωση στην τελευταία σειρά. -Ισχύει ό,τι και πριν. -Στο τέλος το ποσοστό βγαίνει πάντα 0 επειδή κάνετε διαίρεση µε ακεραίους. Για να είναι σωστό χρειάζεται να βάλετε (double) µπροστά από την πράξη.

21 -Καλό σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές -Καλή δουλειά Ανύπαρκτο σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές - Το ποσοστό βγαίνει λάθος εξαιτίας του τελεστή div..το είχαµε δει σε προηγούµενο εργαστήριο -Καλή δουλειά Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Προσοχή στη στοίχιση στη δοµή επιλογής. -Πολύ καλή έξοδος - Αντί για if, µια πολύ καλή επιλογή είναι η switch. -Πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Πολύ καλή δουλειά και πάλι. Άσκηση 1η: -Έχετε καλά ονόµατα µεταβλητών & βάζετε σχόλια στην αρχή του κώδικα. -Η στοίχιση είναι καλή -Δεν ορίζετε ως σταθερά (µε const ή #define) τον αριθµό των εισιτηρίων -Το πρόγραµµα συνεχίζει να εκτελείται ακόµα κι όταν ο χρήστης εισάγει 2 σαν επιλογή. : -Δεν ορίζετε ως σταθερές (µε const ή #define) τον αριθµό των εισιτηρίων για κάθε κατηγορία -Το πρόγραµµα συνεχίζει να εκτελείται ακόµα κι όταν ο χρήστης εισάγει 2 σαν επιλογή. -Η έξοδος και στα δύο προγράµµατα έχει πολύ σωστή δοµή

22 FAIL FAIL Πολύ καλή, σας ξέφυγε µόνο το \t στο τελευταίο printf. - Το αρχικό printf/scanf/while θα µπορούσε να είχε αντικατασταθεί από ένα do-while. Είναι κλασική περίπτωση χρήσης do-while - Η σειρά από if θα µπορούσε να είχε αντικατασταθεί από switch. - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης. - Έχει σταλεί το lab1 (a & b). Αριστες ολες οι ασκήσεις Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, κολλάει σε ατέρµονο loop. Αυτό συµβαίνει γιατί όταν ο χρήστης εισάγει ως επιλογή το 2, βγαίνει από το do while, προσπερνάει το πρώτο if, η συνθήκη στο else if δεν είναι αληθής, οπότε γυρίζει στην for αντί να τερµατίσει το πρόγραµµα( που είναι το σωστό ). Θα έπρεπε να κάνετε return στην περίπτωση που η επιλογή είναι 2. - Η µορφή της εξόδου του προγράµµατος είναι τραγική. Δεν αλλάζετε γραµµή µετά από κάθε επιλογή του µενού, δεν αφήνετε καθόλου κενά. Είναι πολύ σηµαντικό (και εύκολο) να ακολουθήσετε τις οδηγίες που σας δίνονται στις εκφωνήσεις. - Η στοίχιση είναι οκ. Άσκηση 1η - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n) - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n και αντίστοιχα count_s κ.τ.λ.)

23 1630 Οριακό Pass Άσκηση 1η Μην αφήνετε µεγάλα κενά! - Στη περίπτωση που έχει δώσει ο χρήστης άλλη επιλογή εκτός του 1-2 θα πρέπε να επαναλαµβάνεται ο βρόγχος και να µην τερµατίζει. -Δεν εστάλη Άσκηση1: Πολύ καλή, µπράβο. Πολύ καλή στοίχιση, ονόµατα µεταβλητών και σωστή χρήση της switch. -Υπάρχει καλό σχόλιο στην αρχή. -Το µόνο που ξεχάσατε είναι τα \n \t πριν την τελευταία printf. Επίσης θα µπορούσατε να έχετε χρησιµοποιήσει κάποια σταθερά για το µέγιστο πλήθος φοιτητών Oριακό Pass Ασκηση 2: -Πολύ καλή δουλειά ξανά. Συνεχίστε έτσι. -Ισχύουν οι προηγούµενες επισηµάνσεις. Άσκηση 1η - Δεν έγινε έλεγχος σε περίπτωση που δώσει ο χρήστης 2! Έπρεπε να έχετε και εκείνον τον έλεγχο προκειµένου να τερµατίζει το πρόγραµµα σας - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Λείπει το σχόλιο στην πρώτη γραµµή. - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Δεν κάνετε σωστό έλεγχο για τους χαρακτήρες! Δείτε λύσεις!

24 Οριακό -Σε γενικές γραµµές, πολύ καλή προσπάθεια. Μπράβο. -Οι διαθέσιµες θέσεις καλό είναι να δηλώνονται ως σταθερές µε χρήση define (προτιµότερο) ή const. -Η µεταβλητή temp δεν έχει περιγραφικό όνοµα. -Οµοίως για τις σταθερές. -Τα ονόµατα µεταβλητών choice1 και choice2 δεν είναι περιγραφικά. Είναι κακή πρακτική να συνδέεται ονόµατα µεταβλητών µε αριθµούς... -Οι γραµµές και θέλουν ένα tab δεξιά, για να είναι πιο ευδιάκριτη η στοίχιση στα do-while. Άσκηση 1η - Στοίχιση σχετικά καλή, µην αφήνετε τόσο πολύ κενό όµως! - Δεν κάνετε σωστή µείωση των εισιτηρίων, θα πρέπει να είχατε είτε remainingtic=remainingtic-1; είτε remainingtic--; - Στο case 2 θα πρέπει να έχετε return 0 για να τερµατίσει το πρόγραµµα. Το break σε βγάζει απλώς από τη switch. - Καλό θα ήταν να προσέξετε λίγο πως θα τοποθετήσετε τις do while. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε κάποια σηµεία του κώδικα. - Αρκετά λογικά λάθη. Δε χρειαζόταν να switch µέσα σε switch. - Επίσης δε δίνεται στο χρήστη τη δυνατότητα να δίνει το eidos όπως το έχετε του εισιτηρίου FAIL Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το θέµα του εµαιλ ήταν λάθος, το όνοµα του tgz ήταν λάθος

25 Άσκηση 1η - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \ Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. - Δεν γίνεται σωστός υπολογισµός του ποσοστού! Δείτε λύση. Το πρόγραµµα έχει warnings λόγω σοβαρού λάθους στον κώδικα: χρησιµοποιείτε ανάθεση (=) σε σηµεία που έπρεπε να κάνετε σύγκριση (==) Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && 1640 FAIL Λάθος στη σύνταξη της for: τα τρία της τµήµατα είναι αρχικοποίηση, συνθήκη, ανανέωση µετρητή, κι εσείς έχετε βάλει τη συνθήκη στη θέση της αρχικοποίησης και την την ανανέωση µετρητή στη θέση της συνθήκης. Πάντως αυτό που µάλλον θέλατε να κάνετε είναι έξυπνο. Ο σωστός τρόπος θα ήταν: for ( ; students!= 0 ; students = students-1) και θα ήταν καλή ιδέα µόνο αν µετά δε χρειαζόµασταν το πλήθος των φοιτητών (καθότι θα έχει µηδενιστεί) Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c 1641 FAIL Απαράδεκτα ονόµατα µεταβλητών. Σας είπαµε ειδικά να ΜΗ χρησιµοποιήσετε X, Y, Z κτλ. Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το θέµα του εµαιλ ήταν λάθος, το όνοµα του tgz ήταν λάθος

26 Τα ονόµατα των φακέλων δεν πρέπει να περιέχουν ποτέ κενά. Βάλτε "_" αντί κενού. - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. Μην αφήνετε πολλές κενές γραµµές ανάµεσα στις εντολές. - Επίσης προσέξτε λίγο καλύτερα την αριστερή στοίχιση. Τα include, κεφαλίδα main και το άγγιστρο κλεισίµατος της main θέλουν να είναι στοιχισµένα τέρµα αριστερά. Τα άλλα είναι οκ. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Όταν στέλνετε ασκήσεις, βεβαιωθείτε να έχουν τη σωστή κατάληξη ή όνοµα. Επίσης βεβαιωθείτε ότι ο κώδικας κάνει compile στο µέχρι στιγµής κοµµάτι που γράψατε. Για αυτό λίγο λίγο κώδικα που γράφετε πρέπει να το δοκιµάζετε. - Γενικά κώδικας που δεν κάνει compile δε βαθµολογείται. Δεν ονοµάσατε το φάκελο και το tgz όπως ζητά η εκφώνηση (βάλατε κενά αντί για underscores) - Έχετε σχόλια, µπράβο - Άσχηµη στοίχιση. Τώρα που ξεκινήσαµε σύνθετες δοµές πρέπει να το προσέχετε ιδιαιτέρως αυτό - Καλά ονόµατα µεταβλητών, µπράβο - Σοβαρό λάθος στην πρώτη scanf. Ουσιαστικά λέτε ότι το πρόγραµµα πρέπει να διαβάσει έναν ακέραιο, ένα slash κι ένα n. - Λάθος στη συνθήκη της do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && - Λάθος και στη δεύτερη scanf. Δείτε παραπάνω σχόλιο - Αντί για if, θα µπορούσατε να είχατε switch - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης.

27 1644 -Καλό σχόλιο. -Kαλές µεταβλητές. -Περισσότερη προσοχή στη στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Σωστός ο έλεγχος για τη βαθµολογία µε χρήση while επίσης το printf θα έπρεπε να µπει µέσα στο while - Αντί για if, µια πολύ καλή επιλογή είναι η switch FAIL -Το πρόγραµµα πετάει warning επειδή προσπαθείτε να κάνετε σύγκριση στην if µε (=) και όχι µε (==). -Σε κάθε επάναληψη της for µηδενίζετε τις µεταβλητές, οπότε δεν κρατάτε το συνολικό αριθµό των βαθµών. -Η έξοδό σας δε συµβαδίζει µε την έξοδο που δίνουµε. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Κατά τα άλλα καλό σχόλιο και καλή στοίχιση Δεν εστάλη. Δεν ονοµάσατε το φάκελο και το tgz όπως ζητά η εκφώνηση (βάλατε κενά αντί για underscores) - Έχετε σχόλια, µπράβο - Άσχηµη στοίχιση. Τώρα που ξεκινήσαµε σύνθετες δοµές πρέπει να το προσέχετε ιδιαιτέρως αυτό - Καλά ονόµατα µεταβλητών, µπράβο - Σοβαρό λάθος στην πρώτη scanf. Ουσιαστικά λέτε ότι το πρόγραµµα πρέπει να διαβάσει έναν ακέραιο, ένα slash κι ένα n. - Λάθος στη συνθήκη της do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && - Λάθος και στη δεύτερη scanf. Δείτε παραπάνω σχόλιο - Αντί για if, θα µπορούσατε να είχατε switch - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης.

28 1648 -Πολύ καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) -Καλή δουλειά Ισχύει ό,τι και πάνω. -Καλή δουλειά και πάλι. -Καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Συνηθίζεται να αρχικοποιούµε τις µεταβλητές στην αρχή του κώδικα - Αντί για if, µια πολύ καλή επιλογή είναι η switch.

29 1650 Τα ονόµατα των φακέλων δεν πρέπει να περιέχουν ποτέ κενά. Βάλτε "_" αντί κενού. - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. Μην αφήνετε πολλές κενές γραµµές ανάµεσα στις εντολές. - Επίσης προσέξτε λίγο καλύτερα την αριστερή στοίχιση. Τα include, κεφαλίδα main και το άγγιστρο κλεισίµατος της main θέλουν να είναι στοιχισµένα τέρµα αριστερά. Τα άλλα είναι οκ. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Όταν στέλνετε ασκήσεις, βεβαιωθείτε να έχουν τη σωστή κατάληξη ή όνοµα. Επίσης βεβαιωθείτε ότι ο κώδικας κάνει compile στο µέχρι στιγµής κοµµάτι που γράψατε. Για αυτό λίγο λίγο κώδικα που γράφετε πρέπει να το δοκιµάζετε. - Γενικά κώδικας που δεν κάνει compile δε βαθµολογείται. Άσκηση 1η - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \ Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. - Δεν γίνεται σωστός υπολογισµός του ποσοστού! Δείτε λύση FAIL Δεν εστάλη άσκηση

30 Πολύ καλά. Σωστή στοίχιση, ονόµατα µεταβλητών και µορφοποίηση εξόδου. -Καλή χρήση του do-while. -Το αρχικό σας σχόλιο πρέπει να είναι πιο περιγραφικό. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλή, µπράβο σας. Το µόνο που ξεχάσατε ήταν το \n στην τελευταία printf. -Ισχύουν τα ίδια µε πριν για το σχόλιο. -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Προσοχή στη στοίχιση στη δοµή επιλογής. -Πολύ καλή έξοδος - Αντί για if, µια πολύ καλή επιλογή είναι η switch. -Πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Πολύ καλή δουλειά και πάλι. Άσκηση 1η - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n) - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n και αντίστοιχα count_s κ.τ.λ.)

31 1656 -Δεν έχετε σχόλιο στην αρχή. -Καλά περιγραφικά ονόµατα µεταβλητών και καλή στοίχιση. -Ο έλεγχος στη while είναι λάθος. Εξετάζετε αν είναι µικρότερο του 200 και όχι µεγαλύτερο που ζητάµε. Ακόµα χρησιµοποιείτε && ενώ πρεπει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Αντί για if καλή θα ήταν η χρήση της switch. -Η έξοδο δε συµβαδίζει µε αυτή που σας δώσαµε. πχ Ήθελε ενα \t για την εκτύπωση στην τελευταία σειρά Ισχύει ό,τι και πριν. -Στο τέλος το ποσοστό βγαίνει πάντα 0 επειδή κάνετε διαίρεση µε ακεραίους. Για να είναι σωστό χρειάζεται να βάλετε (double) µπροστά από την πράξη. Αριστες ολες οι ασκήσεις -Πολύ καλά. Σωστή στοίχιση, ονόµατα µεταβλητών και µορφοποίηση εξόδου. -Καλή χρήση του do-while. -Το αρχικό σας σχόλιο πρέπει να είναι πιο περιγραφικό. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλή, µπράβο σας. Το µόνο που ξεχάσατε ήταν το \n στην τελευταία printf. -Ισχύουν τα ίδια µε πριν για το σχόλιο Πολύ καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) -Καλή δουλειά. -Ισχύει ό,τι και πάνω. -Καλή δουλειά και πάλι.

32 Στείλατε χύµα τα αρχεία χωρίς να τα έχετε µέσα σε φάκελο FAIL -Η συνθήκη στη while που µετράτε φοιτητές είναι λάθος. Αφού θέτετε i=0 έπρεπε να είχατε i<students. -Διαβάζετε χαρακτήρα µε λάθος τρόπο. Το σωστό για να αποφύγετε τα προβλήµατα µε τη getchar() θα ήταν scanf(" %c", &grade); -Δεν έχετε printf που να λέει Enter Grade:. -Ο έλεγχος στην τελευταία while για µη αποδεκτούς βαθµούς είναι λάθος. -Μεταβλητές, στοίχιση και σχόλιο οκ. -Η χρήση switch θα ήταν κατάλληλη και αυτή σε σχεση µε την if. -Θα µπορούσατε να δηλώσετε το µέγιστο αριθµό φοιτητών µε σταθερά. -Δείτε την ενδεικτική λύση Έχετε και εδώ τα ίδια λάθη. -Επιπλέον δεν έχετε βάλει (double) µπροστά από την πράξη για το ποσοστό και κάνετε ακέραια διαίρεση. -Δείτε και εδω την ενδεικτική λύση. Άσκηση 1η - Το πρόγραµµα δουλεύει κανονικά. - Στοίχιση σχετικά καλή, µην αφήνετε τόσο πολύ κενό όµως! - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε κάποια σηµεία του κώδικα. - Αρκετά λογικά λάθη. Δε χρειαζόταν να βάλετε while µέσα σε while! Γινόταν µε άλλο τρόπο! Δείτε τις λύσεις! Σε γενικές γραµµές, πολύ καλή προσπάθεια. Μπράβο. -Οι διαθέσιµες θέσεις καλό είναι να δηλώνονται ως σταθερές µε χρήση define (προτιµότερο) ή const. -Η µεταβλητή temp δεν έχει περιγραφικό όνοµα. -Οµοίως για τις σταθερές. -Τα ονόµατα µεταβλητών choice1 και choice2 δεν είναι περιγραφικά. Είναι κακή πρακτική να συνδέεται ονόµατα µεταβλητών µε αριθµούς... -Οι γραµµές και θέλουν ένα tab δεξιά, για να είναι πιο ευδιάκριτη η στοίχιση στα do-while.

33 1664 FAIL Δε στάλθηκαν τα σωστά αρχεία. Συγκεκριµένα στάλθηκε το lab1 Άσκηση 1η Το πρόγραµµα έχει συντακτικά λάθη. Λείπει ένα ερωτηµατικό στο τέλος της do while. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. - H προσπάθεια όµως είναι καλή Οριακό Άσκηση 1η - Το πρόγραµµα σας έχει ένα συντακτικό λάθος γιατί έχει ένα ερωτηµατικό στο µετρητή της for. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε διάφορο (!=). - Το πρόγραµµα σας δεν έχει συντακτικό λάθος. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε το διάφορο

34 Άσκηση 1η Το πρόγραµµα έχει συντακτικά λάθη. - Δεν έχετε ολοκληρώσει το πρόγραµµα αλλά η σκέψη σας είναι σωστή. Δείτε λύση FAIL Δεν εστάλη άσκηση 1671 FAIL Δε στάλθηκαν τα σωστά αρχεία. Συγκεκριµένα στάλθηκε το lab1 Το πρόγραµµα έχει warnings λόγω σοβαρού λάθους στον κώδικα: χρησιµοποιείτε ανάθεση (=) σε σηµεία που έπρεπε να κάνετε σύγκριση (==) Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && 1672 FAIL Λάθος στη σύνταξη της for: τα τρία της τµήµατα είναι αρχικοποίηση, συνθήκη, ανανέωση µετρητή, κι εσείς έχετε βάλει τη συνθήκη στη θέση της αρχικοποίησης και την την ανανέωση µετρητή στη θέση της συνθήκης. Πάντως αυτό που µάλλον θέλατε να κάνετε είναι έξυπνο. Ο σωστός τρόπος θα ήταν: for ( ; students!= 0 ; students = students-1) και θα ήταν καλή ιδέα µόνο αν µετά δε χρειαζόµασταν το πλήθος των φοιτητών (καθότι θα έχει µηδενιστεί) Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c Απαράδεκτα ονόµατα µεταβλητών. Σας είπαµε ειδικά να ΜΗ χρησιµοποιήσετε X, Y, Z κτλ.

35 1673 -Άσκηση 1η: -Έχετε καλά ονόµατα µεταβλητών, ωραία στοίχιση και σχόλια στην αρχή του κώδικα. - Δεν έχετε ορίσει ως σταθερά (µε const ή #define) το συνολικό πλήθος των εισιτηρίων. - Έτσι πως είναι οι βρόχοι, ποτέ δεν εκτελείται η printf("not available"); γιατί η συνθήκη της πρώτης while είναι seats<100. Θα δούλευε κανονικά αν είχατε βάλει <101 ή <=100 εκεί και στην if(seats<=100) να είχατε if(seats<100). - Το "κόλπο" µε το seats=101; είναι κακή τακτική. Αρκούσε ένα return 0 σε αυτό το σηµείο Άσκηση 1η - Σχόλιο στην αρχή της πρότασης δεν υπάρχει (Έχουµε πει τόσες φορές ΝΑ ΥΠΑΡΧΕΙ!). - Αντί για for θα µπορούσες να έχεις do while. Δεν είναι ωραίο να εµφανίζεται 2 φορές το ίδιο µήνυµα της printf. Αν το έκανες µε do while θα µπορούσες να το κάνεις αυτό. - Δε γίνεται έλεγχος για το choice == 2 που σηµαίνει τερµατισµός του προγράµµατος. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. Στη switch case να µην τα έχεις µαζεµένα. - Το πρόγραµµα σου έπρεπε να δίνει στο χρήστη την επιλογή της 1ης άσκησης!!! Ουσιαστικά έπρεπε να ενσωµατώσεις αυτό που έχεις εδώ στη λύση της πρώτης FAIL Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το αρχείο εστάλη "χύµα" και όχι σε tgz

36 1676 Οριακό Pass Άσκηση 1η - Δεν έγινε έλεγχος σε περίπτωση που δώσει ο χρήστης 2! Έπρεπε να έχετε και εκείνον τον έλεγχο προκειµένου να τερµατίζει το πρόγραµµα σας - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Λείπει το σχόλιο στην πρώτη γραµµή. - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Δεν κάνετε σωστό έλεγχο για τους χαρακτήρες! Δείτε λύσεις! Στείλατε χύµα τα αρχεία χωρίς να τα έχετε µέσα σε φάκελο FAIL -Η συνθήκη στη while που µετράτε φοιτητές είναι λάθος. Αφού θέτετε i=0 έπρεπε να είχατε i<students. -Διαβάζετε χαρακτήρα µε λάθος τρόπο. Το σωστό για να αποφύγετε τα προβλήµατα µε τη getchar() θα ήταν scanf(" %c", &grade); -Δεν έχετε printf που να λέει Enter Grade:. -Ο έλεγχος στην τελευταία while για µη αποδεκτούς βαθµούς είναι λάθος. -Μεταβλητές, στοίχιση και σχόλιο οκ. -Η χρήση switch θα ήταν κατάλληλη και αυτή σε σχεση µε την if. -Θα µπορούσατε να δηλώσετε το µέγιστο αριθµό φοιτητών µε σταθερά. -Δείτε την ενδεικτική λύση. -Έχετε και εδώ τα ίδια λάθη. -Επιπλέον δεν έχετε βάλει (double) µπροστά από την πράξη για το ποσοστό και κάνετε ακέραια διαίρεση. -Δείτε και εδω την ενδεικτική λύση.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βαθμός Σχόλια. 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. - Στην συνθήκη

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

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

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος όνοµα αρχείου.το επίθετο βάζουµε όχι το όνοµα. 1058 FAIL -Έχεις συντακτικά λάθη και προειδοποιήσεις στο πρόγραµµα σου. -Υπαρξη σχολίου στη πρώτη γραµµή. -Σωστή δήλωση και χρήση

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

ΑΕΜ ή username. Sheet2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Οριακό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

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 - Απουσία σχολίων στο πρόγραµµα σας. - Τα ονόµατα των µεταβλητών που έχετε επιλέξει είναι περιγραφικά,

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

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

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

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

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

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

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

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

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

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

to post PASS PASS FAIL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται

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

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

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

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

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

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

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

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

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

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

lab3grades οριακό PASS

lab3grades οριακό PASS ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Αποστολή email: διαδικαστικά οκ, αλλά στείλατε την άσκηση µε δέκα λεπτά καθυστέρηση. Στο µέλλον τόσο µεγάλη καθυστέρηση θα είναι λόγος για fail γιατί η άσκηση θα θεωρείται εκπρόθεσµη.

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

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

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

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

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

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

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

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

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

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

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

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

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

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

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

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

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

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 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) Οδηγίες

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

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

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

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

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

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

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

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

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

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

LAB1 ΛΥΣΗ. Ευρετήριο απαντήσεων ανά τµήµα: Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης

LAB1 ΛΥΣΗ. Ευρετήριο απαντήσεων ανά τµήµα: Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης LAB1 ΛΥΣΗ Ευρετήριο απαντήσεων ανά τµήµα: Τµήµα 1 Τµήµα 2 Τµήµα 3 Τµήµα 4 Τµήµα 5 Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης error: invalid preprocessing directive #includes error: syntax error

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

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

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

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

403 FAIL Λάθος στο πακετάρισµα του αρχείου.

403 FAIL Λάθος στο πακετάρισµα του αρχείου. ΑΕΜ ΒΑΘΜΟΣ 357 FAIL Λάθος στο πακετάρισµα του αρχείου. ΣΧΟΛΙΑ 400 FAIL 402 Έπρεπε να στείλετε ΜΟΝΟ το lab11.c Λάθος αλγόριθµος. Αµέσως µόλις συναντήστε κόµβο όπου το curr->number είναι διάφορο του number,

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

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

lab1_grades Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 1389 1413 1414 1417 FAIL - Πάρα πολύ καλή περιγραφή των σφαλµάτων του κώδικα και των διορθώσεών σας - Το λάθος µε τις παρενθέσεις γύρω από τα σχόλια στη γραµµή radius = 4.5; (/*

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

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

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ένθετες

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

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

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

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

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

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

Υπολογισμός - Εντολές Επανάληψης

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

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

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

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

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

9. Εντολές επανάληψηςκαι η εντολή

9. Εντολές επανάληψηςκαι η εντολή Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 9. Εντολές επανάληψηςκαι η εντολή while Ιωάννης Κατάκης Σήμερα o Εισαγωγή στις δομές επανάληψης o Εντολή while o Τελεστές prefix και postfix Δομές ελέγχου προγράμματος

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

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

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

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

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

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

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

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

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

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

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

Δομές ελέγχου & επανάληψης

Δομές ελέγχου & επανάληψης 3 Δομές ελέγχου & επανάληψης Τι θα δούμε σε αυτό το μάθημα 1. δομές ελέγχου 1. η δομή if 2. η δομή switch 2. δομές επανάληψης 1. η δομή while 2. η δομή do...while 3. η δομή for 3. break και continue 4.

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Κανόνες

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

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5.1 Ο βρόχος while Η εντολή while παρέχει έναν μηχανισμό επανάληψης των δηλώσεων όσο μια συνθήκη είναι αληθινή. Χρησιμοποιείται όταν ο αριθμός των επαναλήψεων

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

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

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

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

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

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος Κεφάλαιο 5.1-5.3: Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) 9-1 Δομές Έλεγχου Προγράμματος Μέχρι τώρα είδαμε τις ακόλουθες δομές έλεγχου (program control structure) ενός προγράμματος Α) Sequence π.χ. int

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