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

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

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

Transcript

1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 οριακό 1058 FAIL - Καλή δουλειά γενικά. - Πρόσεχε λίγο τα ονόµατα συναρτήσεων/µεταβλητών. Για παράδειγµα, το όνοµα integer δεν είναι καθόλου καλό γιατί δεν περιγράφει τι κάνει η συνάρτηση. Ένα καλύτερο όνοµα θα ήταν ispositive. Επίσης, µη δίνεις ονόµατα του ενός γράµµατος στις µεταβλητές εκτός από τα i, j για for loops. - Δεν υπάρχουν σχόλια. - Δεν κάνει compile. Καλό είναι κάθε φορά που γράφεις λίγο κώδικα, να κάνεις κι ένα compile και να διορθώνεις τα λάθη, αντί να περιµένεις να τελειώσει όλο το πρόγραµµα πρώτα. - Καλή αρχή γενικά, αλλά όχι απόλυτα σωστός τρόπος σκέψης προς το τέλος. Πρέπει να έχεις διαφορετικές µεταβλητές για την επόµενη θέση από την αρχή του πίνακα και για την επόµενη θέση από το τέλος, γιατί δεν προστίθενται παράλληλα τα µικρά και κεφαλαία γράµµατα. - Περιέχει αδικαιολόγητα πολλά errors και warnings. Έγινε κάποιο compile στο ενδιάµεσο της συγγραφής; - Όταν οι συναρτήσεις ορίζονται και υλοποιούνται µετά τη main, πρέπει να δηλώνεις τα πρωτότυπα των συναρτήσεων πριν τη main. - Σε printf λείπουν ""... - Η συνάρτηση Temp όπως καλείται στη main στη γραµµή 15 δεν αναθέτει την επιστρεφόµενη τιµή κάπου. Πώς αυτή µετά θα τη βρει το πρόγραµµα να την εκτυπώσει. Άρα ήθελες celsius = printf("%d", celsius); - Και πολλά άλλα λάθη... - Όταν ένας πίνακας έχει µέγεθος SIZE, τότε η αρίθµηση των στοιχείων γίνεται από 0 έως SIZE-1. - Η συνθήκη g> SIZE στη for αναγκάζει το loop να µην εκτελεστεί καµία φορά. Προσπάθησε να γράφεις κοµµάτια κώδικα που να µπορείς να δοκιµάζεις λίγο λίγο ότι τρέχουν και µετά συµπλήρωσε.

2 1349 Άσκηση 1η: - Καλός σχολιασµός, στοίχιση και ονοµασία µεταβλητών. - Σωστή υλοποίηση του προγράµµατος, δηλώνετε πολύ σωστά τις συναρτήσεις και τι επιστρέφουν - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Η έξοδος είναι σωστή, το µόνο που ξεχνάτε είναι να εκτυπώνετε κ µια αλλαγή γραµµής µετά την εκτύπωση των αποτελεσµάτων - Πολύ καλή υλοποίηση. - Χρησιµοποιείτε σωστά τις συναρτήσεις της ctype.h και εκτυπώνετε σωστά την έξοδο οριακό Καλή δουλειά γενικά. - Πριν παραδώσετε την άσκηση να σβήνετε τα βοηθητικά printf - Να αφήνετε µια κενή γραµµή ανάµεσα στις συναρτήσεις για να ξεχωρίζει πού τελειώνει η µία και πού ξεκινά η άλλη. Ακόµη καλύτερα θα ήταν να είχατε και σχόλια σε κάθε µιά. - ΠΡΟΣΟΧΗ στις συγκρίσεις! Μη χρησιµοποιείτε = για ==. Μέχρι τώρα θα έπρεπε να αναγνωρίζετε το warning του compiler. - Λάθος ο αλγόριθµός σας. Έπρεπε να κάνετε αριθµητική χαρακτήρων για να γίνει σωστά η πρόσθεση. Γενικά θέλει δουλειά η άσκηση. - Το µέγεθος του πίνακα char έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Καλά σχόλια. - Η συνάρτηση power θα έπρεπε να είναι void (ως προς τον τύπο επιστροφής). Τα αποτελέσµατα θα έπρεπε να τυπώνονται µέσα στη συνάρτηση και όχι από τη main. Οπότε καλά κάνετε και τυπώνετε το NEGATIVE εκεί. Επίσης, όταν πέφτει στο if κοµµάτι, δεν έχει δοθεί τιµή στο αποτέλεσµα και το return στη γραµµή 29 επιστρέφει σκουπίδια. - Η συνάρτηση calckelsiou ναι µεν φαίνεται να επιστρέφει double αλλά η kelsiou στο body της συνάρτησης έχει δηλωθεί ως int. Για αυτό και το αποτέλεσµα δεν υπολογίζεται σωστά. - Σε γενικές γραµµές οκ. Όµως αν δώσω τιµή ενός non alphabet character το πρόγραµµα δε θα λειτουργεί σωστά. Αυτό οφείλεται στο γεγονός ότι το k που ελέγχει το for θα αυξάνεται είτε διαβαστεί χαρακτήρας αλφαβητικός είτε όχι. - Πιο κατάλληλο ήτανε να γίνει η επανάληψη µε while και αυτός ο µετρητής να αυξανόταν όταν διαβαζόταν αλφαβητικός χαρακτήρας. -Επίσης δε χρησιµοποιήθηκε η τιµή του define, και αν το SIZE πάνω αλλαχθεί, το πρόγραµµα δε θα λειτουργεί σωστά.

3 Οριακό οριακό -Πολύ καλά. -Σωστή χρήση των συναρτήσεων. Η printing έχει οριστεί σωστά ως void. -Καλή στοίχιση και ονόµατα µεταβλητών. -Δεν υπάρχει αρχικό σχόλιο. -Η άσκηση δεν είναι ολοκληρωµένη. -Χρησιµοποιείτε sprintf, αλλά το formatstring πρέπει να έχει µέγεθος [13]. -Χρησιµοποιείτε την strlen χωρίς να έχετε κάνει include την string.h -Δεν υπάρχει υλοποίηση για την πρόσθεση των αριθµών. - Λάθος συνθήκη στο for. - Λάθος συνθήκη στο for. Προσέξτε αυτό το λάθος και σηµειώστε τι warning βγάζει ο compiler για να µην το ξανακάνετε - ΑΠΑΓΟΡΕΥΟΝΤΑΙ οι καθολικές µεταβλητές! Δεν υπήρχε λόγος να κάνεις καθολική µεταβλητή το input_arr αφού έτσι κι αλλιώς χρησιµοποιείται µόνο στη main. - Η PosOrNeg έπρεπε να παίρνει µία παράµετρο, κι απλά να χρησιµοποιείται δύο φορές στην Power - Καλή δουλειά κατά τα άλλα - βλ. σχόλιο για καθολικές µεταβλητές - Από τη στιγµή που κάνεις #define το SIZE, πρέπει να το χρησιµοποιείς. Το upper_pos έπρεπε να έχει αρχικοποιηθεί µε βάση το SIZE κι όχι µε βάση το 10. Επίσης, έπρεπε να είναι SIZE-1 γιατί οι θέσεις του πίνακα ξεκινούν από το µηδέν (γι'αυτό "χάνεις" κι ένα χαρακτήρα)

4 'Άσκηση 1η: Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα των συναρτήσεων -Σωστή χρήση της sprintf. -Σωστή χρήση της strcmp. -Η δήλωση της µεταβλητής double temperature_in_celsius; στη συνάρτηση fahrenheit_to_celsius δε χρειάζεται γιατί την δίνεται ήδη σαν παράµετρο Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση των συναρτήσεων της ctype -Πολύ καλά ονόµατα µεταβλητών. -Η συνάρτηση ektiposi έπρεπε να ήταν void χωρίς να επιστρέφει τιµή. -Σωστή λογική αλλά έχετε ένα µικρό λάθος στο αποτέλεσµα. Ενώ στο return οι µεταβλητές σας σωστά είναι double, δηλώνετε όλες σας τις συναρτήσεις ως int, ενώ θα έπρεπε να ήταν και αυτές double. -Δεν έχετε ολοκληρωµένο σχόλιο. -Μεταβλητές, στοίχιση όπως πάνω. -Θέλουµε να χρησιµοποιήσετε τη sprintf για να format του πίνακα. -Γενικά έχετε πιάσει τη λογική, αλλά δεν το υλοποιήσατε σωστά.

