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

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

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

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

ΑΕΜ ή username. Sheet2

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

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

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

FAIL PASS PASS οριακά

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

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

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

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

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

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

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

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

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

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

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

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

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

lab3grades οριακό PASS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

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

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

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

Οι δείκτες στη γλώσσα C

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

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

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Transcript:

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 1389 1413 1414 1417 FAIL - Πάρα πολύ καλή περιγραφή των σφαλµάτων του κώδικα και των διορθώσεών σας - Το λάθος µε τις παρενθέσεις γύρω από τα σχόλια στη γραµµή radius = 4.5; (/* i aktina se ekatosta */) δεν υπήρχε στον αρχικό κώδικα. Πιθανώς τις προσθέσατε εσείς λανθασµένα στην προσπάθειά σας να επιλύσετε κάποιο άλλο σφάλµα. Το καλό είναι ότι αναγνωρίσατε το λάθος σας και το διορθώσατε. + σωστη διορθωση κωδικα. - στην ερµηνεια των λαθων του compiler στο πρωτο λαθος σασ αναφερετε 'κωδικας µεσα σε σχολιο' το λαθος ειναι οτι δεν ειχε κλεισει το σχολιο στην αρχη. Επισης οσον αφορα το #include(stdio.h) το λαθος ειναι οτι αντι για παρανθεσεις θελει <> οπως σωστα διορθωσατε στον κωδικα αλλα δεν γραψατε αντιστοιχως στο errors.txt -Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. - Επίσης έχετε παραλείψει την καταγραφή του σφάλµατος για τη γραµµή 6 «int main (int argc, char *argv[]». Το µήνυµα λάθους είναι error: expected ;,, or ) before } token. Δηλαδή, µας λέει ότι λείπει ; (παραπέµπει σε διαχωριστικό εντολών), ή, (που παραπέµπει σε επιπλέον ορίσµατα στη συνάρτηση) ή σε ) πριν συναντήσουµε τον επόµενο χαρακτήρα }. -Δεν έχει γίνει CC το mail προς τον 2ο της οµάδας!!!! -Το include "ΕΙΝΑΙ" εντολή. Άπλα είναι εντολή ορισµού (directive) και δέν χρειάζεται ";" - Στην γραµµή 13 η ακριβής ερµηνεία του λάθους είναι οτι προσπαθούµε να αναθέσουµε την τιµή της µεταβλητής l στον αριθµό 1 αντί για κάποια µεταβλητή -Δεν ελέγξατε αν η συµπίεση έγινε σωστά. Δυστυχώς το errors.txt που αποστείλατε είναι κενό και συνεπώς δε φαίνεται βάσει ποιων µηνυµάτων κάνατε τη διόρθωση. - Από το πρόγραµµα που έχετε αποστείλει, το 0 στο return δε χρειάζεται παρενθέσεις. 1418 - Αναφέρετε να λάθη του compile αλλά δεν αναφέρετε τις διορθώσεις που κάνατε. - Επίσης δεν έχετε γράψει τα λάθη µε τη σωστή σειρά που εµφανίζονται κατα' το compile Page 1

1419 lab1_grades Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf (βάσει των warning implicit declaration of function printf, ) απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). 1420 Πολύ σωστά όλα τα σχόλιά σας. 1421 - Το #include <stdio.h> έπρεπε να είχε δηλωθεί εκτός της main, όπως διδαχθήκατε στη θεωρία. - Δεν αναφέρετε µε σαφήνεια τις δύο τελευταίες σας διορθώσεις. - Δεν φαίνεται αν η αλλαγή της tempc, από int σε float, έγινε σκόπιµα ή τυχαία 1422 FAIL Δεν εστάλη άσκηση 1423 - Στο πρώτο λάθος που εντοπίζετε, δεν αναφέρετε που θα πρέπει να τερµατιστούν τα σχόλια, ενώ το διορθώνετε σωστά. - Στο τρίτο λάθος, δεν πρέπει να έχει κόµµα, αλλά ερωτηµατικό. Πάλι το διορθώνετε σωστά, αλλά δεν το εκφράζετε ολοκληρωµένα στο errors.txt - Στο 4ο λάθος,έπρεπε να αναφέρετε στο errors.txt σε ποιά εντολή κάνετε τη διόρθωση. Επίσης, το µήνυµα του compiler lab1.c:12:30: error: expected expression before ) token, δεν προκαλείται εξαιτίας του κόµµατος που υπάρχει στην printf, όπως αναφέρετε, ( το οποίο θέλουµε να εκτυπωθεί στην οθόνη ) αλλά επειδή η printf δεν κλέινει µε, δηλαδή το πρόγραµµα περιµένει κάτι πριν τη ). - Για τη µεταβλητή radius, πάλι διορθώνετε στο πρόγραµµα τη δήλωσή της, στο double radius αντί για radious, χωρίς να πείτε στο errors.txt που την κάνετε αυτή τη διόρθωση, σε ποιά εντολή. - Στη γραµµή area = P1 * radius * radius; δεν αναφέρετε το λάθος του compiler και ούτε την αλλαγή που κάνατε στη P1 PI. - Στο τελευταίο λάθος, πάλι δεν αναφέρετε που κάνετε τη διόρθωση. - Δεν έχετε γράψει τα ΑΕΜ σας στο όνοµα του φακέλου που στείλατε. 1424 - Σε κάποιες απο τις αναφορές έχετε γράψει µόνο το µήνυµα του compiler αλλά όχι την διόρθωση που κάνατε. - Δεν έχει γίνει CC το mail προς τον 2ο της οµάδας!!!! - Προσοχή όταν γράφετε µία διεύθυνση e-mail.. ce120lab@gmail.com και όχι "CE120LAB@GMAIL.COM" Page 2

1425 lab1_grades - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. Για παράδειγµα, έχετε µεν διορθώσει την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); αλλά δεν έχετε καταγράψει το σχετικό µήνυµα λάθους που σας εµφανιζόταν. -To #include<stdio.h> αποτελεί εισαγωγή της βιβλιοθήκης stdio.h (όχι απλή εντολή). Ο ορισµός της printf γίνεται στη βιβλιοθήκη stdio.h. [κακή διατύπωση στο αρχείο errors.txt]. -Δήλωση πολλαπλών µεταβλητών γίνεται µε κόµµα αντί για ερωτηµατικό. (Ορθός εντοπισµός λάθους, καλύτερη διατύπωση) 1426 Τα σχόλιά σας πάνω στα λάθη του προγράµµατος είναι σωστά εκτός από το τελευταιο. Η σωστή εντολή είναι return 0; (µηδέν). Στην περίπτωσή σας τυχαίνει τα αυτάκια που βάλατε να επιστρέφουν την ακέραια τιµή του όµικρον και να περνάει το πρόγραµµά σας το compile, αλλά είναι λάθος. Θα µάθετε στα επόµενα µαθήµατα τι κάνουν τα αυτάκια. 1427 -Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. - Επίσης έχετε παραλείψει την καταγραφή του σφάλµατος για τη γραµµή 6 «int main (int argc, char *argv[]». Το µήνυµα λάθους είναι error: expected ;,, or ) before } token. Δηλαδή, µας λέει ότι λείπει ; (παραπέµπει σε διαχωριστικό εντολών), ή, (που παραπέµπει σε επιπλέον ορίσµατα στη συνάρτηση) ή σε ) πριν συναντήσουµε τον επόµενο χαρακτήρα }. 1428 - Θα µπορούσατε να αναφέρετε λίγο πιο αναλυτικά τις διορθώσεις σας στον κώδικα Page 3

