ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος

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

Download "ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος"

Transcript

1 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών 12 Οκτωβρίου 2009 ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 1 ο Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 2 Νοεμβρίου 2009, ώρα 23:59. Τρόπος Παράδοσης: Χρησιμοποιώντας το πρόγραμμα submit. Πληροφορίες για το πώς λειτουργεί το submit παρέχονται στην ιστοσελίδα του μαθήματος. Γενική Περιγραφή Σε ένα σύστημα δημοσιοποίησης/συνδρομής (publish subscribe system), οι εκδότες (publishers) είναι παροχείς πληροφοριών ενώ οι συνδρομητές είναι οι καταναλωτές των πληροφοριών αυτών. Οι πληροφορίες που δημοσιεύονται από τους εκδότες κατευθύνονται προς έναν κεντρικό εξυπηρέτη (brkerserver) ο οποίος λειτουργεί σαν ενδιάμεσος κόμβος μεταξύ των εκδοτών και των συνδρομητών. Οι πληροφορίες αυτές κατηγοριοποιούνται σε ομάδες (grups) βάσει του περιεχομένου τους ή κάποιων λέξεων κλειδιών που παρέχονται από τους εκδότες. Κάθε συνδρομητής διατηρεί ένα σύνολο από συνδρομές σε κάποιες από τις ομάδες πληροφοριών που έχουν αποθηκευθεί στον εξυπηρέτη. Κάθε συνδρομητής δηλώνει έτσι το ενδιαφέρον του να λαμβάνει τις πληροφορίες που συσχετίζονται με την εκάστοτε ομάδα. Ο εξυπηρέτης είναι ενήμερος για τις συνδρομές του εκάστοτε συνδρομητή. Το σύστημα που περιγράφεται παραπάνω απεικονίζεται γραφικά στο Σχήμα 1. Εκδότης 1 Εκδότης 2 Εκδότης k Εξυπηρέτης (brker - server) Συνδρομητής 1 Συνδρομητής 2 Συνδρομητής m Σχήμα 1 Σε ένα σύστημα δημοσιοποίησης/συνδρομής, μπορεί ο εξυπηρέτης να αποθηκεύει τις πληροφορίες που λαμβάνει από τους εκδότες, ή να τις προωθεί απευθείας στους κατάλληλους συνδρομητές. Προκειμένου να είναι εφικτό ένας νέος συνδρομητής να έχει πρόσβαση σε πληροφορίες του παρελθόντος (το οποίο συχνά επιτρέπει και τη βελτίωση της απόδοσης τέτοιων συστημάτων, π.χ., με την υποστήριξη ενημερώσεων ήδη υπαρχόντων δεδομένων αντί της επαναδημοσιοποίησης των νέων εκδόσεων τους), σε κάποια συστήματα δημοσιοποίησης/συνδρομής, τα οποία ονομάζονται αναλλοίωτης κατάστασης 1

2 (persistent state public/subscribe systems), οι πληροφορίες που λαμβάνονται ή μέρος αυτών σε περίπτωση που ο όγκος τους είναι μεγάλος, αποθηκεύονται στον εξυπηρέτη. Αναλυτική Περιγραφή Ζητούμενης Υλοποίησης Στην εργασία αυτή ζητείται να υλοποιηθεί ένα πρόγραμμα που να περιγράφει (προσομοιώνει) τη λειτουργία ενός συστήματος δημοσιοποίησης/συνδρομής αναλλοίωτης κατάστασης (persistent state publish/subscribe system). Πιο συγκεκριμένα, το πρόγραμμα θα πρέπει να υλοποιεί τις ακόλουθες δομές δεδομένων. Δομές Δεδομένων που αφορούν δημοσιευμένες πληροφορίες Όπως προαναφέρθηκε, οι πληροφορίες κατηγοριοποιούνται σε ομάδες (grups). Οι ομάδες που υπάρχουν στο σύστημα αποθηκεύονται σε έναν πίνακα, όπως φαίνεται στο Σχήμα 2, όπου MG (Max_Grups) είναι το μέγιστο πλήθος ομάδων που μπορούν να υπάρχουν στο σύστημα. Ο πίνακας αυτός ονομάζεται πίνακας ομάδων. G[0] G[1] G[2] G[MG-1] Σχήμα 2 Κάθε ομάδα αποθηκεύεται ως μια εγγραφή (struct) που αποτελείται από τα πεδία που παρουσιάζονται στη συνέχεια. Έναν ακέραιο gιd που εκφράζει το αναγνωριστικό της ομάδας. Τα αναγνωριστικά διαφορετικών ομάδων πρέπει να είναι διαφορετικά. Δυο δείκτες, gfirst και glast, οι οποίοι δείχνουν στο πρώτο και στο τελευταίο στοιχείο, αντίστοιχα, μιας διπλά συνδεδεμένης, ταξινομημένης, λίστας, η οποία ονομάζεται λίστα πληροφοριών. Η λίστα αυτή περιέχει τις πληροφορίες που συσχετίζονται με αυτή την ομάδα. Έναν δείκτη (gsub) στο πρώτο στοιχείο μιας απλά συνδεδεμένης λίστας που αποθηκεύει πληροφορίες για τις συνδρομές σε αυτή την ομάδα και ονομάζεται λίστα συνδρομών. Η μορφή κάθε στοιχείου του πίνακα ομάδων φαίνεται στο Σχήμα 3. gid gfirst glast gsub Σχήμα 3 Η λίστα πληροφοριών κάθε ομάδας περιέχει εγγραφές που περιγράφουν τις πληροφορίες που συσχετίζονται με την ομάδα. Κάθε τέτοια πληροφορία αποθηκεύεται ως μια εγγραφή (struct Inf) που αποτελείται από τα παρακάτω πεδία. Έναν ακέραιο που αποτελεί το αναγνωριστικό της πληροφορίας. Έναν ακέραιο itm που αποθηκεύει την «χρονική στιγμή» στην οποία η πληροφορία αυτή καταφθάνει στο σύστημα (δηλαδή τη χρονοσφραγίδα άφιξης της πληροφορίας). H χρονοσφραγίδα άφιξης παρέχεται από το χρήστη όπως περιγράφεται αργότερα. Η λίστα πληροφοριών της εκάστοτε ομάδας είναι ταξινομημένη βάσει του πεδίου itm των εγγραφών της. Έναν πίνακα των MG (Maximum_Grups) θέσεων που περιγράφει τα grups πληροφοριών στα οποία ανήκει η πληροφορία. Eάν ισχύει igp[i] == 1, 0 i MG-1, τότε η πληροφορία έχει συσχετισθεί (ή ανήκει) στην ομάδα πληροφοριών i. Αντίθετα, αν igp[i] == 0, η πληροφορία δεν συσχετίζεται με την ομάδα i. 2