5 Καλά σχόλια. -Πολύ καλές µεταβλητές. -Η µορφοποίηση του κώδικα δεν είναι πολύ καλή. Κολλάτε σχόλια µε εντολές. -Καλή η χρήση των συναρτήσεων. -Αρκετά καλή δουλειά. -Μεταβλητές, σχόλια και πάλι καλά -Καλύτερη µορφοποίηση από πριν. -Καλή χρήση της sprintf. -Το πρόγραµµα σας δεν υπολογίζει αυτό που ζητείται. Καλή προσπάθεια. -Πολύ καλό σχόλιο, στοίχιση και µεταβλητές. -Πολύ καλή χρήση συναρτήσεων και η κλήση αυτών. -Το 350 έπρεπε να ήταν σταθερά. -Πολύ καλή δουλειά. -Ο κώδικας δεν κάνει compile επειδή λείπει το ; στη σειρά 8. -Σχόλιο, στοίχιση και µεταβλητές και πάλι καλά. -Καλή χρήση της sprintf. -Πολύ καλή προσπάθεια.

6 'Άσκηση 1η: Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα των συναρτήσεων -Σωστή χρήση της sprintf. -Σωστή χρήση της strcmp. -Η δήλωση της µεταβλητής double temperature_in_celsius; στη συνάρτηση fahrenheit_to_celsius δε χρειάζεται γιατί την δίνεται ήδη σαν παράµετρο. -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση των συναρτήσεων της ctype - Πολύ καλά. Ευανάγνωστος κώδικας και σωστά αποτελέσµατα. -Καλή χρήση και κλήση συναρτήσεων. Η συνάρτηση print θα έπρεπε να είναι void, µιας και δεν χρειάζεται να επιστρέφει κάποια τιµή. -Υπάρχουν σχόλια σε κάθε συνάρτηση του προγράµµατος Άσκηση2: -Το πρόγραµµα σας δεν βγάζει σωστά αποτελέσµατα. -Ο υπολογισµός του αθροίσµατος δεν είναι ολοκληρωµένος και δεν έχετε χρησιµοποιήσει κρατούµενο. -Το formatstring πρέπει να έχει µέγεθος [13]. -Δεν υπάρχει αρχικό σχόλιο. -Κατά τα άλλα φαίνεται να έχετε συλλάβει τη λογική της άσκησης. Προσπαθήστε να τη λύσετε σωστά στο σπίτι.

7 1570 -Ωραία σχόλια. -Καλά ονόµατα µεταβλητών εκτός από τις µεταβλητές της συνάρτησης metatropis. -Πολύ καλή χρήση συναρτήσεων και η κλήση αυτών εκτός αυτής που εκτυπώνει το αποτέλεσµα που έπρεπε να ήταν void και να µην επιστρέφει τίποτα. -Πολύ καλή δουλειά. -Μεταβλητές, στοίχιση και σχόλια όπως και πάνω. -Έχετε warnings επειδή το sum έπρεπε να ήταν int και επειδή έχετε 'number[i]', ενώ έπρεπε σκέτο number[i]. -Πολύ καλή χρήση της sprintf. -Το πρόγραµµα σας έχει λογική αν και έχετε µικρολαθάκια και έπρεπε να υπολογίζετε και το κρατούµενο. -Καλή προσπάθεια. 'Άσκηση 1η: 1571 Οριακό -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Όχι και τόσο καλή στοίχιση αν στο επόµενο εργαστήριο έχετε χάλια στοίχιση θα πάρετε κατευθείαν fail. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι converter. -Το πρόγραµµα σας δεν έχει συντακτικά λάθη αλλά έχει προειδοποιήσεις. -Στοίχιση όπως και στην 1η. -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Το πρόγραµµα είναι ηµιτελές. Λύστε το σπίτι και δείτε τις λύσεις.

8 1572 Οριακό Καλές µεταβλητές. -Προσοχή στη στοίχιση. -Ωραία χρήση συναρτήσεων εκτός της ektypwsh που έπρεπε να είναι void και να µην επιστρέφει τίποτα. -Καλή δουλειά. -Ο κώδικας δεν κάνει compile επειδή δεν κλείνετε τη main. -Έχετε και warnings. -Δε χρησιµοποιείτε τη sprintf για format. -Όταν έχουµε σταθερά χρησιµοποιούµε αυτή και όχι το 51 όπως κάνετε στον κώδικα. -Καλά ονόµατα µεταβλητών εκτός των παραµέτρων των συναρτήσεων. Θέλουµε και εκεί περιγραφικά ονόµατα. -Καλή χρήση των συναρτήσεων. -Πολύ καλή δουλειά. -Πολύ καλή στοίχιση και µεταβλητές. -Δεν έχετε αρχικό σχόλιο. -Καλή η χρήση της sprintf. -Πάρα πολύ καλή προσπάθεια. - Τα αποτελέσµατα του προγράµµατος είναι οκ. - Οι συναρτήσεις έχουν υλοποιηθεί σωστά βάσει προδιαγραφών. -Δεν υπάρχουν σχόλια στον κώδικα. -Ονόµατα µεταβλητών οκ - Το µέγεθος του πίνακα έχει δηλωθεί αλλά δεν έχει χρησιµοποιηθεί. Για να µπορέσετε να το αξιοποιήσετε χρησιµοποιείστε την sprintf, όπως αυτή παρουσιάστηκε στις διαλέξεις. - Το πρόγραµµα δε λειτουργεί τελείως ορθά βάσει προδιαγραφών και φταίει ο λάθος αλγόριθµος που χρησιµοποιείτε. - Η γραµµή 19 δε θα έπρεπε να υπάρχει. Με το που διαβάζετε ένα γράµµα, το αποθηκεύετε στον πίνακα. Αυτό θα έπρεπε να γίνεται µόνο αν το γράµµα πληρεί τις προϋποθέσεις. Η putchar τοποθετεί ένα χαρακτήρα. Μάλλον θέλατε getchar για να αγνοεί τα '\n'. - isupper(letter[j]) ---> αφού δεν έχει τιµή ακόµα δεν τρέχει ποτέ για uppercase letter. Θέλετε islower(c) και isupper(c). - Προσπαθήστε να το γράψετε σωστά βάσει των υποδείξεων,

9 1575 FAIL Άσκηση 1η: - Οι συναρτήσεις convtemp και getint είναι σωστές, ενώ στην powerf έχετε ορίσει να επιστρέφει τιµή τύπου int, αλλά αυτό δεν χρειάζεται. Έπρεπε να είναι δηλωµένη έτσι ώστε να µην επιστρέφει τιµή, δηλαδή void. Ο τρόπος που υλοποιείται όµως είναι οκ. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Στη main, διαβάζετε µε την scanf ένα αλφαριθµητικό, όµως δεν περιορίζετε το µήκος που θα διαβαστεί, µε αποτέλεσµα, σε περίπτωση που ο χρήστης εισάγει παραπάνω από 15 χαρακτήρες, το πρόγραµµα να γράψει δεδοµένα σε περιοχή της µνήµης που δεν του ανήκει. - Δεν παραδόθηκε -Πολύ καλό σχόλιο, στοίχιση και µεταβλητές. -Πολύ καλή χρήση συναρτήσεων και η κλήση αυτών. -Το 350 έπρεπε να ήταν σταθερά. -Πολύ καλή δουλειά. -Ο κώδικας δεν κάνει compile επειδή λείπει το ; στη σειρά 8. -Σχόλιο, στοίχιση και µεταβλητές και πάλι καλά. -Καλή χρήση της sprintf. -Πολύ καλή προσπάθεια. -Καλά σχόλια -Πολύ καλές µεταβλητές. -Η µορφοποίηση του κώδικα δεν είναι πολύ καλή. Κολλάτε σχόλια µε εντολές. -Καλή η χρήση των συναρτήσεων. -Αρκετά καλή δουλειά. -Μεταβλητές, σχόλια και πάλι καλά -Καλύτερη µορφοποίηση από πριν. -Καλή χρήση της sprintf. -Το πρόγραµµα σας δεν υπολογίζει αυτό που ζητείται. καλή προσπάθεια.

