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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Δεν κάνει compile και το λάθος είναι σηµαντικό: Το head1 είναι δείκτης σε struct, εποµένως η προσπέλαση πεδίου γίνεται 321 FAIL µε head1->next και όχι head1.next. Επιπλέον, έχετε λάθος και στη λογική. Θέλουµε να κάνουµε το newlist->prev ίσο µε head2 κι όχι το newlist ίσο µε head1->prev. Μετά, θέλουµε το head2->next να γίνει newlist. Τέλος, πρέπει να συνδέσουµε το head1 µε το head Όλα οκ, εκτός από την τιµή που επιστρέφει η συνάρτηση. Το curr είναι η οριακό κεφαλή της επιµέρους λίστας που επιστρέφει η αναδροµική κλήση. PASS Η σωστή κεφαλή της λίστας που κατασκευάζετε είναι το head 1482 PASS main : Η recinterleave επιστρέφει την κεφαλή της νέας λίστας που κατασκευάστηκε. Πρέπει να αποθηκεύετε το αποτέλεσµά της στο head. Με τον τρόπο που γίνεται το interleave, θα δουλέψει και όπως το έχετε τώρα, αλλά το πιο σωστό είναι να χρησιµοποιείτε αυτό που σας επιστρέφει (γιατί δεν υπάρχει καµία εγγύηση ότι η συνάρτηση θα έχει υλοποιηθεί µε τέτοιο τρόπο ώστε η κεφαλή να µείνει ίδια. Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούσαν τη δεύτερη λίστα τώρα πια έχουν προστεθεί στην πρώτη. Το παλιό head2 είναι το επόµενο στοιχείο του head εποµένως έχει ήδη σβηστεί από την πρώτη clearlist. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών PASS 1559 PASS Πολύ σωστή η υλοποίηση και κλήση της συνάρτησης, αλλά θα έπρεπε να έχετε και το prototype της πάνω από τη main. Σωστή, µπράβο. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Δεν κάνει compile. Καλή αρχή, αλλά το πιο σηµαντικό λάθος είναι ότι δεν αποθηκεύετε σε µεταβλητή το αποτέλεσµα της recstrlen κατά την αναδροµική κλήση. Σωστή γενικά, αλλά θα πετάξει segmentation fault αν η λίστα είναι αρχικά άδεια. Γιατί χρησιµοποιείτε (*newnode).data και όχι newnode->data όπως στα υπόλοιπα σηµεία? Επίσης, έπρεπε να αρχικοποιείτε το newnode->prev σε NULL. Δεν κάνει compile, λίγος κώδικας. Page 1

2 Εξαιρετική δουλειά, µπράβο! 1562 PASS 1563 PASS 1565 PASS 1566 PASS Πολύ καλή δουλειά. Αντί για &string[1] θα µπορούσατε να είχατε γράψει string+1 και αντί για string[0] θα µπορούσατε να είχατε *string. Καθαρά θέµα στυλ: διατήρηση της σύνταξης δεικτών µια και έτσι είναι και το υπόλοιπο πρόγραµµα. Σωστή αλλά στην περίπτωση που το head->prev είναι NULL ξεχνάτε να το κάνετε ίσο µε curr. Σε αυτό οφείλεται το ότι "χάνεται" ένας κόµβος όταν εκτυπώνετε τη λίστα ανάποδα. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Σωστή, µπράβο. Σωστή, µπράβο. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Δεν αρχικοποιείτε το plithos, οπότε όταν το string[0] είναι '\0' επιστρέφει σκουπίδια και τελικά δε βγαίνουν σωστά αποτελέσµατα. Το πρώτο if δε χρειαζόταν, αρκούσε σε εκείνο το σηµείο να γράψετε plithos = 0; Αν µετά µπει στο if (string[0]=='\0') θα επιστρέψει τη σωστή τιµή (0), κι αν δε µπει, θα έχει τη σωστή τιµή για τους επόµενους υπολογισµούς. Όλα οκ στη σύνδεση, εκτός από τη γραµµή head2->prev=head; που είναι λάθος κι έπρεπε να αφαιρεθεί. Η παράµετρος string έπρεπε να είναι δηλωµένη ως char * γιατί είναι string. Η συνάρτηση δεν υλοποιήθηκε. Page 2

3 1568 FAIL 1570 PASS Sheet2 Αν το newnode είναι NULL, δεν έχει νόηµα να το κάνεις free. Στην περίπτωση που αποτυγχάνει το malloc, θα ήταν καλό ή να αποδεσµεύεις όλη τη λίστα ή να επιστρέφεις την κεφαλή της χωρίς να έχει γίνει το cloning Το newnode έπρεπε να προστίθεται πριν το head, αλλά το προσθέτεις µετά. Το base case είναι λάθος. Αν το head είναι NULL δεν πρέπει να τερµατίζει το πρόγραµµα,αλλά να επιστρέφεις NULL (τότε η αναδροµή αρχίζει να "γυρίζει πίσω" αφού φτάσαµε στη µικρότερη δυνατή λίστα) Αν το group είναι NULL, το group->next θα κάνει segfault. Χρειαζόταν έλεγχος γι αυτό. Το newnode->next->next = NULL έχει ως αποτέλεσµα να χαθεί το κοµµάτι της λίστας που ξεκινά στο newnode->next->next Επίσης, θα µπορούσες να είχες εκµεταλλευτεί την ύπαρξη της addtofront Σωστή εκτός από τον αρχικό έλεγχο. Έπρεπε να ελέγχετε αν το curr2 είνα NULL, κι όχι το curr2->next. Σε αυτό το λάθος οφείλετε το ότι χάνετε ένα κόµβο στο τέλος (ο τελευταίος κόµβος κάθε λίστας δεν εισάγεται στην τελική) 1571 οριακό PASS. main: Η συνάρτηση recduplicate επιστρέφει την κεφαλή της λίστας που κατασκευάζει. Έπρεπε να αποθηκεύετε την τιµή που επιστρέφει στη µεταβλητή head. Με τον τρόπο που το κάνατε, χάνεται ο πρώτος κόµβος της νέας λίστας. Λειτουργεί σωστά αλλά έχετε κάποια λαθάκια και το πρόγραµµα δεν είναι πολύ καλογραµµένο. Κατ'αρχήν είναι λάθος να δεσµεύετε µνήµη για το curr. Πρόκειται να το χρησιµοποιήσετε για να αποθηκεύσετε ένα δείκτη σε ήδη δεσµευµένη µνήµη, όχι για κάτι καινούργιο. Στον έλεγχο που κάνετε µετά από malloc, αν πχ το new είναι NULL, τότε δεν έχει νόηµα να το κάνετε free - αφού απέτυχε η δέσµευση µνήµης γι αυτό. Ο πιο πολύς κώδικας που έχετε στο if και στο else είναι ακριβώς ο ίδιος. Θα ήταν πολύ πιο κατανοητό το πρόγραµµα αν τα κοινά κοµµάτια ήταν έξω από το if/else (αφού εκτελούνται σε κάθε περίπτωση). Αρκετά άσχηµη στοίχιση. Page 3

4 1573 οριακό PASS Sheet2 Όλα οκ στη σύνδεση, αλλά χαλάτε τη λίστα στο τέλος. Αντί για komvos = head έπρεπε να είχατε head = komvos. Έτσι όπως το κάνατε τώρα, επιστρέφετε το δεύτερο κόµβο κι όχι τον πρώτο. Στην περίπτωση που αποτυγχάνει το malloc, θα ήταν καλό ή να αποδεσµεύετε τη λίστα ή να επιστρέφετε την κεφαλή της χωρίς να έχει γίνει το cloning. Επίσης, θα µπορούσατε να είχατε εκµεταλλευτεί την ύπαρξη της addtofront 1577 PASS Σωστή, µπράβο. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main οριακό PASS Δεν κάνει compile. Καλή αρχή, αλλά το πιο σηµαντικό λάθος είναι ότι δεν αποθηκεύετε σε µεταβλητή το αποτέλεσµα της recstrlen κατά την αναδροµική κλήση. Όλα οκ στη σύνδεση, αλλά χαλάτε τη λίστα στο τέλος. Αντί για komvos = head έπρεπε να είχατε head = komvos. Έτσι όπως το κάνατε τώρα, επιστρέφετε το δεύτερο κόµβο κι όχι τον πρώτο. Στην περίπτωση που αποτυγχάνει το malloc, θα ήταν καλό ή να αποδεσµεύετε τη λίστα ή να επιστρέφετε την κεφαλή της χωρίς να έχει γίνει το cloning. Επίσης, θα µπορούσατε να είχατε εκµεταλλευτεί την ύπαρξη της addtofront 1587 PASS σωστή Page 4

5 1602 PASS 1607 PASS 1608 PASS 1609 PASS Sheet2 Σωστή, µπράβο. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Δεν αρχικοποιείτε το plithos, οπότε όταν το string[0] είναι '\0' επιστρέφει σκουπίδια και τελικά δε βγαίνουν σωστά αποτελέσµατα. Το πρώτο if δε χρειαζόταν, αρκούσε σε εκείνο το σηµείο να γράψετε plithos = 0; Αν µετά µπει στο if (string[0]=='\0') θα επιστρέψει τη σωστή τιµή (0), κι αν δε µπει, θα έχει τη σωστή τιµή για τους επόµενους υπολογισµούς. Σωστή. Καλή δουλειά : Πολύ καλή δουλειά, µπράβο! Στην περίπτωση που αποτυγχάνει το malloc, θα ήταν καλό ή να αποδεσµεύετε τη λίστα ή να επιστρέφετε την κεφαλή της χωρίς να έχει γίνει το cloning. Επίσης, θα µπορούσατε να είχατε εκµεταλλευτεί την ύπαρξη της addtofront ΆΣΚΗΣΗ 1, extra: Σωστή ΆΣΚΗΣΗ 2: Πολύ καλή δουλειά, µπράβο Σωστή. Καλή δουλειά main: Σωστή 1611 PASS Σωστά αποτελέσµατα αλλά δέχεται βελτίωση. Ο λόγος που χρησιµοποιούµε enum αντί για ακεραίους είναι για να έχουµε πιο κατανοητό πρόγραµµα, δεδοµένου ότι η τιµή ενός enum είναι µια περιγραφική λέξη. Έπρεπε αντί για curr->state = 2 να είχατε γράψει curr->state = COPY. Επίσης, µε τον τρόπο που εξετάζετε το base case, το πρόγραµµά σας θα πετάξει segmentation fault αν η λίστα είναι αρχικά άδεια. Σωστή. Page 5

6 1612 PASS : main: Σωστή Σωστή. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Πολύ καλή δουλειά, µπράβο. : Πολύ καλή δουλειά, µπράβο! Θα µπορούσατε να είχατε εκµεταλλευτεί και την ύπαρξη της addtofront 1619 PASS 1622 PASS ΆΣΚΗΣΗ 1, extra: Σωστή ΆΣΚΗΣΗ 2: Πολύ καλή δουλειά, µπράβο main : Η recinterleave επιστρέφει την κεφαλή της νέας λίστας που κατασκευάστηκε. Πρέπει να αποθηκεύετε το αποτέλεσµά της στο head. Με τον τρόπο που γίνεται το interleave, θα δουλέψει και όπως το έχετε τώρα, αλλά το πιο σωστό είναι να χρησιµοποιείτε αυτό που σας επιστρέφει (γιατί δεν υπάρχει καµία εγγύηση ότι η συνάρτηση θα έχει υλοποιηθεί µε τέτοιο τρόπο ώστε η κεφαλή να µείνει ίδια. ) Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούσαν τη δεύτερη λίστα τώρα πια έχουν προστεθεί στην πρώτη. Το παλιό head2 είναι το επόµενο στοιχείο του head εποµένως έχει ήδη σβηστεί από την πρώτη clearlist. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών PASS Πολύ σωστή η υλοποίηση και κλήση της συνάρτησης, αλλά θα έπρεπε να έχετε και το prototype της πάνω από τη main. : Πολύ καλή δουλειά, µπράβο! Στην περίπτωση που αποτυγχάνει το malloc, θα ήταν καλό ή να αποδεσµεύετε τη λίστα ή να επιστρέφετε την κεφαλή της χωρίς να έχει γίνει το cloning. Επίσης, θα µπορούσατε να είχατε εκµεταλλευτεί την ύπαρξη της addtofront ΆΣΚΗΣΗ 1, extra: Σωστή ΆΣΚΗΣΗ 2: Πολύ καλή δουλειά, µπράβο Page 6

7 1628 οριακό PASS Sheet2 Όλα οκ, εκτός από την τιµή που επιστρέφει η συνάρτηση. Το curr είναι η κεφαλή της επιµέρους λίστας που επιστρέφει η αναδροµική κλήση. Η σωστή κεφαλή της λίστας που κατασκευάζετε είναι το head 1630 PASS 1632 PASS 1633 FAIL 1642 FAIL 1648 PASS : main: Σωστή Σωστή. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Πολύ καλή δουλειά, µπράβο. Σωστή γενικά, αλλά θα πετάξει segmentation fault αν η λίστα είναι αρχικά άδεια. Γιατί χρησιµοποιείτε (*newnode).data και όχι newnode->data όπως στα υπόλοιπα σηµεία? Επίσης, έπρεπε να αρχικοποιείτε το newnode->prev σε NULL. Δεν κάνει compile, λίγος κώδικας. main: Όλος ο κώδικας ανάµεσα στην κλήση στη recduplicate και στην printlist δεν έπρεπε να υπάρχει. Όλη η δουλειά πρέπει να γίνεται µέσα στη recduplicate Συνάρτηση που χρησιµοποιεί static και µετρητή i παύει να είναι αναδροµική στην ουσία. Δεν ακολουθήσατε καθόλου τις υποδείξεις που έγιναν στην αρχή του εργαστηρίου. Το ίδιο ισχύει και για την άσκηση 2. Δεν κάνει compile και το λάθος είναι σηµαντικό: Το head1 είναι δείκτης σε struct, εποµένως η προσπέλαση πεδίου γίνεται µε head1->next και όχι head1.next. Επιπλέον, έχετε λάθος και στη λογική. Θέλουµε να κάνουµε το newlist->prev ίσο µε head2 κι όχι το newlist ίσο µε head1->prev. Μετά, θέλουµε το head2->next να γίνει newlist. Τέλος, πρέπει να συνδέσουµε το head1 µε το head2 main: Στο τέλος έπρεπε να καλείτε και την clearlist. Κατά τα άλλα είναι σωστή Σωστή. Η γραµµή 118 (head->prev->next = copy) δεν είναι απαραίτητη γιατί καλύπτεται από την αναδροµή. Πολύ σωστή, µπράβο. Page 7

8 1651 PASS Όλα οκ στη σύνδεση, εκτός από τη γραµµή head2->prev=head; που είναι λάθος κι έπρεπε να αφαιρεθεί. Η παράµετρος string έπρεπε να είναι δηλωµένη ως char * γιατί είναι string. Η συνάρτηση δεν υλοποιήθηκε. main : Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούν τη λίστα που ξεκινά στο newhead είναι οι κόµβοι που υπήρχαν στη λίστα που ξεκινά στο head συν τα αντίγραφα. Εποµένως η δεύτερη κλήση στην clearlist προσπαθεί να σβήσει στοιχεία που έχουν ήδη σβηστεί από την πρώτη κλήση. Κατά τα άλλα είναι οκ η main Σωστή, και µπράβο που σκεφτήκατε να χρησιµοποιήσετε την έτοιµη συνάρτηση addtofront PASS 1653 FAIL Υπάρχουν τρία σηµαντικά λάθη στην υλοποίηση. Το πρώτο είναι ότι δεν αρχικοποιείτε το plithos (σε 0) οπότε όταν κάνετε plithos++ η τιµή έχει σκουπίδια. Αυτό προκαλεί και segmentation fault. Το δεύτερο λάθος είναι ότι δε χρησιµοποιείτε το αποτέλεσµα της αναδροµικής κλήσης στη γραµµή 19. Η countones σε αυτό το σηµείο επιστρέφει το πλήθος των άσων από τη θέση i και πέρα, το οποίο πρέπει να προσθέσετε στο plithos. Το τρίτο και πολύ σηµαντικό λάθος είναι ότι δε χειρίζεστε σωστά το base case. Η αναδροµική κλήση πρέπει να γίνεται όταν το string δεν έχει ακόµη τερµατίσει, δηλαδή µέσα στο if. Αν το string[i] είναι 0, τότε η συνάρτηση πρέπει απλά να επιστρέφει 0. Αυτό το λάθος προκαλεί segmentation fault. Τὸ δὶς ἐξαµαρτεῖν οὐκ ἀνδρὸς σοφοῦ Page 8

9 main : Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούν τη λίστα που ξεκινά στο newhead είναι οι κόµβοι που υπήρχαν στη λίστα που ξεκινά στο head συν τα αντίγραφα. Εποµένως η δεύτερη κλήση στην clearlist προσπαθεί να σβήσει στοιχεία που έχουν ήδη σβηστεί από την πρώτη κλήση. Κατά τα άλλα είναι οκ η main Σωστή, και µπράβο που σκεφτήκατε να χρησιµοποιήσετε την έτοιµη συνάρτηση addtofront PASS 1656 PASS Υπάρχουν τρία σηµαντικά λάθη στην υλοποίηση. Το πρώτο είναι ότι δεν αρχικοποιείτε το plithos σε 0) οπότε όταν κάνετε plithos++ η τιµή έχει σκουπίδια. Αυτό προκαλεί και segmentation fault. Το δεύτερο λάθος είναι ότι δε χρησιµοποιείτε το αποτέλεσµα της αναδροµικής κλήσης στη γραµµή 19. Η countones σε αυτό το σηµείο επιστρέφει το πλήθος των άσων από τη θέση i και πέρα, το οποίο πρέπει να προσθέσετε στο plithos. Το τρίτο και πολύ σηµαντικό λάθος είναι ότι δε χειρίζεστε σωστά το base case. Η αναδροµική κλήση πρέπει να γίνεται όταν το string δεν έχει ακόµη τερµατίσει, δηλαδή µέσα στο if. Αν το string[i] είναι 0, τότε η συνάρτηση πρέπει απλά να επιστρέφει 0. Αυτό το λάθος προκαλεί segmentation fault. main: Σωστή Έχετε την πιο µπερδεµένη λογική που έχω δει σε αναδροµή µε λίστες και είναι προς έπαινό σας το γεγονός ότι τελικά δουλεύει κατά το πλείστον σωστά. Καλό θα ήταν όµως να προσπαθήσετε να ξανακάνετε την άσκηση ακολουθώντας τις υποδείξεις που δόθηκαν στην αρχή του εργαστηρίου. Ο λόγος που χάνεται το πρώτο στοιχείο της λίστας είναι το γεγονός το temp είναι η αρχική κεφαλή, η οποία µετά την προσθήκη του new καταλήγει να είναι ο δεύτερος κι όχι ο πρώτος κόµβος της λίστας. Το σωστό θα ήταν να επιστρέφετε το new. Το temp δεν χρειάζεται καθόλου. Όταν γράφετε µια αναδροµική συνάρτηση, πρέπει να ελέγχετε το base case πριν κάνετε την αναδροµική κλήση, διαφορετικά η αναδροµή δε θα τερµατίσει ποτέ (ή για την ακρίβεια θα τερµατίσει όταν ξεµείνετε από stack. Η λύση σας θα ήταν σωστή αν ο έλεγχος για το \0 είχε γίνει στην αρχή. : Πολύ καλή δουλειά, µπράβο! Θα µπορούσατε να είχατε εκµεταλλευτεί και την ύπαρξη της addtofront 1657 PASS 1658 FAIL ΆΣΚΗΣΗ 1, extra: Σωστή ΆΣΚΗΣΗ 2: Πολύ καλή δουλειά, µπράβο Τὸ δὶς ἐξαµαρτεῖν οὐκ ἀνδρὸς σοφοῦ Page 9

10 main: Στο τέλος έπρεπε να καλείτε και την clearlist. Κατά τα άλλα είναι σωστή 1659 PASS 1664 PASS 1666 PASS Σωστή. Η γραµµή 118 (head->prev->next = copy) δεν είναι απαραίτητη γιατί καλύπτεται από την αναδροµή. Πολύ σωστή, µπράβο. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών. Σωστή. Αντί για strcmp, µπορούσατε να είχατε ελέγξει απλά αν το *word είναι == '\0' Σωστή αλλά στην περίπτωση που το head->prev είναι NULL ξεχνάτε να το κάνετε ίσο µε curr. Σε αυτό οφείλεται το ότι "χάνεται" ένας κόµβος όταν εκτυπώνετε τη λίστα ανάποδα. Καλό θα ήταν να είχατε ακολουθήσει το στυλ του υπόλοιπου προγράµµατος. Το πρωτότυπο της συνάρτησης πάνω από τη main και η υλοποίησή της κάτω από τη main. Σωστή, µπράβο. main: Σωστή 1668 PASS Σωστά αποτελέσµατα αλλά δέχεται βελτίωση. Ο λόγος που χρησιµοποιούµε enum αντί για ακεραίους είναι για να έχουµε πιο κατανοητό πρόγραµµα, δεδοµένου ότι η τιµή ενός enum είναι µια περιγραφική λέξη. Έπρεπε αντί για curr->state = 2 να είχατε γράψει curr->state = COPY. Επίσης, µε τον τρόπο που εξετάζετε το base case, το πρόγραµµά σας θα πετάξει segmentation fault αν η λίστα είναι αρχικά άδεια. Σωστή. Page 10

11 1669 PASS 1671 PASS Sheet2 main: Σωστή Έχετε την πιο µπερδεµένη λογική που έχω δει σε αναδροµή µε λίστες και είναι προς έπαινό σας το γεγονός ότι τελικά δουλεύει κατά το πλείστον σωστά. Καλό θα ήταν όµως να προσπαθήσετε να ξανακάνετε την άσκηση ακολουθώντας τις υποδείξεις που δόθηκαν στην αρχή του εργαστηρίου. Ο λόγος που χάνεται το πρώτο στοιχείο της λίστας είναι το γεγονός το temp είναι η αρχική κεφαλή, η οποία µετά την προσθήκη του new καταλήγει να είναι ο δεύτερος κι όχι ο πρώτος κόµβος της λίστας. Το σωστό θα ήταν να επιστρέφετε το new. Το temp δεν χρειάζεται καθόλου. Όταν γράφετε µια αναδροµική συνάρτηση, πρέπει να ελέγχετε το base case πριν κάνετε την αναδροµική κλήση, διαφορετικά η αναδροµή δε θα τερµατίσει ποτέ (ή για την ακρίβεια θα τερµατίσει όταν ξεµείνετε από stack. Η λύση σας θα ήταν σωστή αν ο έλεγχος για το \0 είχε γίνει στην αρχή. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών. Σωστή. Αντί για strcmp, µπορούσατε να είχατε ελέγξει απλά αν το *word είναι == '\0' main: Η συνάρτηση recduplicate επιστρέφει την κεφαλή της λίστας που κατασκευάζει. Έπρεπε να αποθηκεύετε την τιµή που επιστρέφει στη µεταβλητή head. Με τον τρόπο που το κάνατε, χάνεται ο πρώτος κόµβος της νέας λίστας οριακό PASS Λειτουργεί σωστά αλλά έχετε κάποια λαθάκια και το πρόγραµµα δεν είναι πολύ καλογραµµένο. Κατ'αρχήν είναι λάθος να δεσµεύετε µνήµη για το curr. Πρόκειται να το χρησιµοποιήσετε για να αποθηκεύσετε ένα δείκτη σε ήδη δεσµευµένη µνήµη, όχι για κάτι καινούργιο. Στον έλεγχο που κάνετε µετά από malloc, αν πχ το new είναι NULL, τότε δεν έχει νόηµα να το κάνετε free - αφού απέτυχε η δέσµευση µνήµης για αυτό. Ο πιο πολύς κώδικας που έχετε στο if και στο else είναι ακριβώς ο ίδιος. Θα ήταν πολύ πιο κατανοητό το πρόγραµµα αν τα κοινά κοµµάτια ήταν έξω από το if/else (αφού εκτελούνται σε κάθε περίπτωση). Αρκετά άσχηµη στοίχιση. Εξαιρετική δουλειά, µπράβο! 1673 PASS Πολύ καλή δουλειά. Αντί για &string[1] θα µπορούσατε να είχατε γράψει string+1 και αντί για string[0] θα µπορούσατε να είχατε *string. Καθαρά θέµα στυλ: διατήρηση της σύνταξης δεικτών µια και έτσι είναι και το υπόλοιπο πρόγραµµα. Page 11

12 1684 PASS Σωστή εκτός από τον αρχικό έλεγχο. Έπρεπε να ελέγχετε αν το curr2 είναι NULL, κι όχι το curr2->next. Σε αυτό το λάθος οφείλετε το ότι χάνετε ένα κόµβο στο τέλος (ο τελευταίος κόµβος κάθε λίστας δεν εισάγεται στην τελική). main : Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούν τη λίστα που ξεκινά στο newhead είναι οι κόµβοι που υπήρχαν στη λίστα που ξεκινά στο head συν τα αντίγραφα. Εποµένως η δεύτερη κλήση στην clearlist προσπαθεί να σβήσει στοιχεία που έχουν ήδη σβηστεί από την πρώτη κλήση. Κατά τα άλλα είναι οκ η main 1692 PASS Σωστή. Ο έλεγχος στη γραµµή 72 είναι περιττός. Αν βγάλετε τα κοινά κοµµάτια, αυτό που τελικά κάνετε είναι: if (head->prev == NULL) { curr->prev = NULL; } else { curr->prev = head->prev; } Το ίδιο ακριβώς θα συνέβαινε αν απλά είχατε γράψει curr->prev = head->prev; Αν τύχει το head->prev να είναι NULL, πάλι σωστή θα είναι η ανάθεση. main : Ο λόγος που πετάει segfault είναι γιατί καλείτε δύο φορές την clearlist ξεχνώντας ότι οι κόµβοι που αποτελούν τη λίστα που ξεκινά στο newhead είναι οι κόµβοι που υπήρχαν στη λίστα που ξεκινά στο head συν τα αντίγραφα. Εποµένως η δεύτερη κλήση στην clearlist προσπαθεί να σβήσει στοιχεία που έχουν ήδη σβηστεί από την πρώτη κλήση. Κατά τα άλλα είναι οκ η main 1703 PASS Σωστή. Ο έλεγχος στη γραµµή 72 είναι περιττός. Αν βγάλετε τα κοινά κοµµάτια, αυτό που τελικά κάνετε είναι: if (head->prev == NULL) { curr->prev = NULL; } else { curr->prev = head->prev; } Το ίδιο ακριβώς θα συνέβαινε αν απλά είχατε γράψει curr->prev = head->prev; Αν τύχει το head->prev να είναι NULL, πάλι σωστή θα είναι η ανάθεση. Page 12

13 1705 FAIL 1711 PASS 1714 PASS main: Όλος ο κώδικας ανάµεσα στην κλήση στη recduplicate και στην printlist δεν έπρεπε να υπάρχει. Όλη η δουλειά πρέπει να γίνεται µέσα στη recduplicate Συνάρτηση που χρησιµοποιεί static και µετρητή i παύει να είναι αναδροµική στην ουσία. Δεν ακολουθήσατε καθόλου τις υποδείξεις που έγιναν στην αρχή του εργαστηρίου. Το ίδιο ισχύει και για την άσκηση 2. σωστή main: Η συνάρτηση recduplicate επιστρέφει την κεφαλή της λίστας που κατασκευάζει. Αυτή λοιπόν πρέπει να χρησιµοποιείς και στην printlist και clearlist που ακολουθεί. Σε αυτό το λάθος οφείλεται το ότι χάνεται ένας κόµβος κατά την εκτύπωση. Παράγει το σωστό αποτέλεσµα αλλά η δηµιουργία της λίστας δε γίνεται πολύ καθαρά Σύµφωνα µε τον ορισµό της συνάρτησης, πρέπει να επιστρέφει την κεφαλή της νέας λίστας που κατασκευάζει κι αυτό δε φαίνεται από τον τρόπο που κάνεις την αναδροµική κλήση. Δεν είναι λάθος ο τρόπος σου, αλλά καλό είναι να προσπαθήσεις να κάνεις και την άσκηση της Παρασκευής για να καταλάβεις ακριβώς την ιδέα. Η λύση δεν είναι ουσιαστικά αναδροµική. Όχι µόνο χρησιµοποιείς static µεταβλητή αλλά και τ συνάρτηση strlen. Τι νόηµα έχει να λύσουµε αναδροµικά το πρόβληµα τότε? Page 13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 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) Οδηγίες

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 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, Στάδιο

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

Στοίβες με Δυναμική Δέσμευση Μνήμης

Στοίβες με Δυναμική Δέσμευση Μνήμης ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές

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

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

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

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

υναµικές οµές εδοµένων

υναµικές οµές εδοµένων υναµικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: υναµικές οµές εδοµένων Γενικά υναµική έσµευση Μνήµης οµή τύπου structure αυτοαναφορικές δοµές Η δήλωση typedef στη C Αναπαράσταση

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

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

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

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

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

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

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

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

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

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

Φροντιστήριο 4 Σκελετοί Λύσεων

Φροντιστήριο 4 Σκελετοί Λύσεων Φροντιστήριο 4 Σκελετοί Λύσεων 1. Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως εξής: (i) Διαδοχική χορήγηση μνήμης Υποθέτουμε ότι οι λίστες μας έχουν μέγιστο μέγεθος max και χρησιμοποιούμε τη δομή type elements[max];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραµµατισµός Ι (ΗΥ120) Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεµένες Δοµές - Λίστες Δοµές δεδοµένων! Ένα τυπικό πρόγραµµα επεξεργάζεται δεδοµένα Πώς θα τα διατάξουµε? 2 Τι λειτουργίες θέλουµε να εκτελέσουµε? Πώς θα υλοποιήσουµε

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 7: Διαχείριση Μνήμης,Δυναμικές Δομές Δεδομένων, Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Δυναμικές Δομές Δεδομένων Γενικά - Δυναμική Δέσμευση/Αποδέσμευση

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

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

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

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

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

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

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

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 3 ο Συνδεδεµένες Λίστες Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση ΟΑΤ λίστα Ακολουθιακή λίστα Συνδεδεµένη λίστα

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

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

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

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

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα) Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 14-1 Περιεχόμενο

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν

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

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

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

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

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

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

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

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

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

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

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

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

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

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

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

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Ποιος πρέπει να ολοκληρώσει αυτή την εργασία? Φοιτητές έτους >= 2 που

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

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

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

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 13-1 Περιεχόμενο

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