3 Δύο δείκτες και που δείχνουν στο επόμενο και στο προηγούμενο στοιχείο της λίστας πληροφοριών στην οποία ανήκει η εγγραφή. Η εγγραφή τύπου Inf παρουσιάζεται στο Σχήμα 4. itm igp[0]... igp[mg-1] struct Inf Σχήμα 4 Για κάθε συνδρομή που πραγματοποιείται σε μια ομάδα αποθηκεύεται μια εγγραφή (struct Subscriptin) στη λίστα συνδρομών της ομάδας αυτής. Η εγγραφή αυτή αποτελείται από τα εξής πεδία: έναν ακέραιο που αποτελεί το αναγνωριστικό του συνδρομητή που έκανε τη συνδρομή και έναν δείκτη στο επόμενο στοιχείο της λίστας συνδρομών της ομάδας αυτής. Η μορφή των δομών δεδομένων που περιγράφηκαν παραπάνω παρουσιάζεται στο Σχήμα 8. Δομές Δεδομένων που αφορούν συνδρομητές Κάθε συνδρομητής μπορεί να εγγραφεί σε μια ή περισσότερες ομάδες πληροφοριών ώστε να λαμβάνει τις πληροφορίες που δημοσιεύονται στις ομάδες αυτές. Για κάθε συνδρομητή υπάρχει μια εγγραφή (struct) SubInf που αποθηκεύει πληροφορίες για το συνδρομητή αυτό. Οι εγγραφές αυτές αποθηκεύονται σε μια απλά συνδεδεμένη λίστα, όπως φαίνεται στο Σχήμα 5. Η λίστα αυτή ονομάζεται λίστα συνδρομητών. Παρατηρήστε ότι η λίστα συνδρομητών αποτελεί επιπρόσθετη δομή δεδομένων εκείνων που φαίνονται στο Σχήμα 8. SubInf 1 SubInf 2 SubInf 3 SubInf k Κάθε εγγραφή SubInf περιέχει τα εξής πεδία. S Σχήμα 5 έναν ακέραιο που αποτελεί το αναγνωριστικό του συνδρομητή. Έναν ακέραιο stm που αποθηκεύει την «χρονική στιγμή» στην οποία ο συνδρομητής καταφθάνει στο σύστημα (δηλαδή τη χρονοσφραγίδα άφιξης του συνδρομητή). Η πληροφορία αυτή παρέχεται από το χρήστη όπως περιγράφεται αργότερα. Η λίστα συνδρομητών είναι ταξινομημένη* βάσει του πεδίου stm των εγγραφών της. (*Επιτρέπεται να υλοποιήσετε τη λίστα συνδρομητών και ως μη ταξινομημένη απλά συνδεδεμένη λίστα) Έναν πίνακα sgp[mg] ο οποίος περιέχει MG δείκτες, έναν για κάθε ομάδα. Έστω οποιαδήποτε ομάδα k, 0 k MG-1. Αν ο δείκτης sgp[k] μιας εγγραφής της λίστας συνδρομητών έχει την τιμή 1 (μία τιμή που δεν μπορεί να είναι έγκυρη τιμή ενός δείκτη του προγράμματός μας), ο συνδρομητής δεν είναι εγγεγραμμένος στην ομάδα με αναγνωριστικό k. Διαφορετικά, ο δείκτης sgp[k] δείχνει σε ένα από τα στοιχεία της λίστας πληροφοριών της ομάδας G[k]. Περιοδικά, κάθε συνδρομητής μπορεί να καταναλώνει κάποιες από τις πληροφορίες που περιέχονται στις ομάδες στις οποίες είναι 3