1429 1430 -Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). -Παρόλο που βρήκατε σωστά ότι πρέπει η tempc να δηλωθεί ως µεταβλητή int, θα µπορούσατε πιο σωστά να κάνετε δήλωση πολλαπλών µεταβλητών, διαχωρίζοντας τα ονόµατα των µεταβλητών µε κόµµα. Δηλαδή: int tempc, tempf; - Δεν έχετε δηλώσει βάσει ποιου/ποιων διαγνωστικού µηνύµατος διορθώσατε την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); - Το '\n' που προσθέσατε στην printf δεν αποτελούσε λάθος. (Είναι ο χαρακτήρας αλλαγής γραµµής.) - Έπρεπε να αντιγράφατε στο errors.txt και τη γραµµή του κώδικα που περιείχε το λαθος. Κατά τ' άλλα η περιγραφή των διορθώσεών σας ήταν αρκετά καλή. 1431 - #includes<stdio.h> : το λαθος ειναι οτι δεν υπαρχει τετοια εντολη στην C και οχι οτι δεν χρειαζεται το s στο τελος. Λαθος αιτιολογηση. - int main (int argc, char *argv[]) ( : Δεν ειναι δηλωση της συναρτησης αλλα το σωµα της.το προβληµα δεν ειναι οτι επρεπε να σβηστει αλλα ειναι οτι οταν γραφουµε το σωµα µιας συναρτησης, τον κωδικα τον περιεχουµε σε αγκιστρα και οχι σε παρενθεσεις. - int tempf, tempc; printf("metatropi thermokrasias apo Farenheit se Celcius: "); : δεν υπαρχει λαθος εδω! - return O; : Δεν το διαβαζει σαν µη δηλωµενη µεταβλητη αλλα η συναρτηση επιστρεφει (int) ακεραιο. Γιαυτο το return δεν επιτρεπεται να επιστρεφει χαρακτηρα. Συνεπως : - οχι καλη κατανοηση των µηνυµατων του compiler + σωστη διορθωση κωδικα - κακη µορφοποιηση κωδικα Page 4

1432 1433 1434 1435 1436 - Παρόλο που βρήκατε σωστά ότι πρέπει η tempc να δηλωθεί ως µεταβλητή int, θα µπορούσατε πιο σωστά να κάνετε δήλωση πολλαπλών µεταβλητών, διαχωρίζοντας τα ονόµατα των µεταβλητών µε κόµµα. Δηλαδή: int tempc, tempf; -To #include<stdio.h> αποτελεί εισαγωγή της βιβλιοθήκης stdio.h (όχι απλή εντολή). Ορθά αναφέρετε ότι η printf δε µπορεί να λειτουργήσει χωρίς την εισαγωγή της stdio.h. - Δεν έχετε δηλώσει βάσει ποιου/ποιων διαγνωστικού µηνύµατος διορθώσατε την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); - Έχετε εντοπίσει σωστά τα λάθη που εµφανίζονται στο πρόγραµµα αλλά δεν έχετε προσπαθήσει να τα επεξηγήσετε µε δικά σας λόγια. Για παράδειγµα, το error: tempc undeclared (first use in this function) σας λέει ότι η µεταβλητή tempc φαίνεται να µην έχει δηλωθεί κάπου στο πρόγραµµα. Το πρόβληµα είναι ότι η δήλωση πολλαπλών µεταβλητών γίνεται διαχωρίζοντας µε κόµµα και όχι µε ερωτηµατικό. Το ερωτηµατικό αποτελεί απλά τον τερµατισµό µίας εντολής. - Σε κάποιες απο τις αναφορές έχετε γράψει µόνο το µήνυµα του compiler αλλά όχι την διόρθωση που κάνατε. - Δεν έχει γίνει CC το mail προς τον 2ο της οµάδας!!!! - Προσοχή όταν γράφετε µία διεύθυνση e-mail.. ce120lab@gmail.com και όχι "CE120LAB@GMAIL.COM" - Έχετε εντοπίσει σωστά όλα τα λάθη του προγράµµατος, κάνετε επικόλληση τα σωστά µηνύµατα λάθους που πετάει ο compiler και τα διορθώνετε σωστά. Όµως, δεν αναφέρετε ρητά ποιό είναι το λάθος, πχ εδώ: int main (int argc, char *argv[] -> int main (int argc, char *argv[]) µπορούσατε να πείτε λείπει η παρένθεση στο τέλος της δήλωσης της main και µετά να γράψετε τη σωστή µορφή της δήλωσης. - Γενικά, το αρχείο σας errors.txt δεν το προσέξατε ιδιαίτερα. - Καλή αναφορά - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε - Δεν είναι απαραίτητο να µετονοµαστούν οι µεταβλητές, αρκεί να αφαιρεθεί η επαναδήλωση τους. Page 5

1437 lab1_grades - Έχετε συµπληρώσει το errors.txt µε λάθος σειρά των µηνυµάτων που βγάζει ο compiler. Πχ. στο 2ο λάθος που αναφέρετε, τα µηνύµατα του compiler θα έπρεπε να αναφέρονται στο #include<studio.h> και µετά στο " syntax error before { token ", δηλαδή στη γραµµή που δηλώνεται η συνάρτηση main και λείπει µια παρένθεση. Εσείς έχετε βάλει την προειδοποίηση " warrning missing terminating " character " που αναφέρεται στην εντολή printf παρακάτω. - Δεν έχετε αναφέρει καθόλου το λάθος για τη διαίρεση µε το µηδέν στη γραµµή 10, ενώ το έχετε διορθώσει. -Γενικά, το errors.txt δεν το προσέξατε όπως θα έπρεπε, µάλλον το έχετε συµπληρώσει αφού διορθώσατε τα λάθη στο πρόγραµµα. 1438 -Δεν έχει γίνει CC το mail προς τον 2ο της οµάδας!!!! -Το include "ΕΙΝΑΙ" εντολή. Άπλα είναι εντολή ορισµού (directive) και δέν χρειάζεται ";" - Στην γραµµή 13 η ακριβής ερµηνεία του λάθους είναι οτι προσπαθούµε να αναθέσουµε την τιµή της µεταβλητής l στον αριθµό 1 αντί για κάποια µεταβλητή 1439 Σωστη διορθωση κωδικα αλλα καµια εξηγηση για την φυση των λαθων που σου εδειξε ο compiler. Απο το αρχειο errors.txt σου δεν βγαινει κανενα συµπερασµα αν καταλαβες και πως διορθωσες τα λαθη. 1440 1442 1443 FAIL - Δεν χρειαζόταν να αντιγράφετε κάθε φορά όλα τα µηνύµατα λάθους σε κάθε compile. Αρκούσε µόνο το πρώτο λάθος, το οποίο θα προσπαθούσατε να διορθώσετε στη συνέχεια. Επίσης, έπρεπε να αντιγράφατε στο errors.txt και τη γραµµή του κώδικα που περιείχε το λαθος. - Η επεξήγηση για το "error: radius undeclared" δεν είναι ακριβής. Λέτε ότι δηλώσατε το radius, ενώ αυτό που κάνατε ήταν να διορθώσετε το τυπογραφικό λάθος στο όνοµα µιας ήδη υπάρχουσας µεταβλητής. -Εντελώς κενό το errors.txt-την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. Page 6