10 1579 -Καλά ονόµατα µεταβλητών εκτός των παραµέτρων των συναρτήσεων. Θέλουµε και εκεί περιγραφικά ονόµατα. -Καλή χρήση των συναρτήσεων. -Πολύ καλή δουλειά. -Πολύ καλή στοίχιση και µεταβλητές. -Δεν έχετε αρχικό σχόλιο. -Καλή η χρήση της sprintf. -Πάρα πολύ καλή προσπάθεια. -Ο κώδικας σας δεν κάνει compile - έχει πολλά errors και warnings. -Έχετε πολλά βασικά λάθη. Π.χ. Λάθος στη σύνταξη της scanf, διαβάζετε string έχοντας δηλώσει τη µεταβλητή απλά ως char, έχετε αδήλωτες µεταβλητές και δεν κλείνει η main FAIL -Ξανά ο κώδικας έχει πολλά errors και warnings. -Πολύ βασικό λάθος το ότι χρησιµοποιείτε do-while χωρίς αγκύλες! 1581 Οριακό Γενικότερα, φαίνεται ότι γράφετε τους κώδικες µία και έξω χωρίς να τους κάνετε compile. Έχετε προχωρήσει στη δεύτερη άσκηση χωρίς να έχετε καν βεβαιωθεί ότι η πρώτη τρέχει. 'Άσκηση 1η: -Το πρόγραµµα σας δουλεύει σωστά χωρίς λάθη -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Όχι και τόσο καλή στοίχιση αν στο επόµενο εργαστήριο έχετε χάλια στοίχιση θα πάρετε κατευθείαν fail. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Όχι και τόσο καλά ονόµατα µεταβλητών. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι "speed2". -Το πρόγραµµα σας έπρεπε να εκτυπώνει την απόσταση µε ακρίβεια 2 δεκαδικών (79,78 µ), σε εσάς δε εκτυπώνεται σωστά. -Το πρόγραµµα σας δεν έχει συντακτικά λάθη αλλά έχει προειδοποιήσεις. -Στοίχιση καλύτερη από την 1η. -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Το πρόγραµµα είναι ηµιτελές. Λύστε το σπίτι και δείτε τις λύσεις.

11 'Άσκηση 1η: Το πρόγραµµα σας δουλεύει σωστά χωρίς λάθη -Δεν υπάρχουν σχόλια στον κώδικα. -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση. -Όχι και τόσο καλά ονόµατα µεταβλητών. -Δε γίνεται χρήση σταθερών ενώ θα πρεπε να γίνεται (για το πίνακα). -Όχι και τόσο καλά ονόµατα των συναρτήσεων -Δε γίνεται χρήση της sprintf. -Σωστή χρήση της strcmp. -Εµφανίζονται σχόλια που δε χρειάζονται οριακό -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Δεν υπάρχουν σχόλια στον κώδικα. -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση των συναρτήσεων της ctype. -Δε κάνετε σωστό έλεγχο. Αν δώσω αριθµό το βάζει κανονικά στον πίνακα. Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία τα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Ηµιτελές πρόγραµµα σε πολύ αρχικό στάδιο. Ωραία σχόλια γενικότερα -Δε γίνεται χρήση της sprintf. -Καλή στοίχιση.

12 1587 Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία τα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Καλή προσπάθεια. -Δεν υπάρχει περιγραφικό σχόλιο στην αρχή του προγράµµατος. Δεν υπάρχουν σχόλια στον κώδικα -Σωστή χρήση της sprintf. -Λογικά λάθη κατά την αποθήκευση του αθροίσµατος. Τα ψηφία υψηλής τάξης δεν αποθηκεύονται 'Άσκηση 1η: -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα µεταβλητών και ονόµατα των συναρτήσεων Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -H στοίχιση δεν είναι και τόσο καλή. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Προσπαθήστε λίγο να βελτιώσετε την άσκηση στο σπίτι σας και κατόπιν δείτε την λύση της.

13 -Πολύ καλά. -Σωστή χρήση των συναρτήσεων. Η ektupwse_apostash έχει οριστεί σωστά ως void. -Καλή στοίχιση και ονόµατα µεταβλητών οριακό Ο κώδικας σας δεν κάνει compile γιατί έχει αρκετά errors. Δεν έχετε δηλώσει κάποιες µεταβλητές και δεν κλείνει η main. Να κάνετε συχνά compile όταν γράφετε ένα πρόγραµµα γιατί όσο πιο µεγάλο είναι τόσο πιο δύσκολο να διορθώσετε λάθη (ειδικά αν είναι χαµένα άγκιστρα κτλ.) -Φαίνεται να έχετε συλλάβει σωστά τη λύση της άσκησης, αλλά µάλλον δεν προλάβατε να τη δοκιµάσετε. -Για να βρείτε πιο εύκολα τα µεγέθη των strings θα µπορούσατε να χρησιµοποιήσετε τη συνάρτηση strlen. Άσκηση 1η: - Στην µετατροπή των βαθµών Fahrenheit σε Celsius έχετε λάθος τον τύπο, το σωστό είναι ((fahr-32)*5)/9. - Η συνάρτηση ύψωσης σε δύναµη θα έπρεπε να είναι τύπου void, δηλαδή να µην επιστρέφει κάτι. Έτσι, εφόσον ο χρήστης πληκτρολογεί POWER, η main διαβάζει δύο ακεραίους και καλεί την ektheths, χωρίς να µεριµνήσει για την εκτύπωση του αποτελέσµατος, η οποία θα γίνει στην ektheths. - Η δήλωση define είναι καλό να γίνεται µαζί µε τις include στην αρχή του προγράµµατος. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες - Στην scanf για την ανάγνωση της επιλογής του χρήστη, πρέπει να διαβάσουµε έως 15 χαρακτήρες, όχι Στοίχιση και σχολιασµός του προγράµµατος είναι οκ, τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιφραστικά. - Σωστή χρήση των συναρτήσεων της ctype.h - Σωστή υλοποίηση - Στοίχιση, σχολιασµός του προγράµµατος και ονόµατα µεταβλητών είναι οκ

14 1592 FAIL 1593 FAIL 1594 FAIL Άσκηση 1η: - Οι συναρτήσεις convtemp και getint είναι σωστές, ενώ στην powerf έχετε ορίσει να επιστρέφει τιµή τύπου int, αλλά αυτό δεν χρειάζεται. Έπρεπε να είναι δηλωµένη έτσι ώστε να µην επιστρέφει τιµή, δηλαδή void. Ο τρόπος που υλοποιείται όµως είναι οκ. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Στη main, διαβάζετε µε την scanf ένα αλφαριθµητικό, όµως δεν περιορίζετε το µήκος που θα διαβαστεί, µε αποτέλεσµα, σε περίπτωση που ο χρήστης εισάγει παραπάνω από 15 χαρακτήρες, το πρόγραµµα να γράψει δεδοµένα σε περιοχή της µνήµης που δεν του ανήκει. - Δεν παραδόθηκε Λάθος όνοµα αρχείου. Παραδώσατε µόνο την πρώτη άσκηση και δεν κάνει compile (µεγάλος αριθµός λαθών) 'Άσκηση 1η: -Το πρόγραµµα σας βγάζει warning και πολλά λάθη. -Δεν υπάρχει καν σχόλιο στην αρχή του προγράµµατος. - Στη δήλωση συναρτήσεων πρέπει να προσδιορίζετε τύπο για κάθε παράµετρο. -Καλή στοίχιση. -Όχι σωστά ονόµατα µεταβλητών. -Δεν ορίζονται καν οι σταθερές στο πρόγραµµα. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι epivevaiwsi kai metatropi!!!(περιγραφικά δηλαδή µε χρήση ρήµατος και χωρίς κενό µεταξύ τους) -Λάθος σύνταξη της main. -Επίσης, η συνάρτηση για την εκτύπωση που χρησιµοποιείτε, δεν πρέπει να είναι τύπου double αλλά void. -Ακόµη, όταν µία συνάρτηση σας επιστρέφει τιµή, θα πρέπει να την αποθηκεύετε κάπου (σε µια µεταβλητή) κατά την κλήση της. -Το πρόγραµµα σας βγάζει warnings και errors. -Δεν υπάρχει καν σχόλιο στην αρχή του προγράµµατος. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -καλά ονόµατα µεταβλητών. -Δεν γίνεται χρήση της sprintf. -Πρωτού στείλετε τις ασκήσεις βεβαιωθείτε ότι κάνουν compile.