4 συνδρομητής. Συγκεκριμένα, για κάθε ομάδα G[k] καταναλώνει όλες τις πληροφορίες που δημοσιεύθηκαν μετά από την τελευταία εκτέλεση από το συνδρομητή της λειτουργίας κατανάλωσης για την ομάδα αυτή. Αυτό γίνεται με την ανάγνωση των στοιχείων της λίστας πληροφοριών της ομάδας G[k] ξεκινώντας από την εγγραφή sgp[k] (δηλαδή από την τελευταία εγγραφή που ο συνδρομητής έχει καταναλώσει σε αυτή την ομάδα) μέχρι την πιο πρόσφατη εγγραφή που τοποθετήθηκε στη λίστα πληροφοριών της ομάδας G[k] (δηλαδή την πρώτη εγγραφή της λίστας πληροφοριών της ομάδας). Στο τέλος της διαδικασίας κατανάλωσης, ο δείκτης sgp[k] ενημερώνεται ώστε να δείχνει στο πιο πρόσφατο στοιχείο που περιέχεται στη λίστα πληροφοριών της ομάδας G[k]. Είναι σημαντικό πως ο δείκτης sgp[k] θα έχει την τιμή NULL εάν στην ομάδα G[k] δεν έχει δημοσιευθεί καμία πληροφορία. Έναν δείκτη next στο επόμενο στοιχείο της λίστας συνδρομητών. Αναλυτικά, η μορφή της λίστας συνδρομητών παρουσιάζεται στο Σχήμα 6. SubInf 1 stm SubInf 2 stm SubInf 3 stm SubInf m stm sgp[0] sgp[1] sgp[mg-1] next sgp[0] sgp[1] sgp[mg-1] next sgp[0] sgp[1] sgp[mg-1] next sgp[0] sgp[1] sgp[mg-1] next S Σχήμα 6 Το πρόγραμμα που θα δημιουργηθεί, θα πρέπει να ορίζει με στατικό τρόπο (με τη χρήση του #define) το μέγιστο πλήθος ομάδων (MG) στο σύστημα και θα πρέπει να εκτελείται καλώντας την ακόλουθη εντολή: run <input-file> όπου run είναι το όνομα του εκτελέσιμου αρχείου του προγράμματος και <input-file> είναι το όνομα ενός αρχείου εισόδου που περιέχει γεγονότα των ακόλουθων μορφών: Ι <itm> <> <gid 1 > <gid 2 > <gid k > -1: Γεγονός τύπου Insert_Inf το οποίο σηματοδοτεί την άφιξη νέας πληροφορίας με αναγνωριστικό <> στο σύστημα την χρονική στιγμή <iτμ> (η <iτμ> αποτελεί τη χρονοσφραγίδα άφιξης της πληροφορίας <>). Η πληροφορία θα πρέπει να συσχετισθεί με τις ομάδες <gid 1 > <gid 2 > <gid k >, όπου 1 k MG. Παρατηρήστε ότι η ακολουθία αναγνωριστικών ομάδων με τις οποίες συσχετίζεται η πληροφορία αυτή τερματίζει με το αναγνωριστικό -1 που δεν είναι έγκυρο αναγνωριστικό ομάδας στο σύστημα. Οι λίστες πληροφοριών των ομάδων με τις οποίες συσχετίζεται η πληροφορία <> πρέπει να ενημερωθούν (δηλαδή θα πρέπει να προστεθεί σε κάθε μια από αυτές μια εγγραφή που να περιγράφει την πληροφορία <>). H εγγραφή αυτή θα πρέπει να εισαχθεί στην κατάλληλη θέση σε κάθε μια από αυτές τις λίστες ώστε αυτή να παραμείνει ταξινομημένη ως προς τη χρονοσφραγίδα άφιξης των πληροφοριών που αποθηκεύονται σε αυτές. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος, το πρόγραμμα θα πρέπει να τυπώνει την ακόλουθη πληροφορία: Ι <iτμ> <iιd> DONE GROUPID = <gid 1 >, INFOLIST = < 1 1, 2 1,, r1 1 > GROUPID = <gid 2 >, INFOLIST = < 1 2, 2 2,, r2 2 > 4

5 GROUPID = <gid k >, INFOLIST = < 1 k, 2 k,, rk k > όπου <> είναι τ αναγνωριστικό της νέας πληροφορίας, <iτμ> είναι η χρονοσφραγίδα άφιξης της, ενώ <iιd 1 i, iιd 2 i,, iιd ri i >, όπου 1 i k, είναι τα αναγνωριστικά των εγγραφών πληροφοριών που είναι αποθηκευμένα στη λίστα πληροφοριών της ομάδας με αναγνωριστικό <gid i > (όπου έχουμε υποθέσει πως αυτές είναι r i στο πλήθος). S <sτμ> <> <gid1> <gid2> <gidm> -1: Γεγονός τύπου Subscriber_Registratin το οποίο σηματοδοτεί την εγγραφή ενός νέου συνδρομητή με αναγνωριστικό <> στο σύστημα την χρονική στιγμή <sτμ> (η <stm> αποτελεί τη χρονοσφραγίδα άφιξης του συνδρομητή <>). Ο συνδρομητής ενδιαφέρεται για τις πληροφορίες που υπάρχουν στις ομάδες με αναγνωριστικά <gid1> <gid2> <gidm>,όπου m MG. Παρατηρήστε ότι και πάλι η ακολουθία αναγνωριστικών ομάδων για τις οποίες ενδιαφέρεται ο νέος συνδρομητής τερματίζει με το αναγνωριστικό -1 που δεν είναι έγκυρο αναγνωριστικό στο σύστημα. Ο νέος συνδρομητής πρέπει να προστεθεί στη λίστα συνδρομητών μαζί με τις πληροφορίες που τον αφορούν. Επίσης πρέπει να προστεθεί μια εγγραφή στη λίστα συνδρομών κάθε ομάδας για την οποία ενδιαφέρεται ο νέος συνδρομητής. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραμμα θα πρέπει να τυπώνει την ακόλουθη πληροφορία: S <stm> <> <gid1> <gid2> <gidm> DONE SUBSCRIBERLIST = < 1, 2,, m> GROUPID = <gid1>, SUBLIST = < 1 1, 2 1,, n1 1 > GROUPID = <gid2>, SUBLIST = < 1 2, 2 2,, n2 2 > GROUPID = <gidm>, SUBLIST = < 1 m, 2 m,, nm m > όπου <> είναι τ αναγνωριστικό τυ νέου συνδρομητή, <stm> είναι η χρονοσφραγίδα άφιξης του συνδρομητή στο σύστημα, <gidi>, 1 i m, είναι οι ομάδες για τις οποίες ενδιαφέρεται ο συνδρομητής αυτός και < 1 i, 2 i,, ni i > είναι τα αναγνωριστικά συνδρομητών που είναι αποθηκευμένα στη λίστα συνδρομών της ομάδας <gιdi> (όπου έχουμε υποθέσει πως αυτές είναι n i στο πλήθος). C <>: Γεγονός τύπου Cnsume το οποίο σηματοδοτεί την εκκίνηση της ενέργειας κατανάλωσης των πιο πρόσφατων πληροφοριών κάθε ομάδας για την οποία ενδιαφέρεται ο συνδρομητής με αναγνωριστικό <>. Για κάθε ομάδα G[k] για την οποία ενδιαφέρεται ο συνδρομητής <>, θα πρέπει να διαβασθούν οι πιο πρόσφατες δημοσιευμένες πληροφορίες (μετά την τελευταία εκτέλεση της λειτουργίας κατανάλωσης του <> για το G[k]) μέσω του δείκτη sgp[k] που διατηρεί ο <>. Θα πρέπει να εκτυπώνονται τα αναγνωριστικά των πληροφοριών που καταναλώνονται και στο τέλος θα πρέπει να ενημερωθεί ο δείκτης sgp[k] ώστε να δείχνει στην πιο πρόσφατη πληροφορία της ομάδας G[k]. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραμμα θα πρέπει να τυπώνει την ακόλουθη πληροφορία: C <> DONE GROUPID = <gid1>, INFOLIST = < 1 1, 2 1,, r1 1 >, NEWSGP = <1> GROUPID = <gid2>, INFOLIST = < 1 2, 2 2,, r2 2 >, NEWSGP = <2> 5

6 GROUPID = <gidk>, INFOLIST = < 1 k, 2 k,, rk k >, NEWSGP = <k> όπου <> είναι τ αναγνωριστικό τυ νέου συνδρομητή, <gidi>, όπου 1 i k, είναι τα αναγνωριστικά των ομάδων στις οποίες έχει εγγραφεί ο συνδρομητής και <iιd 1 i, iιd 2 i,, iιd ri i > είναι τα αναγνωριστικά των εγγραφών πληροφοριών που καταναλώθηκαν από τη λίστα πληροφοριών της ομάδας G[<gIdi>]. Τέλος, i είναι το αναγνωριστικό της τελευταίας πληροφορίας που καταναλώθηκε από τη λίστα πληροφοριών της ομάδας με αναγνωριστικό <gidi> (στην οποία θα πρέπει να δείχνει ο δείκτης sgp[<gidi>]) όταν η λειτουργία κατανάλωσης εκτελεστεί). D <>: Γεγονός τύπου Delete_Subscriber. Το γεγονός αυτό σηματοδοτεί την αποχώρηση του συνδρομητή με αναγνωριστικό <> από το σύστημα. Η εγγραφή που αναφέρεται στον συνδρομητή με αναγνωριστικό <> θα πρέπει να διαγραφεί από τη λίστα συνδρομητών. Επίσης, θα πρέπει να διαγραφεί η εγγραφή που αναφέρεται στη συνδρομή του εν λόγω συνδρομητή από κάθε ομάδα στην οποία έχει εγγραφεί ο συνδρομητής. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραμμα θα πρέπει να τυπώνει την ακόλουθη πληροφορία: D <> DONE SUBSCRIBERLIST = < 1, 2,, m> GROUPID = <gid1>, SUBLIST = < 1 1, 2 1,, n 1 1 > GROUPID = <gid2>, SUBLIST = < 1 2, 2 2,, n2 2 > GROUPID = <gidk>, SUBLIST = < 1 k, 2 k,, nk k > όπου <> είναι τ αναγνωριστικό τυ νέου συνδρομητή, <gidi>, 1 <= i <= m, είναι οι ομάδες για τις οποίες ενδιαφέρεται ο συνδρομητής αυτός και i 1, i i 2,, ni είναι το αναγνωριστικό των στοιχείων της λίστας συνδρομών της ομάδας <gιdi> (όπου έχουμε υποθέσει ότι έχει n i στοιχεία). P: Γεγονός τύπου Print που σηματοδοτεί την εκτύπωση των δομών δεδομένων του συστήματος. Συγκεκριμένα, για κάθε μία από τις ομάδες, θα πρέπει να εκτυπώνεται η λίστα των πληροφοριών της και των συνδρομών της. Επίσης, θα πρέπει να εκτυπώνεται η λίστα με τους συνδρομητές και για κάθε έναν από αυτούς να εκτυπώνονται οι συνδρομές του, δηλαδή εκείνα τα στοιχεία του πίνακα sgp που περιγράφουν τις ομάδες για τις οποίες ενδιαφέρεται ο συνδρομητής. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραμμα θα πρέπει να τυπώνει την ακόλουθη πληροφορία: P DONE GROUPID = <gid1>, INFOLIST = < 1 1, 2 1,, r1 1 >, SUBLIST = < 1 1, 2 1,, n1 1 > GROUPID = <gid2>, INFOLIST = < 1 2, 2 2,, r2 2 >, SUBLIST = < 1 2, 2 2,, n2 2 > GROUPID = <gidmg>, INFOLIST= < 1 MG, 2 MG,, rk MG >, SUBLIST= < 1 MG, 2 MG,, nk MG > SUBSCRIBERLIST = <1, 2,, m> SUBSCRIBERID = <1>, GROUPLIST = <gid 1 1,, gid v1 1 > SUBSCRIBERID = <2>, GROUPLIST = <gid 1 2,, gid v2 2 > SUBSCRIBERID = <m>, GROUPLIST = <gid 1 m,, gid vm m > 6