1444 1445 1447 lab1_grades - Υπάρχουν λάθη τα οποία έχετε διορθώσει αλλά δεν έχετε καταγράψατε επακριβώς βάσει των µηνυµάτων που τυπώθηκαν στην κονσόλα. Καποια µηνύµατα τα καταγράψατε συνεπτυγµένα και δεν αντιστοιχούν στη διόρθωση που περιγράφετε. Συνολικά υπήρχαν 6 λάθη στον αρχικό κώδικα. Εντοπίσατε αναλυτικά τα 2 και συµπτύξατε τα υπόλοιπα 4 σε ζεύγη. - Για παράδειγµα, τυπώνεται σε κάποιο σηµείο error invalid suffix PI on integer constant που αφορά τη γραµµή circumference = 2PI * radius; Στη C ο τελεστής πολλαπλασιασµού * δε θεωρείται αυτονόητος µεταξύ ενός αριθµού και µίας παραµέτρου µε συµβολικό όνοµα. Για αυτό ο compiler µας λέει ότι δεν είναι έγκυρο να τοποθετήσουµε το επίθεµα PI µετά από έναν αριθµό. Το σωστό είναι circumference = 2*PI * radius; - Πιο αναλυτικά, το warning: implicit declaration of function of printf σχετίζεται µε το #include(stdio.h) #include<stdio.h>. - Το error: expected indentifier or ( before double σχετίζεται µε το λάθος double radius, double area; double radius, area; - Στη δήλωση των µεταβλητών radious και area αρχικά υπήρχε κόµµα αντί για ερωτηµατικό. Επειδή πρόκειται για µεταβλητές που και οι δύο δηλώθηκαν ως double θα ήταν προτιµότερο να γίνει δήλωση σε µία γραµµή ως εξής double radius, area; (δήλωση πολλαπλών µεταβλητών). - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. Για παράδειγµα, διορθώσατε τις παρενθέσεις που έπρεπε να είναι άγκιστρα, αλλά δεν προσδιορίσατε το αντίστοιχο µήνυµα λάθους. Επίσης το warning incompatible implicit declaration of built-in function printf έπρεπε να είχε εξαφανιστεί όταν διορθώσατε το λάθος στο #include. Φαίνεται πως διορθώσατε τα λάθη, αλλά δε δώσατε ιδιαίτερη σηµασία στα µηνύµατα. - Έχετε σηµειώσει ως λάθη κάποια πράγµατα που ήταν σωστά: τη δήλωση των µεταβλητών στην ίδια γραµµή (το οποίο είχαµε καλύψει στο φροντιστήριο), και τη µη ύπαρξη \n στο printf. - Έχετε συµπληρώσει το errors.txt µε λάθος σειρά των µηνυµάτων που βγάζει ο compiler. Πχ. στο 2ο λάθος που αναφέρετε, τα µηνύµατα του compiler θα έπρεπε να αναφέρονται στο #include<studio.h> και µετά στο " syntax error before { token ", δηλαδή στη γραµµή που δηλώνεται η συνάρτηση main και λείπει µια παρένθεση. Εσείς έχετε βάλει την προειδοποίηση " warrning missing terminating " character " που αναφέρεται στην εντολή printf παρακάτω. - Δεν έχετε αναφέρει καθόλου το λάθος για τη διαίρεση µε το µηδέν στη γραµµή 10, ενώ το έχετε διορθώσει. - Γενικά, το errors.txt δεν το προσέξατε όπως θα έπρεπε, µάλλον το έχετε συµπληρώσει αφού διορθώσατε τα λάθη στο πρόγραµµα. Page 7

1448 lab1_grades - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. Για παράδειγµα, διορθώσατε τις παρενθέσεις που έπρεπε να είναι άγκιστρα, αλλά δεν προσδιορίσατε το αντίστοιχο µήνυµα λάθους. Επίσης το warning incompatible implicit declaration of built-in function printf έπρεπε να είχε εξαφανιστεί όταν διορθώσατε το λάθος στο #include. Φαίνεται πως διορθώσατε τα λάθη, αλλά δε δώσατε ιδιαίτερη σηµασία στα µηνύµατα. - Έχετε σηµειώσει ως λάθη κάποια πράγµατα που ήταν σωστά: τη δήλωση των µεταβλητών στην ίδια γραµµή (το οποίο είχαµε καλύψει στο φροντιστήριο), και τη µη ύπαρξη \n στο printf. 1449 1450 Μπραβο πολυ καλη δουλεια - Έχετε διορθώσει σωστά το πρόγραµµα και κάνετε σωστή αναφορά τους στο errors.txt παραθέτοντας τα σωστά µηνύµατα λάθους που πετάει ο compiler, γράφοντας τη σωστή σύνταξη - απάντηση για κάθε λάθος. - Θα ήταν καλύτερο να γράφατε συγκεκριµένα που βρίσκεται το λάθος και µετά να γράφατε τη διόρθωση, πχ στο δεύτερο λάθος: (int argc, char *argv[] { λείπει στο τέλος µια παρένθεση -> πρέπει να είνα ι int main (int argc, char *argv[] ) { 1451 Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf (βάσει των warning implicit declaration of function printf, ) απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). 1452 - gcc unrecognized option '-wall' : Δεν ειναι κωδικας C! o compiler σας λεει µονο για λαθη στον κωδικα και οχι για τις εντολες που γραφετε στο Linux. - #includes<stdio.h> : σωστα λετε οτι δεν αναγνωρισε το include, αλλα το κενο οπως αναφερετε δεν αποτελει λαθοσ. - int tempf, tempc; : Δεν ειναι λαθος! - // return 0; : δεν ελλειπε το // πριν το return! το // ειναι σχολιο µια γραµµης και ακυρωνει τον κωδικα! - κακη ερµηνεια µηνυµατων του compiler. Διαβάστε οπωσδήποτε τη λύση που θα αναρτηθεί Page 8

1453 - #includes<stdio.h> : το λαθος ειναι οτι δεν υπαρχει τετοια εντολη στην C και οχι οτι δεν χρειαζεται το s στο τελος. Λαθος αιτιολογηση. - int main (int argc, char *argv[]) ( : Δεν ειναι δηλωση της συναρτησης αλλα το σωµα της.το προβληµα δεν ειναι οτι επρεπε να σβηστει αλλα ειναι οτι οταν γραφουµε το σωµα µιας συναρτησης, τον κωδικα τον περιεχουµε σε αγκιστρα και οχι σε παρενθεσεις. - int tempf, tempc; printf("metatropi thermokrasias apo Farenheit se Celcius: "); : δεν υπαρχει λαθος εδω! - return O; : Δεν το διαβαζει σαν µη δηλωµενη µεταβλητη αλλα η συναρτηση επιστρεφει (int) ακεραιο. Γιαυτο το return δεν επιτρεπεται να επιστρεφει χαρακτηρα. 1454 1455 1456 Συνεπως : - οχι καλη κατανοηση των µηνυµατων του compiler + σωστη διορθωση κωδικα - κακη µορφοποιηση κωδικα πολυ καλα απλα χρειαζοταν λιγο παραπανω εξηγηση για τη φυση των λαθων. - Το char *argv[] δεν ήταν λάθος. Είναι σωστή και η µορφή char **argv και η µορφή char *argv[] - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. - Η αιτιολόγησή σας για το λάθος " error: O undeclared " δεν ήταν σωστή. Το πρόβληµα δεν είναι αν υπάρχουν παρενθέσεις ή όχι, αλλά το γεγονός ότι αντί για µηδέν ήταν γραµµένο ένα κεφαλαίο όµικρον. Δεδοµένου ότι το κεφαλαίο όµικρον είναι λέξη, ο compiler νόµιζε ότι είναι κάποια µεταβλητή οπότε παραπονέθηκε για το ότι δε φαίνεται να είναι δηλωµένη πουθενά. -Σωστή αναγνώριση των λαθών που περιείχε το πρόγραµµα, αναγράφοντας το µήνυµα λάθους που βγάζει ο compiler µαζί µε την σωστή απάντηση-σύνταξη -Δεν σχολιάζετε όµως καθόλου που ακριβώς εντοπίζεται το κάθε λάθος. Για το συγκεκριµένο πρόγραµµα τα λάθη είναι αρκετά εµφανείς, γενικά όµως σε προγράµµατα µεγαλύτερου µεγέθους θα πρέπει να είστε πιο αναλυτικοί 1457 - Το #include <stdio.h> έπρεπε να είχε δηλωθεί εκτός της main, όπως διδαχθήκατε στη θεωρία. - Δεν αναφέρετε µε σαφήνεια τις δύο τελευταίες σας διορθώσεις. - Δεν φαίνεται αν η αλλαγή της tempc, από int σε float, έγινε σκόπιµα ή τυχαία Page 9