15 οριακό οριακό - Καλή δουλειά γενικά. - Πριν παραδώσετε την άσκηση να σβήνετε τα βοηθητικά printf - Να αφήνετε µια κενή γραµµή ανάµεσα στις συναρτήσεις για να ξεχωρίζει πού τελειώνει η µία και πού ξεκινά η άλλη. Ακόµη καλύτερα θα ήταν να είχατε και σχόλια σε κάθε µια. - ΠΡΟΣΟΧΗ στις συγκρίσεις! Μη χρησιµοποιείτε = για ==. Μέχρι τώρα θα έπρεπε να αναγνωρίζετε το warning του compiler. - Λάθος ο αλγόριθµός σας. Έπρεπε να κάνετε αριθµητική χαρακτήρων για να γίνει σωστά η πρόσθεση. Γενικά θέλει δουλειά η άσκηση. -Σωστή χρήση και κλήση συναρτήσεων εκτός από τη metatrepei. Τι δουλειά έχει το const µπροστά από το return type? - Άσχηµα ονόµατα συναρτήσεων. Τι επιστρέφει? Τι µετατρέπει? - Έπρεπε να χρησιµοποιήσετε sprintf για το format string της scanf. -Η ύψωση σε δύναµη δεν επιστρέφει σωστό αποτέλεσµα επειδή δεν την έχετε υλοποιήσει σωστά στη συνάρτηση ektypwnei. -Καλή στοίχιση και αρχικό σχόλιο. -Η υλοποίηση σας δεν είναι σωστή, αλλά τουλάχιστον κάνει compile... -Δεν διαβάζετε σωστά τους χαρακτήρες (παίρνετε υπόψη και το enter) -Δεν χρησιµοποιείτε συναρτήσεις της ctype.h

16 Οριακό οριακό -Το πρόγραµµα σας βγάζει warning για κάτι το οποίο θα µπορούσατε να είχατε διορθώσει. -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι function!!!(περιγραφικά δηλαδή µε χρήση ρήµατος) -Ενώ δηλώνετε και ορίζεται τη συνάρτηση ektupwsh δεν την καλείτε καν, αντίθετα µε την εκφώνηση της άσκησης εκτυπώνετε µε µία printf. Επειδή η συνάρτηση σας είναι τύπου void, απλά θα έπρεπε να γράψετε στη main ektupwsh(metabliti); όπου µεταβλητή το όνοµα της µεταβλητής που θέλατε να εκτυπώσετε τη τιµή της. -Το πρόγραµµα σας βγάζει warnings και errors. -Περιγραφικό σχόλιο στην αρχή του προγράµµατος. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Όχι και τόσο καλά ονόµατα µεταβλητών. -Το µόνο που κάνει το πρόγραµµα σας είναι να διαβάζει τα δεδοµένα που έδωσε ο χρήστης. -Λάθος σύνταξη στην sprintf. Σας ξέφυγε ένα αυτάκι. -Πολύ καλά. -Σωστή χρήση των συναρτήσεων. Η ektupwse_apostash έχει οριστεί σωστά ως void. -Καλή στοίχιση και ονόµατα µεταβλητών. -Ο κώδικας σας δεν κάνει compile γιατί έχει αρκετά errors. Δεν έχετε δηλώσει κάποιες µεταβλητές και δεν κλείνει η main. Να κάνετε συχνά compile όταν γράφετε ένα πρόγραµµα γιατί όσο πιο µεγάλο είναι τόσο πιο δύσκολο να διορθώσετε λάθη (ειδικά αν είναι χαµένα άγκιστρα κτλ.) -Φαίνεται να έχετε συλλάβει σωστά τη λύση της άσκησης, αλλά µάλλον δεν προλάβατε να τη δοκιµάσετε. -Για να βρείτε πιο εύκολα τα µεγέθη των strings θα µπορούσατε να χρησιµοποιήσετε τη συνάρτηση strlen.

17 Πολύ άσχηµη στοίχιση. Αν αυτό ξανασυµβεί, η άσκηση πάει αυτόµατα για FAIL. - Οκ αποτελέσµατα. - Υπάρχει όµως warning που θα µπορούσατε να έχετε διορθώσει. Η συνάρτηση dynameis καλώς δεν επιστρέφει τίποτα µέσα µε return. Για αυτό το λόγο θα έπρεπε να είχε δηλωθεί ως void. - Το µέγεθος του πίνακα strleksi έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες Οριακό - Καλή προσπάθεια. - Όµως αν βάλουµε αριθµητικό χαρακτήρα, δε θα λειτουργήσει τελείως σωστά. Για αυτό αντί για for, θα µπορούσε να µπει while που να αυξάνει το µετρητή αν isalpa(c)! Άσκηση 1η: - Τα ονόµατα των µεταβλητών και των συναρτήσεων θα µπορούσαν να είναι πιο περιγραφικά. - Δεν χρειάζεται να αφήνετε µια κενή γραµµή µετά από κάθε εντολή, καλύτερα να κάνετε οµαδοποίηση - Η συνάρτηση Fahr πρέπει να παίρνει ως όρισµα έναν αριθµό κινητής υποδιαστολής (άρα float ή double) και να επιστρέφει το ίδιο. - Η συνάρτηση forc, πρέπει να είναι τύπου void και να µην επιστρέφει κάτι στη main, αυτό ζητείται στην εκφώνηση. Το αποτέλεσµα θα εκτυπωθεί κατευθείαν από την forc και όχι στη main. - Το µέγεθος του πίνακα str έπρεπε να γίνει define και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες - Η scanf πρέπει να διαβάζει έως 15 χαρακτήρες, όχι 14 (κάντε το µέγεθος του πίνακα 16) - Η δήλωση των µεταβλητών καλό είναι να γίνεται οµαδικά, στην αρχή της κάθε συνάρτησης (και στην main) - Επίσης, τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά - Ο έλεγχος if (((c>='a')&&(c<='z')) ((c>='a')&&(c<='z'))) είναι περιττός, από τη στιγµή που αµέσως µετά χρησιµοποιείτε τις συναρτήσεις της ctype.h - Η for εκτελείται SIZE φορές, χωρίς να αγνοεί στη µέτρηση τυχόν µη αλφαβητικούς χαρακτήρες (πχ - ) κλπ). Το σωστό θα ήταν το i να αυξάνεται µέσα στις if (islower(c)) και if (isupper(c)). Έτσι, το τελευταίο if (formlet[j]!=0) δεν χρειάζεται καν. - Η αρχικοποίηση του πίνακα δεν είναι απαραίτητη, από τη στιγµή που θέλουµε να γράψουµε δεδοµένα σε όλες τις θέσεις του

18 - Πολύ καλά. Ευανάγνωστος κώδικας και σωστά αποτελέσµατα. -Καλή χρήση και κλήση συναρτήσεων. Η συνάρτηση print θα έπρεπε να είναι void, µιας και δεν χρειάζεται να επιστρέφει κάποια τιµή. -Υπάρχουν σχόλια σε κάθε συνάρτηση του προγράµµατος Άσκηση2: -Το πρόγραµµα σας δεν βγάζει σωστά αποτελέσµατα. -Ο υπολογισµός του αθροίσµατος δεν είναι ολοκληρωµένος και δεν έχετε χρησιµοποιήσει κρατούµενο. -Το formatstring πρέπει να έχει µέγεθος [13]. -Δεν υπάρχει αρχικό σχόλιο. -Κατά τα άλλα φαίνεται να έχετε συλλάβει τη λογική της άσκησης. Προσπαθήστε να τη λύσετε σωστά στο σπίτι. Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία ονόµατα συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. Καλύτερα σχόλια στον κώδικα. -Σωστή χρήση της sprintf.

19 FAIL Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Προσοχή στα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Καλή προσπάθεια. Δεν υπάρχουν σχόλια στον κώδικα -Σωστή χρήση της sprintf. -Λογικά λάθη στην τελευταία while. Προσέξτε τι προσθέτετε και στο apotelesma και στο sum -Το πρόγραµµα δεν παράγει έξοδο -Ο κώδικας σας δεν τρέχει σωστά. -Κάνετε ανάγνωση της εντολής του χρήστη µε getchar περιµένοντας να εισάγει 15 χαρακτήρες. Έπρεπε να χρησιµοποιήσετε scanf. -Επίσης έχετε λάθος στη χρήση της strcmp. Όταν δύο string είναι ίδια, επιστρέφει 0 και όχι 1. Άρα οι έλεγχοι σας είναι λάθος. -Η τιµή που πρέπει να επιστρέφει η συνάρτηση temp1 είναι double, ενώ εσείς δηλώνετε την celcius ως int. -Ο κώδικας σας δεν κάνει compile. Έχει πολλά errors. -Επίσης δεν χρησιµοποιείτε συναρτήσεις της ctype.h -Ο κώδικας σας δεν κάνει compile - έχει πολλά errors και warnings. -Έχετε πολλά βασικά λάθη. Π.χ. Λάθος στη σύνταξη της scanf, διαβάζετε string έχοντας δηλώσει τη µεταβλητή απλά ως char, έχετε αδήλωτες µεταβλητές και δεν κλείνει η main FAIL -Ξανά ο κώδικας έχει πολλά errors και warnings. -Πολύ βασικό λάθος το ότι χρησιµοποιείτε do-while χωρίς αγκύλες! Γενικότερα, φαίνεται ότι γράφετε τους κώδικες µία και έξω χωρίς να τους κάνετε compile. Έχετε προχωρήσει στη δεύτερη άσκηση χωρίς να έχετε καν βεβαιωθεί ότι η πρώτη τρέχει.

