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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 Α. Μ. Βαθμός Σχόλια FAIL Άσχηµα ονόµατα µεταβλητών (s, t) - Δε δεσµεύεις αρκετή µνήµη για τις λέξεις που αποθηκεύονται στον πίνακα (και γι αυτό τελικά το πρόγραµµά σου κάνει crash) - Το τελευταίο for στο πρόγραµµά σου είναι περιττό γιατί κάνει µόνο µια επανάληψη, και λάθος γιατί έχεις ένα ερωτηµατικό µετά τη δεξιά παρένθεση. - Δεν υπολογίζεις σωστά το sum. - Το strlen(s) δε µπορεί να υπολογιστεί σωστά όσο το s "χτίζεται" γιατί δεν υπάρχει '\0 που να µαρκάρει το τέλος του. - Το free(array) είναι λάθος, γιατί το array είναι στατικός πίνακας. Πρέπει να αποδεσµεύεις τη µνήµη που είχες δεσµεύσει µε malloc, δηλαδή το κάθε στοιχείο array[i] - Όταν θες να βγεις από ένα loop να χρησιµοποιείς break και όχι τρυκ που αλλάζουν την τιµή του i. - Τα printf στο πρώτο loop έπρεπε να έχουν αφαιρεθεί πριν την παράδοση της άσκησης. - Για να µπορείς να χρησιµοποιήσεις realloc πρέπει πρώτα να έχεις δεσµεύσει µνήµη µε malloc. Ξαναδιάβασε τη σχετική θεωρία. Στη συγκεκριµένη άσκηση δεν υπάρχει λόγος να χρησιµοποιηθεί realloc πουθενά. - Στη γραµµή 23 έπρεπε να δεσµεύεις µνήµη για κάθε deiktis[i], όχι για το deiktiw το οποίο είναι στατικός πίνακας. - Αν το x είναι <0 δεν έπρεπε να διαβάζεις το y - Όταν θες να βγεις από ένα loop να χρησιµοποιείς break και όχι τρυκ που αλλάζουν την τιµή του i. - Στη γραµµή 36 πριν κάνεις την ανάθεση σε NULL έπρεπε να κάνεις free το στοιχείο. - Στο loop µε το k έπρεπε να ελέγχεις για κάθε στοιχείο αν είναι NULL πριν προσπαθήσεις να το εκτυπώσεις (αλλιώς γίνεται segmentation fault). - H χρήση των k, j (το οποία δεν είναι και καθόλου περιγραφικά ονόµατα) µπερδεύει το πρόγραµµά σου και τελικά είναι περιττή. Προσπάθησε να το ξαναγράψεις χωρίς να τα χρησιµοποιείς. Δες και τη λύση. - Το deiktis είναι στατικός πίνακας, οπότε το τελευταίο free δεν είναι σωστό. - Μετά από κλήση στη malloc να ελέγχεις πάντα αν επέστρεψε NULL - Πολύ άσχηµα ονόµατα µεταβλητών - Να κάνεις πάντα typecast τη διεύθυνση που επιστρέφει η malloc και να ελέγχεις για NULL. - Στο τέλος του προγράµµατος έπρεπε να αποδεσµεύεις όλη τη δυναµικά δεσµευµένη µνήµη. Page 1