1458 lab1_grades - Οι διορθώσεις στο errors.txt είναι ακατανόητες. Τι ακριβώς σηµαίνει το "invalid suffix on integer constant"? Πώς θα το διορθώνατε αν το βλέπατε σε κάποιο άλλο πρόγραµµα? Οµοίως στο θέµα του radius. Το σχόλιό σας έπρεπε να είναι "υπήρχε τυπογραφικό λάθος στο όνοµα της µεταβλητής". 1459 1460 + σωστη διορθωση κωδικα (µε εξαιρεση µια δικια σασ προσθηκη printf σε σχολιο...??) - copy paste απο το terminal τα µηνυµατα λαθους του compiler και δυστυχως οχι µονο αυτα αλλα ακοµα και τιν εντολη gcc.. Συνεπως καµια εξηγηση για το πως διορθωσατε τα λαθη και τι σηµαινουν. Τα σχόλιά σας πάνω στα λάθη του προγράµµατος είναι σωστά εκτός από το τελευταιο. Η σωστή εντολή είναι return 0; (µηδέν). Στην περίπτωσή σας τυχαίνει τα αυτάκια που βάλατε να επιστρέφουν την ακέραια τιµή του όµικρον και να περνάει το πρόγραµµά σας το compile, αλλά είναι λάθος. Θα µάθετε στα επόµενα µαθήµατα τι κάνουν τα αυτάκια. 1461 FAIL Δεν εστάλη άσκηση 1462 Δεν έλλειπε το int main ούτε το include stdio, απλά ήταν σχολιασµένα και δεν τα διάβαζε ο compiler. Το καλύτερο θα ήταν να τα βγάλετε από τα σχόλια. Λέτε υπήρχε return 0 ενώ το σωστό είναι return(0). και έχετε άδικο, αφου καταρχάς υπήρχε όµικρον και όχι µηδέν και αυτό ήταν το λάθος. Το αν έχει παρενθέσεις το µηδέν απέξω του είναι το ίδιο κι αν δεν έχει, δεν αλλάζει κάτι σε αυτή την περίπτωση. Επίσης, λείπουν άλλα σχόλια για άλλα λάθη. Δεν αναφέρετε ότι υπήρχαν ξαναδηλωµένες οι µεταβλητές l, w, a κι ότι απαγορεύετε αυτό και το σβήσατε από τον κώδικα. 1463 Πολύ σωστά όλα τα σχόλιά σας. 1464 1465 - Πάρα πολύ καλή περιγραφή των σφαλµάτων του κώδικα και των δορθώσεών σας - Όταν κάνετε δεύτερη υποβολή, δε χρειάζεται να γράφετε "ορθή επανάληψη" στον τίτλο. Πάντα κοιτάµε το τελευταίο email που µας στέλνετε. - Οι διορθώσεις που έχετε σηµειώσει δεν είναι πάντα ακριβείς. Για παράδειγµα, η διόρθωση για το "expected identifier or ( before double " δεν είναι ότι έλλειπε ερωτηµατικό στην προηγούµενη γραµµή, αλλά ότι είχε κόµµα αντί για ερωτηµατικό. 1466 Πολύ σωστά όλα τα σχόλιά σας. Page 10

1467 lab1_grades Δεν έλλειπε το int main ούτε το include stdio, απλά ήταν σχολιασµένα και δεν τα διάβαζε ο compiler. Το καλύτερο θα ήταν να τα βγάλετε από τα σχόλια. Λέτε υπήρχε return 0 ενώ το σωστό είναι return(0). και έχετε άδικο, αφου καταρχάς υπήρχε όµικρον και όχι µηδέν και αυτό ήταν το λάθος. Το αν έχει παρενθέσεις το µηδέν απέξω του είναι το ίδιο κι αν δεν έχει, δεν αλλάζει κάτι σε αυτή την περίπτωση. Επίσης, λείπουν άλλα σχόλια για άλλα λάθη. Δεν αναφέρετε ότι υπήρχαν ξαναδηλωµένες οι µεταβλητές l, w, a κι ότι απαγορεύετε αυτό και το σβήσατε από τον κώδικα. 1468 - Θα µπορούσατε να αναφέρετε λίγο πιο αναλυτικά τις διορθώσεις σας στον κώδικα 1469 -Αρκετά καλή περιγραφή των λαθών. Ωστόσο θα µπορούσατε να επεκτείνετε την απλή αναφορά κάποιων λαθών ως εξής: - Έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. 1470 1471 - Καλή αναφορά. - Δεν δηλώνεται µόνο η l για 2η φορά αλλά όλες οι µεταβλητές. int l,w,a; <=> int l; int w; int a; - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε -Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). -Παρόλο που βρήκατε σωστά ότι πρέπει η tempc να δηλωθεί ως µεταβλητή int, θα µπορούσατε πιο σωστά να κάνετε δήλωση πολλαπλών µεταβλητών, διαχωρίζοντας τα ονόµατα των µεταβλητών µε κόµµα. Δηλαδή: int tempc, tempf; - Δεν έχετε δηλώσει βάσει ποιου/ποιων διαγνωστικού µηνύµατος διορθώσατε την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); - Το \n που προσθέσατε στην printf δεν αποτελούσε λάθος. (Είναι ο χαρακτήρας αλλαγής γραµµής.) Page 11

1472 lab1_grades - Στο πρώτο λάθος που εντοπίζετε, δεν αναφέρετε πού θα πρέπει να τερµατιστούν τα σχόλια, ενώ το διορθώνετε σωστά. - Στο τρίτο λάθος, δεν πρέπει να έχει κόµµα, αλλά ερωτηµατικό. Πάλι το διορθώνετε σωστά, αλλά δεν το εκφράζετε ολοκληρωµένα στο errors.txt - Στο 4ο λάθος,έπρεπε να αναφέρετε στο errors.txt σε ποιά εντολή κάνετε τη διόρθωση. Επίσης, το µήνυµα του compiler lab1.c:12:30: error: expected expression before ) token, δεν προκαλείται εξαιτίας του κόµµατος που υπάρχει στην printf, όπως αναφέρετε,( το οποίο θέλουµε να εκτυπωθεί στην οθόνη ) αλλά επειδή η printf δεν κλέινει µε, δηλαδή το πρόγραµµα περιµένει κάτι πριν τη ). - Για τη µεταβλητή radius, πάλι διορθώνετε στο πρόγραµµα τη δήλωσή της, στο double radius αντί για radious, χωρίς να πείτε στο errors.txt που την κάνετε αυτή τη διόρθωση, σε ποιά εντολή. - Στη γραµµή area = P1 * radius * radius; δεν αναφέρετε το λάθος του compiler και ούτε την αλλαγή που κάνατε στη P1 PI. - Στο τελευταίο λάθος, πάλι δεν αναφέρετε πού κάνετε τη διόρθωση. - Δεν έχετε γράψει τα ΑΕΜ σας στο όνοµα του φακέλου που στείλατε. 1473 1474 1475 - Δεν έχετε αντιγράψει στο errors.txt τη γραµµή του κώδικα όπου εµφανίζει το λάθος ο compiler. - Παραλέιψατε το µήνυµα του compiler που αφορά την απουσία ερωτηµατικού(;) στη γραµµή 10, µετά το radious - Το λάθος στη γραµµή 13 radius = 4.5; δεν διορθώθηκε επειδή επειδή τη µεταφέρατε πριν την printf αλλά επειδή αλλάξατε το όνοµα, στη δήλωση της µεταβλητής, από radious σε radius - Δεν αντιγράψατε στο errors.txt τη γραµµή του κώδικα που περιείχε το λάθος - Επίσης, το λάθος στη γραµµή 9 έπρεπε να το αναφέρετε πριν από αυτό της γραµµής 11. - Εντοπίζετε όλα τα λάθη του προγράµµατος, παραθέτοντας τα σωστά µηνύµατα λάθους που δίνει ο compiler και τη σωστή απάντηση από κάτω. - Όµως, στο δεύτερο λάθος που γράφετε στο errors.txt προσθέτετε ένα ; µετά τη παρένθεση που κλείνετε στη γραµµή µε τη συνάρτηση main, έτσι σας εµφανίζεται ενα ακόµη λάθος στην ίδια γραµµή, το οποίο όµως το διορθώνετε µετά το λάθος της printf,, όπου λείπουν τα ". Είπαµε για κάθε λάθος που διορθώνετε να κάνετε save το πρόγραµµα και ξανά compile πριν προχωρίσετε σε επόµενη διόρθωση. -Επίσης, το τελευταίο warning που γράφετε στο errors.txt θα πρέπει να σας εµφανίζετε πριν κάνετε τη διόρθωση της return O; -> return 0; Page 12