7 NO_GROUPS = <number f grups>, NO_SUBSCRIBERS = <number f subscribers> όπου <gidi>, 1 i MG, είναι το αναγνωριστικό της ομάδας G[<gIdi>], < 1 i, 2 i,, ri i > είναι η λίστα πληροφοριών της και < 1 i, 2 i,, ni i > είναι η λίστα συνδρομών της. Επιπρόσθετα, <j> είναι το αναγνωριστικό του j-οστού στοιχείου της λίστας συνδρομητών και <gid 1 j,, gid vj j > είναι τα αναγνωριστικά των ομάδων για τις οποίες ενδιαφέρεται ο συνδρομητής με αναγνωριστικό <j>. Τέλος, <number f grups> είναι το συνολικό πλήθος των έγκυρων ομάδων και <number f subscribers> είναι το συνολικό πλήθος των συνδρομητών στο σύστημα. Το πρόγραμμα που θα δημιουργηθεί πρέπει να διαβάζει το αρχείο εισόδου και να εκτελεί με τη σειρά όλα τα γεγονότα που περιγράφονται σε αυτό. Οδηγίες και Συμβουλές για την Ομαλή Διεκπεραίωση της Εργασίας Η εργασία θα πρέπει να πραγματοποιηθεί σε βήματα. Ο κάθε φοιτητής είναι υπεύθυνος να αποφασίσει ποια βήματα ταιριάζουν στον τρόπο εργασίας του. Στη συνέχεια, παρατίθεται μια δυνητική ακολουθία βημάτων που θα μπορούσε να ακολουθηθεί για την ομαλή διεκπεραίωση της εργασίας. Βήμα 1: Ξεκινήστε υλοποιώντας ένα μέρος του γεγονότος S (Subscriber_Registratin). Για την υλοποίηση του γεγονότος αυτού πρέπει αρχικά να υλοποιήσετε τη λίστα συνδρομητών. Η λίστα αυτή είναι μια απλά συνδεδεμένη λίστα, που όμως πρέπει να διατηρεί τις εγγραφές ταξινομημένες* ως προς το πεδίο stm. Κάποιες από τις λειτουργίες που υποστηρίζει μια ταξινομημένη λίστα, θα διδαχθούν σύντομα στο μάθημα. Φτιάξτε διαδικασίες SL_Insert, SL_Delete και SL_LkUp για ταξινομημένη συνδεδεμένη λίστα, προκειμένου να πραγματοποιείτε εισαγωγές, διαγραφές και αναζητήσεις, αντίστοιχα, στη λίστα αυτή. Δημιουργήστε μια διαδικασία SL_Print() για την εκτύπωση των στοιχείων της λίστας η οποία θα σας βοηθήσει να ελέγξετε την ορθότητα των διαδικασιών που περιγράφονται παραπάνω. Μόνο όταν ο κώδικας του βήματος 1 εκτελείται σωστά θα πρέπει να προχωρήστε στο βήμα 2. * Επιτρέπεται να υλοποιήσετε τη λίστα συνδρομητών και ως μη ταξινομημένη απλά συνδεδεμένη λίστα. Βήμα 2: Υλοποιείστε ένα μέρος του γεγονός τύπου I (Insert_Inf). Για να γίνει αυτό θα πρέπει να δημιουργήσετε τον κώδικα για μια διπλά συνδεδεμένη ταξινομημένη λίστα που θα αποτελεί τη λίστα των πληροφοριών μιας ομάδας. Όπως και για την απλά-συνδεδεμένη ταξινομημένη λίστα, φτιάξτε διαδικασίες DL_Insert, DL_Delete και DL_LkUp για τη διπλά συνδεδεμένη λίστα, προκειμένου να πραγματοποιείτε εισαγωγές, διαγραφές και αναζητήσεις, αντίστοιχα, στη λίστα αυτή. Δημιουργήστε μια διαδικασία DL_Print() για την εκτύπωση των στοιχείων της λίστας η οποία θα σας βοηθήσει να ελέγξετε την ορθότητα των διαδικασιών που περιγράφονται παραπάνω. Δημιουργήστε τον κώδικα σας σε ένα νέο αρχείο και φτιάξτε μια δική σας main() για να ελέγξετε ότι ο κώδικας που υλοποιεί τις λειτουργίες μια διπλά-συνδεδεμένης ταξινομημένης λίστας λειτουργεί σωστά. Όταν είστε σίγουροι για αυτό συνεχίστε με το επόμενο βήμα. Ο κώδικας που έχετε δημιουργήσει στο βήμα 1 δεν χρησιμοποιείται καθόλου σε αυτό το βήμα (εδώ απλά υλοποιείτε μια διπλά-συνδεδεμένη ταξινομημένη λίστα της οποίας κάθε στοιχείο είναι τύπου struct inf). Βήμα 3: Ξεκινήστε δημιουργώντας ένα αντίγραφο του βασικού αρχείου (εκείνου που περιέχει τη συνάρτηση main() που σας παρείχαν οι βοηθοί, χωρίς τον κώδικα που φτιάξατε στα βήματα 1 και 2). Στο αρχείο αυτό θα δουλέψετε μόνο με γεγονότα τύπου I. Συγχωνεύστε τον κώδικα που φτιάξατε στο Βήμα 2 στο αρχείο αυτό και κάνετε κατάλληλες αλλαγές ώστε κάθε ομάδα να έχει τη δική της λίστα συνδρομών. Σε κάθε τέτοια λίστα θα πρέπει να μπορούν να εκτελούνται σωστά οι λειτουργίες DL_Insert, DL_Delete και DL_LkUp που δημιουργήσατε στο βήμα 2. Εφόσον είστε βέβαιοι πως οι διαφορετικές λίστες και οι λειτουργίες πάνω σε αυτές λειτουργούν σωστά, προχωρήστε στο επόμενο βήμα. Ο κώδικας που έχετε δημιουργήσει στο βήμα 1 δεν χρησιμοποιείται καθόλου σε αυτό το βήμα (εδώ απλά υλοποιείτε έναν πίνακα του οποίου κάθε στοιχείο περιέχει έναν δείκτη στο πρώτο στοιχείο μιας διπλά συνδεδεμένης ταξινομημένης λίστας με structs τύπου Inf). Βήμα 4: Το βήμα αυτό αποσκοπεί στην υλοποίηση της λίστας των συνδρομών μιας ομάδας. Σε ένα νέο αρχείο, στο οποίο δεν περιέχεται ο κώδικας των βημάτων 1 και 2, γράψτε κώδικα για τις λειτουργίες L_Insert, L_Delete και L_LkUp μιας απλά συνδεδεμένης (μη-ταξινομημένης) λίστας. Επίσης, δημιουργείστε μια διαδικασία L_Print για την εκτύπωση των στοιχείων της λίστας. Ο κώδικας που έχετε δημιουργήσει στα βήματα 1, 2 και 3 δεν χρησιμοποιείται καθόλου σε αυτό το βήμα (εδώ πρέπει να υλοποιήσετε μια απλά συνδεδεμένη λίστα). Χρησιμοποιήστε μια απλή main() (που θα φτιάξετε μόνοι σας) για να ελέγξετε την ορθότητα του κώδικα που φτιάξατε στο βήμα αυτό. Το βήμα αυτό είναι το πιο εύκολο και θα μπορούσατε να ξεκινήσετε με αυτό τη συγγραφή 7

