ΑΕΜ ή username. Sheet2

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

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

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

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

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

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

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

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

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

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

lab3grades οριακό PASS

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

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

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

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

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

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

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

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

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

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

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

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

to post PASS PASS FAIL

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 3/12/2018, 23:59

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

Προγραμματισμός Ι Εργαστήριο 5ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

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

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

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

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

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

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

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

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

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

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

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Transcript:

ΑΕΜ ή username ΒΑΘΜΟΣ 357 ΣΧΟΛΙΑ - Σωστοί τύποι και περιγραφικά ονόµατα µεταβλητών. Αν το price_euro το είχατε price_euro_liter (όπως κάνατε και µε το price_dollar_gallon) δε θα χρειαζόταν καν διευκρινιστικό σχόλιο. - Καλά σχόλια, θα µπορούσατε να είχατε και κάποια γενικά στο πάνω µέρος του αρχείου. - Ο προσδιορισµός για την µορφοποίηση των αριθµών στο printf έπρεπε να είναι %6.3lf, όχι %2.3lf 400 οριακό - Σωστή η διόρθωση των συντακτικών. Αν εκτελέσετε το πρόγραµµα θα δείτε ότι δε βγάζει σωστά αποτελέσµατα γιατί υπάρχουν δυο λάθη ακόµη. Προσπαθήστε να τα εντοπίσετε πριν συζητήσουµε τη λύση. - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να κάνουµε τις µισές µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 3.28*3.28 δεν είναι ακριβώς 10.76 όπως έχετε γράψει εσείς. Μην ξεχνάτε πως ακόµη κι αν εκτυπώνουµε δύο δεκαδικά ψηφία, θέλουµε οι υπολογισµοί γενικά να γίνονται µε όσο το δυνατό µεγαλύτερη ακρίβεια. - Σωστοί τύποι µεταβλητών. - Απαράδεκτα ονόµατα µεταβλητών! Τι σηµαίνει x, y? Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ -Σωστή µορφοποίηση εξόδου.. - Παρόλο που έχετε αρκετά σχόλια, δεν προσφέρουν κάτι στην κατανόηση του προγράµµατος: *Για τη δήλωση λέτε απλά ότι δηλώνετε δύο µεταβλητές χωρίς καν µια διευκρίνιση για το τι θα αποθηκευτεί σε αυτές (απαραίτητο δεδοµένου ότι δεν είναι περιγραφικά τα ονόµατα). Το ότι γίνεται δήλωση σε αυτό το σηµείο είναι προφανές σε κάποιον που διαβάζει τον κώδικα. Οµοίως για τα scanf, printf. *Στο σηµείο που κάνετε τις πράξεις λέτε "Κάνει τη µετατροπή που ζητήθηκε", αλλά αυτός που θα διαβάσει τον κώδικά σας δεν έχει απαραίτητα πρόσβαση στο κείµενο των προδιαγραφών. Θα ήταν πολύ πιο χρήσιµο να λέτε ακριβώς τι είδους µετατροπή γίνεται, και τι είναι οι ποσότητες 1.378 και 10.76 *Καλό είναι να υπάρχουν και γενικά σχόλια προγράµµατος στην αρχή. *Τέλος, προτιµάµε τα σχόλια να γράφονται µε λατινικούς χαρακτήρες. - Δεν ολοκληρώθηκε. Καλό είναι να την προσπαθήσετε στο σπίτι, πριν τη συζητήσουµε στην τάξη. Page 1

