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

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

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

Transcript

1 ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 οριακό PASS - Η µεταβλητή aukswn_aritmos είναι περιττή. Μπορούσες να χρησιµοποιήσεις i+1 στη θέση της. - Σωστή αριθµητική δεικτών - Καλή στοίχιση, σχόλια 451 PASS -Καλή στοίχιση -Καλά σχόλια -Καλά ονόµατα µεταβλητών. --Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. -Το output του προγράµµατος δεν ήταν ίδιο µε αυτό που ζητούσε η άσκηση (Κατά την είσοδο των strings) -Το αποτέλεσµα της άσκησης ήταν σωστό -Σωστή χρήση δεικτών. 476 οριακό PASS Καλή στοίχιση -Καλά ονόµατα µεταβλητών -Το output του προγράµµατος ήταν καλό. (Σου ξέφυγε ένα \n στο τύπωµα της τελευταίας printf) -Το πρόγραµµα δεν έβγαζε σωστά αποτελέσµατα. Τις περισσότερες φορές έβγαζε +1 απο την σωστή απάντηση. Ήσουν κοντά δηλαδη. Δεν δούλευε για όλες τις περιπτώσεις όµως. -Καλή στοίχιση -Καλά σχόλια -Καλά ονόµατα µεταβλητών --Κάνεις scanf string και δεν ορίζετε τους χαρακτήρες που θα κάνετε scanf (π.χ. %50s).Αυτό είναι λανθασµένη πρακτική -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. -Το πρόγραµµα δεν βγάζει το αναµενόµενο αποτέλεσµα, τυπώνει το πρώτο sting + to glue για οποιοδήποτε αριθµό strings δώσει ο χρήστης. Έκανες λάθος στην αύξηση του counter. -Η στοίχιση δεν ήταν καλή. -Έβγαζε ενα warning στο compile. -Έµπαινε σε ατέρµων loop. Page 1

2 Διαδικαστικά: ΟΚ Άσκηση 1η 1733 PASS - Σωστή στοίχιση και σχόλια. - Τα ονόµατα των µεταβλητών που έχετε επιλέξει είναι λίγο περίεργα (π.χ. δεν καταλαβαίνει κανείς από το όνοµα τι είναι το bstr) - Σωστή επίλυση της άσκησης. Άσκηση 2η - Σωστή στοίχιση και σχόλια. - Σωστή υλοποίηση της my_strlen(). - Έχετε υλοποιήσει την copy σε αρκετά καλό επίπεδο. Έχετε λάθος στις γραµµές 44, 45. Γιατί length = my_strlen(&string1[0]) - 3? Αν έλειπε αυτή η γραµµή και δεν είχατε το +1 στην επόµενη το πρόγραµµα σας θα δούλευε σωστά. Συνολικά καλή δουλειά. Προσπαθήστε όσα δεν κάνατε στο σπίτι PASS - Καλή στοίχιση - Δεν υπάρχουν σχόλια - Εκτός από τα ptr1, ptr έχετε καλά ονόµατα µεταβλητών. Τα ptr1, ptr θα µπορούσαν να λέγονται first_occur, sec_occur ή first, second - Σωστά σκεφτήκατε να ελέγξετε το str_num αλλά θα έπρεπε να βεβαιώνεστε και ότι είναι >0 ή έστω >=0 - Σωστή αριθµητική δεικτών, αλλά το glue string δε θα έπρεπε να εκτυπώνεται στο τέλος. Μπορούσατε να το αποφύγετε µε ένα απλό έλεγχο και πρόωρο break από το loop. - Δεν εκτυπώνετε το τελικό µήνυµα ακριβώς όπως ζητήθηκε. - Σωστά υπολογίζετε το min. Προσπαθήστε να τελειώσετε την άσκηση στο σπίτι. Page 2

3 1899 PASS - Προσοχή στη στοίχιση: έπρεπε όλες οι εντολές να είναι ένα tab πιο δεξιά. Διαβάστε ΠΡΟΣΕΚΤΙΚΑ το φυλλάδιο "Αρχές καλού προγραµµατισµού" - Καλό θα ήταν να ελέγχατε την εγκυρότητα του strn (αν είναι θετικός και µικρότερος του ROWS). - Μέτρια ονόµατα µεταβλητών. Μην κόβετε τα φωνήεντα γιατί δεν είναι πάντα αναγνωρίσιµες οι λεξεις. Τα glstr, strn δε δίνουν καµία ένδειξη για το τι περιέχουν οι µεταβλητές. Ειδικά το strn είναι προβληµατικό γιατί παραπέµπει σε string ενώ είναι ακέραιος. Καλύτερα ονόµατα θα ήταν glue_str και num_words - Σωστή έξοδος - Tο πρόγραµµά σας δε θα λειτουργήσει σωστά αν αλλάξουν οι τιµές που έχουν γίνει #define. Έπρεπε να κατασκευάσετε κατάλληλο format string µε χρήση sprintf. - Σωστή χρήση αριθµητικής δεικτών. - Δεν υπάρχουν σχόλια - Καλή στοίχιση αυτή τη φορά, αλλά πάλι δεν υπάρχουν σχόλια. - Ισχύουν τα ίδια για το format string. - Καλή προσπάθεια, αλλά όχι ολοκληρωµένη. Προσπαθήστε να κάνετε στο σπίτι το κοµµάτι που λείπει. - Το 1000 είναι κάπως τυχαίο και δε θα λειτουργήσει σωστά αν αλλάξει το µέγεθος του αρχικού string σε κάτι µεγαλύτερο του 100. Μπορείτε να σκεφτείτε µια αρχική τιµή που θα είναι πάντα σωστή? 1900 PASS - Προσοχή στη στοίχιση: έπρεπε όλες οι εντολές να είναι ένα tab πιο δεξιά. Διαβάστε ΠΡΟΣΕΚΤΙΚΑ το φυλλάδιο "Αρχές καλού προγραµµατισµού" - Καλό θα ήταν να ελέγχατε την εγκυρότητα του strn (αν είναι θετικός και µικρότερος του ROWS). - Μέτρια ονόµατα µεταβλητών. Μην κόβετε τα φωνήεντα γιατί δεν είναι πάντα αναγνωρίσιµες οι λεξεις. Τα glstr, strn δε δίνουν καµία ένδειξη για το τι περιέχουν οι µεταβλητές. Ειδικά το strn είναι προβληµατικό γιατί παραπέµπει σε string ενώ είναι ακέραιος. Καλύτερα ονόµατα θα ήταν glue_str και num_words - Σωστή έξοδος - Tο πρόγραµµά σας δε θα λειτουργήσει σωστά αν αλλάξουν οι τιµές που έχουν γίνει #define. Έπρεπε να κατασκευάσετε κατάλληλο format string µε χρήση sprintf. - Σωστή χρήση αριθµητικής δεικτών. - Δεν υπάρχουν σχόλια - Καλή στοίχιση αυτή τη φορά, αλλά πάλι δεν υπάρχουν σχόλια. - Ισχύουν τα ίδια για το format string. - Καλή προσπάθεια, αλλά όχι ολοκληρωµένη. Προσπαθήστε να κάνετε στο σπίτι το κοµµάτι που λείπει. - Το 1000 είναι κάπως τυχαίο και δε θα λειτουργήσει σωστά αν αλλάξει το µέγεθος του αρχικού string σε κάτι µεγαλύτερο του 100. Μπορείτε να σκεφτείτε µια αρχική τιµή που θα είναι πάντα σωστή? Page 3

4 Διαδικαστικά ΟΚ 1901 FAIL Άσκηση 1η - Καλή σοτίχιση - Δεν υπάρχουν σχόλια - Καλά ονόµατα µεταβλητών εκτός από το temp - H άσκηση παράγει segmentation fault. Προσπαθήστε να την κάνετε στο σπίτι. "Ζωγραφίστε" τον πίνακα στο χαρτί, και πού δείχνουν οι διάφοροι pointers που έχετε για να βρείτε το λάθος σας. Άσκηση 2η - Το πρόγραµµα δεν µεταγλωτίζεται. Προσπαθήστε να την κάνετε στο σπίτι. 1904???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. Επίσης δεν τον αρχικοποιείτε σωστά γιατί το εσωτερικό for-loop είτε δεν εκτελείται ποτέ είτε δεν τερµατίζει ποτέ ανάλογα µε την τιµή της σταθεράς STRLEN, το πρόγραµµά σας τυχαίνει να λειτουργεί σωστά. Τέλος, καλό είναι να µην χρησιµοποιείτε "<=" αν µπορείτε να χρησιµοποιήσετε "<". Πχ το "i<=n-1" είναι ισοδύναµο µε "i<n". -Σωστές πράξεις αλλά δεν παίρνετε υπόψιν σας πως µία είσοδος µπορεί να είναι της µορφής "κείµενοdelimiterκείµενο". -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές, *οπωσδήποτε*. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Η άσκηση ζητούσε την χρήση pointers. -Λύστε την 2η άσκηση *οπωσδήποτε*. 1908???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Λύστε την 2η άσκηση *οπωσδήποτε*. Page 4