20 - Τα αποτελέσµατα του προγράµµατος είναι οκ. - Οι συναρτήσεις έχουν υλοποιηθεί σωστά βάσει προδιαγραφών. -Δεν υπάρχουν σχόλια στον κώδικα. -Ονόµατα µεταβλητών οκ - Το µέγεθος του πίνακα έχει δηλωθεί αλλά δεν έχει χρησιµοποιηθεί. Για να µπορέσετε να το αξιοποιήσετε χρησιµοποιείστε την sprintf, όπως αυτή παρουσιάστηκε στις διαλέξεις Το πρόγραµµα δε λειτουργεί τελείως ορθά βάσει προδιαγραφών και φταίει ο λάθος αλγόριθµος που χρησιµοποιείτε. - Η γραµµή 19 δε θα έπρεπε να υπάρχει. Με το που διαβάζετε ένα γράµµα, το αποθηκεύετε στον πίνακα. Αυτό θα έπρεπε να γίνεται µόνο αν το γράµµα πληρεί τις προϋποθέσεις. Η putchar τοποθετεί ένα χαρακτήρα. Μάλλον θέλατε getchar για να αγνοεί τα '\n'. - isupper(letter[j]) ---> αφού δεν έχει τιµή ακόµα δεν τρέχει ποτέ για uppercase letter. Θέλετε islower(c) και isupper(c). - Προσπαθήστε να το γράψετε σωστά βάσει των υποδείξεων, 'Άσκηση 1η: -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα µεταβλητών µέσα στη συνάρτηση main αλλά όχι και τόσο καλά µέσα στις συναρτήσεις που κάνατε. Κάποιες από τις µεταβλητές αυτές δε χρειάζονται καν (p,q,r) µπορούσατε στο return της συνάρτησης converter να είχατε απλά return speed. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι converter. -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Προσπαθήστε λίγο να βελτιώσετε την άσκηση στο σπίτι σας και κατόπιν δείτε την λύση της.

21 1609 οριακό - Το πρόγραµµα περιέχει warning που ήτανε εύκολο να το διορθώσεις. Συγκεκριµένα η δύναµη δεν επιστρέφει τίποτα οπότε θα έπρεπε να έχει δηλωθεί ως void. - Το µέγεθος του πίνακα entoli θα έπρεπε να είχε γίνει define και έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Γιατί δηλώνεις το πρωτότυπο της strcmp µέσα στη main; Παρόλο που ο compiler δε βγάζει κάποιο λάθος, αυτό δε θα έπρεπε ποτέ να γίνεται. - Επίσης για την strcmp θα µπορούσες πιο απλά να γράψεις if (strcmp (entoli, "TEMP" ) == 0) χωρίς να ορίζεις τους πίνακες epibebaiwsi1, epibebaiwsi2. - Στη συνάρτηση δύναµη θα έπρεπε να ελέγχονται και οι δύο αριθµοί αν είναι θετικοί. Ο αλγόριθµός σου για τον υπολογισµό της δύναµης είναι λάθος. Χρειάζεσαι κάτι τέτοιο: HINT: ουδέτερο στοιχείο πολλαπλασιασµού το 1. Άρα apotelesma = 1; for(i=0; i<y; i++){ apotelesma = apotelesma * x;} - Άσχηµα ονόµατα µεταβλητών, όχι περιγραφικά - Δεν υπάρχουν σχόλια. - Δε χρησιµοποιήθηκαν συναρτήσεις από τη ctype.h. - Για να ολοκληρωθεί σωστά η άσκηση λείπει το εξής: όταν οι i, j συναντιούνται και το πρόγραµµα βγαίνει από το while, τότε ο επόµενος χαρακτήρας (αλφαβητικός) που θα διαβαστεί πρέπει να µπει σε εκείνη τη θέση. Έτσι δε θα βγαίνουν σκουπίδια σε εκείνη τη θέση στην έξοδο. 'Άσκηση 1η: -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι "metatropi" Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Προσπαθήστε λίγο να βελτιώσετε την άσκηση στο σπίτι σας και κατόπιν δείτε την λύση της.

22 - Δε γράψατε τη συνάρτηση για το συντελεστή τριβής - Ασυνεπής στοίχιση και πολλές κενές γραµµές - Άσχηµα ονόµατα µεταβλητών. Μη χρησιµοποιείτε ονόµατα του ενός γράµµατος εκτός από i,j για for loops. Γιατί δε χρησιµοποιήσατε τα ονόµατα στον κώδικα που σας δώσαµε? - Δεν υπάρχουν σχόλια 1612 FAIL Δεν κάνει compile. - Δε διαβάζετε σωστά την είσοδο. Τι ακριβώς ελέγχετε? Θέλουµε να διαβάζουµε ψηφία, όχι το αντίθετο. Επίσης, γιατί δε χρησιµοποιείτε scanf αλλά διαβάζετε ένα-ένα χαρακτήρα? Έχετε ήδη πάρει σχόλιο σε προηγούµενο εργαστήριο σχετικά µε αυτό. - Το πρόγραµµα δεν κάνει κάτι παραπάνω από το να προσπαθεί να διαβάσει τους δύο αριθµούς. -Πολύ καλά ονόµατα µεταβλητών. -Η συνάρτηση ektiposi έπρεπε να ήταν void χωρίς να επιστρέφει τιµή. -Σωστή λογική αλλά έχετε ένα µικρό λάθος στο αποτέλεσµα. Ενώ στο return οι µεταβλητές σας σωστά είναι double, δηλώνετε όλες σας τις συναρτήσεις ως int, ενώ θα έπρεπε να ήταν και αυτές double. -Δεν έχετε ολοκληρωµένο σχόλιο. -Μεταβλητές, στοίχιση όπως πάνω. -Θέλουµε να χρησιµοποιήσετε τη sprintf για να format του πίνακα. -Γενικά έχετε πιάσει τη λογική, αλλά δεν το υλοποιήσατε σωστά.

23 1615 Άσκηση 1η: - Στην µετατροπή των βαθµών Fahrenheit σε Celsius έχετε λάθος τον τύπο, το σωστό είναι ((fahr-32)*5)/9. - Η συνάρτηση ύψωσης σε δύναµη θα έπρεπε να είναι τύπου void, δηλαδή να µην επιστρέφει κάτι. Έτσι, εφόσον ο χρήστης πληκτρολογεί POWER, η main διαβάζει δύο ακεραίους και καλεί την ektheths, χωρίς να µεριµνήσει για την εκτύπωση του αποτελέσµατος, η οποία θα γίνει στην ektheths. - Η δήλωση define είναι καλό να γίνεται µαζί µε τις include στην αρχή του προγράµµατος. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες - Στην scanf για την ανάγνωση της επιλογής του χρήστη, πρέπει να διαβάσουµε έως 15 χαρακτήρες, όχι Στοίχιση και σχολιασµός του προγράµµατος είναι οκ, τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιφραστικά. - Σωστή χρήση των συναρτήσεων της ctype.h - Σωστή υλοποίηση - Στοίχιση, σχολιασµός του προγράµµατος και ονόµατα µεταβλητών είναι οκ -Πολύ καλές µεταβλητές και στοίχιση. -Πολύ καλή χρήση συναρτήσεων και κλήση αυτών. -Πολύ καλή δουλειά Καλή στοίχιση. -Κάποια ονόµατα µεταβλητών δεν είναι περιγραφικά. -Έπρεπε να χρησιµοποιήσετε τη sprintf για να κάνετε format. -Έχετε πιάσει τη λογική, αλλά το αποτέλεσµα δεν είναι σωστό. -Πολύ καλή προσπάθεια.

24 Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Προσοχή στα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Καλή προσπάθεια. Δεν υπάρχουν σχόλια στον κώδικα -Σωστή χρήση της sprintf. -Λογικά λάθη στην τελευταία while. Προσέξτε τι προσθέτετε και στο apotelesma και στο sum -Το πρόγραµµα δεν παράγει έξοδο - Πολύ καλή δουλειά µπράβο! - Προσέξτε µόνο λίγο να µην αφήνετε πολλαπλές κενές γραµµές ανάµεσα στις εντολές. - Καλή προσπάθεια, µπράβο. - Η εγγραφή στο άθροισµα έπρεπε να ξεκινά µια θέση πιο δεξιά και το τελικό κοµµάτι µε το sprintf είναι περιττό.