2 FAIL Εξαιρετική δουλειά! lab8 - Όταν δεσµεύεις µνήµη να µην κάνεις ποτέ υποθέσεις για το µέγεθος του τύπου (πχ, να µην παραλείπεις το sizeof(char) επειδή υποθέτεις ότι θα είναι 1) - "Τρως" το τελευταίο γράµµα του string - Πρέπει να κάνεις free και τα περιεχόµενα του πίνακα. - Δεν έπρεπε να κάνεις sum=sum-1. Η επιπλέον θέση χρειάζεται για το '\0 - Πρέπει να αποδεσµεύεις και τη µνήµη για τις επιµέρους λέξεις. - Μη βάζεις \n στο scanf - Όταν το µέγεθος του string είναι 20, το scanf πρέπει να διαβάζει 19 χαρακτήρες (για να βάζει το '\0 στην εικοστή θέση) - Δεσµεύεις πολύ περισσότερο χώρο από όσο χρειάζεται για το τελικό string. - Το τελικό string δεν έχει '\0 για να σηµατοδοτεί το τέλος του. - Δεν αποδεσµεύεις όλη τη δυναµικά δεσµευµένη µνήµη - Απαράδεκτα ονόµατα µεταβλητών - Πριν διαβάσεις κάτι στο pinakas[i] έπρεπε να έχεις δεσµεύσει µνήµη γι αυτό. - Τι σκοπό εξυπηρετεί το k? Φαίνεται να έχεις µπερδευτεί. Στην αρχή το χρησιµοποιείς σαν προσωρινή µεταβλητή για την τιµή της τετµηµένης αλλά αργότερα το χρησιµοποιείς σα να εκφράζει το πλήθος των στοιχείων. - Αν η απόσταση είναι µικρότερη ή ίση του THRESHOLD πρέπει να αποδεσµεύεις τη µνήµη για το συγκεκριµένο σηµείο και να το κάνεις NULL, όχι απλά να κάνεις την απόσταση µηδέν. - Άσχηµη στοίχιση και άσχηµα ονόµατα µεταβλητών πριν προσπαθήσεις να προσπελάσεις το στοιχείο. Έτσι όπως το έχεις τώρα, αν το pin[i] είναι NULL το πρόγραµµά σου θα κάνει crash στη γραµµή Όταν πρόκειται να χρησιµοποιήσεις το i πέρα από τα όρια του loop, να του δίνεις περιγραφικό όνοµα. - Πρόσεχε όταν κάνεις copy+paste. Στο τελευταίο for έχεις για µετρητή το l αλλά χρησιµοποιείς i για να προσπελάσεις τον πίνακα. - Δεν υπάρχει λόγος να χρησιµοποιείς διαφορετικό µετρητή σε κάθε loop. Μπορείς να χρησιµοποιείς πάντα i. - Πιθανώς το χειρότερο δυνατό όνοµα µεταβλητής είναι το l (el) γιατί σε πολλές γραµµατοσειρές µοιάζει µε I (κεφαλαίο i). ΜΗΝ το χρησιµοποιείς. - Το τελευταίο for που προσπαθεί να εκτυπώσει τα αποτελέσµατα είναι τελείως λάθος.τι υποτίθεται ότι εκφράζει το j και γιατί δεν ανανεώνεται ποτέ η τιµή του? Δε δικαιολογείται να κάνεις ακόµη λάθη σε απλές δοµές επανάληψης. Page 2