5 1909 FAIL -Σχόλια: Εντάξει -Στοίχιση: Εντάξει - Τα περισσότερα ονόµατα που χρησιµοποιήτε είναι τελείως λάθος καθώς δεν υποδηλώνουν τη χρήση της κάθε µεταβλητής. Αποφεύγουµε να αριθµούµε τις µεταβλητές µας και να βάζουµε γενικά ονόµατα όπως str και array. Διαβάστε πάλι τον οδηγό µε τις οδηγίες για τη σωστή χρήση ονοµάτων µεταβλητών. - Δεν έχετε χρησιµοποιήσει την sprintf για να διαβάζετε την είσοδο ακόµη και αν ο πίνακας σας δηλώνεται διαφορετικά κάθε φορά. Δείτε στις διαφάνειες πως χρησιµοποιείται η sprintf και να κάνετε κάποια παραδείγµατα για να σιγουρευτείτε οτι καταλαβαίνετε πως λειτουργεί. - Το πρόγραµµα σας βγάζει κάποιες προειδοποιήσεις τις οποιες δεν έχετε λύσει και έτσι υπάρχουν κάποια προβλήµατα που το κάνουν να µην είναι σε θέση να τρέξει σωστά. Διορθώνουµε πάντα όλα τα warnings και αν δεν καταλαβαίνουµε τι εννοούν τότε ρωτάµε τους βοηθούς. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. - Λάθος πράξεις. Χρησιµοποιείτε τη µεταβλητή flag (ποιος είναι ο λόγος που χρησιµοποιήσατε αυτό το όνοµα; ) η οποία στην αρχή δεν έχει αρχικοποιηθεί. - Στη γραµµή 30 έχετε κάνει λάθος ανάθεση την οποία σας τονίζει και ο compiler. Βάζετε σε περιεχόµενο ενός δείκτη το δείκτη ενός άλλου πίνακα. -Στην εκτύπωση της εξόδου γιατί δεν χρησιµοποιείτε %s και το εκτυπώνετε χαρακτήρα χαρακτήρα; - Λύστε οπωσδήποτε την άσκηση 1910???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Λύστε την 2η άσκηση *οπωσδήποτε* FAIL Στείλατε την άσκηση του lab 8. ΑΝΟΙΓΟΥΜΕ ΤΟ MAIL που µας έρχεται όταν κάνουµε CC. Page 5

6 Διαδικαστικά: 8 λεπτά εκπρόθεσµη 1913 FAIL - σχόλια: πολύ λίγα - στοίχιση: σε κάποια σηµεία είναι λίγο εκτός, πχ στο 2ο for. Επίσης δε χρειάζεται να αφήνεται τόσα πολλά κενά µέχρι το return! - σταθερές: OK - ονόµατα µεταβλητών: num,temp_len, temp_len1 είναι αρκετά άσχηµα, δοκιµάστε κάτι πιο περιγραφικό! - format string: Δεν χρησιµοποιήθηκε και τα µεγέθη στη scanf είναι λάθος γιατί δεν αφήνετε χώρο για το \0 - αριθµητική δεικτών: η γραµµή point[temp_len]= '\0' ; πρέπει να σας βγάζει το segmentation. Διότι πριν από αυτή αλλάζετε το point και µετά πάτε να πειράξετε µια θέση από το τέλος του string που µόλις προσπεράσατε + το µεγεθός του, το οποίο δεν βγάζει νόηµα. - χρήση strncpy: ΟΚ - Μην αγνοείτε τα warnings του compiler. Το str_glue έπρεπε να είναι δηλωµένο ως συµβολοσειρά, όχι ως χαρακτήρας. Επίσης στη scanf που γεµίζετε τον πίνακα έπρεπε να είχατε str_table[i]. Τέτοιου είδους λάθη προκαλούν segfault. - Δεν εκτυπώνετε το string στο τέλος. - γενικά: Θα πρέπει να ξαναδοκιµάσετε! Προσπαθήστε να καταλάβετε καλύτερα την αριθµητική µε δείκτες. Δεν κάνει compile. Γενικά, πρέπει να µάθετε να διαβάζετε τα errors του compiler. Διαδικαστικά OK. - Σωστή στοίχιση. - Τα περισσότερα σχόλια δεν προσφέρουν κάποια έξτρα πληροφορία πέραν του προφανούς. - Σωστή δηµιουργία των format strings µε χρήση της sprintf(). - Σωστή χρήση strncpy() και υπολογισµός µεγέθους PASS - Καθόλου σχόλια! - Για τη λειτουργία "copy": το όριο της επανάληψης στην περίπτωση συµβολοσειρών ίσου µεγέθους αρκεί να είναι strlen1 (ή strlen2). για strlen1>strlen2, η µεταβλητή pos δεν αλλάζει τιµή µέσα στην επανάληψη, οδηγώντας σε ατέρµων βρόχο, και η συνθήκη στο σώµα του βρόχου είναι πάντα αληθής (pos<string_length). - Η εκφώνηση απαγορεύει ρητά τη χρήση πινάκων οπουδήποτε αλλού πέραν της αρχικοποίησησς τους. Λύστε την άσκηση αποκλειστικά µε χρήση δεικτών. Page 6

7 1915???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. Επίσης δεν τον αρχικοποιείτε σωστά γιατί το εσωτερικό for-loop είτε δεν εκτελείται ποτέ είτε δεν τερµατίζει ποτέ ανάλογα µε την τιµή της σταθεράς STRLEN, το πρόγραµµά σας τυχαίνει να λειτουργεί σωστά. Τέλος, καλό είναι να µην χρησιµοποιείτε "<=" αν µπορείτε να χρησιµοποιήσετε "<". Πχ το "i<=n-1" είναι ισοδύναµο µε "i<n". -Σωστές πράξεις αλλά δεν παίρνετε υπόψιν σας πως µία είσοδος µπορεί να είναι της µορφής "κείµενοdelimiterκείµενο". -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές, *οπωσδήποτε*. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Η άσκηση ζητούσε την χρήση pointers. -Λύστε την 2η άσκηση *οπωσδήποτε*. Διαδικαστικά: οκ 1917???? -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός του ptr και σωστή χρήση σταθερών. -Έπρεπε να βάλετε κάποιον έλεγχο για τα πόσα string µπορεί να δώσει ο χρήστης -Μέσα στους ελέγχους µπορείτε αντί i<=string_num-1 να γράφεται i<string_num -Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστή µορφοποίηση εξόδου -Δεν έγινε Page 7

8 Διαδικαστικά OK FAIL Άσηση 1η: - Δεν έχετε βάλει περιορισµό στο µέγεθος της εισόδου που διαβάζει η scanf(), δείτε στις διαφάνειες πως γίνεται αυτό µε γενικό τρόπο χρησιµοποιώντας την sprintf() για τη δηµιουργία του format string. Αυτό είναι σοβαρό λάθος! - Δεν ελέγχετε την τιµή που επιστρέφει η strstr() µέσα στο while. Εάν ο delimiter δεν υπάρχει, η επιστρεφόµενη τιµή είναι NULL και οποιαδήποτε απόπειρα εγγραφής/ανάγνωσης από αυτή τη διεύθυνση προκαλεί segmentation fault και τερµατίζει το πρόγραµµα. Επίσης, να χρησιµοποιείτε NULL και όχι 0 όταν πρόκειται για pointers. - Για την περίπτωση που δεν υπάρχει καθόλου ο delimiter, το µέγεθος που περνάτε στην strlen() δεν είναι το σωστό. Θέλουµε το µήκος της συµβολοσειράς και όχι το περιεχόµενο (χαρακτήρα) της τελευταίας θέσης. - Το πρόγραµµα τερµατίζει µε segmentation fault. - Δεν έχετε υλοποιήσει κάτι. - Λύστε την 2η άσκηση *οπωσδήποτε* FAIL -Καλή στοίχιση -Θα µπορούσατε να είχατε καλύτερα σχόλια -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. Επιπλέον, το %50s είναι λάθος γιατί δε λαµβάνει υπόψη το \0 -Το output του προγράµµατος ήθελε περισσότερη προσοχή. -Το πρόγραµµα έβγαζε warning κατα το compilation. Λόγω αυτού του warning έβγαζε segmentation fault. Σας ξέφυγε το & στην scanf (Εκεί που διαβάζετε τον ακέραιο) -Ακόµα και να υπήρχε η δίορθωση, το πρόγραµµα σας δεν εκτυπώνει κάτι σαν αποτέλεσµα.(δεν βάλατε printf.) - Τι σκοπό εξυπηρετή η µεταβλητή tab στο πρώτο for? Δε χρησιµοποιείται πουθενά εφόσον της δίνετε άλλη τιµή λίγο πριν το δεύτερο for. - Να χρησιµοποιείτε strlen για να υπολογίζετε µήκος. - Η for που διαβάζει τα αρχικά δεδοµένα εκτελείται µια φορά λιγότερη από ότι θα έπρεπε. - Κάνετε πάντα strcpy το tab, το οποίο είναι &table[0][0] οπότε το τελικό string θα γεµίσει µε πολλες εµφανίσεις της πρώτης µόνο λέξης. -Έβγαζε και αυτή warning στο compile, για διάφορα σηµαντικά λάθη (έλλειψη & σε scanf, άσκοπη χρήση *) -H στοίχιση είναι καλή. -Δεν έχετε καθόλου σχόλια Γενική συµβουλή: φαίνεται σα να προσπαθείτε να γράψετε όσο πιο πολύ κώδικα µπορείτε και µετά να ελέγχετε αν κάνει compile και είναι σωστός. Αυτό είναι λάθος τακτική. Πρέπει να γράφετε κάθε πρόγραµµα κοµµάτι-κοµµάτι, να βεβαιώνεστε ότι αυτό που γράψατε κάνει compile και λειτουργεί µέχρι στιγµής, και µετά να συνεχίζετε. Page 8