25 Το µέγεθος του πίνακα char έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Καλά σχόλια. - Η συνάρτηση power θα έπρεπε να είναι void (ως προς τον τύπο επιστροφής). Τα αποτελέσµατα θα έπρεπε να τυπώνονται µέσα στη συνάρτηση και όχι από τη main. Οπότε καλά κάνετε και τυπώνετε το NEGATIVE εκεί. Επίσης, όταν πέφτει στο if κοµµάτι, δεν έχει δοθεί τιµή στο αποτέλεσµα και το return στη γραµµή 29 επιστρέφει σκουπίδια. - Η συνάρτηση calckelsiou ναι µεν φαίνεται να επιστρέφει double αλλά η kelsiou στο body της συνάρτησης έχει δηλωθεί ως int. Για αυτό και το αποτέλεσµα δεν υπολογίζεται σωστά. - Σε γενικές γραµµές οκ. Όµως αν δώσω τιµή ενός non alphabet character το πρόγραµµα δε θα λειτουργεί σωστά. Αυτό οφείλεται στο γεγονός ότι το k που ελέγχει το for θα αυξάνεται είτε διαβαστεί χαρακτήρας αλφαβητικός είτε όχι. - Πιο κατάλληλο ήτανε να γίνει η επανάληψη µε while και αυτός ο µετρητής να αυξανόταν όταν διαβαζόταν αλφαβητικός χαρακτήρας. -Επίσης δε χρησιµοποιήθηκε η τιµή του define, και αν το SIZE πάνω αλλαχθεί, το πρόγραµµα δε θα λειτουργεί σωστά. 'Άσκηση 1η: Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα µεταβλητών µέσα στη συνάρτηση main αλλά όχι και τόσο καλά µέσα στις συναρτήσεις που κάνατε. Κάποιες από τις µεταβλητές αυτές δε χρειάζονται καν (p,q,r) µπορούσατε στο return της συνάρτησης converter να είχατε απλά return speed. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "convert_speed" και όχι converter. -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Προσπαθήστε λίγο να βελτιώσετε την άσκηση στο σπίτι σας και κατόπιν δείτε την λύση της.

26 Πολύ άσχηµη στοίχιση. Αν αυτό ξανασυµβεί, η άσκηση πάει αυτόµατα για FAIL. - Οκ αποτελέσµατα. - Υπάρχει όµως warning που θα µπορούσατε να έχετε διορθώσει. Η συνάρτηση dynameis καλώς δεν επιστρέφει τίποτα µέσα µε return. Για αυτό το λόγο θα έπρεπε να είχε δηλωθεί ως void. - Το µέγεθος του πίνακα strleksi έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Καλή προσπάθεια. - Όµως αν βάλουµε αριθµητικό χαρακτήρα, δε θα λειτουργήσει τελείως σωστά. Για αυτό αντί για for, θα µπορούσε να µπει while που να αυξάνει το µετρητή αν isalpa(c)! 1627 Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Προσοχή στα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. Ωραία σχόλια γενικότερα -Σωστή χρήση της sprintf.

27 1628 Άσκηση 1η: - Καλός σχολιασµός, στοίχιση και ονοµασία µεταβλητών. - Σωστή υλοποίηση του προγράµµατος, δηλώνετε πολύ σωστά τις συναρτήσεις και τι επιστρέφουν - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Η έξοδος είναι σωστή, το µόνο που ξεχνάτε είναι να εκτυπώνετε κ µια αλλαγή γραµµής µετά την εκτύπωση των αποτελεσµάτων - Πολύ καλή υλοποίηση. - Χρησιµοποιείτε σωστά τις συναρτήσεις της ctype.h και εκτυπώνετε σωστά την έξοδο. Άσκηση 1η: - Σωστός σχολιασµός, καλά ονόµατα µεταβλητών και πολύ καλή στοίχιση - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες - Στην συνάρτηση ipsosi_se_dunamh έχετε ένα λαθάκι στον υπολογισµό του αποτελέσµατος. Θα έπρεπε να είναι result = result*a; αντί για result = a*a. Έτσι όπως το έχετε γράψει, υπολογίζετε int b φορές την ύψωση του a στο τετράγωνο FAIL - Σωστός σχολιασµός, καλά ονόµατα µεταβλητών και πολύ καλή στοίχιση - Έχετε χρησιµοποιήσει σωστά τις συναρτήσεις της ctype.h - Η υλοποίηση είναι σωστή, µόνο η εκτύπωση του πίνακα στο τέλος δεν πρέπει να γίνει ανά χαρακτήρα, αλλά όλο µαζί σαν αλφαριθµητικό και µετά να ακολουθεί µια αλλαγή γραµµής. Άσκηση 3η: - Μπράβο που δουλέψατε και τρίτη άσκηση. - Δεν κάνει compile. Τα scanf είναι λάθος: έπρεπε να είχατε χρησιµοποιήσει sprintf για το format string. - Στα δύο for µε τα num1, num2 τι προσπαθούσατε να υπολογίσετε? Τα µήκη? Υπάρχει η strlen γιαυτό. - Δείτε η λύση για το αλγοριθµικό κοµµάτι. -Ο κώδικας σας δεν τρέχει σωστά. -Κάνετε ανάγνωση της εντολής του χρήστη µε getchar περιµένοντας να εισάγει 15 χαρακτήρες. Έπρεπε να χρησιµοποιήσετε scanf. -Επίσης έχετε λάθος στη χρήση της strcmp. Όταν δύο string είναι ίδια, επιστρέφει 0 και όχι 1. Άρα οι έλεγχοι σας είναι λάθος. -Η τιµή που πρέπει να επιστρέφει η συνάρτηση temp1 είναι double, ενώ εσείς δηλώνετε την celcius ως int. -Ο κώδικας σας δεν κάνει compile. Έχει πολλά errors. -Επίσης δεν χρησιµοποιείτε συναρτήσεις της ctype.h

28 Οριακό Οριακό -Πολύ καλά. -Σωστή χρήση των συναρτήσεων. Η printing έχει οριστεί σωστά ως void. -Καλή στοίχιση και ονόµατα µεταβλητών. -Δεν υπάρχει αρχικό σχόλιο. -Η άσκηση δεν είναι ολοκληρωµένη. -Χρησιµοποιείτε sprintf, αλλά το formatstring πρέπει να έχει µέγεθος [13]. -Χρησιµοποιείτε την strlen χωρίς να έχετε κάνει include την string.h -Δεν υπάρχει υλοποίηση για την πρόσθεση των αριθµών. - Λάθος συνθήκη στο for. Προσέξτε αυτό το λάθος και σηµειώστε τι warning βγάζει ο compiler για να µην το ξανακάνετε -Πολύ καλά. -Η συνάρτηση power θα έπρεπε να είναι δηλωµένη ως void, µιας και η εκτύπωση έπρεπε να γίνεται µέσα στη συνάρτηση και όχι στη main. -Καλή στοίχιση και ονόµατα µεταβλητών. ' -Το πρόγραµµα σας δεν τρέχει σωστά. -Οι τιµές των k, j έπρεπε να αρχικοποιούνται πριν την επανάληψη και όχι µέσα σε αυτή. Με αυτήν την αλλαγή ο κώδικας τρέχει σωστά. -Σωστή χρήση των συναρτήσεων της ctype.h -H printf("enter character:"); θα έπρεπε να βρίσκεται µέσα στην επανάληψη καθώς τυπώνεται µία φορά. -Καλό αρχικό σχόλιο.

29 'Άσκηση 1η: 1634 οριακό - Οι δηλώσεις συναρτήσεων είναι λάθος: δεν προσδιορίζετε τους τύπους των παραµέτρων και ως αποτέλεσµα κάνουν default σε int. Επιπλέον, στην temper δηλώνετε τοπική µεταβλητή η οποία έχει ίδιο όνοµα µε την παράµετρο, εποµένως την "κρύβει". Σε αυτό οφείλεται το ότι βγαίνουν λάθος αποτελέσµατα. -Οι συναρτήσεις πρέπει να στοιχίζονται όπως η main: Το prototype της συνάρτησης ξεκινά από την πρώτη στήλη, κι όχι ένα tab πιο µέσα. -Όχι και τόσο καλά ονόµατα µεταβλητών. -Δε γίνεται χρήση σταθερών ενώ θα πρεπε να γίνεται (για το πίνακα). -Όχι και τόσο καλά ονόµατα των συναρτήσεων -Δε γίνεται χρήση της sprintf. -Σωστή χρήση της strcmp. -Εµφανίζονται σχόλια που δε χρειάζονται. - Πολύ οριακό pass αυτή η άσκηση -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση των συναρτήσεων της ctype. -Στη scanf έπρεπε να έχετε ένα κενό.