8 του κώδικάς σας (αντί για το βήμα 1 που περιγράφεται παραπάνω). Σε αυτή την περίπτωση, μετά τη διεκπεραίωση αυτού του βήματος, συνεχίζετε με το τρέχον βήμα 1 και ότι ακολουθεί αμέσως μετά. Βήμα 5: Μεταφέρετε μέρος του κώδικα του βήματος 4 στο αρχείο που έχετε υλοποιήσει τον κώδικα του βήματος 3 και παράγεται την τελική μορφή του πίνακα G και του κώδικα που απαιτείται για την προσπέλαση και ενημέρωσή του (καθώς και των λιστών που αυτός δεικτοδοτεί). Στο σημείο αυτό μπορείτε να ολοκληρώσετε την υλοποίηση του γεγονότος I προσθέτοντας τη διαδικασία εκτύπωσης των απαραίτητων πληροφοριών που ζητούνται κατά την ολοκλήρωση του γεγονότος αυτού. Η διαδικασία αυτή θα προκύψει συνδυάζοντας τους κώδικες που έχετε δημιουργήσει για την εκτύπωση των στοιχείων των κατάλληλων λιστών. Βήμα 6: Στο βήμα αυτό θα πρέπει να ολοκληρώσετε την υλοποίηση του γεγονότος S. Συγχωνεύστε τον κώδικα που δημιουργήσατε στο Βήμα 1 και εκείνον του Βήματος 5 για να πάρετε μια πρώτη έκδοση της εργασίας. Στη συνέχεια, προσθέστε τον κώδικα που απαιτείται προκειμένου να εισάγονται οι κατάλληλες εγγραφές στις λίστες συνδρομών των ομάδων για τις οποίες ενδιαφέρεται ο κάθε νέος συνδρομητής. Ετοιμάστε την διαδικασία τύπωσης των στοιχείων που απαιτούνται από το γεγονός τύπου S. Βήμα 7: Υλοποιήστε το γεγονός τύπου P (Print). Συνδυάστε και τροποποιήστε κατάλληλα τις διαδικασίες SL_Print, DL_Print και L_Print (αρχεία βημάτων 1, 2 και 4) για να δημιουργήσετε τη διαδικασία Print η οποία θα υλοποιεί το γεγονός τύπου P. Βήμα 8: Υλοποιήστε το γεγονός τύπου C (Cnsume). Βήμα 9: Υλοποιήστε το γεγονός τύπου D (Delete_Subscriber). Συνδυάστε κατάλληλα τις διαδικασίες SL_Delete (αρχείο βήματος 1), L_LkUp και L_Delete για να δημιουργήσετε τη διαδικασία Delete που θα υλοποιεί το γεγονός D. Βήμα 10: Ελέγξετε την ορθότητα του κώδικα που δημιουργήσατε εκτελώντας τον κώδικά σας σε όλα τα αρχεία εκτέλεσης που θα σας παρέχουν οι βοηθοί του μαθήματος. Επιπρόσθετα, δημιουργήστε τα δικά σας αρχεία γεγονότων για να ελέγξετε με περισσότερη ακρίβεια την ορθότητα του κώδικά σας. Δομές Δεδομένων Στο Σχήμα 7 παρουσιάζονται οι δομές σε C που πρέπει να χρησιμοποιηθούν για την υλοποίηση της παρούσας εργασίας. Επειδή το πλήθος των ομάδων, δηλαδή το MG, είναι γνωστό εκ των προτέρων πριν την εκτέλεση του προγράμματος, δεσμεύσουμε με στατικό τρόπο τον απαραίτητο χώρο μνήμης για την αποθήκευση των πινάκων που χρησιμοποιούν το MG (G, igp, sgp). struct Inf { int ; int itm; int ; struct Inf *; struct Inf *; struct Subscriptin { int ; struct Subscriptin *; struct Grup { int gid; struct Subscriptin *ggsub; struct Inf *gfirst; struct Inf *glast; // Εγγραφή λίστας πληροφοριών // Αναγνωριστικό πληροφορίας // Χρονοσφραγίδα δημοσίευσης πληροφορίας // Πίνακας igp MG θέσεων // Προηγούμενη εγγραφή λίστας πληροφοριών // Επόμενη εγγραφή λίστας πληροφοριών // Εγγραφή λίστας συνδρομών // Αναγνωριστικό Συνδρομητή // Επόμενη εγγραφή λίστας συνδρομών // Εγγραφή πίνακα ομάδων // Αναγνωριστικό ομάδας // Πρώτο στοιχείο λίστας συνδρομών // Πρώτο στοιχείο λίστας πληροφοριών // Τελευταίο στοιχείο λίστας πληροφοριών struct SubInf { int ; int stm; struct Inf *sgp[mg]; // Εγγραφή λίστας συνδρομητών // Αναγνωριστικό συνδρομητή // Χρονοσφραγίδα δημιουργίας συνδρομητή // Πίνακας sgp MG θέσεων 8

9 struct SubInf *; // Επόμενο στοιχείο λίστας συνδρομητών // Οι παρακάτω δομές θα ήταν προτιμότερο αν δηλωθούν όχι ως glbal μεταβλητές // αλλά ως τοπικές μεταβλητές της main και συνίσταται στους φοιτητές που έχουν // πολύ καλές γνώσεις προγραμματισμού να ακολουθήσουν αυτή την τακτική // παρότι η δυσκολία υλοποίησης αυξάνει με αυτό τον τρόπο. struct Grup G[MG]; struct SubInf *S; // Πίνακας G MG θέσεων // Πρώτο στοιχείο λίστας συνδρομητών Bnus Σχήμα 7 Έχετε τη δυνατότητα να επιβραβευτείτε με κάποιο bnus στο βαθμό σας εάν υλοποιήσετε τις παραλλαγές της εργασίας που παρουσιάζονται στη συνέχεια. Τα bnus είναι ξεχωριστά για κάθε παραλλαγή. 1 η Παραλλαγή Το πρόγραμμα που θα δημιουργηθεί θα πρέπει να εκτελείται καλώντας την ακόλουθη εντολή: run <m> <input-file> όπου run είναι το όνομα του εκτελέσιμου αρχείου του προγράμματος, <m> είναι ένας ακέραιος που καθορίζει το μέγιστο πλήθος ομάδων (MG) στο σύστημα και <input-file> είναι το όνομα ενός αρχείου εισόδου που περιέχει τα γεγονότα I, S, C, D, P, όπως περιγράφηκαν παραπάνω. Επειδή το πλήθος των ομάδων δεν είναι γνωστό εκ των προτέρων πριν την εκτέλεση του προγράμματος, δεν μπορούμε πλέον να δεσμεύσουμε με στατικό τρόπο τον απαραίτητο χώρο μνήμης για την αποθήκευση των πινάκων που χρησιμοποιούν το MG (G, igp, sgp). Είναι απαραίτητο να δεσμεύεται χώρο μνήμης για τους πίνακες αυτούς κατά την εκτέλεση του προγράμματος, δηλαδή με δυναμικό τρόπο (κατάλληλη χρήση της συνάρτησης mallc). Η παραλλαγή αυτή επηρεάζει και τη μορφή των δομών δεδομένων που χρησιμοποιούνται στην εργασία. Η νέα μορφή των δομών αυτών παρουσιάζεται στη συνέχεια. Δομές Δεδομένων 1 ης Παραλλαγής struct Inf { int ; int itm; int *igp; struct Inf *; struct Inf *; struct Subscriptin { int ; struct Subscriptin *; struct Grup { int gid; struct Subscriptin *ggsub; struct Inf *gfirst; struct Inf *glast; // Εγγραφή λίστας πληροφοριών // Αναγνωριστικό πληροφορίας // Χρονοσφραγίδα δημοσίευσης πληροφορίας // Αυτό πρέπει να είναι ο πίνακας igp MG θέσεων // Προηγούμενη εγγραφή λίστας πληροφοριών // Επόμενη εγγραφή λίστας πληροφοριών // Εγγραφή λίστας συνδρομών // Αναγνωριστικό Συνδρομητή // Επόμενη εγγραφή λίστας συνδρομών // Εγγραφή πίνακα ομάδων // Αναγνωριστικό ομάδας // Πρώτο στοιχείο λίστας συνδρομών // Πρώτο στοιχείο λίστας πληροφοριών // Τελευταίο στοιχείο λίστας πληροφοριών struct SubInf { int ; // Εγγραφή λίστας συνδρομητών // Αναγνωριστικό συνδρομητή 9

10 int stm; struct Inf **sgp; struct SubInf *; // Χρονοσφραγίδα δημιουργίας συνδρομητή // Αυτό πρέπει να είναι ο πίνακας sgp MG θέσεων // Επόμενο στοιχείο λίστας συνδρομητών // Οι παρακάτω δομές θα ήταν προτιμότερο αν δηλωθούν όχι ως glbal μεταβλητές // αλλά ως τοπικές μεταβλητές της main και συνίσταται στους φοιτητές που έχουν // πολύ καλές γνώσεις προγραμματισμού να ακολουθήσουν αυτή την τακτική // παρότι η δυσκολία υλοποίησης αυξάνει με αυτό τον τρόπο. struct Grup *G; struct SubInf *S; // Αυτό πρέπει να είναι ο πίνακας G MG θέσεων // Πρώτο στοιχείο λίστας συνδρομητών 2 η Παραλλαγή Όπως αναφέρθηκε, ο πίνακας sgp[mg] που περιέχεται στη δομή δεδομένων (struct SubInf) κάθε συνδρομητή περιέχει MG δείκτες, έναν για κάθε ομάδα. Έστω οποιαδήποτε ομάδα k, 0 k MG-1. Αν ο δείκτης sgp[k] μιας εγγραφής της λίστας συνδρομητών έχει την τιμή 1 (μία τιμή που δεν μπορεί να είναι έγκυρη τιμή ενός δείκτη του προγράμματός μας), ο συνδρομητής δεν είναι εγγεγραμμένος στην ομάδα με αναγνωριστικό k. Διαφορετικά, ο δείκτης sgp[k] δείχνει σε ένα από τα στοιχεία της λίστας πληροφοριών της ομάδας G[k]. Ο δείκτης sgp[k] θα έχει την τιμή NULL εάν στην ομάδα G[k] δεν έχει δημοσιευθεί καμία πληροφορία. Στην 2 η παραλλαγή του προγράμματος, θα πρέπει να δηλώνετε πως ο συνδρομητής δεν είναι εγγεγραμμένος στην ομάδα με αναγνωριστικό k, θέτοντας στο δείκτης sgp[k] την τιμή NULL. Δηλαδή θα πρέπει να αποφευχθεί η χρήση της μη-έγκυρης τιμής 1 ως τιμή του sgp[k]. Πλέον, η τιμή NULL του δείκτη sgp[k] μπορεί να σημαίνει δύο πράγματα, είτε ότι ο αντίστοιχος συνδρομητής δεν ενδιαφέρεται για τις πληροφορίες που δημοσιεύονται στην ομάδα k, είτε πως ο συνδρομητής ενδιαφέρεται όμως η ομάδα k δεν περιέχει δημοσιευμένες πληροφορίες. Επιπρόσθετα, όπως έχει εξηγηθεί, το γεγονός C (Cnsume) καταναλώνει τις πληροφορίες όλων των ομάδων για τις οποίες ενδιαφέρεται κάποιος συνδρομητής. Όμως πλέον η υλοποίηση του γεγονότος C δε μπορεί να γνωρίζει τη σημασία της τιμής NULL του sgp[k]. Για να είναι σωστή η υλοποίηση του γεγονότος C θα πρέπει να υλοποιήσετε τον ακόλουθο μηχανισμό. Έστω οποιαδήποτε ομάδα k, 0 k MG-1, και <1 k, 2 k,, m k > η λίστα συνδρομών της ομάδας αυτής, όπου i k, 1 i m, οι συνδρομητές που ενδιαφέρονται για τις πληροφορίες της ομάδας k. Όταν εισάγεται η πρώτη πληροφορία στην αρχικά κενή (από πληροφορίες) ομάδα k θα πρέπει να γίνεται διάσχιση της λίστας συνδρομών της ομάδας αυτής και να ενημερώνονται οι δείκτες sgp i [k], 1 i m, της δομής δεδομένων κάθε συνδρομητή, ώστε να δείχνουν στην πρώτη πληροφορία της ομάδας k που μόλις εισήχθη. 10

11 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών 12 Οκτωβρίου 2009 G[0] G[1] G[2] G[MG-1] gid gfirst glast gsub gid gfirst glast gsub gid gfirst glast gsub gid gfirst glast gsub L Σχήμα 8 11

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο και 3 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο και 3 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 09- Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο και ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 18 Δεκεμβρίου 09, ώρα 08:00 (το πρωί) Τρόπος Παράδοσης:

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

Προγραµµατιστική Εργασία 1 ο Μέρος

Προγραµµατιστική Εργασία 1 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 4 Νοεµβρίου 2011 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 1 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 1 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 15 Οκτωβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία Παράδοσης:

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

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος HY240 : Δομές Δεδομένων Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος Εισαγωγή Στο 2 ο μέρος της εργασίας θα πρέπει να γίνουν τροποποιήσεις στο πρόγραμμα που προέκυψε κατά την υλοποίηση του

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών 12 Οκτωβρίου 2012 ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2011-12 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 1 ο Μέρος Ημερομηνία

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

Προγραµµατιστική Εργασία - 2 ο Μέρος

Προγραµµατιστική Εργασία - 2 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 1 εκεµβρίου 2011 ΗΥ240: οµές εδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος Ηµεροµηνία

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 15 Μαΐου 2017, ώρα 23:59. Τρόπος Παράδοσης:

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

Προγραµµατιστική Εργασία 2 ο Μέρος

Προγραµµατιστική Εργασία 2 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 20 Νοεµβρίου 2012 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 2 ο Μέρος Ηµεροµηνία

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

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Κυριακή, 3 Απριλίου 2016, ώρα 23:59. Τρόπος Παράδοσης:

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

ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2016-2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 14 Νοεµβρίου 2016, ώρα 23:59. Τρόπος

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 14 Μαΐου 2018, ώρα 23:59 Τρόπος Παράδοσης: Χρησιμοποιώντας

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

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 3 Απριλίου 2017, ώρα 23:59. Τρόπος Παράδοσης:

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος Ημερομηνία Παράδοσης: Κυριακή, 1 Απριλίου 2018, ώρα 23:59 Τρόπος Παράδοσης:

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών, 4 Μαρτίου 2019 ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 13 Μαϊου

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 1 Απριλίου 2019, ώρα 23:59 Τρόπος Παράδοσης:

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε

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

https://csd.uoc.gr/~hy240b/current/submit.php

https://csd.uoc.gr/~hy240b/current/submit.php Project HY240b - 1η Φάση Διδάσκουσα: Παναγιώτα Φατούρου Βοηθός: Νικόλαος Μπατσαράς Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Ηράκλειο, 09 Μαρτίου 2018 Εισαγωγή Διαδικαστικά Θεματολογία Δομές Χρηστών

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού

HY-486 Αρχές Κατανεμημένου Υπολογισμού HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Τρίτη 2/5 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε

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

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } } Πανεπιστήµιο Ιωαννίνων, Τµήµα Πληροφορικής 2 Νοεµβρίου 2005 Η/Υ 432: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκού Έτους 2005-2006 Παναγιώτα Φατούρου Ηµεροµηνία Παράδοσης 1 ο Σετ Ασκήσεων Θεωρητικό Μέρος:

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2014-15 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 19 Δεκεμβρίου 2014, ώρα 23:59. Τρόπος

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2017-2018 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Δευτέρα 30/4 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε

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

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-

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

ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2017-2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 20 Νοεµβρίου 2017, ώρα 23:59. Τρόπος

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

Προγραµµατιστική Εργασία 1 ο Μέρος

Προγραµµατιστική Εργασία 1 ο Μέρος ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2013-14 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία Παράδοσης: Παρασκευή, 29 Νοεµβρίου 2013, ώρα 23:59. Τρόπος Παράδοσης:

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

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2017-2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 22 Δεκεμβρίου 2017, ώρα 23:59. Τρόπος

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΕΞΑΜΗΝΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΕΞΑΜΗΝΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΕΞΑΜΗΝΟ : A' ΦΥΛΛΟ ΑΣΚΗΣΕΩΝ : 13 Στοίβα & Ουρά ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη Παρατηρήσεις: 1. Τα δεδοµένα εισόδου

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

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

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

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

HY240. Φξνληηζηήξην Project

HY240. Φξνληηζηήξην Project HY240 Φξνληηζηήξην Project HY240 Ελόηεηα 1 ε : Πεξηγξαθή Project Σσημαηική Αναπαπάζηαζη Οη πιεξνθνξίεο απηέο θαηεγνξηνπνηνύληαη ζε νκάδεο (groups) βάζεη ηνπ πεξηερνκέλνπ ηνπο ή θάπνηωλ ιέμεωλ θιεηδηώλ

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 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, Στάδιο

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο Μέρος Ημερομηνία Παράδοσης: Κυριακή, 15 Μαίου 2016, ώρα 23:59. Τρόπος Παράδοσης: Χρησιμοποιώντας

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων IDLE - Διαδικασία ανάπτυξης προγραμμάτων Python - Απλά προγράμματα

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

My Instagram Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας

My Instagram Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας My Instagram Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας ΗΥ-240 Χειμερινό Εξάμηνο 2013 Διδάσκουσα: Παναγιώτα Φατούρου This presentation by Foivos S. Zakkak is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

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

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

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

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

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

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

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

Project HY240a - 1η Φάση Διδάσκουσα: Παναγιώτα Φατούρου Βοηθός: Νικόλαος Μπατσαράς Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Ηράκλειο, 24 Οκτωβρίου 2018 Διαδικαστικά Θεματολογία Δομές Μεγάλου Αλεξάνδρου

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

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

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

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

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

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

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

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2014-15 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος Ηµεροµηνία Παράδοσης: Κυριακή, 18 Μαΐου 2015, ώρα 23:59. Τρόπος Παράδοσης:

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

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

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

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

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΕΜΠΤΗ 26 ΣΕΠΤΕΜΒΡΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΠΤΑ (7)

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

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

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση

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

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 7: Θεματική Ενότητα: Δομές επανάληψης ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 7 Δομές επανάληψης

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

4. Συνδεδεμένες Λίστες

4. Συνδεδεμένες Λίστες Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 4. Συνδεδεμένες Λίστες 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 10/11/2016 Εισαγωγή

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

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης ΘΕΜΑ Α A1 Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις α-δ και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. a. Σε μία εντολή εκχώρησης του αποτελέσματος

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2016-2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 19 Δεκεμβρίου 2016, ώρα 23:59. Τρόπος

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ 4 ο ΣΕΤ ΑΣΚΗΣΕΩΝ Οι ασκήσεις αυτού του φυλλαδίου καλύπτουν τα παρακάτω θέματα: Δείκτες Δομές Το τέταρτο σύνολο

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

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

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

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο 2016 2017 Καθηγητής Δ. Γουνόπουλος Άσκηση 2 - Εξωτερική Ταξινόμηση Παράδοση: 20/01/2017 Σκοπός της εργασίας αυτής

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 21 Δεκεμβρίου 2018, ώρα 23:59 Τρόπος

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

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

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο 2016 2017 Καθηγητής Δ. Γουνόπουλος Άσκηση 1 - Προθεσμία: 9 Δεκ. 2016 Σκοπός της εργασίας αυτής είναι η κατανόηση

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

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

Προγραμματισμός Δομές Δεδομένων

Προγραμματισμός Δομές Δεδομένων Προγραμματισμός Δομές Δεδομένων Προγραμματισμός Δομές Δεδομένων (Data Structures) Καινούργιοι τύποι δεδομένων που αποτελούνται από την ομαδοποίηση υπαρχόντων τύπων δεδομένων Ομαδοποίηση πληροφορίας που

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

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

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

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

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Λίστες Προγραμματισμός II 1 lalis@inf.uth.gr Διασυνδεδεμένες δομές Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση του είναι

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL Η εντολή επανάληψης for Σκοπός Η εντολή επανάληψης while. 1 ΕΡΓΑΣΤΗΡΙΟ 6 Εισαγωγή στο

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

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

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

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

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες Προγραμματισμός Η/Υ Ι Υπολογισμός - - Πίνακες ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συζητήσουμε τη χρήση του πίνακα (array) για τη συλλογή

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 2(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2013-14 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο Μέρος Ημερομηνία Παράδοσης: Τετάρτη, 15 Ιανουαρίου 2014, ώρα 23:59. Τρόπος Παράδοσης:

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

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

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο 2018 2019 Καθηγητής Δ. Γουνόπουλος Άσκηση 1/2 - Προθεσμία: 18 Ιαν. 2019 Σκοπός της εργασίας αυτής είναι η κατανόηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ 2 ο ΣΕΤ ΑΣΚΗΣΕΩΝ Οι ασκήσεις αυτού του φυλλαδίου καλύπτουν τα παρακάτω θέματα: Συναρτήσεις (κεφάλαιο Functions)

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 2: Υλοποίηση Ευρετηρίου Β+ Δένδρου Προθεσμία: 6 Ιουνίου 2011, 11:59μμ

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

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

Δομές Δεδομένων. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

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

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

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

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα; Λίστα για ψώνια Έννοιες: αρχεία- άνοιγμα- εγγραφή διάβασμα Προαπαιτούμενα : δομή επιλογής, επανάληψης, συναρτήσεις, λίστες Ο Άκης, τώρα που έμαθε και τις λίστες στην Python αποφάσισε να φτιάξει μια λίστα

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

Προγραμματιστική Εργασία Μέρος Β. Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης

Προγραμματιστική Εργασία Μέρος Β. Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης Προγραμματιστική Εργασία Μέρος Β Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης Διαδικαστικά Παράδοση: Σάββατο, 19 Δεκεμβρίου 2016, ώρα 23:59 Compile & run σε μηχανήματα της σχολής Μέρος της βαθμολογίας Τρόπος

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

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

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

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

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΤΕΤΑΡΤΗ 28 ΙΟΥΝΙΟΥ 2017 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) ΘΕΜΑ

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II (1) Να καταστρωθεί πρόγραμμα, το οποίο θα διαβάζει δύο αλφαριθμητικά από το πληκτρολόγιο και θα τα μεταβιβάζει στη συνάρτηση str_index(char

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