9 1922???? -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: πολύ καλή - Μπορείτε να χρησιµοποιείτε ακόµη καλύτερα ονόµατα µεταβλητών. Για παράδειγµα το όνοµα array_2d είναι πολύ γενικό και δεν υποδηλώνει τη χρήση του. Σωστή χρήση σταθερών. - Σωστή χρήση της sprintf() -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Σωστός υπολογισµός του µεγέθους του string, ο εντοπισµός και η αντιγραφή του. - Σωστά εντοπίζετε την τελευταία λέξη µε ειδική µεταχείριση. - Πολύ καλή δουλειά -Λύστε οπωσδήποτε την άσκηση Διαδικαστικά: - Να προσέχετε περισσότερο το tar που κάνετε. Δεν είχατε φάκελο. Κάνατε.tgz το lab9a.c µόνο FAIL -Καλή στοίχιση -Έβγαζε αρκετά warning κατα το compile. -ΔΕΝ έχετε καθόλου σχόλια -Κάνετε scanf string και δεν ορίζετε τους χαρακτήρες που θα κάνετε scanf (π.χ. %49s).Αυτό είναι λανθασµένη πρακτική -Το output του προγράµµατος ήθελε περισσότερη προσοχή.(\n) -To πρόγραµµα σας έβγαζε segmentation fault. -Όταν κάνετε strncpy πρεπει να βάζετε έσεις το '\0' στο τέλος του string. Επίσης, να αρχικοποιείτε πάντα τους pointers. Για παράδειγµα, κάνετε strncpy χρησιµοποιώντας το ptr, το οποίο δεν έχει κάποια αρχική τιµή, (µάλλον γι αυτο σας έβγαζε segmentation fault) Page 9

10 Διαδικαστικά: οκ 1926 PASS -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός του ptr -Έπρεπε να κάνετε define και τις γραµµές του πίνακα ROW 10. -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. Θα µπορούσατε να κάνετε το ίδιο και για το glue -Στον έλεγχο για πόσα string θα δώσετε έπρεπε να ελέγχετε να µην ξεπεράσει το 10 αφού ο διδιάστατος πίνακας είναι 10 γραµµών. Με αποτέλεσµα να βγαίνετε εκτός ορίων του πίνακα. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστή µορφοποίηση εξόδου 1927 FAIL Δεν ελήφθη άσκηση -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός των ptr1 και ptr2 -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστά βάζετε \0 στο τέλος γιατί η strncpy δεν το κάνει -Σωστή µορφοποίηση εξόδου Διαδικαστικά OK. - Σωστή στοίχιση. - Τα περισσότερα σχόλια δεν προσφέρουν κάποια έξτρα πληροφορία πέραν του προφανούς. - Σωστή δηµιουργία των format strings µε χρήση της sprintf(). - Σωστή χρήση strncpy() και υπολογισµός µεγέθους PASS - Καθόλου σχόλια! - Για τη λειτουργία "copy": το όριο της επανάληψης στην περίπτωση συµβολοσειρών ίσου µεγέθους αρκεί να είναι strlen1 (ή strlen2). για strlen1>strlen2, η µεταβλητή pos δεν αλλάζει τιµή µέσα στην επανάληψη, οδηγώντας σε ατέρµων βρόχο, και η συνθήκη στο σώµα του βρόχου είναι πάντα αληθής (pos<string_length). - Η εκφώνηση απαγορεύει ρητά τη χρήση πινάκων οπουδήποτε αλλού πέραν της αρχικοποίησησς τους. Λύστε την άσκηση αποκλειστικά µε χρήση δεικτών. Page 10

11 1929 FAIL -Σχόλια: Εντάξει -Στοίχιση: Καµία. -Λάθος ονόµατα µεταβλητών αλλά σωστή χρήση σταθερών. -Λάθος χρήση και κλήση sprintf() για τον ορισµό µεγέθους εισόδου. Αρχικά ο κώδικας δεν κάνει αυτό που νοµίζετε, επίσης ακόµα κι αν κάνατε σωστή κλήση οι πίνακές σας είναι κατά 1 χαρακτήρα µικρότεροι από ότι έπρεπε να είναι. Αυτό το λάθος σας το δείχνει και ο compiler µε τη µορφή warnings. ΚΟΙΤΑΜΕ την έξοδο του compiler, το γεγονός πως το πρόγραµµα έκανε compile χωρίς errors αλλά µε 10 warnings δεν σηµαίνει πως είναι εντάξει. -Λάθος χρήση δεικτών. -Δοκιµάσετε να κάνετε την άσκηση *οπωσδήποτε*. -Σωστή µορφοποίηση εξόδου. -H άσκηση ζητούσε την χρήση δεικτών. -Λύστε την 2η άσκηση *οπωσδήποτε*. 1931???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Μερικώς σωστά ονόµατα µεταβλητών αλλά σωστή χρήση σταθερών. Τα i/k πλέον δεν είναι απλοί iterators. Βρείτε περιγραφικό όνοµα για κάποια/και τις δύο µεταβλητές. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Θα µπορούσατε να µετράτε πόσες εκφράσεις εξαγάγατε και µετά στην εκτύπωση να είχατε έναν 2ο iterator, δεν ήταν ανάγκη να αυξάνετε και το i και το k. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Σχόλια: Εντάξει -Στοίχιση: Εντάξει, αλλά έχετε λάθος στο return της main() και να χρησιµοποιείτε είτε tabs είτε spaces για την στοίχιση όχι και τα 2. Φροντίστε να µην γίνει ξανά τέτοια παράλειψη. -Το ζητούµενο της άσκησης ήταν να συνθέσετε τους πίνακες και όχι να εκτυπώσετε µηνύµατα που να προσοµοιώνουν την σύνθεση κάνοντας χρήση δεικτών. -Λύστε την 2η άσκηση *οπωσδήποτε* µε τις παραπάνω αλλαγές. Page 11

12 1932 PASS - Καλή δουλειά! - Καλή στοίχιση. - Σωστά κάνατε τον προσδιορισµό µήκους στο format string της scanf για κάθε string µε sprintf µε βάση τα #defined µεγέθη. - Δεν υπάρχουν σχόλια. - Σωστή αριθµητική δεικτών, αλλά δεν κάνατε copy το τελευταίο substring. Θα µπορούσατε να το κάνετε µε σκέτο strcpy, δείτε την λύση. - Πολύ καλή δουλειά! - Σωστή στοίχιση αλλά δεν έχετε σχόλια. - Σωστή υλοποίηση της my_strlen(). - Σωστή υλοποιήση της catenate και copy FAIL - Καθόλου σχόλια! - Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά. - Η αναζήτηση του delimiter µέσα στην εντολή for δεν ξεκινάει από το start_str. - Δεν υπολογίζετε σωστά την νέα τιµή του length πριν την χρησιµοποιήσετε στην strncpy(). - Επίσης δεν κάνετε έλεγχο της τιµής που επιστρέφει η strstr(). Εάν ο delimiter δεν βρέθηκε, η επιστρεφόµενη τιµή είναι NULL και οποιαδήποτε απόπειρα εγγραφής/ανάγνωσης από αυτήν την διεύθυνση προκαλεί segmentation fault και τερµατισµό του προγράµµατος. - Δεν είναι σωστή η δεύτερη παράµετρος της strncpy. Έπρεπε να είναι start_str κι όχι str - Η εκτύπωση του τελικού πίνακα έπρεπε να γίνεται αφού αυτός γεµίσει. - Προσπαθήστε να λύσετε σωστά την άσκηση. - Δεν κάνει compile. - Λύστε την 2η άσκηση κάνοντας χρήση δεικτών *οπωσδήποτε* FAIL Εστάλη η άσκηση του lab8 1936???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Στην εκτύπωση των αποτελεσµάτων ελέγχετε αν η επόµενη γραµµή ξεκινά µε '\0' αυτό µπορεί να οδηγήσει σε σφάλµα µνήµης και είναι λάθος. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Λύστε την 2η άσκηση κάνοντας χρήση δεικτών *οπωσδήποτε*. Page 12