30 1635 FAIL Άσκηση 1η: - Το πρόγραµµά σας βγάζει δύο warnings, το πρώτο για την µεταβλητή int apotelesma_ypswsis η οποία δεν χρησιµοποιείται πουθενά στη main και το δεύτερο warning, που είναι σοβαρό, ορίζετε την συνάρτηση ypswsi να επιστρέφει int, ενώ πουθενά στην υλοποίησή της δεν βάζετε κάποιο return. Το σωστό θα ήταν να την δηλώνατε ως void, που σηµαίνει ότι η συνάρτηση δεν θα επιστρέψει τίποτα στο σηµείο απ'όπου καλέστηκε. Εφόσον όµως ορίζεται µε άλλο τύπο επιστροφής, πρέπει να υπάρχει στο σώµα της και η return. - Η θερµοκρασία πρέπει να είναι αριθµός κινητής υποδιαστολής (float, double), όχι int. - Επίσης, η συνάρτηση temperature επιστρέφει τύπου double, ενώ η µεταβλητή cels είναι τύπου int. Ο τύπος της µεταβλητής που επιστρέφεται πρέπει να συµφωνεί µε τον τύπο που επιστρέφει η συνάρτηση. - Στην συνάρτηση ypswsi, η δήλωση return µέσα στη for προκαλεί τον τερµατισµό της συνάρτησης από την πρώτη επανάληψη της for. Κανονικά, θα έπρεπε να βρίσκεται µετά την εκτέλεση της for. Όπως και να έχει, ο τρόπος που υπολογίζετε την ύψωση στον 2ο ακέραιο, είναι λάθος. Δείτε προτεινόµενες λύσεις. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Δεν χρησιµοποιείτε τις συναρτήσεις της ctype.h όπως σας ζητείται. - Το πρόγραµµα βγάζει διάφορα compile errors, θα γράψατε πολύ βιαστικά την άσκηση. Πχ, στην main σας λείπουν τα [ ], στην συνθήκη της πρώτης if γράφετε word[i]==(...) και επίσης, δεν κλείνετε δύο } πριν την return 0.

31 1636 Οριακό 'Άσκηση 1η: -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει λάθη -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Θα έπρεπε να έχετε µία συνάρτηση µετατροπής της ταχύτητας σε m/sec και να την καλείτε µέσα στην συνάρτηση όπου ζητάτε την ταχύτητα. -Καλά ονόµατα σταθερών και σωστή χρήση τους. - Οι συναρτήσεις στοιχίζονται στο ίδιο "επίπεδο" µε τη main -Καλά ονόµατα µεταβλητών και ονόµατα συναρτήσεων. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "enter_speed" και όχι metatropi. -Το πρόγραµµα σας δεν έχει συντακτικά λάθη έχει όµως προειδοποιήσεις. -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Δεν κάνετε χρήση της sprintf για το µέγεθος των πινάκων. -Δεν χρειαζόταν επανάληψη για την εισαγωγή των τιµών από το πληκτρολόγιο. Η επανάληψη δε σταµατάει µε κάποιο τρόπο. -Προσπαθήστε να ξαναλύσετε σπίτι την άσκηση και κατόπιν δείτε τη λύση. 'Άσκηση 1η: -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα µεταβλητών και ονόµατα των συναρτήσεων Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει συντακτικά λάθη -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -H στοίχιση δεν είναι και τόσο καλή. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Προσπαθήστε λίγο να βελτιώσετε την άσκηση στο σπίτι σας και κατόπιν δείτε την λύση της.

32 1642 οριακό - Περιέχει error που θα µπορούσατε εύκολα να διορθώσετε. - Συγκεκριµένα, στη ln 58 έχετε γράψει power(k, l, ) και δεν ήθελε το 2ο κόµµα. - Άσχηµα ονόµατα µεταβλητών. (µη περιγραφικά) Προσέξτε τη στοίχιση και να βάζετε σχόλια. - Όταν µέσα στη scanf βάζετε κενά, το πρόγραµµα περιµένει οπωσδήποτε να διαβάσει κάποιο whitespace. Οπότε µη βάζετε κενά εκεί που δεν πρέπει. - Για τον πίνακα CHOICE θα έπρεπε να χρησιµοποιηθεί η sprintf µε τον τρόπο που υποδεικνύεται στις διαφάνειες. - Η συνάρτηση power δε λειτουργεί σωστά. Δεν αναγνωρίζει την περίπτωση αρνητικών σωστά. Ο αλγόριθµός σας για τον υπολογισµό του εκθετικού δεν είναι σωστός. HINT: ουδέτερο στοιχείο πολλαπλασιασµού το 1. Άρα apotelesma = 1; for(i=0; i<s; i++){ apotelesma = apotelesma * z; } - Η θερµοκρασία ήθελε ακρίβεια 1 δεκαδικό... - Οδηγεί σε Segmentation Fault. To οποίο οφείλεται στο εξής: Όταν ένα πίνακα έχει µέγεθος SIZE, η αρίθµηση ξεκινά από 0 και φτάνει µέχρι SIZE-1. Άρα το j έπρεπε να αρχικοποιηθεί σε SIZE-1 -Δε χρησιµοποιήθηκαν συναρτήσεις από τη ctype.h.

33 1643 Οριακό 'Άσκηση 1η: -Πολύ καλή προσπάθεια, το πρόγραµµα σας δεν έχει λάθη -Σωστή δήλωση, ορισµός και κλήση συναρτήσεων. -Θα έπρεπε να έχετε µία συνάρτηση µετατροπής της ταχύτητας σε m/sec και να την καλείτε µέσα στην συνάρτηση όπου ζητάτε την ταχύτητα. -Καλά ονόµατα σταθερών και σωστή χρήση τους. - Οι συναρτήσεις στοιχίζονται στο ίδιο "επίπεδο" µε τη main -Καλά ονόµατα µεταβλητών και ονόµατα συναρτήσεων. -Σχετικά µε τα ονόµατα των συναρτήσεων καλό θα είναι της µορφής "enter_speed" και όχι metatropi. -Το πρόγραµµα σας δεν έχει συντακτικά λάθη έχει όµως προειδοποιήσεις. -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Δεν κάνετε χρήση της sprintf για το µέγεθος των πινάκων. -Δεν χρειαζόταν επανάληψη για την εισαγωγή των τιµών από το πληκτρολόγιο. Η επανάληψη δε σταµατάει µε κάποιο τρόπο. -Προσπαθήστε να ξαναλύσετε σπίτι την άσκηση και κατόπιν δείτε τη λύση. - Δε γράψατε τη συνάρτηση για το συντελεστή τριβής - Ασυνεπής στοίχιση και πολλές κενές γραµµές - Άσχηµα ονόµατα µεταβλητών. Μη χρησιµοποιείτε ονόµατα του ενός γράµµατος εκτός από i,j για for loops. Γιατί δε χρησιµοποιήσατε τα ονόµατα στον κώδικα που σας δώσαµε? - Δεν υπάρχουν σχόλια 1644 FAIL - Δεν κάνει compile. - Δε διαβάζετε σωστά την είσοδο. Τι ακριβώς ελέγχετε? Θέλουµε να διαβάζουµε ψηφία, όχι το αντίθετο. Επίσης, γιατί δε χρησιµοποιείτε scanf αλλά διαβάζετε ένα-ένα χαρακτήρα? Έχετε ήδη πάρει σχόλιο σε προηγούµενο εργαστήριο σχετικά µε αυτό. - Το πρόγραµµα δεν κάνει κάτι παραπάνω από το να προσπαθεί να διαβάσει τους δύο αριθµούς.