402 403 - Θα ήταν καλύτερα να είχατε δηλώσει τις µεταβλητές ως double (όπως πρότεινε η εκφώνηση) για µεγαλύτερη ακρίβεια. - Καλή προσπάθεια στην ονοµασία µεταβλητών. Εναλλακτικά, θα µπορούσατε να είχατε ονόµατα όπως euros_sq_m, dollars_sq_ft τα οποία περιλαµβάνουν και την "πληροφορία" για την έκταση - Σωστό σχόλιο. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf.Κατά τα άλλα, σωστή µορφοποίηση εξόδου. - Ανύπαρκτη στοίχιση! Προσέξτε το! - Καλογραµµένο errors.txt - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο. - Σωστοί τύποι και περιγραφικά ονόµατα µεταβλητών. Αν το price_euro το είχατε price_euro_liter (όπως κάνατε και µε το price_dollar_gallon) δε θα χρειαζόταν καν διευκρινιστικό σχόλιο. - Καλά σχόλια, θα µπορούσατε να είχατε και κάποια γενικά στο πάνω µέρος του αρχείου. - Ο προσδιορισµός για την µορφοποίηση των αριθµών στο printf έπρεπε να είναι %6.3lf, όχι %2.3lf 1560 FAIL - Σωστή η διόρθωση των συντακτικών. Αν εκτελέσετε το πρόγραµµα θα δείτε ότι δε βγάζει σωστά αποτελέσµατα γιατί υπάρχουν δυο λάθη ακόµη. Προσπαθήστε να τα εντοπίσετε πριν συζητήσουµε τη λύση. - Αρχικά, ο βαθµός σας ήταν fail επειδή δεν κατασκευάσατε σωστά το tgz αρχείο. Επειδή αυτό είναι το πρώτο εργαστήριο, τελικά αποφασίσαµε να βαθµολογήσουµε τις ασκήσεις σας, αλλά έχετε υπόψη πως αυτό δε θα ξανασυµβεί. - Μην ξεχνάτε να ελέγχετε το αντίγραφο του email που αποστέλλεται στο δεύτερο µέλος για να δείτε αν υπάρχει το συνηµµένο κι αν είναι σωστό. - Προσέξτε την εµφάνιση του προγράµµατος, ώστε να είναι αναγνώσιµο: * Οι εντολές στις γραµµές 2 έως και 15 έπρεπε να είναι όλες ένα tab πιο αριστερά. * Τα σχόλια δεν πρέπει να επεκτείνονται πολύ µακρυά σε κάθε γραµµή. Αν χρειάζεται να γράψετε αρκετά σχόλια, βάλτε τα σε µορφή παραγράφου και όχι δεξιά από κώδικα, αλλά µια γραµµή κάτω ή πάνω. * Τα σχόλια προγράµµατος µπαίνουν στη αρχή (πριν το #include) *Να αφήνετε πάντα µια κενή γραµµή πριν το int main για να φαίνεται καθαρά πού ξεκινά η συνάρτηση. - Σωστοί υπολογισµοί - Καλή προσπάθεια στα σχόλια αλλά δεν είναι πολύ αποτελεσµατικά. Περιµένετε το πρόγραµµα να διαβαστεί από κάποιον που ξέρει C, οπότε δεν υπάρχει λόγος να εξηγήσετε τι σηµαίνει %7.3lf. Από την άλλη, κάποιος που διαβάζει το πρόγραµµα δεν έχει ιδέα τι είναι τα νούµε 3.785, 0.727 οπότε θα ήταν καλό να έχετε ένα σχόλιο που να εξηγεί τη µετατροπή. - Σωστοί τύποι και ονόµατα µεταβλητών - Σωστή έξοδος. - Δεν ολοκληρώθηκε. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Page 2

1614 FAIL - Αρχικά, ο βαθµός σας ήταν fail επειδή δεν κατασκευάσατε σωστά το tgz αρχείο. Επειδή αυτό είναι το πρώτο εργαστήριο, τελικά αποφασίσαµε να βαθµολογήσουµε τις ασκήσεις σας, αλλά έχετε υπόψη πως αυτό δε θα ξανασυµβεί. - Μην ξεχνάτε να ελέγχετε το αντίγραφο του email που αποστέλλεται στο δεύτερο µέλος για να δείτε αν υπάρχει το συνηµµένο κι αν είναι σωστό. - Προσέξτε τη στοίχιση. Το κοµµάτι µετά από τη µετατροπή δεν είναι στοιχισµένο. - Σωστοί υπολογισµοί - Καλά σχόλια. Επειδή τα ονόµατα των µεταβλητών δεν είναι πολύ περιγραφικά, καλό θα ήταν να είχατε κι εκεί ένα σχόλιο που να εξηγεί τι είναι η καθεµιά (αλλά ακόµη καλύτερο θα ήταν να είχατε περιγραφικά ονόµατα) Σωστοί τύποι αλλά τα ονόµατα µεταβλητών δεν είναι πολύ περιγραφικά. Καλά ονόµατα θα ήταν euro_per_liter ή euro_liter ή price_eu_liter. - Γενικά σωστή έξοδος, αλλά το προσδιοριστικό τύπου έπρεπε να είναι %6.3lf 1721 1725 - Δεν έγινε. - Σωστά αποτελέσµατα - Σωστοί τύποι µεταβλητών - Περιγραφικά ονόµατα µεταβλητών, µπράβο. Όταν έχετε ένα όνοµα µεταβλητής που αποτελείτε από πολλές λέξεις, µπορείτε να τις ξεχωρίζετε είτε µε ένα _ είτε βάζοντας κεφαλαία τα πρώτα γράµµατα κάθε λέξης. πχ. square_feet ή squarefeet. Επίσης, αν βλέπετε ότι το όνοµα γίνεται υπερβολικά µεγάλο, µπορείτε να κόβετε λέξεις όπως in, of. - Καλή προσπάθεια µε τα σχόλια, αλλά κάποια από αυτά δεν προσφέρουν κάτι στην κατανόηση του προγράµµατος. Για παράδειγµα, τα σχόλια για τις µεταβλητές δε χρειάζονται γιατί έχετε πολύ περιγραφικά ονόµατα. Επίσης, τα σχόλια για τις scanf, printf δεν είναι απαραίτητα γιατί όλοι ξέρουν ότι η scanf διαβάζει και η printf γράφει δεδοµένα. Τα σχόλια για τις µετατροπές είναι χρήσιµα, και θα µπορούσατε να είχατε σηµειώσει και τι ακριβώς είναι το 1.378 κτλ. Τέλος, συνήθως βάζουµε και κάποια γενικά σχόλια προγράµµατος στην αρχή (δείτε το σχετικό φυλλάδιο). - Για την εκτύπωση των αριθµών, το προσδιοριστικό τύπου έπρεπε να είναι %7.2lf κι όχι απλά %.2lf - Πολύ καλή δουλειά, µπράβο. Σας ξέφυγε ένα λάθος. Μπορείτε να το καταλάβετε αν ελέγξετε την ορθότητα των αποτελεσµάτων (για παράδειγµα, κάποιος που έχει πάρει 100 σε όλες τις ασκήσεις κτλ, θα έπρεπε να έχει τελικό βαθµό 100, ενώ το πρόγραµµά σας βγάζει 50. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε πού είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Επίσης, το προσδιοριστικό τύπου για χαρακτήρες είναι %c κι όχι %C. - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.128083 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστό αποτέλεσµα - Σωστοί τύποι µεταβλητών. Τα ονόµατα όµως δεν είναι καθόλου περιγραφικά. Καλά ονόµατα για τις µεταβλητές θα ήταν euros_sq_m, dollars_sq_ft. - Μη βάζετε ποτέ σχόλια στο µέσον εντολών (έπρεπε να τα έχετε µετά το ; ) - Χρειάζονται σχόλια που να εξηγούν πώς γίνεται η µετατροπή, καθώς και γενικά σχόλια προγράµµατος. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf. Εφόσον εκτυπώνετε το χαρακτήρα tab µε \t δεν υπήρχε λόγος για τα κενά. - Καλή δουλειά, µπράβο. Ένα λαθάκι υπάρχει ακόµη. Προσπαθήστε να το βρείτε πριν σας δοθεί η λύση. - Στο errors.txt έπρεπε να καταγράφετε και τη διόρθωση που κάνατε. Page 3

1736 - Σωστοί τύποι µεταβλητών. Τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, για παράδειγµα, euros_sq_m, dollars_sq_ft. Αν ήταν πιο περιγραφικά δε θα χρειαζόταν να γράψετε και διευκρινιστικό σχόλιο για το τι ποσότητες αποθηκεύονται σε αυτές.. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf. - Καλά σχόλια, αλλά τα γενικά σχόλια προγράµµατος (µε τα ονόµατά σας) έπρεπε να βρίσκονται σε ξεχωριστή γραµµή (όχι στην ίδια µε το #include) στην αρχή του αρχείου. Έτσι όπως τα έχετε κολληµένα ανάµεσα στο #include και στο int main δε φαίνεται καθαρά πού ξεκινά η main. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. 1747 οριακό - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.128083 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστό αποτέλεσµα, αλλά περίεργα "κενά" στις εντολές. Δείτε τη λύση για το πώς γράφουµε συνήθως. - Σωστοί τύποι µεταβλητών. Τα ονόµατα δεν είναι πολύ περιγραφικά. Καλύτερες επιλογές θα ήταν euros_sq_m, dollars_sq_ft κτλ. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf και το tab έπρεπε να εκτυπώνεται πριν κάθε αριθµό,όχι µετά. 1752 - Καλή προσπάθεια, αλλά υπάρχουν αρκετά λάθη ακόµη. Προσπαθήστε να τα βρείτε πριν σας δοθεί η λύση. - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.12808 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστό αποτέλεσµα - Σωστοί τύποι µεταβλητών. Τα ονόµατα είναι µεν πολύ περιγραφικά αλλά και αρκετά µεγάλα ώστε τελικά να δυσκολεύουν την ανάγνωση του κώδικα. Μια καλύτερη ονοµασία θα ήταν euro_ana_tetr_metro, dollaria_ana_tetr_podi. - Καλά σχόλια. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. - Καλή προσπάθεια, αλλά υπάρχουν µερικά λάθη ακόµη. Προσπαθήστε να τα βρείτε πριν σας δοθεί η λύση. Page 4

1753 οριακό - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.128083 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστό αποτέλεσµα, αλλά περίεργα "κενά" στις εντολές. Δείτε τη λύση για το πώς γράφουµε συνήθως. - Σωστοί τύποι µεταβλητών. Τα ονόµατα δεν είναι πολύ περιγραφικά. Καλύτερες επιλογές θα ήταν euros_sq_m, dollars_sq_ft κτλ. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf και το tab έπρεπε να εκτυπώνεται πριν κάθε αριθµό,όχι µετά. - Καλή προσπάθεια, αλλά υπάρχουν αρκετά λάθη ακόµη. Προσπαθήστε να τα βρείτε πριν σας δοθεί η λύση. 1770 1777 1784 - Σωστοί τύποι µεταβλητών. Τα ονόµατα δεν είναι πολύ περιγραφικά. Εναλλακτικά ονόµατα είναι, euro_per_liter ή euro_liter ή price_eu_liter. - Καλά σχόλια στις εντολές - µην ξεχνάτε και τα σχόλια προγράµµατος. - Καλή στοίχιση - Σωστή µορφοποίηση εξόδου. - Σωστή καταγραφή και διόρθωση λαθών, µπράβο. - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι αρκετά περιγραφικά. Καλά ονόµατα που θα µπορούσατε να είχατε χρησιµοποιήσει είναι euros_sq_m, dollars_sq_ft. Με περιγραφικά ονόµατα δε χρειάζεται και να βάζετε διευκρινιστικά σχόλια για το τι αναπαριστά κάθε µεταβλητή. - Καλή στοίχιση. - Σωστή µορφοποίηση εξόδου. - Καλά σχόλια. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. - Πολύ καλή δουλειά, µπράβο! - Λάθος υπολογισµός. Δε λαµβάνετε υπόψη ότι αναφερόµαστε σε τετραγωνικά. - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι περιγραφικά. Καλά ονόµατα για τις µεταβλητές θα ήταν euros_sq_m, dollars_sq_ft,κτλ. Σε κάθε περίπτωση, µη χρησιµοποιείτε ποτέ µεταβλητές του ενός γράµµατος (εκτός από µία εξαίρεση που θα µάθετε αργότερα) γιατί είναι αδύνατο για τον αναγνώστη να καταλάβει τι είναι η κάθε µία. - Καλά σχόλια για την επεξήγηση των µετατροπών, αλλά αυτά στα printf/scanf είναι περιττά: δεν προσφέρουν κάποια πληροφορία που δεν είναι ήδη προφανής από τον κώδικα. Δεν υπάρχουν γενικά σχόλια προγράµµατος. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf.Επίσης, δεν εκτυπώνετε το χαρακτήρα tab που ζητούσε η εκφώνηση. - Συνήθως αφήνουµε µια κενή γραµµή ανάµεσα στο #include<stdio.h> και στο int main. - Το errors.txt είναι λίγο χαώδες, αλλά οι διορθώσεις των συντακτικών λαθών είναι σωστές. Σας έχουν µείνει µόνο κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε πού είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Page 5

1806 - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι αρκετά περιγραφικά. Καλά ονόµατα που θα µπορούσατε να είχατε χρησιµοποιήσει είναι euros_sq_m, dollars_sq_ft. Με περιγραφικά ονόµατα δε χρειάζεται και να βάζετε διευκρινιστικά σχόλια για το τι αναπαριστά κάθε µεταβλητή. - Καλή στοίχιση. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf. Το putchar('\n'); είναι πολύλογο. Γιατί να µην συµπεριλάβετε το \n στις αντίστοιχες printf? Δηλαδή: printf("price in euros/sq.meter : \t %4.2lf\n", eur); - Καλά σχόλια. Τα γενικά σχόλια προγράµµατος (ονόµατα προγραµµατιστών κτλ) µπαίνουν στην αρχή (πριν το #include) - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. 1811 - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να κάνουµε τις µισές µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 3.28*3.28 που θα υπολόγιζε ο υπολογιστής σας δεν είναι απαραίτητα ακριβώς 10.7584. - Σωστοί τύποι µεταβλητών. Οι δηλώσεις συνήθως γίνονται στην αρχή κάθε συνάρτησης (οπότε και το k έπρεπε να είναι στην αρχή). - Οι δύο πρώτες µεταβλητές έχουν καλά ονόµατα αν και θα βοηθούσε ένα διευκρινιστικό σχόλιο. Το k όµως είναι απαράδεκτο. Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). -Σωστή µορφοποίηση εξόδου.. - Διαβάσατε την εκφώνηση? Αυτό που καταγράψατε στο errors.txt δεν έχει καµία σχέση µε το ζητούµενο. Page 6

1813 - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι αρκετά περιγραφικά. Καλά ονόµατα που θα µπορούσατε να είχατε χρησιµοποιήσει είναι euros_sq_m, dollars_sq_ft. Με περιγραφικά ονόµατα δε χρειάζεται και να βάζετε διευκρινιστικά σχόλια για το τι αναπαριστά κάθε µεταβλητή. - Καλή στοίχιση. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf. Το putchar('\n'); είναι πολύλογο. Γιατί να µην συµπεριλάβετε το \n στις αντίστοιχες printf? Δηλαδή: printf("price in euros/sq.meter : \t %4.2lf\n", eur); - Καλά σχόλια. Τα γενικά σχόλια προγράµµατος (ονόµατα προγραµµατιστών κτλ) µπαίνουν στην αρχή (πριν το #include) 1816 οριακό - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο - Λάθος είσοδος δεδοµένων. Έπρεπε να διαβάζετε έναν µόνο αριθµό ο οποίος αναπαριστά πόσα ευρώ κοστίζει το τετραγωνικό µέτρο. - Λάθος υπολογισµοί (αν αναρωτιέστε, το αποτέλεσµα inf σηµαίνει ότι κάνατε την πράξη 0/0 ) - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα είναι απαράδεκτα. Μη χρησιµοποιείτε ποτέ µεταβλητές του ενός γράµµατος (εκτός από µία εξαίρεση που θα µάθετε αργότερα) γιατί είναι αδύνατο για τον αναγνώστη να καταλάβει τι είναι η κάθε µία. Ακόµη κι αν υπάρχουν επεξηγηµατικά σχόλια στη δήλωση µεταβλητών, δε λύνεται το πρόβληµα γιατί αν το πρόγραµµα είναι µεγάλο, δε µπορεί ο αναγνώστης να πηγαίνει κάθε φορά στην πρώτη σελίδα (ή όπου αλλού είναι η δήλωση) για να ξαναθυµηθεί τι είναι κάθε µεταβλητή. Καλά ονόµατα για τις µεταβλητές θα ήταν euros_sq_m, dollars_sq_ft,κτλ. - Μην αφήνετε κενή γραµµή ανάµεσα σε κάθε δύο εντολές. Δείτε πώς είναι γραµµένη η λύση. - Θα ήταν χρήσιµο να είχατε σχόλια που να εξηγούν τι γίνεται στις γραµµές 11, 13 καθώς και γενικά σχόλια προγράµµατος. - Σωστή µορφοποίηση εξόδου. Θα µπορούσατε να είχατε σπάσει το τελικό printf στα δύο, για να µην είναι πολύ µεγάλη η γραµµή κώδικα. - Στο errors.txt έπρεπε να είχατε καταγράψει και τα αντίστοιχα µηνύµατα λάθους του compiler. Πολύ καλή δουλειά κατά τα άλλα. Page 7

1823 οριακό - Λάθος είσοδος δεδοµένων. Έπρεπε να διαβάζετε έναν µόνο αριθµό ο οποίος αναπαριστά πόσα ευρώ κοστίζει το τετραγωνικό µέτρο. - Λάθος υπολογισµοί (αν αναρωτιέστε, το αποτέλεσµα inf σηµαίνει ότι κάνατε την πράξη 0/0 ) - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα είναι απαράδεκτα. Μη χρησιµοποιείτε ποτέ µεταβλητές του ενός γράµµατος (εκτός από µία εξαίρεση που θα µάθετε αργότερα) γιατί είναι αδύνατο για τον αναγνώστη να καταλάβει τι είναι η κάθε µία. Ακόµη κι αν υπάρχουν επεξηγηµατικά σχόλια στη δήλωση µεταβλητών, δε λύνεται το πρόβληµα γιατί αν το πρόγραµµα είναι µεγάλο, δε µπορεί ο αναγνώστης να πηγαίνει κάθε φορά στην πρώτη σελίδα (ή όπου αλλού είναι η δήλωση) για να ξαναθυµηθεί τι είναι κάθε µεταβλητή. Καλά ονόµατα για τις µεταβλητές θα ήταν euros_sq_m, dollars_sq_ft,κτλ. - Μην αφήνετε κενή γραµµή ανάµεσα σε κάθε δύο εντολές. Δείτε πώς είναι γραµµένη η λύση. - Θα ήταν χρήσιµο να είχατε σχόλια που να εξηγούν τι γίνεται στις γραµµές 11, 13 καθώς και γενικά σχόλια προγράµµατος. - Σωστή µορφοποίηση εξόδου. Θα µπορούσατε να είχατε σπάσει το τελικό printf στα δύο, για να µην είναι πολύ µεγάλη η γραµµή κώδικα. - Στο errors.txt έπρεπε να είχατε καταγράψει και τα αντίστοιχα µηνύµατα λάθους του compiler. Πολύ καλή δουλειά κατά τα άλλα. 1829 1830 - Σωστοί τύποι µεταβλητών και καλά ονόµατα. - Λάθος υπολογισµός. Δε λαµβάνεις υπόψη ότι αναφερόµαστε σε τετραγωνικά. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf. - Καλά σχόλια. - Δεν παραδόθηκε. - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.12808 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστοί τύποι µεταβλητών. - Τα ονόµατα των µεταβλητών δεν είναι πολύ περιγραφικά. Είναι καλό που έχετε διευκρινιστικό σχόλιο, αλλά σε µεγάλα προγράµµατα ο αναγνώστης δε µπορεί να ψάχνει κάθε φορά τη δήλωση για να δει τι ακριβώς αναπαριστά µια µεταβλητή. Είναι πολύ καλύτερα να έχετε ένα αρκετά περιγραφικό όνοµα, για παράδειγµα, euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ -Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf. Κατά τα άλλα σωστή µορφοποίηση εξόδου.. - Κατάλληλα σχόλια. Καλό θα ήταν να είχατε και κάποια γενικά σχόλια προγράµµατος. - Πολύ καλή δουλειά, µπράβο Page 8

1835 οριακό - Σωστή χρήση σταθερών, µπράβο. - Σωστοί τύποι µεταβλητών και σταθερών αλλά τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, για παράδειγµα, euros_sq_m, dollars_sq_ft. - Λάθος υπολογισµός. Δε λαµβάνετε υπόψη ότι αναφερόµαστε σε τετραγωνικά. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf. Γιατί έχετε τόσα πολλά " στις printf? - Το errors.txt περιέχει πολύ λίγες διορθώσεις. Προσπαθήστε να ολοκληρώσετε την άσκηση πριν δείτε τη λύση. - Το lab2b.c περιέχει τη λύση της πρώτης άσκησης... 1841 - Σωστοί τύποι µεταβλητών. Τα ονόµατα δεν είναι πολύ περιγραφικά. Εναλλακτικά ονόµατα είναι, euro_per_liter ή euro_liter ή price_eu_liter. - Καλά σχόλια στις εντολές - µην ξεχνάτε και τα σχόλια προγράµµατος. - Καλή στοίχιση - Σωστή µορφοποίηση εξόδου. - Σωστή καταγραφή και διόρθωση λαθών, µπράβο. Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. 1845 - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να κάνουµε τις µισές µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 3.28*3.28 που θα υπολόγιζε ο υπολογιστής σας δεν είναι απαραίτητα ακριβώς 10.7584. - Σωστοί τύποι µεταβλητών. Οι δηλώσεις συνήθως γίνονται στην αρχή κάθε συνάρτησης (οπότε και το k έπρεπε να είναι στην αρχή). - Οι δύο πρώτες µεταβλητές έχουν καλά ονόµατα αν και θα βοηθούσε ένα διευκρινιστικό σχόλιο. Το k όµως είναι απαράδεκτο. Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). -Σωστή µορφοποίηση εξόδου.. - Διαβάσατε την εκφώνηση? Αυτό που καταγράψατε στο errors.txt δεν έχει καµία σχέση µε το ζητούµενο. 1848 - Σωστοί τύποι και καλά ονόµατα µεταβλητών, αλλά θα µπορούσαν να είναι πιο περιγραφικά (για να ξεχωρίζει ότι η µία εκφράζει τιµή ανά λίτρο ενώ η άλλη ανά γαλόνι). Για παράδειγµα, euro_per_liter ή euro_liter ή price_eu_liter. - Καλά σχόλια - Καλή στοίχιση - Στην τελική εκτύπωση έπρεπε να έχετε κι ένα χαρακτήρα tab - Η άσκηση διορθώθηκε αλλά δεν έχετε καταγράψει τις διορθώσεις στο errors.txt Page 9

1859 1863 1872 - Σωστοί τύποι µεταβλητών. Τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, για παράδειγµα, euros_sq_m, dollars_sq_ft. Αν ήταν πιο περιγραφικά δε θα χρειαζόταν να γράψετε και διευκρινιστικό σχόλιο για το τι ποσότητες αποθηκεύονται σε αυτές.. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %4.2lf. - Καλά σχόλια, αλλά τα γενικά σχόλια προγράµµατος (µε τα ονόµατά σας) έπρεπε να βρίσκονται σε ξεχωριστή γραµµή (όχι στην ίδια µε το #include) στην αρχή του αρχείου. Έτσι όπως τα έχετε κολληµένα ανάµεσα στο #include και στο int main δε φαίνεται καθαρά πού ξεκινά η main. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να κάνουµε τις µισές µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 3.28*3.28 δεν είναι ακριβώς 10.764 όπως έχετε γράψει εσείς. Μην ξεχνάτε πως ακόµη κι αν εκτυπώνουµε δύο ή τρία δεκαδικά ψηφία, θέλουµε οι υπολογισµοί γενικά να γίνονται µε όσο το δυνατό µεγαλύτερη ακρίβεια. - Σωστοί τύποι µεταβλητών. - Καλή προσπάθεια στην ονοµασία µεταβλητών, αλλά δεν είναι προφανές από το όνοµα ότι αναφερόµαστε και τιµή ανά µονάδα έκτασης. Καλύτερα ονόµατα θα ήταν euros_sq_m, dollars_sq_ft. Γενικά προσπαθήστε να βρίσκετε αρκετά περιγραφικά ονόµατα ώστε να µην αισθάνεστε την ανάγκη να προσθέσετε διευκρινιστικά σχόλια. - Σωστά σχόλιο. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. Το σχόλιο στο printf δεν προσφέρει κάτι που δεν είναι προφανές από την εντολή (και µάλλον µπερδεύει - τι είναι ο πίνακας?), οπότε θα µπορούσε να παραληφθεί. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf. Το : και το tab έπρεπε να εκτυπώνονται πριν κάθε αριθµό,όχι µετά. - Ανύπαρκτη στοίχιση! Προσέξτε το! - Καλογραµµένο errors.txt - Πολύ καλή δουλειά, ένα λαθάκι σας έµεινε µόνο. Προσπαθήστε να το βρείτε πριν δείτε τη λύση. - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι αρκετά περιγραφικά. Καλά ονόµατα που θα µπορούσατε να είχατε χρησιµοποιήσει είναι euros_sq_m, dollars_sq_ft. Με περιγραφικά ονόµατα δε χρειάζεται και να βάζετε διευκρινιστικά σχόλια για το τι αναπαριστά κάθε µεταβλητή. - Καλή στοίχιση. - Σωστή µορφοποίηση εξόδου. - Καλά σχόλια. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. - Πολύ καλή δουλειά, µπράβο! Page 10

aargyri akritikou akyritsakas FAIL - Αρχικά, ο βαθµός σου ήταν fail επειδή δεν κατασκεύασες σωστά το tgz αρχείο. Επειδή αυτό είναι το πρώτο εργαστήριο, τελικά αποφασίσαµε να βαθµολογήσουµε τις ασκήσεις, αλλά έχε υπόψη πως αυτό δε θα ξανασυµβεί. - Μην ξεχνάς να ελέγχεις το αντίγραφο του email που στέλνεις στον εαυτό σου για να δεις αν υπάρχει το συνηµµένο κι αν είναι σωστό. - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Επιπλέον, ο υπολογισµός είναι λάθος. - Σωστοί τύποι και ονόµατα µεταβλητών - Το προσδιοριστικό τύπου έπρεπε να είναι %6.3lf και όχι %2.3lf - Δεν παραδόθηκε. Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Σωστές πράξεις. - Απαράδεκτα ονόµατα µεταβλητών! Τι σηµαίνει x, y? Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ - Σωστά και απαραίτητα τα σχόλια για τις µεταβλητές δεδοµένων των ονοµάτων x,y, αν και θα ήταν πολύ προτιµότερο να είχατε περιγραφικά ονόµατα µεταβλητών. Παρόλο που έχετε αρκετά σχόλια, πολλά από αυτά δεν προσφέρουν κάτι στην κατανόηση του προγράµµατος. Για παράδειγµα, στη γραµµή 7 είναι προφανές ότι γίνεται κάποιου είδους µετατροπή. Θα ήταν πιο χρήσιµο το σχόλιο αν εξηγούσε τι είναι τα 3.28, 1.378. Τέλος, καλό είναι να έχετε και σχόλια προγράµµατος. - Σωστή η µορφοποίηση εξόδου. - Δεν έγινε Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. - Σωστοί υπολογισµοί - Σωστοί τύποι µεταβλητών. Τα ονόµατα των µεταβλητών δεν είναι πολύ περιγραφικά. Δεν είναι ξεκάθαρο από τα ονόµατα τι διαφορά έχουν πχ το price από το priced από το fpriced.καλά ονόµατα θα ήταν τα : euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ - Λάθος προσδιοριστικό τύπου στις printf. Έπρεπε να είναι 7.2 - Διορθώσατε όλα τα συντακτικά λάθη. Προσπαθήστε να εντοπίσετε και τα υπόλοιπα ώστε να βγαίνουν σωστά αποτελέσµατα. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. - Στο errors.txt λείπουν κάποιες πληροφορίες (σε κάποια σηµεία καταγράφετε το πριν και µετά, σε άλλα όχι) Page 11

amarelas angelo.s.f.p apmichalop οριακό - Λάθος υπολογισµοί. Δε λαµβάνετε υπόψη ότι αναφερόµαστε σε τετραγωνικά κι έχετε ανάποδα τις πράξεις. - Θα ήταν καλύτερα να είχατε δηλώσει τις µεταβλητές ως double για µεγαλύτερη ακρίβεια (όπως πρότεινε κι εκφώνηση) - Τα ονόµατα των µεταβλητών δεν είναι πολύ περιγραφικά. Είναι καλό που έχετε διευκρινιστικό σχόλιο, αλλά σε µεγάλα προγράµµατα ο αναγνώστης δε µπορεί να ψάχνει κάθε φορά τη δήλωση για να δει τι ακριβώς αναπαριστά µια µεταβλητή. Είναι πολύ καλύτερα να έχετε ένα αρκετά περιγραφικό όνοµα, για παράδειγµα, euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ - Σωστή µορφοποίηση εξόδου. - Ανύπαρκτη στοίχιση! Προσέξτε το! - Τα σχόλια για τη µετατροπή θα έπρεπε να έχουν λίγο περισσότερη πληροφορία για το πώς και τι µετατρέπεται. Επίσης θα ήταν καλό να έχετε και γενικά σχόλια προγράµµατος - - Καλή προσπάθεια γενικά, αλλά έχετε κάποια λαθάκια στις διορθώσεις σας και δεν έχουν γίνει όλες. Παράδοση άσκησης: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει να στέλνει κι ένα αντίγραφο στο συνεργάτη του. Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Λάθος πράξεις. Ξεχάσατε ότι αναφερόµαστε σε τετραγωνικά!, εκτός από το return 0 στο τέλος το οποίο έπρεπε να βρίσκεται ένα tab πιο δεξιά (στην ίδια ευθεία µε το printf). - Μη περιγραφικά ονόµατα µεταβλητών. Το doll υπονοεί ότι αναφερόµαστε σε κούκλες... Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euro_liter, dollar_gallon ή ακόµη και euro_per_liter, dollar_pre_gallon. - Σωστοί τύποι µεταβλητών. - Το προσδιοριστικό τύπου για τους αριθµούς που εκτυπώνονται έπρεπε να είναι %7.2lf κι όχι %9.2lf - Δεν παραδόθηκε Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Σωστοί τύποι µεταβλητών αλλά τα ονόµατα δεν είναι αρκετά περιγραφικά. Να αποφεύγετε ονόµατα πολλαπλών µεταβλητών που ξεχωρίζουν µε ένα ψηφίο (1, 2 κτλ.). Πε euros_sq_m, dollars_sq_ft. - Το προσδιοριστικό τύπου για την εκτύπωση των αριθµών έπρεπε να είναι %7.2lf κι όχι %8.2lf - Καλά σχόλια. - Δεν παραδόθηκε. Page 12

apolychronou aptheodor - Σκοπός του προγράµµατος είναι να κάνει ο υπολογιστής τις πράξεις, κι όχι να τις κάνουµε µε το κοµπιουτεράκι. Πέρα από το ότι δε φαίνεται όλη η µέθοδός σας στο πρόγραµµα, τίθεται και θέµα ακρίβειας. Το 1.378/(3.28*3.28) που θα υπολόγιζε ο υπολογιστής σας δεν είναι 0.128083 αλλά 0.12808596073765615708. Επιπλέον, αν αλλάξει η ισοτιµία και χρειαστεί να ανανεώσετε το πρόγραµµά σας, τώρα θα πρέπει να ξανακάνετε τις πράξεις µε το κοµπιουτεράκι ενώ θα αρκούσε να αλλάξετε ένα µόνο νούµερο αν τα είχατε αναλυτικά. - Σωστό αποτέλεσµα - Σωστοί τύποι µεταβλητών. Τα ονόµατα όµως δεν είναι καθόλου περιγραφικά. Καλά ονόµατα για τις µεταβλητές θα ήταν euros_sq_m, dollars_sq_ft. - Μη βάζετε ποτέ σχόλια στο µέσον εντολών (έπρεπε να τα έχετε µετά το ; ) - Χρειάζονται σχόλια που να εξηγούν πώς γίνεται η µετατροπή, καθώς και γενικά σχόλια προγράµµατος. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf. Εφόσον εκτυπώνετε το χαρακτήρα tab µε \t δεν υπήρχε λόγος για τα κενά. - Καλή δουλειά, µπράβο. Ένα λαθάκι υπάρχει ακόµη. Προσπαθήστε να το βρείτε πριν σας δοθεί η λύση. - Στο errors.txt έπρεπε να καταγράφετε και τη διόρθωση που κάνατε. - Πολύ καλή δουλειά, µπράβο - Σωστοί υπολογισµοί. - Σωστοί τύποι και πολύ καλά ονόµατα µεταβλητών. Συνήθως τις δηλώσεις τις βάζουµε στην αρχή της συνάρτησης. - Σωστή χρήση σταθερών - Σωστή µορφοποίηση εξόδου. - Καλός σχολιασµός - Πολύ καλή δουλειά, µπράβο. asyrogiann οριακό.. - Σωστή µορφοποίηση εξόδου. - Δεν υπάρχουν καθόλου σχόλια. Επειδή έχεις χρησιµοποιήσει µόνο µια µεταβλητή, είναι απαραίτητο να έχεις ένα διευκρινιστικό σχόλιο για το τι ακριβώς αποθηκεύεται σε αυτή σε κάθε περίπτωση. Ένα δεύτερο σχόλιο έπρεπε να συνοδεύει τις αριθµητικές πράξεις γιατί δεν είναι προφανές τι είναι τα 0.727, 3.785. Τέλος, καλό είναι να έχεις και µερικά γενικά σχόλια προγράµµατος (δες το σχετικό φυλλάδιο). Θα µπορούσες να έχεις παραλείψει τα σχόλια για το τι αποθηκεύεται στην price αν έχεις χρησιµοποιήσει δύο µεταβλητές µε πιο περιγραφικά ονόµατα, για παράδειγµα price_eu_liter, price_dollar_gallon. - Δεν παραδόθηκε. Καλό είναι να την προσπαθήσεις στο σπίτι, πριν τη συζητήσουµε στην τάξη. Page 13

atsamadias atsantili FAIL οριακό Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. - Το πρόγραµµα εµφανίζει warnings κατά τη µεταγλώττιση. Το πρόβληµα είναι η λάθος σύνταξη της scanf. Το 6.3 δεν έπρεπε να βρίσκεται στο προσδιοριστικό τύπου (χρησιµοποιείται µόνο σε printf). Έπρεπε να είχατε σκέτο %lf. Επίσης, έπρεπε να είχατε ένα & πριν το x στο scanf. - Σωστοί τύποι µεταβλητών - Απαράδεκτα ονόµατα µεταβλητών! Τι σηµαίνει x, y? Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euro_liter, dollar_gallon ή ακόµη και euro_per_liter, dollar_pre_gallon - Ανύπαρκτη στοίχιση. - Το πρόγραµµα δεν εκτυπώνει τα αποτελέσµατα. Μελετήστε πώς συντάσσεται η printf. Με το να βάλετε το x στο µήνυµα, το µόνο που καταφέρνετε είναι να εµφανίσετε το γράµµα x στην οθόνη, κι όχι την τιµή της µεταβλητής x. - Σχεδόν µηδενική δουλειά. Το που αναφέρετε δεν υπάρχει στο αρχείο, µάλλον ο κέρσορας ήταν. - Το lab2b.c δεν παραδόθηκε. Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. - Το πρόγραµµα εµφανίζει warnings κατά τη µεταγλώττιση. Το πρόβληµα είναι η λάθος σύνταξη της scanf. Το 6.3 δεν έπρεπε να βρίσκεται στο προσδιοριστικό τύπου (χρησιµοποιείται µόνο σε printf). - Το %g χρησιµοποιείται για float. Εφόσον οι µεταβλητές σας είναι double, έπρεπε να είχατε χρησιµοποιήσει %lf Σε αυτό το λάθος οφείλεται το ότι το πρόγραµµα εµφανίζει λάθος αποτελέσµατα (παρόλο που οι πράξεις είναι σωστές) - Σωστοί υπολογισµοί - Το tab έπρεπε να εκτυπώνεται πριν κι όχι µετά από κάθε αριθµό. Επίσης, έπρεπε να εκτυπώνετε ένα χαρακτήρα αλλαγής γραµµής ανάµεσα στα δύο τελευταία µηνύµατα. - Να είστε πιο ακριβείς στο τι εκτυπώνετε. Χρειαζόταν ένα / κι όχι δύο.. - Τα σχόλια που γράψατε δεν προσφέρουν στην κατανόηση του προγράµµατος. Γενικά θέλουµε τα σχόλια να διευκρινίζουν κάτι που δεν είναι προφανές. Το ότι στη γραµµή 5 γίνονται δηλώσεις µεταβλητών ή ότι στη γραµµή 8 κάποιου είδους µετατροπή είναι προφανή. Αλλά, δεν είναι προφανές τι είδους µετατροπή γίνεται, ή τι ακριβώς είναι το 0.727και το 3.785, εποµένως χρειαζόταν κάποιο σχόλιο για αυτά. Επίσης, προτιµάµε τα σχόλια να είναι µε λατινικούς χαρακτήρες. - Σωστοί τύποι µεταβλητών. Καλή προσπάθεια στην ονοµασία τους. Επειδή από το όνοµα δε φαίνεται κάτι για τα λίτρα ή τα γαλόνια, θα µπορούσατε να είχατε κάποιο διευκρινιστικό σχόλιο ή ακόµη πιο περιγραφικά ονόµατα (πχ euro_per_liter) - Δεν ολοκληρώθηκε. Καλό είναι να την προσπαθήσετε στο σπίτι, πριν τη συζητήσουµε στην τάξη. - Έπρεπε να είχατε καταγράψει και τα µηνύµατα λάθους στο errors.txt Page 14

avasilopoulou aveliskaki aziagkovas - Σωστές οι πράξεις - βοήθησε πολύ το γεγονός ότι είχατε καλά σχόλια για την εξήγηση των υπολογισµών. Αν δεν τα είχατε, θα ήταν καλύτερα να χρησιµοποιούσατε και µια βοηθητική µεταβλητή για να σπάσετε τις πράξεις σε επιµέρους τµήµατα (πχ πρώτα τη µετατροπή σε δολάρια και µετά τη µετατροπή σε γαλόνια) - Σωστός ο τύπος της µεταβλητής, αλλά το όνοµα p1 δεν είναι καθόλου περιγραφικό. Καλύτερες επιλογές είναι euro_per_liter ή euro_liter ή price_eu_liter - Πολύ καλά σχόλια, αλλά παρακαλούµε να τα γράφετε µε λατινικούς χαρακτήρες στο µέλλον. - Σωστή σύνταξη του µηνύµατος της printf.. - Καλό είναι να υπάρχει µια κενή γραµµή ανάµεσα στα σχόλια και τα #include κι ανάµεσα στα #include και στη main. Αργότερα που θα γράφετε πιο µεγάλα προγράµµατα θα είναι πολύ σηµαντικό να φαίνεται εύκολα πού ξεκινά κάθε συνάρτηση (όπως για παράδειγµα η main). - Καλογραµµένο errors.txt - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο. - Σωστές πράξεις. - Καλή στοίχιση - Σωστή τύποι µεταβλητών αλλά τα ονόµατα δεν είναι καθόλου περιγραφικά. Καλύτερα ονόµατα είναι euro_per_liter ή euro_liter ή price_eu_liter. - Δεν υπάρχουν καθόλου σχόλια. - Δεν εκτυπώνονται οι χαρακτήρες tab που ζητά η εκφώνηση - Το lab2b.c έπρεπε να έχει περιλαµβάνεται στο φάκελο σαν κανονικό αρχείο, όχι να είναι copy+paste στο errors.txt - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο - Σωστοί τύποι µεταβλητών, αλλά καθόλου περιγραφικά ονόµατα. Γενικά να αποφεύγετε ονόµατα µε 1, 2 κτλ. Καλύτερα ονόµατα είναι euro_per_liter ή euro_liter ή price_eu_liter. - Απαραίτητα τα σχόλια που βάλατε δεδοµένου ότι δεν είναι περιγραφικά τα ονόµατα µεταβλητών, αλλά έπρεπε να έχετε και κάποια που να εξηγούν τι είδους µετατροπή γίνεται (πχ τι είναι το 3.785) και κάποια γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε τα σχόλια να τα γράφετε µε λατινικούς χαρακτήρες. - Σωστή µορφοποίηση εξόδου - Καλογραµµένο errors.txt. - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο Page 15

caxelos ceffrosynis chpapadopoulou οριακό - Σωστές πράξεις. - Καλά ονόµατα µεταβλητών και σωστοί τύποι. - Τα σχόλια προγράµµατος γράφονται στην αρχή του αρχείου, κι όχι µέσα στη main. Δείτε τα παραδείγµατα στο σχετικό φυλλάδιο. - Ο χαρακτήρας tab γράφεται ως \t στην printf (το έλεγε και η εκφώνηση - να τη διαβάζετε προσεκτικά) - Το παρακάνατε λίγο µε τις κενές γραµµές. Αργότερα που θα είναι µεγαλύτερα τα προγράµµατα δε θα διαβάζονται εύκολα αν είναι τόσο "απλωµένες" οι εντολές. Μην αφήνετε ποτέ περισσότερες από µία κενή γραµµή ανάµεσα σε διαδοχικές εντολές. Δείτε τη λύση και προσέξτε πώς είναι "γκρουπαρισµένες" οι εντολές. - Το τελευταίο } έπρεπε να βρίσκεται στην αρχή της επόµενης γραµµής - Δεν παραδόθηκε λόγω τεχνικών προβληµάτων - Σωστοί τύποι και καλά ονόµατα µεταβλητών, αλλά θα µπορούσαν να είναι πιο περιγραφικά (για να ξεχωρίζει ότι η µία εκφράζει τιµή ανά λίτρο ενώ η άλλη ανά γαλόνι). Για παράδειγµα, euro_per_liter ή euro_liter ή price_eu_liter. - Καλά σχόλια - Καλή στοίχιση - Στην τελική εκτύπωση έπρεπε να έχετε κι ένα χαρακτήρα tab - Η άσκηση διορθώθηκε αλλά δεν έχετε καταγράψει τις διορθώσεις στο errors.txt Παρόλο που η πρώτη άσκηση έχει σοβαρά λάθη στους υπολογισµούς, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Σωστοί τύποι και καλά ονόµατα µεταβλητών. - Σωστή χρήση σταθερών, µπράβο. - Καλή στοίχιση. - Οι τύποι για τη µετατροπή είναι λάθος. Προσπαθήστε να τους διορθώσετε πριν δείτε τη λύση. - Σωστή µορφοποίηση εξόδου. - Δεν ολοκληρώθηκε. Καλό είναι να την προσπαθήσετε στο σπίτι, πριν τη συζητήσουµε στην τάξη. Page 16

ckefalopoulos ckontomitros cmalakoudi Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Σωστές πράξεις. - Η στοίχιση δεν είναι ακριβώς όπως θα έπρεπε. Φαίνεται να έχετε προσθέσει κάποια κενά στα αυτόµατα tab που έβαλε το kate. Δείτε τη λύση - Απαράδεκτα ονόµατα µεταβλητών! Τι σηµαίνει a, b? Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euro_liter, dollar_gallon ή ακόµη και euro_per_liter, dollar_pre_gallon. - Σωστά και απαραίτητα τα σχόλια για τις µεταβλητές δεδοµένων των ονοµάτων a,b, αν και θα ήταν πολύ προτιµότερο να είχατε περιγραφικά ονόµατα µεταβλητών. Καλό θα ήταν να είχατε και κάποια σχόλια που να εξηγούν τη µετατροπή καθώς και γενικά σχόλια προγράµµατος (δείτε το σχετικό φυλλάδιο). - Σωστή η µορφοποίηση εξόδου, αλλά δε χρειάζονταν τα κενά πριν το \t (εφόσον υπάρχει ήδη το \t). - Σχεδόν µηδενική δουλειά. Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. Παρόλο που η πρώτη άσκηση έχει ελλείψεις και η δεύτερη δεν παραδόθηκε, θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. - Σωστές πράξεις. - Η στοίχιση δεν είναι ακριβώς όπως θα έπρεπε. Φαίνεται να έχετε προσθέσει κάποια κενά στα αυτόµατα tab που έβαλε το kate. Δείτε τη λύση - Απαράδεκτα ονόµατα µεταβλητών! Τι σηµαίνει a, b? Να µη χρησιµοποιείτε ονόµατα µεταβλητών που είναι µόνο ένα γράµµα (εκτός από µία εξαίρεση που θα µάθετε αργότερα). Κατάλληλα, περιγραφικά ονόµατα για την άσκηση είναι euros_sq_m, dollars_sq_ft, dollars_sq_m, κτλ - Σωστά και απαραίτητα τα σχόλια για τις µεταβλητές δεδοµένων των ονοµάτων a,b, αν και θα ήταν πολύ προτιµότερο να είχατε περιγραφικά ονόµατα µεταβλητών. Καλό θα ήταν να είχατε και κάποια σχόλια που να εξηγούν τη µετατροπή καθώς και γενικά σχόλια προγράµµατος (δείτε το σχετικό φυλλάδιο). - Σωστή η µορφοποίηση εξόδου, αλλά δε χρειάζονταν τα κενά πριν το \t (εφόσον υπάρχει ήδη το \t). - Σχεδόν µηδενική δουλειά. Παράδοση: - Το µέλος της οµάδας που στέλνει την άσκηση πρέπει πάντα να στέλνει αντίγραφο και στο συνεργάτη του. Παρόλο που η πρώτη άσκηση δεν εστάλη θα πάρετε προβιβάσιµο βαθµό αυτή τη φορά λόγω της καλής δουλειά στη δεύτερη, αλλά σε επόµενα εργαστήρια θα πρέπει να έχετε καλύτερη απόδοση για να επιτύχετε προβιβάσιµο βαθµό. Στείλατε µόνο το errors.txt. Έπρεπε να είχατε στείλει και τα lab2a.c, lab2b.c - Δεν παραδόθηκε. - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια warnings και λογικά λάθη. - Καλογραµµένο errors.txt αλλά έπρεπε να είχατε στείλει και το lab2b.c Page 17

csakkas csotiropoulos - Θα ήταν καλύτερα να είχατε δηλώσει τις µεταβλητές ως double (όπως πρότεινε η εκφώνηση) για µεγαλύτερη ακρίβεια. - Καλή προσπάθεια στην ονοµασία µεταβλητών. Εναλλακτικά, θα µπορούσατε να είχατε ονόµατα όπως euros_sq_m, dollars_sq_ft τα οποία περιλαµβάνουν και την "πληροφορία" για την έκταση - Σωστό σχόλιο. Καλό θα ήταν να είχατε και γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε να είναι γραµµένα µε λατινικούς χαρακτήρες. - Το προσδιοριστικό τύπου για την εκτύπωση αριθµών έπρεπε να είναι %7.2lf κι όχι %6.2lf.Κατά τα άλλα, σωστή µορφοποίηση εξόδου. - Ανύπαρκτη στοίχιση! Προσέξτε το! - Καλογραµµένο errors.txt - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο. - Σωστοί υπολογισµοί - Καλή στοίχιση - Σωστοί τύποι και καλά ονόµατα µεταβλητών. - Καλά σχόλια. Καλό θα ήταν να είχατε και κάποια γενικά σχόλια προγράµµατος (δείτε το σχετικό φυλλάδιο) - Σωστή έξοδος - Καλή προσπάθεια αλλά υπάρχουν ακόµη αρκετά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. - Καλογραµµένο errors.txt ctsamour ctsiagkalis οριακό. - Ανύπαρκτη στοίχιση. Προσέξτε το! - Η έξοδος δεν έχει µορφοποιηθεί όπως ζητείται. Δεν υπάρχει ο χαρακτήρας tab και δεν εκτυπώνετε το ζητούµενο πλήθος δεκαδικών ψηφίων. Το %lf είναι πιο κατάλληλο προσδιοριστικό τύπου. - Δεν υπάρχουν καθόλου σχόλια. - Σωστός τύπος µεταβλητών. Τα ονόµατα δεν είναι άσχηµα, αλλά δε φαίνεται πουθενά ότι στη µία περίπτωση αναφερόµαστε σε γαλόνια και στην άλλη σε λίτρα. Ή θα έπρεπε να είχατε διευκρινιστικά σχόλια, ή ακόµη καλύτερα, πιο περιγραφικά ονόµατα (για παράδειγµα euro_liter, dollar_gallon) - Δεν ολοκληρώθηκε. Καλό είναι να την προσπαθήσετε στο σπίτι, πριν τη συζητήσουµε στην τάξη. - Απαγορεύεται ΑΥΣΤΗΡΑ η χρήση καθολικών µεταβλητών χωρίς σοβαρό λόγο. - Σωστοί υπολογισµοί - Καλή στοίχιση - Σωστοί τύποι και ονόµατα µεταβλητών. - Καλά σχόλια - Σωστή έξοδος, αλλά ο προσδιορισµός για τη µορφοποίηση των αριθµών έπρεπε να είναι %6.3lf κι όχι %5.3lf - Πολύ καλή δουλειά στη διόρθωση της άσκησης. - Στο errors.txt έπρεπε να είχατε σηµειώσει και τα αντίστοιχα µηνύµατα λάθους Page 18

cvoutsadakis dgeorgiadis dintzeler - Σωστές πράξεις. - Καλή στοίχιση, εκτός από το return 0 που έπρεπε να είναι ένα tab πιο µέσα (στην ίδια ευθεία µε το printf) - Σωστοί τύποι και καλά ονόµατα µεταβλητών - Καλά σχόλια. Αυτά για την είσοδο/έξοδο είναι περιττά. Γενικά θέλουµε τα σχόλια να διευκρινίζουν κάτι που δεν είναι προφανές. Το scanf και το printf έχουν προφανή λειτουργία εποµένως δε χρειάζονται σχόλιο, ενώ για παράδειγµα οι πράξεις / 0.727 * 3.785 δεν είναι κάτι προφανές και το σχόλιο είναι απαραίτητο. - Ο προσδιορισµός στο printf έπρεπε να είναι %6.3lf κι όχι %2.3lf - Πολύ καλή δουλειά, µπράβο!. - Λάθος αποτελέσµατα - Σωστοί τύποι µεταβλητών - Περιγραφικά ονόµατα µεταβλητώ. Όταν όµως βλέπετε ότι το όνοµα γίνεται υπερβολικά µεγάλο, καλό είναι να κόβετε λέξεις (πχ το venzinhs) γιατί µετά γίνονται δυσανάγνωστοι οι τύποι. - Καλή προσπάθεια µε τα σχόλια, αλλά κάποια από αυτά δεν προσφέρουν κάτι στην κατανόηση του προγράµµατος. Για παράδειγµα, τα σχόλια για τις µεταβλητές δε χρειάζονται γιατί έχετε πολύ περιγραφικά ονόµατα. Επίσης, τα σχόλια για τις scanf, printf δεν είναι απαραίτητα γιατί όλοι ξέρουν ότι η scanf διαβάζει και η printf γράφει δεδοµένα. Τα σχόλια για τις µετατροπές είναι χρήσιµα, και θα µπορούσατε να είχατε σηµειώσει και τι ακριβώς είναι το 0.727 κτλ. Τέλος, συνήθως βάζουµε και κάποια γενικά σχόλια προγράµµατος στην αρχή (δείτε το σχετικό φυλλάδιο). - Σωστή έξοδος. - Καλή προσπάθεια. Προσπαθήστε να διορθώσετε και τα υπόλοιπα πριν συζητήσουµε τη λύση. - Σωστοί τύποι µεταβλητών, αλλά καθόλου περιγραφικά ονόµατα. Γενικά να αποφεύγετε ονόµατα µε 1, 2 κτλ. Καλύτερα ονόµατα είναι euro_per_liter ή euro_liter ή price_eu_liter. - Απαραίτητα τα σχόλια που βάλατε δεδοµένου ότι δεν είναι περιγραφικά τα ονόµατα µεταβλητών, αλλά έπρεπε να έχετε και κάποια που να εξηγούν τι είδους µετατροπή γίνεται (πχ τι είναι το 3.785) και κάποια γενικά σχόλια προγράµµατος. Επίσης, προτιµάµε τα σχόλια να τα γράφετε µε λατινικούς χαρακτήρες. - Σωστή µορφοποίηση εξόδου - Καλογραµµένο errors.txt. - Διορθώσατε όλα τα συντακτικά λάθη, αλλά υπάρχουν ακόµη κάποια λογικά λάθη. Προσπαθήστε να τα διορθώσετε πριν συζητήσουµε τη λύση. Ένας καλός τρόπος (τώρα στην αρχή) για να εντοπίσετε που είναι το πρόβληµα είναι να χρησιµοποιείτε printf σε διάφορα σηµεία για να ελέγχετε τις τιµές των µεταβλητών κι αν αυτές είναι όσο περιµένετε. Δοκιµάστε να εκτυπώσετε τα hw_score κτλ. αµέσως µετά τη scanf και θα δείτε ότι δεν έχουν διαβαστεί σωστά. Επικεντρωθείτε στο αν είναι σωστοί οι τύποι και οι αντίστοιχοι κωδικοί στις printf/scanf. Επίσης, θυµηθείτε αυτά που ειπώθηκαν στην τάξη για την ανάγνωση χαρακτήρων από το πληκτρολόγιο Page 19