13 1942 FAIL -Σχόλια: Εντάξει -Στοίχιση: Εντάξει - Τα περισσότερα ονόµατα που χρησιµοποιήτε είναι τελείως λάθος καθώς δεν υποδηλώνουν τη χρήση της κάθε µεταβλητής. Αποφεύγουµε να αριθµούµε τις µεταβλητές µας και να βάζουµε γενικά ονόµατα όπως str και array. Διαβάστε πάλι τον οδηγό µε τις οδηγίες για τη σωστή χρήση ονοµάτων µεταβλητών. - Δεν έχετε χρησιµοποιήσει την sprintf για να διαβάζετε την είσοδο ακόµη και αν ο πίνακας σας δηλώνεται διαφορετικά κάθε φορά. Δείτε στις διαφάνειες πως χρησιµοποιείται η sprintf και να κάνετε κάποια παραδείγµατα για να σιγουρευτείτε οτι καταλαβαίνετε πως λειτουργεί. - Το πρόγραµµα σας βγάζει κάποιες προειδοποιήσεις τις οποιες δεν έχετε λύσει και έτσι υπάρχουν κάποια προβλήµατα που το κάνουν να µην είναι σε θέση να τρέξει σωστά. Διορθώνουµε πάντα όλα τα warnings και αν δεν καταλαβαίνουµε τι εννοούν τότε ρωτάµε τους βοηθούς. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. - Λάθος πράξεις. Χρησιµοποιείτε τη µεταβλητή flag (ποιος είναι ο λόγος που χρησιµοποιήσατε αυτό το όνοµα; ) η οποία στην αρχή δεν έχει αρχικοποιηθεί. - Στη γραµµή 30 έχετε κάνει λάθος ανάθεση την οποία σας τονίζει και ο compiler. Βάζετε σε περιεχόµενο ενός δείκτη το δείκτη ενός άλλου πίνακα. -Στην εκτύπωση της εξόδου γιατί δεν χρησιµοποιείτε %s και το εκτυπώνετε χαρακτήρα χαρακτήρα; - Λύστε οπωσδήποτε την άσκηση Διαδικαστικά ΟΚ Άσκηση 1η 1946???? - Η στοίχιση σας είναι σωστή. - Τα σχόλια σας είναι ιδιαίτερα εκτενή. Θέλουµε λίγα και περιεκτικά και όχι σχόλιο σε κάθε γραµµή. Η περιγραφή του προγράµµατος στην αρχή αρκεί εάν ο κώδικας είναι ευανάγνωστος. Εάν υπάρχουν δυσνόητα σηµεία στον κώδικα βάζουµε και εκεί µία επεξήγηση. - To πρόγραµµα σας είναι σωστό! Άσκηση 2η - H επιστρεφόµενη τιµή της my_strlen() δεν είναι σωστή. Επιστρέφει το σωστό µήκος -1. Page 13

14 1947 οριακό PASS lab9grades Διαδικαστικά: 6 λεπτά εκπρόθεσµη - σχόλια: σχεδόν τίποτα. Αυτά πλέον είναι πολύ σηµαντικά λάθη - στοίχιση: OK - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: θα έπρεπε να είναι STRLEN αντί για SIZE! Επίσης, θα έπρεπε να χρησιµοποείτε format string και για το glue - αριθµητική δεικτών: OK - γενικά: Αρκετά καλά! - σχόλια: OK - στοίχιση: Πολύ κακή, τα άγκιστρα φαίνεται να είναι τυχαία τοποθετηµένα (ή ξεχάσατε κανένα;) - σταθερές: OK - ονόµατα µεταβλητών: Άσχηµα ονόµατα, δοκιµάστε να είναι πιο περιγραφικά - format string: δεν έγινε - αριθµητική δεικτών: δεν βγάζω νόηµα από αυτό που πάτε να κάνετε, ίσως αν άλλαζε τιµή ο ptr µέσα στο loop να γινόταν κάτι. - γενικά: Δοκιµάστε να την κάνετε σπίτι. Διαδικαστικά: 5 λεπτά εκπρόθεσµη 1949 PASS - σχόλια: ΟΚ - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: ΟΚ - αριθµητική δεικτών: ΟΚ - γενικά: Πολύ καλά τα βλέπω τα πράγµατα! - σχόλια: Κανένα σχόλιο - στοίχιση: OK - σταθερές: OK - ονόµατα µεταβλητών: OK - format string: OK - αριθµητική δεικτών: Κάπου πρέπει να έχετε κάνει λάθος στις προσθαφαιρέσεις µε το 1 - γενικά: αρκετά καλή αλλά δοκιµάστε να την ξαναδείτε. Page 14

15 1950???? -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: πολύ καλή -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Λάθος χρήση sprintf() για τον ορισµό µεγέθους εισόδου, καθώς δεν δεσµεύετε χώρο για το \0 που θα χρειαστεί να βάλει η scanf. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Για να βρείτε το µέγεθος της κάθε έκφρασης πρέπει να κάνετε τέλος-αρχή, εσείς κάνατε το αντίθετο. Κάτι τέτοια λάθη τα βρίσκουµε µε debugger. - Γίνεται αρχικοποίηση της µεταβλητής pos_to_print (απο το όνοµά της δεν µπορεί να καταλάβει κάποιος τι θέλετε να κάνετε µε αυτή) µε λάθος τιµή. Της δίνετε την πρώτη γραµµή του split πίνακα ενώ θα έπρεπε να ήταν η αρχή του input_str. Για αυτό τον λόγο και τον παραπάνω το πρόγραµµά σας σκάει. Επίσης δεν έχετε λάβει υπ'οψιν σας τη τελευταία λέξη του input_str. -Λύστε *οπωσδήποτε* την άσκηση. -Στη δεύτερη άσκηση έπρεπε να χρησιµοποιήσετε pointers και όχι πίνακες για τη λύση σας. Επίσης, το format µπορεί να είναι και εκτός της while. - Λύστε την άσκηση χρησιµοποιώντας µόνο pointers για να εξοικειωθείτε FAIL -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: Έχετε προβλήµατα στη στοίχιση σας. Δεν είναι αποδεκτό να µην υπάρχει σωστή στοίχιση σε αυτό το σηµείο που βρίσκεστε στον προγραµµατισµό - Τα ονόµατα των µεταβλητών σας δεν είναι και τα καλύτερα. Επίσης όταν ενώνετε 2 λέξεις για να δηµιουργήσετε ένα καινούριο όνοµα καλό είναι είτε να βάζετε _ είτε η δεύτερη λέξη να ξεκινάει µε κεφαλαίο γράµµα. Σωστή χρήση σταθερών. Επίσης να αποφεύγετε να αριθµήτε τις µεταβλητές σας. -Δεν έχετε καταλάβει καθόλου πως λειτουργεί η συνάρτηση strstr µε αποτέλεσµα να τη χρησιµοποιήτε εντελώς λάθος και το πρόγραµµά σας να µη λειτουργεί. Η strstr επιστρέφει pointer στο πρώτο σηµείο που βρίσκει τη γραµµατοσειρά delimeter και ΟΧΙ κάποιον αριθµό. Επίσης, δε χρησιµοποιούµε ΠΟΤΕ το όνοµα της συνάρτησης σα να είναι ισοδύναµο µε την τιµή που επέστρεψε όπως κάνετε στη γραµµή 36 - Διαβάστε τη χρήση της strstr, δείτε κάποια παραδείγµατα και προσπαθήστε να εξοικειωθείτε µε τους pointers. -Να λύσετε την άσκηση µε τη χρήση µόνο pointers. Page 15

16 1956 FAIL -Καλή στοίχιση -Θα µπορούσατε να είχατε καλύτερα σχόλια -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. Επιπλέον, το %50s είναι λάθος γιατί δε λαµβάνει υπόψη το \0 -Το output του προγράµµατος ήθελε περισσότερη προσοχή. -Το πρόγραµµα έβγαζε warning κατα το compilation. Λόγω αυτού του warning έβγαζε segmentation fault. Σας ξέφυγε το & στην scanf (Εκεί που διαβάζετε τον ακέραιο) -Ακόµα και να υπήρχε η δίορθωση, το πρόγραµµα σας δεν εκτυπώνει κάτι σαν αποτέλεσµα.(δεν βάλατε printf.) - Τι σκοπό εξυπηρετή η µεταβλητή tab στο πρώτο for? Δε χρησιµοποιείται πουθενά εφόσον της δίνετε άλλη τιµή λίγο πριν το δεύτερο for. - Να χρησιµοποιείτε strlen για να υπολογίζετε µήκος. - Η for που διαβάζει τα αρχικά δεδοµένα εκτελείται µια φορά λιγότερη από ότι θα έπρεπε. - Κάνετε πάντα strcpy το tab, το οποίο είναι &table[0][0] οπότε το τελικό string θα γεµίσει µε πολλες εµφανίσεις της πρώτης µόνο λέξης. -Έβγαζε και αυτή warning στο compile, για διάφορα σηµαντικά λάθη (έλλειψη & σε scanf, άσκοπη χρήση *) -H στοίχιση είναι καλή. -Δεν έχετε καθόλου σχόλια Γενική συµβουλή: φαίνεται σα να προσπαθείτε να γράψετε όσο πιο πολύ κώδικα µπορείτε και µετά να ελέγχετε αν κάνει compile και είναι σωστός. Αυτό είναι λάθος τακτική. Πρέπει να γράφετε κάθε πρόγραµµα κοµµάτι-κοµµάτι, να βεβαιώνεστε ότι αυτό που γράψατε κάνει compile και λειτουργεί µέχρι στιγµής, και µετά να συνεχίζετε FAIL -Δεν έγινε καµία άσκηση PASS - Καλή στοίχιση - Δεν υπάρχουν σχόλια - Εκτός από τα ptr1, ptr έχετε καλά ονόµατα µεταβλητών. Τα ptr1, ptr θα µπορούσαν να λέγονται first_occur, sec_occur ή first, second - Σωστά σκεφτήκατε να ελέγξετε το str_num αλλά θα έπρεπε να βεβαιώνεστε και ότι είναι >0 ή έστω >=0 - Σωστή αριθµητική δεικτών, αλλά το glue string δε θα έπρεπε να εκτυπώνεται στο τέλος. Μπορούσατε να το αποφύγετε µε ένα απλό έλεγχο και πρόωρο break από το loop. - Δεν εκτυπώνετε το τελικό µήνυµα ακριβώς όπως ζητήθηκε. - Σωστά υπολογίζετε το min. Προσπαθήστε να τελειώσετε την άσκηση στο σπίτι. Page 16