1476 FAIL Παιδιά δεν έχετε στείλει το errors.txt! ΟΚ, σωστός ο κώδικας αλλά η βαθµολογία σας στο πρώτο lab κρίνεται από τα σχόλια που γράφετε στο errors.txt 1477 1478 1479 - Έχετε διορθώσει σωστά το πρόγραµµα και κάνετε σωστή αναφορά τους στο errors.txt παραθέτοντας τα σωστά µηνύµατα λάθους που πετάει ο compiler, γράφοντας τη σωστή σύνταξη - απάντηση για κάθε λάθος. - Θα ήταν καλύτερο να γράφατε συγκεκριµένα που βρίσκεται το λάθος και µετά να γράφατε τη διόρθωση, πχ στο δεύτερο λάθος: (int argc, char *argv[] { λείπει στο τέλος µια παρένθεση -> πρέπει να είναι int main (int argc, char *argv[] ) { - Το µήνυµα warning: extra tokens at end of #include directive σας εµφανιζόταν από τη στιγµή που διορθώσατε τα σχόλια, απόλα αυτά το κοιτάξατε σχεδόν τελευταίο. - Στο λάθος 1 = l, δεν αναφέρετε τη διόρθωση στο errors.txt. ενώ στο πρόγραµµα το έχετε αλλάξει. - Γενικά, το αρχείο µε τα λάθη (errors.txt) δεν το προσέξατε ιδιαίτερα, ενώ έχετε διορθώσει πολύ σωστά το πρόγραµµα - Στο όνοµα του φακλέου που στέλνετε για διόρθωση πρέπει να βάζεε τα επιθετά σας και το ΑΕΜ, όχι τα usernames. - Το µήνυµα warning: extra tokens at end of #include directive σας εµφανιζόταν από τη στιγµή που διορθώσατε τα σχόλια, απόλα αυτά το κοιτάξατε σχεδόν τελευταίο. - Στο λάθος 1 = l, δεν αναφέρετε τη διόρθωση στο errors.txt. ενώ στο πρόγραµµα το έχετε αλλάξει. - Γενικά, το αρχείο µε τα λάθη (errors.txt) δεν το προσέξατε ιδιαίτερα, ενώ έχετε διορθώσει πολύ σωστά το πρόγραµµα - Στο όνοµα του φακλέου που στέλνετε για διόρθωση πρέπει να βάζεε τα επιθετά σας και το ΑΕΜ, όχι τα usernames. 1480 1481 -Κακή αναφορά.έχετε αντιγράψει µόνο τα λάθη που εµφανίζει ο compiler - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. Για παράδειγµα, έχετε µεν διορθώσει την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); αλλά δεν έχετε καταγράψει το σχετικό µήνυµα λάθους που σας εµφανιζόταν. -To #include<stdio.h> αποτελεί εισαγωγή της βιβλιοθήκης stdio.h (όχι απλή εντολή). Ο ορισµός της printf γίνεται στη βιβλιοθήκη stdio.h. [κακή διατύπωση στο αρχείο errors.txt]. -Δήλωση πολλαπλών µεταβλητών γίνεται µε κόµµα αντί για ερωτηµατικό. (Ορθός εντοπισµός λάθους, καλύτερη διατύπωση) Page 13

1483 1484 - Καλή αναφορά. - Δεν δηλώνεται µόνο η l για 2η φορά αλλά όλες οι µεταβλητές. int l,w,a; <=> int l; int w; int a; - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε - Καλή αναφορά - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε 1485 Δεν έχετε ξεχωρίσει τα λάθη, απλά βάλατε ότι βγάζει στην αρχή ο compiler. Επίσης, γράφετε για την αλλαγή που κάνατε και αντικαταστήσατε το όµικρον µε µηδέν (που είναι και η λύση) σε ένα warning που βγάζει ο compiler και όχι στο µήνυµα λάθους. 1486 FAIL 1487 1488 1489 1490 + σωστη διορθωση κωδικα - ΚΑΜΙΑ ερµηνεια για τα λαθη του compiler ( κενο αρχειο errors.txt) - Πάρα πολύ καλή περιγραφή των σφαλµάτων του κώδικα και των δορθώσεών σας Πολύ καλά και επεξηγηµατικά τα σχόλιά σας εκτός από το τελευταίο µήνυµα λάθους το οποίο σας λέει οτι δεν έχει δηλωθεί πουθενά η µεταβλητή όµικρον. Φυσικά στον κώδικα το έχετε σωστά αλλά στο µήνυµα γράφετε "εµφανίζει γράµµα και όχι νούµερο" και προφανώς θέλετε να πείτε ότι έπρεπε να αλλάξετε το όµικρον µε µηδέν λόγω τυπογραφικού λάθους. -Γενικά καλή αναφορά. - Θα έπρεπε όµως να γράφετε ένα ένα τα λάθη του compiler και την διόρθωση για κάθε ένα απο αυτά έτσι ώστε να αρχίσετε να τα ξεχωρίζετε -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. + σωστη διορθωση κωδικα. - στην ερµηνεια των λαθων του compiler στο πρωτο λαθος σασ αναφερετε 'κωδικας µεσα σε σχολιο' το λαθος ειναι οτι δεν ειχε κλεισει το σχολιο στην αρχη. Επισης οσον αφορα το #include(stdio.h) το λαθος ειναι οτι αντι για παρανθεσεις θελει <> οπως σωστα διορθωσατε στον κωδικα αλλα δεν γραψατε αντιστοιχως στο errors.txt Page 14

1491 Πολύ καλά και επεξηγηµατικά τα σχόλιά σας εκτός από το τελευταίο µήνυµα λάθους το οποίο σας λέει οτι δεν έχει δηλωθεί πουθενά η µεταβλητή όµικρον. Φυσικά στον κώδικα το έχετε σωστά αλλά στο µήνυµα γράφετε "εµφανίζει γράµµα και όχι νούµερο" και προφανώς θέλετε να πείτε ότι έπρεπε να αλλάξετε το όµικρον µε µηδέν λόγω τυπογραφικού λάθους. 1492 - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. 1493 - Όταν κάνετε δεύτερη υποβολή, δε χρειάζεται να γράφετε "ορθή επανάληψη" στον τίτλο. Πάντα κοιτάµε το τελευταίο email που µας στέλνετε. - Οι διορθώσεις που έχετε σηµειώσει δεν είναι πάντα ακριβείς. Για παράδειγµα, η διόρθωση για το "expected identifier or ( before double " δεν είναι ότι έλλειπε ερωτηµατικό στην προηγούµενη γραµµή, αλλά ότι είχε κόµµα αντί για ερωτηµατικό. 1494 Δεν βλέπω κανένα σχολιασµό µέσα στο errors.txt απλά παραθέτετε τον κώδικά σας και τα λάθη που βγάζει ο compiler. Σκοπός του lab1 ήταν να σχολιάσετε τα λάθη που βγάζει ο compiler και να αναφέρετε πώς διορθώνετε το λάθος. 1495 FAIL 1496 - Στο errors.txt έχετε απλώς αντιγράψει αυτούσιο το πρωτότυπο πρόγραµµα το οποίο περιέχει τα λάθη. Να διαβάζετε προσεκτικά την εκφώνηση και να ακολουθείτε τις οδηγίες που σας δίνονται! - Δεν αναφέρετε ποια ήταν τα λάθη και ποιες οι διορθώσεις σας. - Οι παρένθεση στο κείµενο της printf αλλά και οι παρενθέσεις γύρω από το µηδέν στη δήλωση του return δεν ήταν λάθος αλλά ήταν περιττές. - Παρόλο που βρήκατε σωστά ότι πρέπει η tempc να δηλωθεί ως µεταβλητή int, θα µπορούσατε πιο σωστά να κάνετε δήλωση πολλαπλών µεταβλητών, διαχωρίζοντας τα ονόµατα των µεταβλητών µε κόµµα. Δηλαδή: int tempc, tempf; -To #include<stdio.h> αποτελεί εισαγωγή της βιβλιοθήκης stdio.h (όχι απλή εντολή). Ορθά αναφέρετε ότι η printf δε µπορεί να λειτουργήσει χωρίς την εισαγωγή της stdio.h. - Δεν έχετε δηλώσει βάσει ποιου/ποιων διαγνωστικού µηνύµατος διορθώσατε την printf(''metatropi thermokrasias apo Farenheit se Celcius:''); σε printf( Metatropi thermokrasias apo Farenheit se Celcius: ); Page 15

1497 1498 - Εντοπίζετε όλα τα λάθη του προγράµµατος, παραθέτοντας τα σωστά µηνύµατα λάθους που δίνει ο compiler και τη σωστή απάντηση από κάτω. - Όµως, στο δεύτερο λάθος που γράφετε στο errors.txt προσθέτετε ένα ; µετά τη παρένθεση που κλείνετε στη γραµµή µε τη συνάρτηση main, έτσι σας εµφανίζεται ενα ακόµη λάθος στην ίδια γραµµή, το οποίο όµως το διορθώνετε µετά το λάθος της printf,, όπου λείπουν τα ". Είπαµε για κάθε λάθος που διορθώνετε να κάνετε save το πρόγραµµα και ξανά compile πριν προχωρίσετε σε επόµενη διόρθωση. -Επίσης, το τελευταίο warning που γράφετε στο errors.txt θα πρέπει να σας εµφανίζετε πριν κάνετε τη διόρθωση της return O; -> return 0; -Πολύ καλή αναφορά -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. 1499 1500 1501 -Υπάρχουν λάθη που έχετε διορθώσει αλλά δεν έχετε καταγράψει, όπως για παράδειγµα το λάθος στην main: int main (int argc, char *argv[] { à error: expected ;,, or ) before } token. Δηλαδή, µας λέει ότι λείπει ; (παραπέµπει σε διαχωριστικό εντολών), ή, (που παραπέµπει σε επιπλέον ορίσµατα στη συνάρτηση) ή σε ) πριν συναντήσουµε τον επόµενο χαρακτήρα }. Επίσης στην printf("metatropi thermokrasias apo Farenheit se Celcius:); εµφανίζεται warning: missing terminating character κ.α. που µας βοηθούν να καταλάβουµε την έλλειψη των στην printf. - Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από το εξής σφάλµα: έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. - Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). - Έχετε παρουσιάσει ελλιπώς το πρόβληµα της printf(''metatropi thermokrasias apo Farenheit se Celcius:''); -> printf( Metatropi thermokrasias apo Farenheit se Celcius: );. - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. Page 16

1502 1503 1504 FAIL - Σωστή παρατήρηση όλων των λαθών του προγράµµατος - Αναλυτική εξήγηση των απαντήσεων, όµως δεν έχετε προσδιορίσει τα αντίστοιχα µηνύµατα λάθους που βγάζει ο compiler - Επίσης, το όνοµα του αρχείου πρέπει να περιέχει τα επώνυµα και όχι τα username σας. Έπρεπε να είναι nikolaidou_1532_panagiwtara_1502 - Έχετε εντοπίσει σωστά όλα τα λάθη του προγράµµατος, κάνετε επικόλληση τα σωστά µηνύµατα λάθους που πετάει ο compiler και τα διορθώνετε σωστά. Όµως, δεν αναφέρετε ρητά ποιό είναι το λάθος, πχ εδώ: int main (int argc, char *argv[] -> int main (int argc, char *argv[]) µπορούσατε να πείτε λείπει η παρένθεση στο τέλος της δήλωσης της main και µετά να γράψετε τη σωστή µορφή της δήλωσης. - Γενικά, το αρχείο σας errors.txt δεν το προσέξατε ιδιαίτερα. -Δεν ελέγξατε αν η συµπίεση έγινε σωστά. Δυστυχώς το errors.txt που αποστείλατε είναι κενό και συνεπώς δε φαίνεται βάσει ποιων µηνυµάτων κάνατε τη διόρθωση. - Από το πρόγραµµα που έχετε αποστείλει, το 0 στο return δε χρειάζεται παρενθέσεις. 1505 - Έπρεπε να είχατε στείλει το lab1.c και όχι το lab1. Αυτό που στείλατε ήταν κώδικας µηχανής και όχι κώδικας C. - Στο πρώτο σας σχόλιο δε µπορεί κάποιος να καταλάβει τι θέλετε να πείτε. Έπρεπε σε αυτό το µήνυµα λάθους του compiler να γράψετε ότι ενώ ανοίγουν σχόλια ( /* ) δεν κλεινουν ποτέ ( */ ) οπότε το αρχικό κοµµάτι του κώδικα θεωρείται σχολιασµένο από τον compiler και δε µπορεί να γίνει compile. - Να διαβάζετε προσεκτικά τις οδηγίες. Όταν φτιάχνετε το φάκελο επώνυµο1_αμ1_επώνυµο2_αμ2, πρέπει να χρησιµοποιείτε το ΕΠΩΝΥΜΟ και όχι το username σας! 1506 FAIL Δεν εστάλη άσκηση 1507 1508 1510 Μπραβο πολυ καλη δουλεια - Η επεξήγηση για το "error: radius undeclared" δεν είναι ακριβής. Λέτε ότι δηλώσατε το radius, ενώ αυτό που κάνατε ήταν να διορθώσετε το τυπογραφικό λάθος στο όνοµα µιας ήδη υπάρχουσας µεταβλητής. πολυ καλα απλα χρειαζοταν λιγο παραπανω εξηγηση για τη φυση των λαθων. 1511 Το errors.txt το γράφετε για να µας δείξετε ότι καταλάβατε τα λάθη του προγράµµατος και τι αλλαγές κάνατε για να δουλέψουν, όχι για να δούµε τι βγάζει ο compiler. Δεν έχετε το παραµικρό σχόλιο. Page 17

1512 1513 1514 1515 1516 FAIL -Αρκετά καλή περιγραφή των λαθών. Ωστόσο θα µπορούσατε να επεκτείνετε την απλή αναφορά κάποιων λαθών ως εξής: - Έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. - Καλή αναφορά - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε πολυ καλα απλα χρειαζοταν λιγο παραπανω εξηγηση για τη φυση των λαθων. - Στο 2ο λάθος γράφεις τα σωστά µηνύµατα λάθους που πετάει ο compiler, όµως από λάθος copy - paste λογικά, έχεις λάθος διόρθωση, αυτή του 4ου λάθους! Φαίνεται πως εντοπίζεις σωστά τα λάθη του προγράµµατος, αλλά έχεις κάνει βιαστικά το errors.txt. - Επίσης, αντί να κάνεις επικόλληση ολόκληρα κωµµάτια κώδικα, είναι προτιµότερο να περιγράψεις µε πιο απλό και περιεκτικό τρόπο το λάθος µαζί µε τη σωστή διόρθωση. Ακόµη, η τελική επικόλληση όλου του προγράµµατος, είναι περιττή. Σωστός ο κώδικας, αλλά το ζητούµενο ήταν να παραθέσετε τα λάθη που βγάζει ο compiler και να αναφέρετε πώς τα διορθώσατε και ποιο ήταν σε κάθε περίπτωση το λάθος. Έσας, το errors.txt είναι ΑΔΕΙΟ! Επίσης, δε στείλατε αντίγραφο στο δεύτερο µέλος της οµάδας. 1517 -Κακή αναφορά.έχετε αντιγράψει µόνο τα λάθη που εµφανίζει ο compiler 1518 1519 -Σωστή αναγνώριση των λαθών που περιείχε το πρόγραµµα, αναγράφοντας το µήνυµα λάθους που βγάζει ο compiler µαζί µε την σωστή απάντηση-σύνταξη -Δεν σχολιάζετε όµως καθόλου που ακριβώς εντοπίζεται το κάθε λάθος. Για το συγκεκριµένο πρόγραµµα τα λάθη είναι αρκετά εµφανείς, γενικά όµως σε προγράµµατα µεγαλύτερου µεγέθους θα πρέπει να είστε πιο αναλυτικοί -Πολύ καλή αναφορά -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. Page 18

1520 FAIL Παιδιά δεν έχετε στείλει το errors.txt! ΟΚ, σωστός ο κώδικας αλλά η βαθµολογία σας στο πρώτο lab κρίνεται από τα σχόλια που γράφετε στο errors.txt 1521 1522 1523 FAIL 1524 - Δεν έχετε αντιγράψει στο errors.txt τη γραµµή του κώδικα όπου εµφανίζει το λάθος ο compiler. - Παραλέιψατε το µήνυµα του compiler που αφορά την απουσία ερωτηµατικού(;) στη γραµµή 10, µετά το radious - Το λάθος στη γραµµή 13 radius = 4.5; δεν διορθώθηκε επειδή επειδή τη µεταφέρατε πριν την printf αλλά επειδή αλλάξατε το όνοµα, στη δήλωση της µεταβλητής, από radious σε radius - Το char *argv[] δεν ήταν λάθος. Είναι σωστή και η µορφή char **argv και η µορφή char *argv[] - Τα σχόλιά σας στο errors.txt δεν είναι συµβατά µε τις διορθώσεις που κάνατε στο πρόγραµµα. - Η αιτιολόγησή σας για το λάθος " error: O undeclared " δεν ήταν σωστή. Το πρόβληµα δεν είναι αν υπάρχουν παρενθέσεις ή όχι, αλλά το γεγονός ότι αντί για µηδέν ήταν γραµµένο ένα κεφαλαίο όµικρον. Δεδοµένου ότι το κεφαλαίο όµικρον είναι λέξη, ο compiler νόµιζε ότι είναι κάποια µεταβλητή οπότε παραπονέθηκε για το ότι δε φαίνεται να είναι δηλωµένη πουθενά. - Στο errors.txt έχετε απλώς αντιγράψει αυτούσιο το πρωτότυπο πρόγραµµα το οποίο περιέχει τα λάθη. Να διαβάζετε προσεκτικά την εκφώνηση και να ακολουθείτε τις οδηγίες που σας δίνονται! - Δεν αναφέρετε ποια ήταν τα λάθη και ποιες οι διορθώσεις σας. - Οι παρένθεση στο κείµενο της printf αλλά και οι παρενθέσεις γύρω από το µηδέν στη δήλωση του return δεν ήταν λάθος αλλά ήταν περιττές. - Έχετε εντοπίσει σωστά τα λάθη που εµφανίζονται στο πρόγραµµα αλλά δεν έχετε προσπαθήσει να τα επεξηγήσετε µε δικά σας λόγια. Για παράδειγµα, το error: tempc undeclared (first use in this function) σας λέει ότι η µεταβλητή tempc φαίνεται να µην έχει δηλωθεί κάπου στο πρόγραµµα. Το πρόβληµα είναι ότι η δήλωση πολλαπλών µεταβλητών γίνεται διαχωρίζοντας µε κόµµα και όχι µε ερωτηµατικό. Το ερωτηµατικό αποτελεί απλά τον τερµατισµό µίας εντολής. 1525 - Οι διορθώσεις στο errors.txt είναι ακατανόητες. Τι ακριβώς σηµαίνει το "invalid suffix on integer constant"? Πώς θα το διορθώνατε αν το βλέπατε σε κάποιο άλλο πρόγραµµα? Οµοίως στο θέµα του radius. Το σχόλιό σας έπρεπε να είναι "υπήρχε τυπογραφικό λάθος στο όνοµα της µεταβλητής". 1526 FAIL -Εντελώς κενό το errors.txt-την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. Page 19

1527 - gcc unrecognized option '-wall' : Δεν ειναι κωδικας C! o compiler σας λεει µονο για λαθη στον κωδικα και οχι για τις εντολες που γραφετε στο Linux. - #includes<stdio.h> : σωστα λετε οτι δεν αναγνωρισε το include, αλλα το κενο οπως αναφερετε δεν αποτελει λαθοσ. - int tempf, tempc; : Δεν ειναι λαθος! - // return 0; : δεν ελλειπε το // πριν το return! το // ειναι σχολιο µια γραµµης και ακυρωνει τον κωδικα! - κακη ερµηνεια µηνυµατων του compiler. Διαβάστε οπωσδήποτε τη λύση που θα αναρτηθεί 1528 Δεν έχετε ξεχωρίσει τα λάθη, απλά βάλατε ότι βγάζει στην αρχή ο compiler. Επίσης, γράφετε για την αλλαγή που κάνατε και αντικαταστήσατε το όµικρον µε µηδέν (που είναι και η λύση) σε ένα warning που βγάζει ο compiler και όχι στο µήνυµα λάθους. 1529 1531 1532 1533 -Γενικά καλή αναφορά. - Θα έπρεπε όµως να γράφετε ένα ένα τα λάθη του compiler και την διόρθωση για κάθε ένα απο αυτά έτσι ώστε να αρχίσετε να τα ξεχωρίζετε -Την επόµενη φορά δεν θα γίνουν αποδεκτές ασκήσεις χωρις τους Α.Μ. - Δεν αντιγράψατε στο errors.txt τη γραµµή του κώδικα που περιείχε το λάθος - Επίσης, το λάθος στη γραµµή 9 έπρεπε να το αναφέρετε πριν από αυτό της γραµµής 11. - Σωστή παρατήρηση όλων των λαθών του προγράµµατος - Αναλυτική εξήγηση των απαντήσεων, όµως δεν έχετε προσδιορίσει τα αντίστοιχα µηνύµατα λάθους που βγάζει ο compiler - Επίσης, το όνοµα του αρχείου πρέπει να περιέχει τα επώνυµα και όχι τα username σας. Έπρεπε να είναι nikolaidou_1532_panagiwtara_1502 πολυ καλα απλα χρειαζοταν λιγο παραπανω εξηγηση για τη φυση των λαθων. 1534 Το errors.txt το γράφετε για να µας δείξετε ότι καταλάβατε τα λάθη του προγράµµατος και τι αλλαγές κάνατε για να δουλέψουν, όχι για να δούµε τι βγάζει ο compiler. Δεν έχετε το παραµικρό σχόλιο. 1535 FAIL + σωστη διορθωση κωδικα - Το errors.txt δεν περιέχει όλα τα µηνύµατα του compiler, δεν εξηγησες καθολου τι σηµαινουν τα µηνυµατα του compiler και τι εκανες για να τα διορθωσεις. Page 20

1536 - Δεν χρειαζόταν να αντιγράφετε κάθε φορά όλα τα µηνύµατα λάθους σε κάθε compile. Αρκούσε µόνο το πρώτο λάθος, το οποίο θα προσπαθούσατε να διορθώσετε στη συνέχεια. Επίσης, έπρεπε να αντιγράφατε στο errors.txt και τη γραµµή του κώδικα που περιείχε το λαθος. 1537 - Αναφέρετε να λάθη του compile αλλά δεν αναφέρετε τις διορθώσεις που κάνατε. - Επίσης δεν έχετε γράψει τα λάθη µε τη σωστή σειρά που εµφανίζονται κατα' το compile 1539 FAIL 1540 + σωστη διορθωση κωδικα - ΚΑΜΙΑ ερµηνεια για τα λαθη του compiler ( κενο αρχειο errors.txt) - Υπάρχουν λάθη τα οποία έχετε διορθώσει αλλά δεν έχετε καταγράψατε επακριβώς βάσει των µηνυµάτων που τυπώθηκαν στην κονσόλα. Καποια µηνύµατα τα καταγράψατε συνεπτυγµένα και δεν αντιστοιχούν στη διόρθωση που περιγράφετε. Συνολικά υπήρχαν 6 λάθη στον αρχικό κώδικα. Εντοπίσατε αναλυτικά τα 2 και συµπτύξατε τα υπόλοιπα 4 σε ζεύγη. - Για παράδειγµα, τυπώνεται σε κάποιο σηµείο error invalid suffix PI on integer constant που αφορά τη γραµµή circumference = 2PI * radius; Στη C ο τελεστής πολλαπλασιασµού * δε θεωρείται αυτονόητος µεταξύ ενός αριθµού και µίας παραµέτρου µε συµβολικό όνοµα. Για αυτό ο compiler µας λέει ότι δεν είναι έγκυρο να τοποθετήσουµε το επίθεµα PI µετά από έναν αριθµό. Το σωστό είναι circumference = 2*PI * radius; - Πιο αναλυτικά, το warning: implicit declaration of function of printf σχετίζεται µε το #include(stdio.h) à #include<stdio.h>. - Το error: expected indentifier or ( before double σχετίζεται µε το λάθος double radius, double area; à double radius, area; - Στη δήλωση των µεταβλητών radious και area αρχικά υπήρχε κόµµα αντί για ερωτηµατικό. Επειδή πρόκειται για µεταβλητές που και οι δύο δηλώθηκαν ως double θα ήταν προτιµότερο να γίνει δήλωση σε µία γραµµή ως εξής double radius, area; (δήλωση πολλαπλών µεταβλητών). 1541 - Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από τα σφάλµατα που σας εµφανίστηκαν. Για παράδειγµα, η συνάρτηση printf απαιτεί την εισαγωγή της βιβλιοθήκης stdio.h το οποίο επιτυγχάνεται µε την εντολή #include<stdio.h> (η οποία πρέπει να τοποθετείται πάντα στην αρχή του προγράµµατος). - Έχετε παρουσιάσει ελλιπώς το πρόβληµα της printf(''metatropi thermokrasias apo Farenheit se Celcius:''); -> printf( Metatropi thermokrasias apo Farenheit se Celcius: );. Page 21

1542 Πολύ σωστά όλα τα σχόλιά σας. 1543 1545 1547 1548 - Καλή αναφορά - Καλό θα ήταν να αναφέρετε ΓΙΑΤΙ είναι λάθος όπου χρειάζεται, όχι µόνο να το επισηµαίνετε - Δεν είναι απαραίτητο να µετονοµαστούν οι µεταβλητές, αρκεί να αφαιρεθεί η επαναδήλωση τους. - Έπρεπε να αντιγράφετε στο errors.txt και τη γραµµή του κώδικα που περιείχε το λαθος. Κατά τ' άλλα η περιγραφή των διορθώσεών σας ήταν αρκετά καλή. + σωστη διορθωση κωδικα (µε εξαιρεση µια δικια σασ προσθηκη printf σε σχολιο...??) - copy paste απο το terminal τα µηνυµατα λαθους του compiler και δυστυχως οχι µονο αυτα αλλα ακοµα και τιν εντολη gcc.. Συνεπως καµια εξηγηση για το πως διορθωσατε τα λαθη και τι σηµαινουν. - Πάρα πολύ καλή περιγραφή των σφαλµάτων του κώδικα και των διορθώσεών σας - Το λάθος µε τις παρενθέσεις γύρω από τα σχόλια στη γραµµή radius = 4.5; (/* i aktina se ekatosta */) δεν υπήρχε στον αρχικό κώδικα. Πιθανώς τις προσθέσατε εσείς λανθασµένα στην προσπάθειά σας να επιλύσετε κάποιο άλλο σφάλµα. Το καλό είναι ότι αναγνωρίσατε το λάθος σας και το διορθώσατε. Δεν βλέπω κανένα σχολιασµό µέσα στο errors.txt απλά παραθέτετε τον κώδικά σας και τα λάθη που βγάζει ο compiler. Σκοπός του lab1 ήταν να σχολιάσετε τα λάθη που βγάζει ο compiler και να αναφέρετε πώς διορθώνετε το λάθος. Page 22

FAIL -Υπάρχουν λάθη που έχετε διορθώσει αλλά δεν έχετε καταγράψει, όπως για παράδειγµα το λάθος στην main: int main (int argc, char *argv[] { à error: expected ;,, or ) before } token. Δηλαδή, µας λέει ότι λείπει ; (παραπέµπει σε διαχωριστικό εντολών), ή, (που παραπέµπει σε επιπλέον ορίσµατα στη συνάρτηση) ή σε ) πριν συναντήσουµε τον επόµενο χαρακτήρα }. Επίσης στην printf("metatropi thermokrasias apo Farenheit se Celcius:); εµφανίζεται warning: missing terminating character κ.α. που µας βοηθούν να καταλάβουµε την έλλειψη των στην printf. - Δεν έχετε εξηγήσει τι συµπεράσµατα εξάγονται από το εξής σφάλµα: έχετε διορθώσει το return Ο σε return 0 βάσει του µηνύµατος error: O undeclared (first use in this function). Θα µπορούσατε να αιτιολογήσετε ότι φτάσατε σε αυτό το συµπέρασµα βάσει του ότι οι ακέραιοι χρωµατίζονται πορτοκαλί ενώ τα ονόµατα µεταβλητών παραµένουν µαύρα. Εδώ το Ο χρωµατίζεται µαύρο και είναι τελικά µη-δηλωµένο όνοµα µεταβλητής. Σωστός ο κώδικας, αλλά το ζητούµενο ήταν να παραθέσετε τα λάθη που βγάζει ο compiler και να αναφέρετε πώς τα διορθώσατε και ποιο ήταν σε κάθε περίπτωση το λάθος. Έσας, το errors.txt είναι ΑΔΕΙΟ! Επίσης, δε στείλατε αντίγραφο στο δεύτερο µέλος της οµάδας. Page 23