3 FAIL - Στο τέλος έπρεπε να αποδεσµεύεις όση µνήµη είναι δεσµευµένη δυναµικά - Να κάνεις πάντα typecast το αποτέλεσµα της malloc - Εξαιρετική δουλειά! Μόνο στην αφαίρεση σηµείων έπρεπε να ελέγχεις <=THRESHOLD αντί για <THRESHOLD - Αν το x είναι <0 δεν έπρεπε να διαβάζεις το y και δεν έπρεπε να αποθηκεύεις κάτι στον πίνακα. - Τα ονόµατα των µεταβλητών δεν είναι αρκετά περιγραφικά (τι σηµαίνει "µετρητής2" και τι διαφορά έχει από το "µετρητής1"? - Αν το metrhths1 είναι ίσο µε NUMPOINTS τότε εκεί που κάνεις ολίσθηση στον πίνακα θα βγεις εκτός ορίων στην τελευταία επανάληψη (λόγω του pinakas[i+1] ). Γι αυτό το πρόγραµµά σου κάνει crash στο πρώτο test case. - Όπως είπαµε κατά τη διάρκεια του εργαστηρίου, έπρεπε να αφαιρεθούν τα στοιχεία χωρίς να γίνει ολίσθηση, Απλά να αποδεσµευτεί η µνήµη και να γίνουν NULL οι δείκτες. Ακόµη και µε τον τρόπο που το έκανες, έπρεπε να φροντίζεις να αποδεσµεύεις τη µνήµη του pinakas[i] πριν το αντικαταστήσεις µε το pinakas[i+1] - Δοκίµασε να ξανακάνεις την άσκηση χωρίς να χρησιµοποιήσεις καθόλου τους δύο µετρητές. Δεν είναι απαραίτητοι και τελικά κάνουν πιο πολύπλοκο τον κώδικα. - Μετά από κλήση στη malloc να ελέγχεις πάντα αν επέστρεψε NULL - Αν το x είναι <0 δεν έπρεπε να διαβάζεις το y - Το µέγεθος της µνήµης που δεσµεύεις για το τελικό string πρέπει να είναι µεγαλύτερο κατά ένα (για το '\0') - Πρέπει να αποδεσµεύεις µνήµη για τα στοιχεία του pinakas - Η συνθήκη του loop έπρεπε να είναι i < LINESIZE και όχι i <= LINESIZE. Έπρεπε να το ξέρεις αυτό! - Υπολογίζεις τις αποστάσεις αλλά δε θέτεις τους δείκτες. - Η απόσταση είναι ακέραια τιµή και προσπαθείς να την εκτυπώσεις µε %c Page 3

4 Πολύ καλή δουλειά 1276 lab Απουσία από το εργαστήριο 1280 FAIL Πρόσεχε τη στοίχιση - Η πρώτη γραµµή της main έπρεπε να είναι πιο έξω. - Πολύ καλή δουλειά - Απαράδεκτα ονόµατα µεταβλητών (αν είχες καλύτερα ονόµατα θα είχες πάρει καθαρό ) - Χρησιµοποιείς το deiktes[i] πριν ελέγξεις αν είναι NULL. Οπότε αν κάτι έχει πάει στραβά και είναι NULL, το πρόγραµµα θα τερµατίσει µε segmentation fault πολύ πριν τον έλεγχο. - Το µέγεθος της µνήµης που δεσµεύεις για το n έπρεπε να είναι µεγαλύτερο κατά ένα byte (για το '\0') - Η απελευθέρωση µνήµης είναι λάθος - δες τη λύση. - Έπρεπε να προσθέτεις κι ένα κενό µετά από κάθε λέξη στο τελικό string. - Τα όρια των loops έπρεπε να είναι i<maxwords κι όχι i<=maxwords. Έπρεπε να το ξέρεις αυτό! Ελλιπής λύση. - Η strncpy δε βάζει '\0 στο τέλος του string, οπότε πρέπει να φροντίζεις να το βάζεις µόνος σου. -Όταν ελέγχεις το THRESHOLD πρέπει ή να ελέγχεις µόνο τόσα σηµεία όσα είναι στον πίνακα (το οποίο δεν είναι απαραίτητα NUMPOINTS) ή ακόµη καλύτερα να είχες αρχικοποιήσει τις κενές θέσεις σε NULL και να έλεγχες µετά µόνο όσα σηµεία δεν είναι NULL.. - Πρόσεχε τη στοίχιση. Το εργαλείο του Kate για αυτόµατη στοίχιση δε λειτουργεί πάντα σωστά. - Καλή δουλειά στην εισαγωγή δεδοµένων, αλλά προσπάθησε να το κάνεις και χωρίς να χρησιµοποιείς το Tpoint. - Στο τέλος έπρεπε να αποδεσµεύεις όλη τη δυναµικά δεσµευµένη µνήµη. - Πρόσεχε λίγο τα ονόµατα που δίνεις στις µεταβλητές. Το Tpoint δίνει την εντύπωση ότι είναι όνοµα τύπου (λόγω του Τ). Το k δεν είναι περιγραφικό. Το sum σηµαίνει άθροισµα, αλλά το χρησιµοποιείς ως µετρητή. Γενικά, αν βλέπεις ότι χρειάζεσαι σχόλια για να εξηγήσεις το όνοµα µιας µεταβλητής, τότε µάλλον δεν έχεις επιλέξει καλό όνοµα. - Το loop έπρεπε να πηγαίνει µέχρι i<numpoints και όχι i<=numpoints. Έπρεπε να το ξέρεις αυτό! Παίρνεις πολύ. Page 4

5 FAIL FAIL Εξαιρετική δουλειά µε τις συναρτήσεις, µπράβο! - Στη delete_points πριν κάνεις το point_ptr[i] ίσο µε NULL έπρεπε να το κάνεις free. - To point_ptr[i] = NULL; στο τέλος της insert_points είναι λάθος. Στην περίπτωση που τα σηµεία είναι λιγότερα από NUMPOINTS, θα έπρεπε πριν από αυτό να έχεις κάνει free. Στην περίπτωση που τα σηµεία είναι ακριβώς NUMPOINTS, το i σε αυτή τη γραµµή είναι ίσο µε NUMPOINTS και κατά συνέπεια το point_ptr[i] είναι εκτός ορίων του πίνακα. - Ελάχιστος κώδικας και δεν κάνει compile - Αντί να αντικαθιστάς το τελευταίο γράµµα κάθε λέξης µε κενό έπρεπε να προσθέτεις (µε strcat ή µε ένα επιπλέον strcpy) ένα κενό µετά από κάθε λέξη.. Μπράβο για τη χρήση συνάρτησης. - Το πρόγραµµα κάνει compile µε warnings - Δεν προσθέτεις τα κενά ανάµεσα στις λέξεις, και ο τρόπος που αυξάνεις το cmp έχει ως αποτέλεσµα να αντιγράφεις και το \0 κάθε µιας λέξης στο τελικό string. Γι αυτό στο τέλος τυπώνει µόνο την πρώτη λέξη. Προσπάθησε να το διορθώσεις, κι αν δε µπορείς ζήτα βοήθεια από τους διδάσκοντες. - Καλή δουλειά! Μπράβο για τη χρήση των συναρτήσεων. - Έπρεπε να κάνεις free και τις λέξεις word[i] - Πολύ καλή δουλειά - Ο έλεγχος deikths_shmeiwn[i]->tetmimenh>=0 προσπελαύνει το deikths_shmeiwn[i] πριν δεσµευτεί µνήµη γι αυτό και ως αποτέλεσµα το πρόγραµµα κάνει crash. - Το loop έπρεπε να πηγαίνει µέχρι i<numpoints και όχι i<=numpoints. Έπρεπε να το ξέρεις αυτό! Οµοίως για τα επόµενα loops - Από τη στιγµή που έχεις ορίσει το NUMPOINTS ως σταθερά, πρέπει να χρησιµοποιείς αυτό όπου χρειάζεται και όχι την τιµή 5 ή 6. - Τα όρια του loop στην clearmemory είναι λάθος: επιτρέπεις στο i να πάει µέχρι και 5 το οποίο είναι εκτός του πίνακα. - Να γράφεις µόνο µια εντολή ανά γραµµή (η γραµµή 21 έχει δύο εντολές, η 39 έχει τρεις και η γραµµή 61 είναι τεράστια) - Στη γραµµή 39 πρέπει να κάνεις free το σηµείο πριν το κάνεις NULL. - Η δεύτερη δέσµευση µνήµης είναι λάθος. Το sizeof(sum) είναι όσο και το sizeof(int) επειδή το sum είναι int. Έπρεπε να είχες γράψει sum*sizeof(char) - Πρόσεχε όταν κάνεις copy+paste. Ο έλεγχος για NULL µετά το δεύτερο malloc είναι ίδιος µε προηγούµενο έλεγχο. - Δεν προσθέτεις κενούς χαρακτήρες ανάµεσα στις λέξεις του τελικού string. - Στο τέλος έπρεπε να κάνεις free και το new_string - Έπρεπε να κάνεις free και τις λέξεις του πίνακα - Πολύ καλή δουλειά Page 5

6 FAIL FAIL 1309 FAIL 1310 FAIL - Μετά από κλήση στη malloc να ελέγχεις πάντα αν επέστρεψε NULL - Έχεις λάθη απροσεξίας. Ερωτηµατικά που λείπουν, το i δηλωµένο ως double αντί για int. Να κάνεις συχνά compile το πρόγραµµά σου κι όχι 5 λεπτά πριν το στείλεις. - Το str δεν έπρεπε να το κάνεις free γιατί έχει ακριβώς την ίδια διεύθυνση µε το string[maxwords-1], το οποίο κάνεις free µέσα στο loop - Άσχηµα ονόµατα µεταβλητών και χρήση ενδιάµεσων µεταβλητών µπερδεύουν το πρόγραµµά σου. Αντί για scanf("%19s", str); string[i]=str; θα ήταν πιο απλό και κατανοητό να γράψεις scanf("%19s", string[i]); - Χρησιµοποιείς sizeof(char) σε σηµεία που δεν πρέπει και δεν το χρησιµοποιείς εκεί που πρέπει. - Όταν δεσµεύεις µνήµη να µην κάνεις ποτέ υποθέσεις για το µέγεθος του τύπου (πχ, να µην παραλείπεις το sizeof(char) επειδή υποθέτεις ότι θα είναι 1) - Να κάνεις πάντα type cast το αποτέλεσµα της malloc - Η εκφώνηση απαγόρευε ρητά τη χρήση καθολικών µεταβλητών. - Στη release_memory αποδεσµεύεις µόνο το πρώτο στοιχείο του πίνακα ενώ έπρεπε να τα αποδεσµεύεις όλα. - Το table = NULL δεν έχει νόηµα γιατί το table είναι στατικός πίνακας. - Η εκφώνηση ζητούσε να αφαιρεθούν τα σηµεία από τον πίνακα, όχι απλά να αλλαχθούν οι τιµές. Έπρεπε να απελευθερώσεις τη µνήµη που είχε δεσµευθεί για αυτά και να κάνεις τους αντίστοιχους δείκτες NULL. - Παρόλο που το πρόγραµµά σου βγάζει αποτελέσµατα, δεν επιδεικνύει το βαθµό στον οποίο έχεις καταλάβει τη δυναµική δέσµευση και την αποδέσµευση µνήµης. - Το πρόγραµµα δεν κάνει compile - Το i=numpoints που έχεις στη συνθήκη του loop είναι ανάθεση και όχι σύγκριση. - Η συνθήκη του loop είναι λάθος - έπρεπε να χρησιµοποιείς && - Μην αφήνεις πολλαπλές κενές γραµµές στο τελικό πρόγραµµα. Page 6

7 1311 FAIL lab Δεν παραδόθηκε άσκηση FAIL 1317 FAIL FAIL Ποιος είναι ο σκοπός του j=j+1 στη γραµµή 26? - Μετά την κλήση στην strpbrk έπρεπε να ελέγχεις αν το αποτέλεσµα είναι NULL (το οποίο σηµαίνει ότι δεν υπάρχουν εµφανίσεις του $ στο sentence. Επίσης, για να δουλέψει σωστά το πρόγραµµά σου έπρεπε να αλλάζει η πρώτη παράµετρος του strpbrk σε κάθε επανάληψη. Γενικά ο αλγόριθµός σου δε βγάζει πολύ νόηµα. Προσπάθησε να ξανακάνεις την άσκηση πιο προσεκτικά και µετά δες τη λύση. - Το dir είναι δείκτης σε χαρακτήρα, ενώ το i ακέραιος, εποµένως η ανάθεση words[j].dir = i +1; είναι λάθος. - Όταν το µέγεθος ενός string είναι 100, τότε στη scanf πρέπει να προσδιορίζεις µέγεθος 99, όχι 100 (για να µείνει µια θέση για το '\0') - Πριν διαβάσεις κάτι µέσα στο str[i] πρέπει να δεσµεύσεις µνήµη γι αυτό. Το malloc που κάνεις για το str2 δεν έχει νόηµα σ εκείνο το σηµείο. -Ο τρόπος µε τον οποίο χρησιµοποιείς την strcpy, αν υποθέταµε ότι έχουν διαβαστεί σωστά οι λέξεις, θα είχε ως αποτέλεσµα να γράφεις κάθε µία λέξη στην αρχή του τελικού string, και όχι στο τέλος όπως είναι το σωστό. Επίσης, πρέπει ανάµεσα στις λέξεις να προσθέτεις κενό όχι το '\0'. - Το sizeof(sum) είναι όσο και το sizeof(int) επειδή το sum είναι int. Τελικά δεσµεύεις µόνο 4 byte. Το σωστό θα ήταν sum*sizeof(char) - Οι θέσεις ενός πίνακα είναι από 0 µέχρι και MAXWORDS-1, κι ΟΧΙ από 1 µέχρι και MAXWORDS. Έπρεπε να το ξέρεις αυτό! - Η κλήση στη free είναι τελείως λάθος. Ξαναδιάβασε τη σύνταξή της. - Εξαιρετική δουλειά µε τις συναρτήσεις, µπράβο! - Αν το x είναι <0 δεν έπρεπε να διαβάζεις το y - Το loop έπρεπε να πηγαίνει µέχρι i<numpoints και όχι i<=numpoints. Έπρεπε να το ξέρεις αυτό! - Ελέγχεις την τιµή του x πριν καν το διαβάσεις από το πληκτρολόγιο! - Έχεις κάνει λάθη τα οποία σε αυτό το στάδιο δεν έπρεπε να γίνονται. Μη γράφεις κώδικα µηχανικά! Δώσε προσοχή στη ροή του προγράµµατος. Page 7

8 1332 FAIL 1334 FAIL - Μετά τη malloc πρέπει να ελέγχεις για NULL πριν προσπελάσεις τη µνήµη που δέσµευσες. Όπως το έκανες τώρα, αν η malloc αποτύχει, το πρόγραµµά σου θα κάνει crash στη γραµµή Το le3eis είναι στατικός πίνακας, δεν έχει νόηµα να το συγκρίνεις µε NULL. Έπρεπε να ελέγχεις κάθε ένα le3eis[i] που δέσµευσες στο προηγούµενο loop. - Δε δεσµεύεις αρκετή µνήµη για το j. - Το j είναι άσχηµο όνοµα για µεταβλητή που είναι οτιδήποτε άλλο παρά µετρητής σε loop - Με τον τρόπο που έγραψες το strcpy, το κάθε le3eis[i] αντιγράφεται πάντα στην αρχή του string κι όχι στο τέλος του. - Δεν προσθέτεις κενά ανάµεσα στις λέξεις του τελικού string. - Η άσκηση ζητούσε να εκτυπώσεις το τελικό string µια φορά στο τέλος, όχι να εκτυπώνεις µια-µια λέξη. - Λάθος στην αποδέσµευση µνήµης. Δες τη λύση. - Το seira που προσπαθείς να εκτυπώσεις είναι ένας άδειος πίνακας. - Το σχόλιο που έχεις στη δήλωση του struct για το dis είναι πολύ καλό. - Έχεις δηλώσει τον πίνακα ως global µεταβλητή, πράγµα που η εκφώνηση απαγόρευε ρητά. - Το loop έπρεπε να πηγαίνει µέχρι i<numpoints και όχι i<=numpoints. Έπρεπε να το ξέρεις αυτό! - Ο κώδικας στις γραµµές έπρεπε να βρίσκεται µέσα στο παραπάνω loop. Αυτό που κάνεις τώρα είναι να γράφεις στη θέση µνήµης pinakas[numwords+1]. Γι αυτό το πρ - Τα όρια του loop στο οποίο γίνεται η εκτύπωση είναι λάθος. Δεν υπάρχει καµία εγγύηση ότι υπάρχει στοιχείο NULL στον πίνακα Πολύ καλή δουλειά Αν το x είναι <0 δεν έπρεπε να διαβάζεις το y - Πολύ καλή δουλειά, µπράβο. Ειδικά το free στη γραµµή 27, το οποίο είναι εύκολο να το ξεχάσει κανείς. - Όταν σκοπεύεις να χρησιµοποιείς το i µετά το τέλος του loop, πρέπει να του δίνεις περιγραφικό όνοµα. - Εξαιρετική δουλειά! Πριν κάνεις το pin[i] NULL στη γραµµή 45 έπρεπε να το κάνεις free. - Καλή δουλειά, εκτός από το ότι το πρόγραµµα δεν εκτυπώνει τα αποτελέσµατα Πολύ καλή δουλειά, µπράβο! Page 8

9 1353 FAIL FAIL 1371 FAIL Πρόσεχε τη στοίχιση - Δε δεσµεύεις ποτέ µνήµη. Δεδοµένου ότι δε δέσµευσες ποτέ µνήµη, γιατί αποφάσισες ότι πρέπει να αποδεσµεύσεις? - Ο τρόπος µε τον οποίο τερµατίζεις το loop είναι λάθος. Αν ο χρήστης δώσει λιγότερα από NUMPOINTS σηµεία, το num και κατά συνέπεια το realnum καταλήγει να είναι 0. Ξανασκέψου πώς θα έπρεπε να υλοποιηθεί αυτό το κοµµάτι, δες και τη λύση, κι αν ακόµη έχεις δυσκολία ζήτα βοήθεια. - Δε γίνεται σωστά η αποδέσµευση µνήµης για τα περιεχόµενα του πίνακα. Ο ίδιος ο πίνακας είναι στατικός. Δεν έπρεπε να κάνεις αυτόν free, αλλά κάθε ένα στοιχείο του. Ουσιαστικά, πρέπει να κάνεις free το ίδιο πράγµα που έκανες malloc. - Όταν δεσµεύεις µνήµη να µην κάνεις ποτέ υποθέσεις για το µέγεθος του τύπου (πχ, να µην παραλείπεις το sizeof(char) επειδή υποθέτεις ότι θα είναι 1) - Το µέγεθος του πίνακα έπρεπε να έχει µια ακόµη θέση για το '\0' - Δε διαβάζεις σωστά τις λέξεις : Τελικά όλες οι θέσεις του πίνακα περιέχουν τη διεύθυνση της τοπικής µεταβλητής string. Δες τη λύση, κι αν ακόµη δεν καταλαβαίνεις γιατί το πρόγραµµά σου βγάζει λάθος αποτελέσµατα ρώτα τους διδάσκοντες. - Στο τελευταίο for έπρεπε να χρησιµοποιείς το pointer στην strcat - Το µέγεθος της µνήµης που δεσµεύεις για το τελικό string δεν έχει αρκετό χώρο για τα κενά. - Στο loop που αντιγράφεις τις λέξεις στο τελικό string έχεις λάθος στη σειρά των πράξεων. Προσπάθησε να βρεις µόνη σου πώς θα έπρεπε να το είχες κάνει και µετά κοίτα τη λύση ή ζήτα βοήθεια από τους διδάσκοντες. - Το πρόγραµµα δεν κάνει compile λόγω λάθους απροσεξίας. Να κάνεις ΠΑΝΤΑ ένα τελικό compile πριν στείλεις την άσκηση - Η συνθήκη του πρώτου for είναι λάθος - έπρεπε να χρησιµοποιείς && - Στη συνθήκη του πρώτου for ελέγχεις την τιµή του points[i], αλλά αυτό γίνεται πριν καν δεσµεύσεις µνήµη για το points[i] και ως αποτέλεσµα το πρόγραµµα κάνει crash. - Δεν καλείς ποτέ τη συνάρτηση apodesmeusi - Το πρόγραµµα δεν έκανε compile. Πολλά warnings και λάθος στο όνοµα της strlen (είχες γράψει strleng) - Όταν δηλώνεις char *x, y; τότε το y είναι τύπου char και όχι char* - Λάθη στη δέσµευση µνήµη και χρήση δεικτών - Τα όρια των loops έπρεπε να είναι i<maxwords κι όχι i<=maxwords. Έπρεπε να το ξέρεις αυτό! - Δε γίνεται σωστά η αποδέσµευση µνήµης για τα περιεχόµενα του πίνακα. Ο ίδιος ο πίνακας είναι στατικός. Δεν έπρεπε να κάνεις αυτόν free, αλλά κάθε ένα στοιχείο του. - Όταν δεσµεύεις µνήµη να µην κάνεις ποτέ υποθέσεις για το µέγεθος του τύπου (πχ, να µην παραλείπεις το sizeof(char) επειδή υποθέτεις ότι θα είναι 1) - Πολύ καλή δουλειά κατά τα άλλα Page 9

10 FAIL 1386 FAIL 1387 FAIL 1388 FAIL Μετά από κάθε κλήση στη malloc να ελέγχεις αν επέστρεψε NULL - Πολύ καλή δουλειά - Μετά από κλήση στη malloc να ελέγχεις πάντα αν επέστρεψε NULL - Έπρεπε να υπολογίζεις και να τυπώνεις την απόσταση, όχι το χαρακτήρα. - Το απόσταση δεν έπρεπε να είναι πίνακας. - Όταν δηλώνεις ένα πίνακα, πρέπει πάντα να προσδιορίζεις το µέγεθός του. - Δεν αποθηκεύεις την απόσταση για κάθε σηµείο. - Το pos είναι πάντα ίσο µε NUMPOINTS. - Έπρεπε το να το έχεις αποθηκεύσει σε σταθερά. - Φαίνεται να έχεις µπερδευτεί και στο τεχνικό και στο αλγοριθµικό κοµµάτι της άσκησης. Προσπάθησε να την ξανακάνεις, δες και τη λύση, κι αν έχεις ακόµη δυσκολία ζήτα βοήθεια. - Από τη στιγµή που το i το χρησιµοποιείς για να αποθηκεύσεις το πλήθος των στοιχείων, θα έπρεπε να του είχες δώσει πιο περιγραφικό όνοµα. - Τι ακριβώς κάνει το malloc στη γραµµή 41? Πρέπει να δεσµεύεις µνήµη για ένα σηµείο, και µέσα σε αυτό να αποθηκεύεις τρεις πληροφορίες. ΟΧΙ να δεσµεύεις µνήµη για τρία πράγµατα κάθε φορά Δες τη λύση, κι αν δεν καταλαβαίνεις γιατί είναι λάθος αυτό που έκανες, ρώτα τους διδάσκοντες γιατί είναι σηµαντικό. - Ο έλεγχος i == NUMPOINTS είναι λάθος. Αυτή τη στιγµή το loop τρέχει µόνο µια φορά γιατί αρχικά το i θα είναι 0, το οποίο είναι διάφορο του NUMPOINTS - Το loop έπρεπε να πηγαίνει µέχρι i<numpoints και όχι i<=numpoints. Έπρεπε να το ξέρεις αυτό! - Τι ακριβώς κάνεις στη γραµµή 40? Έπρεπε να δεσµεύεις µνήµη για να αποθηκεύσεις ένα σηµείο, όχι NUMPOINTS αριθµούς. - Λάθος στην αποδέσµευση µνήµης. - Δε δεσµεύεις αρκετή µνήµη (ξέχασες να υπολογίσεις και το πλήθος των κενών χαρακτήρων) - Να ελέγχεις πάντα για NULL µετά από malloc Page 10

11 FAIL FAIL lab8 - Μετά από malloc πρέπει πρώτα να ελέγχεις για NULL και µετά να χρησιµοποιείς τη µνήµη που δέσµευσες. Με τον τρόπο που έχεις κάνει τον έλεγχο, αν η malloc επιστρέψει NULL, το πρόγραµµά σου θα κάνει crash στη γραµµή 21 - Δε θέτεις την τιµή της απόστασης. Για να φανούν σωστά αποτελέσµατα έπρεπε το printf("%d\n",size); να είναι µέσα στο loop. - Το πρόγραµµα δεν κάνει compile. Ξαναδιάβασε πώς συντάσσεται η κλήση συναρτήσεων. - Τα όρια των loops έπρεπε να είναι i<maxwords κι όχι i<=maxwords. Έπρεπε να το ξέρεις αυτό! - Δεν υπολογίζεις σωστά την απόσταση: είναι i+1 όχι str[i+1] - Το πρόγραµµά σου πέφτει σε ατέρµονο loop (στο while) γιατί η τιµή του sp δεν αλλάζει ποτέ και η συνθήκη έπρεπε να ελέγχει το αποτέλεσµα της strpbrk και όχι το sp. - Μετά από κλήση σε malloc/realloc να ελέγχεις πάντα αν επέστρεψε NULL. temp6 FAIL - Υλοποιήθηκε πολύ µικρό κοµµάτι της άσκησης Page 11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό (με. τη C)

Εισαγωγή στον Προγραμματισμό (με. τη C) Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr

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

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

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

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

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

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

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

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

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

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

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μνήμη I CS100,

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 12 η : Δυναμική Ανάθεση Θέσης Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 Διάλεξη 8: Φροντιστήριο για Δομές, Δυναμική Δέσμευση Μνήμης, Αναδρομή Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 8: Φροντιστήριο για Δομές, Δυναμική Δέσμευση Μνήμης, Αναδρομή Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 ΑΠΟΡΙΕΣ ΕΠΛ035 Δομές Δεδομένων και

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

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΝΟΜΑΤΕΠΩΝΥΜΟ: AEM: ΜΕΡΟΣ Α: ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [15 µονάδες] ΣΗΜΑΝΤΙΚΕΣ ΔΙΕΥΚΡΙΝΙΣΕΙΣ: Επιλέξτε ΜΙΑ σωστή απάντηση για κάθε ερώτηση. Λάθος απαντήσεις βαθµολογούνται αρνητικά Σε ερωτήσεις που

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 5. Εαρινό Εξάμηνο

Εργαστήριο 5. Εαρινό Εξάμηνο Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 5 Εαρινό Εξάμηνο 2012-2013 Στό χόι τόυ εργαστηρι όυ Χρήση στοίβας Αναδρομή Δομές δεδομένων Δυναμική

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16) Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές Δρ. Γιώργος Λαμπρινίδης amprinidis@pharm.uoa.gr 1 Αριθμητικοί Τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση Προσοχή! Διαίρεση

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

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

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

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

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

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

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

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.1-8.3 Πίνακες Ι ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα µιλήσουµε για την δοµή δεδοµένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. ήλωση Πίνακα 3. Αρχικοποίηση

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

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

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

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια. Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 4 Εαρινό Εξάμηνο 2012-2013 Στόχοι του εργαστηρίου Χρήση στοίβας Συναρτήσεις ΠΡΟΣΟΧΗ: Αρχίστε νωρίς

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

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

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 4η σειρά ασκήσεων. Κοζάνη, 1 Νοεμβρίου 2007. Πρόγραμμα p4-1 (μεταγλώττιση και εκτέλεση) Πολύ απλό το πρώτο, για προθέρμανση! Πριν πατήσετε enter

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

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

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

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

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

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

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

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Σκοπός της 3ης άσκησης είναι να μάθουμε να φτιάχνουμε και να προσπελαύνουμε λίστες, να δούμε τι διαφορά έχουν από τα tuples και επίσης πώς μπορούμε

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

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

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

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο

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

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

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

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

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

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

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT

ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT ΘΕΩΡΙΑ Στο project αυτό έχουμε υλοποιήσει τις βασικές συναρτήσεις της stdlib της C malloc και free Η συνάρτηση malloc είναι η void *malloc(int

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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