17 Διαδικαστικά: οκ 1960 PASS -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός από το ptr και σωστή χρήση σταθερών. Στο CUT_LEN µπορούσατε να βάλετε κατευθείαν 500 αφού σας το λέει η εκφώνηση -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Στο τελευταίο for αντί να έχετε i<input-1 για να µην αντιγράφετε στο τέλος το συνδετικό µπορούσατε να χρησιµοποιήσετε κάποιον έλεγχο. -Σωστή µορφοποίηση εξόδου -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός των ptr1 και ptr2 -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστά βάζετε \0 στο τέλος γιατί η strncpy δεν το κάνει -Σωστή µορφοποίηση εξόδου 1962???? - Προσέξτε λίγο την στοίχισή σας, έχετε κάποια παραπάνω κενά και enters. - Σωστά κάνατε τον προσδιορισµό µήκους στο format string της scanf για κάθε string µε sprintf µε βάση τα #defined µεγέθη. - Λίγο πιο επεξηγηµατικά σχόλια. - Σχεδόν σωστή αριθµητική δεικτών, έχετε bug γιατί η συνθήκη στο while (end_str==null) σπάει αµέσως (το end_str είναι µόνο µία φορα NULL, στο τέλος. - Δεν εστάλη. Page 17

18 1964???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Μερικώς σωστά ονόµατα µεταβλητών αλλά σωστή χρήση σταθερών. Τα i/k πλέον δεν είναι απλοί iterators. Βρείτε περιγραφικό όνοµα για κάποια/και τις δύο µεταβλητές. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Θα µπορούσατε να µετράτε πόσες εκφράσεις εξαγάγατε και µετά στην εκτύπωση να είχατε έναν 2ο iterator, δεν ήταν ανάγκη να αυξάνετε και το i και το k. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Σχόλια: Εντάξει -Στοίχιση: Εντάξει, αλλά έχετε λάθος στο return της main() και να χρησιµοποιείτε είτε tabs είτε spaces για την στοίχιση όχι και τα 2. Φροντίστε να µην γίνει ξανά τέτοια παράλειψη. -Το ζητούµενο της άσκησης ήταν να συνθέσετε τους πίνακες και όχι να εκτυπώσετε µηνύµατα που να προσοµοιώνουν την σύνθεση κάνοντας χρήση δεικτών. -Λύστε την 2η άσκηση *οπωσδήποτε* µε τις παραπάνω αλλαγές. Διαδικαστικά: 5 λεπτά εκπρόθεσµη 1965 PASS - σχόλια: ΟΚ - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: ΟΚ - αριθµητική δεικτών: ΟΚ - γενικά: Πολύ καλά τα βλέπω τα πράγµατα! - σχόλια: Κανένα σχόλιο - στοίχιση: OK - σταθερές: OK - ονόµατα µεταβλητών: OK - format string: OK - αριθµητική δεικτών: Κάπου πρέπει να έχετε κάνει λάθος στις προσθαφαιρέσεις µε το 1 - γενικά: αρκετά καλή αλλά δοκιµάστε να την ξαναδείτε. Page 18

19 1968 FAIL -Σχόλια: Καθόλου σχόλια -Στοίχιση: Καλή αν και χάνει σε κάποια σηµεία - Μπορείτε να χρησιµοποιείτε ακόµη καλύτερα ονόµατα µεταβλητών. Για παράδειγµα το όνοµα pinakas είναι πολύ γενικό και δεν υποδηλώνει τη χρήση του. Σωστή χρήση σταθερών. - Δεν έχετε χρησιµοποιήσει sprintf(). Δείτε τα παραδείγµατα στις διαφάνειες και κάντε κάποιο παράδειγµα για να καταλάβετε πως δουλεύει. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. - Πήρατε την πρωτοβουλία να δηµιουργήσετε µια συνάρτηση η οποία δεν κάνει αυτό που χρειαζόµαστε και έχει πολλά λάθη. Γενικά όλες οι πράξεις µπορούν να γίνουν µε συναρτήσεις που µας παρέχει η βιβλιοθήκη string.h και δεν χρειάζονταν να δηµιουργήσετε εσείς. Η συνάρτηση σας επιστρέφει έναν χαρακτήρα ενώ απο ότι κατάλαβα έπρεπε να επιστρέφει string. Έχετε υπόψη όµως ότι είναι παράνοµο στη C να επιστρέφετε πίνακα από συνάρτηση ή να βάζετε ολόκληρο πίνακα στο αριστερό µέρος µιας ανάθεσης. -Λύστε την παραπάνω άσκηση χρησιµοποιώντας τις συναρτήσεις strlen και strstr. -Λύστε οπωσδήποτε την άσκηση Διαδικαστικά: 5 λεπτά εκπρόθεσµη 1973 PASS - σχόλια: Ίσως θα ήταν καλύτερο να βάζατε κανένα σχόλιο στην αρχή που να εξηγεί τι κάνει το πρόγραµµά σας - στοίχιση: ΟΚ - σταθερές: CATENATED_LEN πρέπει να είναι 500! - ονόµατα µεταβλητών: ΟΚ - format string: ΟΚ - αριθµητική δεικτών: ΟΚ - γενικά: Αρκετά καλά! - σχόλια: πολύ λίγα - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ίσως θα έπρεπε να είναι λίγο πιο περιγραφικά - format string: ΟΚ - αριθµητική δεικτών: ΟΚ γενικά αλλά σας ξεφεύγει κάτι, πχ δείτε το 3ο παράδειγµα. Μπορείτε να καταλάβετε γιατί δε δουλεύει; - γενικά: σκεφτείτε πως να βγαίνετε από το do χωρίς break. Είναι αρκετά άσχηµο έτσι όπως το έχετε. Κατά τα άλλα νοµίζω καλά τα πήγατε! Page 19

20 1975???? - Προσέξτε την στοίχισή σας, έχετε πολλά άσκοπα κενά και enters. - Σωστά κάνατε τον προσδιορισµό µήκους στο format string της scanf για κάθε string µε sprintf µε βάση τα #defined µεγέθη. - Δεν υπάρχουν σχόλια. - Σχεδόν σωστή αριθµητική δεικτών, έχετε bug γιατί δεν αρχικοποιήσατε τον start_str pointer και σκάει το πρόγραµµά σας. Τους δείκτες *πάντα* πρέπει να τους αρχικοποιούµε. Επίσης, στο if µετά τη while έπρεπε να είχατε split[i] και όχι split[i+1] γιατί το i έχει ήδη αυξηθεί - Το x είναι περιττό. Αρκούσε i+1 στη θέση του. - Δεν εστάλη οριακό PASS Διαδικαστικά: 6 λεπτά εκπρόθεσµη - σχόλια: σχεδόν τίποτα. Αυτά πλέον είναι πολύ σηµαντικά λάθη - στοίχιση: OK - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: θα έπρεπε να είναι STRLEN αντί για SIZE! Επίσης, θα έπρεπε να χρησιµοποείτε format string και για το glue - αριθµητική δεικτών: OK - γενικά: Αρκετά καλά! - σχόλια: OK - στοίχιση: Πολύ κακή, τα άγκιστρα φαίνεται να είναι τυχαία τοποθετηµένα (ή ξεχάσατε κανένα;) - σταθερές: OK - ονόµατα µεταβλητών: Άσχηµα ονόµατα, δοκιµάστε να είναι πιο περιγραφικά - format string: δεν έγινε - αριθµητική δεικτών: δεν βγάζω νόηµα από αυτό που πάτε να κάνετε, ίσως αν άλλαζε τιµή ο ptr µέσα στο loop να γινόταν κάτι. - γενικά: Δοκιµάστε να την κάνετε σπίτι. Page 20

21 Διαδικαστικά: οκ 1983 PASS -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός του ptr -Έπρεπε να κάνετε define και τις γραµµές του πίνακα ROW 10. -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. Θα µπορούσατε να κάνετε το ίδιο και για το glue -Στον έλεγχο για πόσα string θα δώσετε έπρεπε να ελέγχετε να µην ξεπεράσει το 10 αφού ο διδιάστατος πίνακας είναι 10 γραµµών. Με αποτέλεσµα να βγαίνετε εκτός ορίων του πίνακα. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστή µορφοποίηση εξόδου -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός των ptr1 και ptr2 -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστά βάζετε \0 στο τέλος γιατί η strncpy δεν το κάνει -Σωστή µορφοποίηση εξόδου 1984???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Στην εκτύπωση των αποτελεσµάτων ελέγχετε αν η επόµενη γραµµή ξεκινά µε '\0' αυτό µπορεί να οδηγήσει σε σφάλµα µνήµης και είναι λάθος. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Λύστε την 2η άσκηση κάνοντας χρήση δεικτών *οπωσδήποτε*. Page 21