34 1645 Οριακό -Ωραίες µεταβλητές και στοίχιση. -Πολύ καλή χρήση των συναρτήσεων και η κλήση αυτών. -Πολύ καλή δουλειά. -Ο κώδικας δεν κάνει compile. Έχετε ξεχάσει να κλείσετε τις αγκύλες. -Έχετε και warnings. -Κατά τα άλλα καλή χρήση της sprintf και καλό ξεκίνηµα. - Πρέπει να παραδίδετε πάντα κώδικα που να κάνει compile. 'Άσκηση 1η: 1646 FAIL -Το πρόγραµµα σας δεν έχει λάθη. Δεν υπάρχει η συνάρτηση main!!!!! Χωρίς αυτή πως να δουλέψει το πρόγραµµα!!! -Λάθος δήλωση και ορισµός συναρτήσεων. Θέλετε να επιστρέψετε τιµή τύπου double και δηλώνετε τη συνάρτηση σαν int!!! Επίσης επιστρέφετε λάθος τιµές. -Καλή στοίχιση, καλά ονόµατα σταθερών και σωστή χρήση τους. -Καλά ονόµατα µεταβλητών και αλλά όχι σωστά ονόµατα συναρτήσεων. Θα πρέπει να είναι του τύπου "convert_speed" δηλαδή να εµπεριέχουν ρήµα ενέργειας. -Διαβάστε συναρτήσεις!!!! -Το πρόγραµµα σας έχει συντακτικά λάθη -Καλή στοίχιση, καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Δεν κάνετε χρήση της sprintf για το µέγεθος των πινάκων. -Δεν χρειαζόταν επανάληψη για την εισαγωγή των τιµών από το πληκτρολόγιο. Η επανάληψη δε σταµατάει µε κάποιο τρόπο. -Λάθος λογική γενικά!!! -Προσπαθήστε να ξαναλύσετε σπίτι την άσκηση και κατόπιν δείτε τη λύση.

35 1648 Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία τα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Καλή προσπάθεια. -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. Παράγουµε τα αποτελέσµατα που µας ζητάνε Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία τα ονόµατα των συναρτήσεων. -Kαλά ονόµατα σταθερών και σωστή χρήση τους. -Ηµιτελές πρόγραµµα. Ωραία σχόλια γενικότερα -Χρήση της sprintf. -Καλή στοίχιση.

36 1650 οριακό - Περιέχει error που θα µπορούσατε εύκολα να διορθώσετε. - Συγκεκριµένα, στη ln 58 έχετε γράψει power(k, l, ) και δεν ήθελε το 2ο κόµµα. - Άσχηµα ονόµατα µεταβλητών. (µη περιγραφικά) Προσέξτε τη στοίχιση και να βάζετε σχόλια. - Όταν µέσα στη scanf βάζετε κενά, το πρόγραµµα περιµένει οπωσδήποτε να διαβάσει κάποιο whitespace. Οπότε µη βάζετε κενά εκεί που δεν πρέπει. - Για τον πίνακα CHOICE θα έπρεπε να χρησιµοποιηθεί η sprintf µε τον τρόπο που υποδεικνύεται στις διαφάνειες. - Η συνάρτηση power δε λειτουργεί σωστά. Δεν αναγνωρίζει την περίπτωση αρνητικών σωστά. Ο αλγόριθµός σας για τον υπολογισµό του εκθετικού δεν είναι σωστός. HINT: ουδέτερο στοιχείο πολλαπλασιασµού το 1. Άρα apotelesma = 1; for(i=0; i<s; i++){ apotelesma = apotelesma * z; } - Η θερµοκρασία ήθελε ακρίβεια 1 δεκαδικό FAIL - Οδηγεί σε Segmentation Fault. To οποίο οφείλεται στο εξής: Όταν ένα πίνακα έχει µέγεθος SIZE, η αρίθµηση ξεκινά από 0 και φτάνει µέχρι SIZE-1. Άρα το j έπρεπε να αρχικοποιηθεί σε SIZE-1 -Δε χρησιµοποιήθηκαν συναρτήσεις από τη ctype.h. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. --Προσοχή!! Η δήλωση πίνακα είναι SIZΕ και οι θέσεις ενός πίνακα αριθµούνται από 0 έως SIZE-1.Δε µπορείς να έχεις char str[16]; και str[16]='\0'; Επίσης αυτή η δήλωση είναι άχρηστη... Η scanf κάνει αυτή τη δουλειά... - Από άποψη αποτελεσµάτων οκ. - Προσέξτε τη στοίχιση. - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες. - Περιέχει errors... - Όταν στέλνετε ασκήσεις βεβαιωθείτε να κάνουν compile. - Να θυµάστε να ανοίγετε και να κλείνετε παρενθέσεις µαζί και να γυρνάτε να γράφετε µέσα. Θα γλιτώνατε πολλά errors έτσι στην περίπτωσή σας. - Οι islower και isupper είναι συναρτήσεις. Έτσι όπως τα χρησιµοποιείτε είναι σα να είναι απλές µεταβλητές.

37 1652 Ωραία σχόλια γενικότερα -Σωστή δήλωση και κλήση συναρτήσεων. Κατανόηση διαφοράς formal και actual παραµέτρων και σωστή χρήση. Ωραία τα ονόµατα των συναρτήσεων. -Δεν υπάρχει η συνάρτηση που ζητάει από τον χρήστη την ταχύτητα. -Kαλά ονόµατα σταθερών και σωστή χρήση τους Καλή προσπάθεια. -Καλά ονόµατα µεταβλητών και σταθερών και σωστή χρήση τους. -Σωστή χρήση της sprintf. -Υπάρχει κάποιο λογικό λάθος στην τελική for το οποίο δε σας εµφανίζει το σωστό αποτέλεσµα. - Ασυνεπής στοίχιση. Η πρώτη γραµµή κάθε συνάρτησης πρέπει να ξεκινά στην πρώτη στήλη, και κάθε φορά που ανοίγετε άγκιστρα να βάζετε το "σώµα" ένα tab πιο µέσα. - Δεν υπάρχουν σχόλια. - Κεφαλαία χρησιµοποιούµε µόνο για σταθερές. Το πρόγραµµά σας δίνει την εντύπωση ότι οι NUM1, NUM2, SUM είναι σταθερές. - Ισχύουν κι εδώ τα σχόλια της πρώτης άσκησης. - Πολύ καλή δουλειά κατά τα άλλα. - Πολύ καλή δουλειά µπράβο! - Προσέξτε µόνο λίγο να µην αφήνετε πολλαπλές κενές γραµµές ανάµεσα στις εντολές. - Καλή προσπάθεια, µπράβο. - Η εγγραφή στο άθροισµα έπρεπε να ξεκινά µια θέση πιο δεξιά και το τελικό κοµµάτι µε το sprintf είναι περιττό.

38 Άσκηση 1η: - Σωστός σχολιασµός, καλά ονόµατα µεταβλητών και πολύ καλή στοίχιση - Το µέγεθος του πίνακα str έπρεπε να γίνει define. Και θα έπρεπε να χρησιµοποιηθεί η sprintf όπως υποδεικνύεται στις διαφάνειες - Στην συνάρτηση ipsosi_se_dunamh έχετε ένα λαθάκι στον υπολογισµό του αποτελέσµατος. Θα έπρεπε να είναι result = result*a; αντί για result = a*a. Έτσι όπως το έχετε γράψει, υπολογίζετε int b φορές την ύψωση του a στο τετράγωνο Σωστός σχολιασµός, καλά ονόµατα µεταβλητών και πολύ καλή στοίχιση - Έχετε χρησιµοποιήσει σωστά τις συναρτήσεις της ctype.h - Η υλοποίηση είναι σωστή, µόνο η εκτύπωση του πίνακα στο τέλος δεν πρέπει να γίνει ανά χαρακτήρα, αλλά όλο µαζί σαν αλφαριθµητικό και µετά να ακολουθεί µια αλλαγή γραµµής Οριακό Άσκηση 3η: - Μπράβο που δουλέψατε και τρίτη άσκηση. - Δεν κάνει compile. Τα scanf είναι λάθος: έπρεπε να είχατε χρησιµοποιήσει sprintf για το format string. - Στα δύο for µε τα num1, num2 τι προσπαθούσατε να υπολογίσετε? Τα µήκη? Υπάρχει η strlen γιαυτό. - Δείτε η λύση για το αλγοριθµικό κοµµάτι. -Καλές µεταβλητές. -Προσοχή στη στοίχιση. -Ωραία χρήση συναρτήσεων εκτός της ektypwsh που έπρεπε να είναι void και να µην επιστρέφει τίποτα. -Καλή δουλειά. -Ο κώδικας δεν κάνει compile επειδή δεν κλείνετε τη main. -Έχετε και warnings. -Δε χρησιµοποιείτε τη sprintf για format. -Όταν έχουµε σταθερά χρησιµοποιούµε αυτή και όχι το 51 όπως κάνετε στον κώδικα.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΕΜ ή username. Sheet2

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

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

to post PASS PASS FAIL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

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

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7.1 Ορισμός και δήλωση συνάρτησης Μία συνάρτηση είναι μία ενότητα οδηγιών οι οποίες μαζί εκτελούν μία συγκεκριμένη εργασία. Παρέχει έναν κατάλληλο τρόπο να μπορέσουμε να κάνουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.

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

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

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε

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

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

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

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

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

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

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

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή

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

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

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

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

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

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

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

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

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες

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

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

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

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