Επεξεργασία Αρχείων Κειµένου

Επεξεργασία Αρχείων Κειµένου Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά

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

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

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

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Ασκήσεις Επανάληψης Ενδιάµεσης

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

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

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

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

ιαφάνειες παρουσίασης #5 (β)

ιαφάνειες παρουσίασης #5 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 10: Στοίβες:Υλοποίηση& Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης - Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις - Εφαρμογή

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

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

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

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Υπάρχουν διάφοροι τρόποι για να υλοποιήσουμε πράξεις ουράς για την προτεινόμενη εγγραφή. To πρόβλημα που δημιουργείται με οποιαδήποτε από αυτές είναι ότι είναι

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

Δομές δεδομένων (2) Αλγόριθμοι

Δομές δεδομένων (2) Αλγόριθμοι Δομές δεδομένων (2) Αλγόριθμοι Παράγωγοι τύποι (struct) σύνοψη προηγουμένων Πίνακες: πολλές μεταβλητές ίδιου τύπου Παράγωγοι τύποι ή Δομές (struct): ομαδοποίηση μεταβλητών διαφορετικού τύπου struct Student

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

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

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

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

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή

υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή υναµική έσµευση Μνήµης (συν.) Στην ενότητα αυτή θα µελετηθούν: Μια εφαρµογή συνδεδεµένων λιστών ιπλά συνδεδεµένες Λίστες ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Εφαρµογή Ζητούµενο: Πρόγραµµα που παίρνει σαν

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

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

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

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

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

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

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

Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις

Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι µια βιβλιοθήκη σας παρέχει πρόσβαση σε στοίβες ακεραίων. Η βιβλιοθήκη σας επιτρέπει να ορίσετε µια στοίβα και να καλέσετε τις 5 βασικές

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Συνδεδεμένες Λίστες