22 Διαδικαστικά ΟΚ Άσκηση 1η 1985???? - Η στοίχιση σας είναι σωστή. - Τα σχόλια σας είναι ιδιαίτερα εκτενή. Θέλουµε λίγα και περιεκτικά και όχι σχόλιο σε κάθε γραµµή. Η περιγραφή του προγράµµατος στην αρχή αρκεί εάν ο κώδικας είναι ευανάγνωστος. Εάν υπάρχουν δυσνόητα σηµεία στον κώδικα βάζουµε και εκεί µία επεξήγηση. - To πρόγραµµα σας είναι σωστό! Άσκηση 2η - H επιστρεφόµενη τιµή της my_strlen() δεν είναι σωστή. Επιστρέφει το σωστό µήκος ???? -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: πολύ καλή -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Λάθος χρήση sprintf() για τον ορισµό µεγέθους εισόδου, καθώς δεν δεσµεύετε χώρο για το \0 που θα χρειαστεί να βάλει η scanf. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Για να βρείτε το µέγεθος της κάθε έκφρασης πρέπει να κάνετε τέλος-αρχή, εσείς κάνατε το αντίθετο. Κάτι τέτοια λάθη τα βρίσκουµε µε debugger. - Γίνεται αρχικοποίηση της µεταβλητής pos_to_print (απο το όνοµά της δεν µπορεί να καταλάβει κάποιος τι θέλετε να κάνετε µε αυτή) µε λάθος τιµή. Της δίνετε την πρώτη γραµµή του split πίνακα ενώ θα έπρεπε να ήταν η αρχή του input_str. Για αυτό τον λόγο και τον παραπάνω το πρόγραµµά σας σκάει. Επίσης δεν έχετε λάβει υπ'οψιν σας τη τελευταία λέξη του input_str. -Λύστε *οπωσδήποτε* την άσκηση. -Στη δεύτερη άσκηση έπρεπε να χρησιµοποιήσετε pointers και όχι πίνακες για τη λύση σας. Επίσης, το format µπορεί να είναι και εκτός της while. - Λύστε την άσκηση χρησιµοποιώντας µόνο pointers για να εξοικειωθείτε. Page 22

23 1988 οριακό PASS lab9grades Διαδικαστικά: 7 λεπτά εκπρόθεσµη - σχόλια: Κανένα σχόλιο - στοίχιση: το τελευταίο IF είναι άσχηµα στοιχισµένο µε τον κώδικά του - σταθερές: Δεν ορίστηκε το SIZE ως σταθερά - ονόµατα µεταβλητών: σχετικά κακά ονόµατα, πχ k, ptr, δοκιµάστε να είστε πιο περιγραφικοί - format string: ΟΚ. - δοκιµάστε να κάνετε την τελευταία for χωρίς το if που έχει µέσα, δεν είναι δύσκολο... - αριθµητική δεικτών: ΟΚ - γενικά: Αρκετά καλά παιδιά, λίγα µικρά λάθη, αλλά πρέπει οπωσδήποτε να µάθετε να βάζετε σχόλια - σχόλια: Εξαιρετικά ακριβή - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: δεν έγινε χρήση - αριθµητική δεικτών: Δεν καταλαβαίνω τι κάνετε. Το πρώτο for απλά βρίσκει πόσες φορές υπάρχει ο character. Το δεύτερο κάνει τόσες φορές το ίδιο strchr. - γενικά: Πολλά compiler warnings, πρέπει να µάθετε να τα διαβάζετε. Αν θέλετε να τυπώσετε pointer, δοκιµάστε το %p. Στην συγκεκριµένη άσκηση δε χρειαζόταν κάτι τέτοιο. Διαδικαστικά ΟΚ Άσκηση 1η 1992???? - Σχόλια πολύ καλά. Περιγράφετε τι κάνει το πρόγραµα µαζί µε την είσοδο έξοδο, χωρίς περιττές επεξηγήσεις που κουράζουν. - Η στοίχιση φαίνεται σωστή, αλλά δεν είναι. Στην γραµµή 19 ορίζετε σχεδόν όλες τις µεταβλητές τύπου char, char* σε µία γραµµή. Για να µην βγείτε εκτός ορίων αλλάζετε γραµµή και συµπληρώνετε την στοίχιση µε space. Αυτό είναι µια κακή πρακτική καθώς η στοίχιση σας θα εµφανίζεται διαφορετικά, εάν ανοίξετε το πρόγραµµα µε διαφορετικές ρυθµίσεις στον editor. Αντί για space χρησιµοποιείτε πάντοτε tab! - Σωστή αρχικοποίηση διδιάστατου πίνακα µε '\0'. - Σωστή χρήση sprintf(). - Τις γραµµές θα µπορούσατε να τις αντικαταστήσετε µε την συνάρτηση strlen(). - Η υλοποίηση σας δουλεύει σωστά, µε εξαίρεση το τελευταίο string που το αγνοείτε. Προσπαθήστε να το διορθώσετε στο σπίτι. - Προσπαθήστε να υλοποιήσετε την ίδια άσκηση χωρίς να αρχικοποιήσετε τον διδιάστατο πίνακα. Άσκηση 2η - Η άσκηση σας δεν κάνει compile. - Έχετε υλοποιήσει εντελώς λάθος στη my_strlen(), ενώ έχετε υλοποιήσει σωστά την λειτουργία της στην 1η άσκηση (γραµµές 37-41). Page 23

24 Διαδικαστικά OK. 1994???? - Καθόλου σχόλια! - Σωστή χρήση sprintf για την κατασκευή format string - Δεν ελέχετε το αποτέλεσµα που επιστρέφει η strstr() πριν την while(). Εάν ο delimiter δεν υπάρχει µέσα στην αρχική συµβολοσειρά, το πρόγραµµα τερµατίζει µε segmentation fault. - Η συνθήκη στο while() πρέπει να ξεκινάει τον έλεγχο από το στοιχείο που βρίσκεται στη θέση end_str + strlen(delimiter). - Η τελευταία γραµµή δεν εκτυπώνεται, η συνθήκη στο for πρέπει να είναι k<=i επειδή το i δεν είναι µετρητής αλλά δείκτης (θέλουµε να εκτυπώσουµε ΚΑΙ την θέση που δείχνει). - Για την περίπτωση της τελευταίας φράσης στο τέλος του str (όπου δεν υπάρχει delimiter µετά), δεν ανανεώνετε το start_str για να προσπεράσετε τον τελευταίο delimiter που βρέθηκε. - Δεν στάλθηκε. - Λύστε την 2η άσκηση *οπωσδήποτε* PASS - Καλή στοίχιση - Δεν υπάρχουν σχόλια - Καλά ονόµατα µεταβλητών. Η κόλλα είναι glue όχι glou. - Καλό θα ήταν να ελέγχατε αν το string_num είναι µεταξύ 0 και ROWS - Σωστή χρήση αριθµητικής δεικτών. - Πολύ καλή δουλειά, µπράβο. 1999???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Μερικώς σωστά ονόµατα µεταβλητών αλλά σωστή χρήση σταθερών. Το όνοµα pin δεν υποδηλώνει τη χρήση του πίνακα και τον λόγο που τον χρησιµοποιείτε. - Δεν έχετε χρησιµοποιήσει την sprintf για να διαβάζετε την είσοδο ακόµη και αν ο πίνακας σας δηλώνεται διαφορετικά κάθε φορά. Δείτε στις διαφάνειες πως χρησιµοποιείται η sprintf και να κάνετε κάποια παραδείγµατα για να σιγουρευτείτε οτι καταλαβαίνετε πως λειτουργεί. Το σηµαντικότερο λάθος που κάνατε είναι οτι δεν βάλατε περιορισµό στον αριθµό των γραµµάτων που πρέπει να διαβάσει η scanf µε αποτέλεσµα να υπάρχει κίνδυνος να βγεί εκτός µνήµης. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. Δεν αναγνωρίζετε το τελευταίο string της λέξης που εισάγεται. Για να αναγνωρίσετε τη τελευταία λέξη χρειάζεται να το κάνετε εκτός του loop. Προσπαθήστε να ολοκληρώσετε τη λύση σας. - Τέλος δεν χρειάζεται να εκτυπώνετε όλες τις γραµµές του πίνακα αλλά µόνο αυτές που έχουν γεµίσει. Σκεφτείτε πως µπορεί να γίνει αυτό. -Σωστή µορφοποίηση εξόδου. - Λύστε οπωσδήποτε την άσκηση Page 24

25 2000 FAIL -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: Έχετε προβλήµατα στη στοίχιση σας. Δεν είναι αποδεκτό να µην υπάρχει σωστή στοίχιση σε αυτό το σηµείο που βρίσκεστε στον προγραµµατισµό - Τα ονόµατα των µεταβλητών σας δεν είναι και τα καλύτερα. Επίσης όταν ενώνετε 2 λέξεις για να δηµιουργήσετε ένα καινούριο όνοµα καλό είναι είτε να βάζετε _ είτε η δεύτερη λέξη να ξεκινάει µε κεφαλαίο γράµµα. Σωστή χρήση σταθερών. Επίσης να αποφεύγετε να αριθµήτε τις µεταβλητές σας. -Δεν έχετε καταλάβει καθόλου πως λειτουργεί η συνάρτηση strstr µε αποτέλεσµα να τη χρησιµοποιήτε εντελώς λάθος και το πρόγραµµά σας να µη λειτουργεί. Η strstr επιστρέφει pointer στο πρώτο σηµείο που βρίσκει τη γραµµατοσειρά delimeter και ΟΧΙ κάποιον αριθµό. Επίσης, δε χρησιµοποιούµε ΠΟΤΕ το όνοµα της συνάρτησης σα να είναι ισοδύναµο µε την τιµή που επέστρεψε όπως κάνετε στη γραµµή 36 - Διαβάστε τη χρήση της strstr, δείτε κάποια παραδείγµατα και προσπαθήστε να εξοικειωθείτε µε τους pointers. -Να λύσετε την άσκηση µε τη χρήση µόνο pointers PASS - Καλή δουλειά, µπράβο. - Καλό θα ήταν να είχες κι έναν έλεγχο για το αν το number είναι µεταξύ 0 και str_rows - Τα ονόµατα των #defined τιµών πρέπει να γράφονται πάντα µε κεφαλαία. - Σωστά έφτιαξες format string για την ανάγνωση των λέξεων, αλλά έπρεπε να κάνεις το ίδιο και για το glue. Ειδικά το σκέτο %s που χρησιµοποίησες είναι πολύ επικίνδυνο. Πρέπει οπωσδήποτε να προσδιορίζεις και µέγεθος πριν το s. - Χρειάζεται αρκετή δουλειά ακόµη. Προσπάθησε να την ολοκληρώσεις στο σπίτι. hint: Οι δύο strchr που έχεις θα σου δώσουν ακριβώς το ίδιο αποτέλεσµα. Page 25

26 2004???? -Σχόλια: Αρκετά και σε σωστά σηµεία -Στοίχιση: πολύ καλή - Μπορείτε να χρησιµοποιείτε ακόµη καλύτερα ονόµατα µεταβλητών. Για παράδειγµα το όνοµα array_2d είναι πολύ γενικό και δεν υποδηλώνει τη χρήση του. Σωστή χρήση σταθερών. - Σωστή χρήση της sprintf() -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Σωστός υπολογισµός του µεγέθους του string, ο εντοπισµός και η αντιγραφή του. - Το µόνο σφάλµα της άσκησης είναι οτι δεν εντοπίζει την τελευταία λέξη. Η τελευταία λέξη χρειάζεται ειδική διαχείριση και δεν εντοπίζεται όπως οι προηγούµενες. Προσπαθείστε να διορθώσετε αυτή την έλειψη για να είναι ολοκληρωµένη η άσκηση. - Καλή δουλειά -Λύστε οπωσδήποτε την άσκηση Διαδικαστικά: οκ 2005 FAIL -Σχόλια: οκ - Μη χρησιµοποιείτε ποτέ σκέτο %s σε scanf. Πρέπει πάντα να προσδιορίζετε µέγεθος, και κατά προτίµηση να δηµιουργείτε το format string µε sprintf -Στοίχιση: οκ αλλά σας ξέφυγε σε κάποια σηµεία -Δεν ανανεώνετε σωστά το µήκος και γι αυτό δεν αντιγράφονται σωστά οι λέξεις στο str. Επίσης, η πρώτη strcpy στο loop αντιγράφει πάντα στην αρχή του str. -Δεν έγινε Διαδικαστικά OK. 2007???? - Καθόλου σχόλια! - Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά. - Ο έλεγχος για την τελευταία φράση κανονικά έπρεπε να µπει µετά την while και να ελέγχετε εάν υπάρχει διαθέσιµη γραµµή στον πίνακα split. Επίσης ο υπολογισµός του µεγέθους σε αυτή την περίπτωση δεν είναι σωστός. Υπολογίζετε την απόσταση µεταξύ της αρχής του str και του start_str αντί του start_str και του τέλους του str. - Δεν στάλθηκε. - Λύστε την 2η άσκηση *οπωσδήποτε*. Page 26

27 2010 PASS - Καλή δουλειά. - Καλή στοίχιση - Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό θα ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά - Δεν έχετε σχόλια. - Σωστή αριθµητική δεικτών. - Σωστή εκτύπωση αποτελέσµατος. - Πολύ καλή δουλειά! - Σωστή στοίχιση αλλά δεν έχετε σχόλια. - Σωστή υλοποίηση της my_strlen(). - Σωστή υλοποιήση της catenate και copy. Διαδικαστικά: οκ 2012 PASS -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός από το ptr και σωστή χρήση σταθερών. Στο CUT_LEN µπορούσατε να βάλετε κατευθείαν 500 αφού σας το λέει η εκφώνηση -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Στο τελευταίο for αντί να έχετε i<input-1 για να µην αντιγράφετε στο τέλος το συνδετικό µπορούσατε να χρησιµοποιήσετε κάποιον έλεγχο. -Σωστή µορφοποίηση εξόδου -Σχόλια: οκ -Στοίχιση: οκ -Σωστά ονόµατα µεταβλητών εκτός των ptr1 και ptr2 -Σωστά κατασκευάζετε το format string µε sprintf µε βάση τα #defined µεγέθη. -Σωστή χρήση pointers και αριθµητική µε pointers -Σωστά βάζετε \0 στο τέλος γιατί η strncpy δεν το κάνει -Σωστή µορφοποίηση εξόδου Page 27

28 2013???? -Σχόλια: Εντάξει -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Σωστή χρήση sprintf() για τον ορισµό µεγέθους εισόδου και γενικά σωστή είσοδος. -Στην εκτύπωση των αποτελεσµάτων ελέγχετε αν η επόµενη γραµµή ξεκινά µε '\0' αυτό µπορεί να οδηγήσει σε σφάλµα µνήµης και είναι λάθος. -Δοκιµάσετε να κάνετε την άσκηση µε τις παραπάνω αλλαγές. -Σωστές πράξεις. -Σωστή µορφοποίηση εξόδου. -Καλή δουλειά. -Λύστε την 2η άσκηση κάνοντας χρήση δεικτών *οπωσδήποτε* PASS -Καλή στοίχιση -Καλά σχόλια -Καλά ονόµατα µεταβλητών. -Σωστό αποτέλεσµα του προγράµµατος. -Σωστή χρήση δεικτών. -Έπρεπε να χρησιµοποιήσετε την sprintf για το formatting των strings. -Έβγαζε ένα warning στο compile. Διοτι είχατε δηλωµένη µια µεταβλητή που δεν την χρησιµοποιήσατε. -Καλή στοίχιση -ΔΕΝ έχετε σχόλια -Καλά ονόµατα µεταβλητών -Σωστό αποτέλεσµα του προγράµµατος για όλες τις περιπτώσεις. -Πάρα πολυ καλή δουλειά. Page 28

29 Διαδικαστικά: 5 λεπτά εκπρόθεσµη 2020 PASS - σχόλια: Ίσως θα ήταν καλύτερο να βάζατε κανένα σχόλιο στην αρχή που να εξηγεί τι κάνει το πρόγραµµά σας - στοίχιση: ΟΚ - σταθερές: CATENATED_LEN πρέπει να είναι 500! - ονόµατα µεταβλητών: ΟΚ - format string: ΟΚ - αριθµητική δεικτών: ΟΚ - γενικά: Αρκετά καλά! - σχόλια: πολύ λίγα - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ίσως θα έπρεπε να είναι λίγο πιο περιγραφικά - format string: ΟΚ - αριθµητική δεικτών: ΟΚ γενικά αλλά σας ξεφεύγει κάτι, πχ δείτε το 3ο παράδειγµα. Μπορείτε να καταλάβετε γιατί δε δουλεύει; - γενικά: σκεφτείτε πως να βγαίνετε από το do χωρίς break. Είναι αρκετά άσχηµο έτσι όπως το έχετε. Κατά τα άλλα νοµίζω καλά τα πήγατε! 2022 FAIL -Σχόλια: Κανένα -Στοίχιση: Εντάξει -Σωστά ονόµατα µεταβλητών και σωστή χρήση σταθερών. -Λάθος χρήση sprintf() για τον ορισµό µεγέθους εισόδου, οι πίνακές σας είναι κατά ένα χαρακτήρα µικρότεροι από ότι χρειάζεται. -Δοκιµάσετε να κάνετε την άσκηση µε την παραπάνω αλλαγή. -Για να βρείτε το µέγεθος της κάθε έκφρασης πρέπει να κάνετε τέλος-αρχή, εσείς κάνατε το αντίθετο. Κάτι τέτοια λάθη τα βρίσκουµε µε debugger. Γενικά οι υπολογισµοί σας είναι µπερδεµένοι. Δοκιµάστε να σχεδιάσετε τους πίνακες και pointers στο χαρτί για να καταλάβετε καλύτερα τι γίνεται. -Λύστε *οπωσδήποτε* την άσκηση. -Λύστε την 2η άσκηση *οπωσδήποτε*. Page 29