Η γλώσσα προγραμματισμού C Συνδεδεμένες Λίστες Η γλώσσα προγραμματισμού C Συνδεδεμένες Λίστες Τι είναι οι συνδεδεμένες λίστες (linked lists) Μια Συνδεδεμένη Λίστα (Σ.Λ.) είναι μια διάταξη από κόμβους που μπορούμε να τους διαχειριστούμε δυναμικά. Κάθε

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

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

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

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Φροντιστήριο 4 Σκελετοί Λύσεων

Φροντιστήριο 4 Σκελετοί Λύσεων Φροντιστήριο 4 Σκελετοί Λύσεων Άσκηση 1 Υποθέτουμε πως οι λίστες είναι υλοποιημένες χρησιμοποιώντας τις πιο κάτω δομές. typedef struct Node{ type data; struct node *next; node; node *top; list; Υλοποιούμε

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

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

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ. 1. Πρόσβαση Οδηγίες προγράµµατος διαχείρισης ανάλυσης χρόνου εργασίας (Time Sheet) Για να ξεκινήσετε την εφαρµογή, από την κεντρική σελίδα του ΕΛΚΕ (www.elke.aua.gr) και το µενού «ιαχείριση», Time Sheet

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2015 2016 Ι. Ιωαννίδης Άσκηση 3: Αποθήκευση κατά στήλες Προθεσμία: 25 Ιανουαρίου 2016, 11:59μμ Ο σκοπός της εργασίας

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

Νήµατα. Πολύ σηµαντικό

Νήµατα. Πολύ σηµαντικό Νήµατα Πολύ σηµαντικό 1 Νήµατα (συν.) Σηµαντικό 2 Νήµατα vs ιεργασίες Νήµατα ιεργασίες Χώρος εδοµένων Περιγραφητές Αρχείων fork exit exec Σήµατα Κοινός. Ότι αλλάζει το 1 νήµα το βλέπουν/ αλλάζουν και τα

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

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

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

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

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init() Πληροφορική & Τηλεπικοινωνίες K18 Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2008 Αν. Καθηγητής Δημήτρης Γουνόπουλος Καθηγητής Γιάννης Ιωαννίδης 'Ασκηση 1: Στατικός Κατακερματισμός (Ημερομηνία

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