30 2024 οριακό PASS lab9grades Διαδικαστικά: 7 λεπτά εκπρόθεσµη - σχόλια: Κανένα σχόλιο - στοίχιση: το τελευταίο IF είναι άσχηµα στοιχισµένο µε τον κώδικά του - σταθερές: Δεν ορίστηκε το SIZE ως σταθερά - ονόµατα µεταβλητών: σχετικά κακά ονόµατα, πχ k, ptr, δοκιµάστε να είστε πιο περιγραφικοί - format string: ΟΚ. - δοκιµάστε να κάνετε την τελευταία for χωρίς το if που έχει µέσα, δεν είναι δύσκολο... - αριθµητική δεικτών: ΟΚ - γενικά: Αρκετά καλά παιδιά, λίγα µικρά λάθη, αλλά πρέπει οπωσδήποτε να µάθετε να βάζετε σχόλια - σχόλια: Εξαιρετικά ακριβή - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: δεν έγινε χρήση - αριθµητική δεικτών: Δεν καταλαβαίνω τι κάνετε. Το πρώτο for απλά βρίσκει πόσες φορές υπάρχει ο character. Το δεύτερο κάνει τόσες φορές το ίδιο strchr. - γενικά: Πολλά compiler warnings, πρέπει να µάθετε να τα διαβάζετε. Αν θέλετε να τυπώσετε pointer, δοκιµάστε το %p. Στην συγκεκριµένη άσκηση δε χρειαζόταν κάτι τέτοιο. Διαδικαστικά OK. 2026???? - Καθόλου σχόλια! - Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά. - Ο έλεγχος για την τελευταία φράση κανονικά έπρεπε να µπει µετά την while και να ελέγχετε εάν υπάρχει διαθέσιµη γραµµή στον πίνακα split. Επίσης ο υπολογισµός του µεγέθους σε αυτή την περίπτωση δεν είναι σωστός. Υπολογίζετε την απόσταση µεταξύ της αρχής του str και του start_str αντί του start_str και του τέλους του str. - Δεν στάλθηκε. - Λύστε την 2η άσκηση *οπωσδήποτε* FAIL Στείλατε την άσκηση του lab 8. ΑΝΟΙΓΟΥΜΕ ΤΟ MAIL που µας έρχεται όταν κάνουµε CC. Page 30

31 Διαδικαστικά: 9 λεπτά εκπρόθεσµη 2029 PASS - σχόλια: ΟΚ, αλλά δοκιµάστε στην αρχή να βάζετε και ένα σχόλιο που θα περιγράφει όλο σας το πρόγραµµα - στοίχιση: ΟΚ - σταθερές: Δεν ζητήσαµε πουθενά το η συγκολητική συµβολοσειρά να έχει 10 γράµµατα. - ονόµατα µεταβλητών: ΟΚ - format string: Δεν το χρησιµοποιείτε πουθενά - αριθµητική δεικτών: ΟΚ αν και το τελευταίο if µέσα στη for δε το χρειάζεστε - γενικά: Αρκετά καλά - σχόλια: ΟΚ, αλλά δοκιµάστε στην αρχή να βάζετε και ένα σχόλιο που θα περιγράφει όλο σας το πρόγραµµα - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: Δεν το χρησιµοποιείτε και πάλι - αριθµητική δεικτών: αρκετά καλά, όµως δείτε το 3ο παράδειγµα από αυτά που δώσαµε στην εκφώνηση. Μπορείτε να βρείτε το λάθος σας; - γενικά: αρκετά καλά PASS 2030 FAIL Εστάλη η άσκηση του lab8 Διαδικαστικά: 9 λεπτά εκπρόθεσµη 2031 PASS - σχόλια: ΟΚ, αλλά δοκιµάστε στην αρχή να βάζετε και ένα σχόλιο που θα περιγράφει όλο σας το πρόγραµµα - στοίχιση: ΟΚ - σταθερές: Δεν ζητήσαµε πουθενά το η συγκολητική συµβολοσειρά να έχει 10 γράµµατα. - ονόµατα µεταβλητών: ΟΚ - format string: Δεν το χρησιµοποιείτε πουθενά - αριθµητική δεικτών: ΟΚ αν και το τελευταίο if µέσα στη for δε το χρειάζεστε - γενικά: Αρκετά καλά - σχόλια: ΟΚ, αλλά δοκιµάστε στην αρχή να βάζετε και ένα σχόλιο που θα περιγράφει όλο σας το πρόγραµµα - στοίχιση: ΟΚ - σταθερές: ΟΚ - ονόµατα µεταβλητών: ΟΚ - format string: Δεν το χρησιµοποιείτε και πάλι - αριθµητική δεικτών: αρκετά καλά, όµως δείτε το 3ο παράδειγµα από αυτά που δώσαµε στην εκφώνηση. Μπορείτε να βρείτε το λάθος σας; - γενικά: αρκετά καλά PASS Page 31

32 Διαδικαστικά ΟΚ Άσκηση 1η 2033???? - Σχόλια πολύ καλά. Περιγράφετε τι κάνει το πρόγραµα µαζί µε την είσοδο έξοδο, χωρίς περιττές επεξηγήσεις που κουράζουν. - Η στοίχιση φαίνεται σωστή, αλλά δεν είναι. Στην γραµµή 19 ορίζετε σχεδόν όλες τις µεταβλητές τύπου char, char* σε µία γραµµή. Για να µην βγείτε εκτός ορίων αλλάζετε γραµµή και συµπληρώνετε την στοίχιση µε space. Αυτό είναι µια κακή πρακτική καθώς η στοίχιση σας θα εµφανίζεται διαφορετικά, εάν ανοίξετε το πρόγραµµα µε διαφορετικές ρυθµίσεις στον editor. Αντί για space χρησιµοποιείτε πάντοτε tab! - Σωστή αρχικοποίηση διδιάστατου πίνακα µε '\0'. - Σωστή χρήση sprintf(). - Τις γραµµές θα µπορούσατε να τις αντικαταστήσετε µε την συνάρτηση strlen(). - Η υλοποίηση σας δουλεύει σωστά, µε εξαίρεση το τελευταίο string που το αγνοείτε. Προσπαθήστε να το διορθώσετε στο σπίτι. - Προσπαθήστε να υλοποιήσετε την ίδια άσκηση χωρίς να αρχικοποιήσετε τον διδιάστατο πίνακα. Άσκηση 2η - Η άσκηση σας δεν κάνει compile. - Έχετε υλοποιήσει εντελώς λάθος στη my_strlen(), ενώ έχετε υλοποιήσει σωστά την λειτουργία της στην 1η άσκηση (γραµµές 37-41) FAIL - Καθόλου σχόλια! - Σωστά κάνετε το προσδιορισµό µήκους στο format string της scanf για κάθε string. Καλό ήτανε να κατασκευάζατε το format string µε sprintf µε βάση τα #defined µεγέθη. Αν δεν ξέρετε πως γίνεται διαβάστε το έτσι ώστε να το ξέρετε για την επόµενη φορά. - Η αναζήτηση του delimiter µέσα στην εντολή for δεν ξεκινάει από το start_str. - Δεν υπολογίζετε σωστά την νέα τιµή του length πριν την χρησιµοποιήσετε στην strncpy(). - Επίσης δεν κάνετε έλεγχο της τιµής που επιστρέφει η strstr(). Εάν ο delimiter δεν βρέθηκε, η επιστρεφόµενη τιµή είναι NULL και οποιαδήποτε απόπειρα εγγραφής/ανάγνωσης από αυτήν την διεύθυνση προκαλεί segmentation fault και τερµατισµό του προγράµµατος. - Δεν είναι σωστή η δεύτερη παράµετρος της strncpy. Έπρεπε να είναι start_str κι όχι str - Η εκτύπωση του τελικού πίνακα έπρεπε να γίνεται αφού αυτός γεµίσει. - Προσπαθήστε να λύσετε σωστά την άσκηση. - Δεν κάνει compile. - Λύστε την 2η άσκηση κάνοντας χρήση δεικτών *οπωσδήποτε*. Page 32

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΕΜ ή username. Sheet2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

to post PASS PASS FAIL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι.

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449???? Άσκηση 1η: - Καλή δουλειά! Μπράβο - Σωστή στοίχιση - Σωστά σχόλια - Σωστός ορισµός των πεδίων struct - Σωστή υλοποίηση της init_books - Σωστή υλοποίηση της add_book_info: Εναλλακτικά,

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

lab3grades οριακό PASS

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

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (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*%

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

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

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

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

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

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

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

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

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Φορµαρισµένη είσοδος και έξοδος Αλφαριθµητικά Δείκτες Προσοχή: Απαγορεύεται αυστηρά η χρήση goto. Πριν ξεκινήσετε Πηγαίνετε στο

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

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

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

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

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Φορμαρισμένη είσοδος και έξοδος Αλφαριθμητικά Δείκτες Προσοχή: Απαγορεύεται αυστηρά η χρήση goto. Πριν ξεκινήσετε Πηγαίνετε στο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αλφαριθμητικά Αλφαριθμητικά (strings) Ένα αλφαριθμητικό είναι μια ακολουθία αλφαβητικών

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

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

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

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

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

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

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

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

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

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

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

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

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Αναδροµή Σηµείωση: Απαγορεύονται static και global µεταβλητές. Πριν ξεκινήσετε Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα

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

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

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

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

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010-2011 Προθεσµία: 5/12/10, 23:59 Στόχοι structs Πίνακες Συναρτήσεις Συµβολοσειρές Χρήση µεταβλητών και σταθερών Χρήση τελεστών Χρήση δοµών

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

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

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

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

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

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

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