Λειτουργικά Συστήματα Nachos

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

Download "Λειτουργικά Συστήματα Nachos"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Λειτουργικά Συστήματα Nachos Μόσχογλου Στυλιανός η Μαρτίου, 2013 Επιβλέπων: κ. Χασάπης Γεώργιος Επικουρών: κ. Φρόνιμος Θεόδωρος

2 1 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Περιεχόμενα Εισαγωγή... 2 Ερώτημα 1ο... 2 Ερώτημα 2ο... 3 Ερώτημα 3ο... 4 Ερώτημα 4ο... 5 Ερώτημα 5ο... 6 Η λειτουργία εν συντομία... 7 Ερώτημα 6ο Επίλογος... 12

3 2 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Εισαγωγή Στόχος της παρούσας εργασίας είναι να παρουσιάσουμε εξ ολοκλήρου τη νηματική λειτουργία του λειτουργικού συστήματος Nachos, που αναπτύχθηκε καθαρά για εκπαιδευτικούς σκοπό από το Berkeley University, CA. Η σωστή διαχείριση νημάτων (threads) από ένα λειτουργικό σύστημα στις μέρες μας αποτελεί βασική προϋπόθεση. Στην υλοποίηση των παρακάτω ερωτημάτων, επιχειρείται το δυνατόν να κατανοηθεί σε βάθος ο τρόπος του πώς τελικώς επιτυγχάνεται αυτή η σωστή διαχείριση. Ερώτημα 1ο Το πρώτο ερώτημα, μας ζητάει να υλοποιήσουμε τη συνάρτηση join(). Παρακάτω, επεξηγείται ο τρόπος λειτουργίας της. Ας υποθέσουμε ότι έ- χουμε δύο νήματα, που δυνητικά μπορούν να τρέξουν. Έστω το T 1 και το T 2. Αν σε περίπτωση που τρέχει το T 1, κάποια στιγμή καλέσει το ίδιο τη συνάρτηση join() (απευθυνόμενο προς το T 2 ), τότε, αυτομάτως το T 1 σταματά την εκτέλεσή του και τη σκυτάλη τη λαμβάνει το T 2. Εφόσον εν συνεχεία ολοκληρωθεί το T 2, το T 1 συνεχίζει την εκτέλεσή του από εκεί που είχε μείνει προηγουμένως. Πρέπει να διευκρινιστεί ότι ενόσω το T 2 εκτελείται, το T 1 μπαίνει σε κατάσταση blocked, έτσι ώστε να μη δαπανά τους πόρους του επεξεργαστή (μέχρι και σε αυτό το ερώτημα ο επεξεργαστής δουλεύει με Round-Robin Scheduler). Αυτό που κάνουμε λοιπόν είναι να ορίσουμε για κάθε ένα εκ των threads ένα semaphore join, o οποίος αρχικά έχει την τιμή 0. Όταν το T 1 εκτελέσει την εντολή join() για το 2 T, τότε αρχικά θα εκτελεστεί η συνάρτηση join.p () και εν συνεχεία η join.v(). Εφόσον το κάθε thread ολοκληρώσει ό,τι έχει να κάνει, εκτελεί κατόπιν την join.v(). Όσο το δεύτερο thread απασχολεί τον επεξεργαστή, το πρώτο δε θα μπορεί να κάνει τίποτα, καθώς θα βλέπει ότι ο αντίστοιχος semaphore είναι 0! Mόνο όταν τελειώσει το δεύτερο τη δουλειά του και αυξήσει τον αντίστοιχο semaphore σε 1, θα μπορεί πλέον το πρώτο να αναλάβει δράση. Μαζί με την υλοποίηση του ερωτήματος, υπάρχει και μία συνάρτηση ελέγχου. Στη συνάρτηση αυτή, δημιουργούμε έναν αυθαίρετο αριθμό από threads και στη συνέχεια καλούμε σε κάποια από αυτά τη συνάρτηση join, ώστε να καλέσουν άλλα threads, και βλέπουμε τελικώς ότι τα πρώτα εξ αυτών, που κάλεσαν την join(), δε συνεχίζουν τη λειτουργία τους, μέχρι να τελειώσουν τα δεύτερα.

4 3 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Ερώτημα 2ο Το δεύτερο ερώτημα σε λογική είναι πανομοιότυπο με αυτό του πρώτου ερωτήματος. Αυτό που αλλάζει ουσιαστικά είναι το πώς ακριβώς γίνεται η υλοποίηση. Εδώ, πρέπει να υλοποιήσουμε μεταβλητές συνθηκών (condition variables), ώστε να διασφαλίσουμε την ατομικότητα. Προφανώς, η όλη διαδικασία, γίνεται με την χρήση διακοπών, ώστε να εξασφαλιστεί η fail-safe λογική του λειτουργικού συστήματος. Αρχικώς φτιάχνουμε την κλάση με το όνομα Condition2 που περιέχει τις συναρτήσεις sleep, wake και τελικώς wakeall. Η λογική τους επεξηγείται παρακάτω. Πέραν της βασικής ουράς του προγράμματός μας (της readyqueue), όπου τοποθετούνται τα threads που είναι έτοιμα προς εκτέλεση, εδώ έχουμε τη δημιουργία μιας άλλης ουράς, έστω της waitqueue. Κάθε thread, όταν εκτελείται (είναι σε running mode), αν πέσει πάνω σε μία condition variable, ελέγχεται η τιμή της. Αν αυτή είναι false, τότε αυτό το thread τοποθετείται στην waitqueue και περιμένει εκεί σε sleep mode, μέχρι να ξανακληθεί από την ίδια condition variable και να ξυπνήσει (δηλαδή να αλλάξει της condition variable η τιμή σε true, με αποτέλεσμα τώρα το thread να περάσει στην readyqueue και να περιμένει μέχρι να έρθει η σειρά εκτέλεσής του από την CPU). Όταν λέμε να ξυπνήσει, εννοούμε ουσιαστικά να κληθεί η wake ή η wakeall! Στην πρώτη περίπτωση, α- πλώς εκκινείται το thread που βρίσκεται πρώτο στην ουρά. Στη δεύτερη περίπτωση, δηλαδή στην περίπτωση του wakeall, ξυπνάνε όλα τα threads και μεταφέρονται αυτομάτως στην readyqueue. Πρέπει επίσης να επισημανθεί εδώ ότι υπάρχει ουσιαστικώς δυνητικά μία ουρά για κάθε πιθανώς χρησιμοποιούμενο πόρο του συστήματός μας. Δηλαδή, ανάλογα με το condition variable, υπάρχει θεωρητικώς μία ουρά τύπου waitqueue για τον εκτυπωτή, μία άλλη για τον σαρωτή, μία άλλη για οποιονδήποτε άλλο πόρο, όπως ένα πρόγραμμα, κ.λπ. Είναι πολύ βασικό να αναφέρουμε ότι ο τρόπος με τον οποίο υλοποιείται η ουρά εξαρτάται εξ ολοκλήρου από την υλοποίηση του scheduler. Η default υλοποίηση του Nachos, όπως αναφέρθηκε και προηγούμενα, γίνεται βάσει της λογικής Round Robin. Δηλαδή, ανά συγκεκριμένη χρονική διάρκεια που μετράται σε tics του επεξεργαστή, ο scheduler δίνει παύει όποιο thread εκτελείται, και θέτει σε λειτουργία το αμέσως επόμενο από την ουρά. Αξίζει να σημειωθεί εδώ ότι η ουρά αυτή λειτουργεί βάσει της λογικής FIFO, First In First Out. Ωστόσο, στο 5ο ερώτημα, όπως θα δούμε και παρακάτω, έχουμε την υλοποίηση της PriorityQueue, η οποία ταξινομεί τα στοιχεία της βάση ενός κλειδιού. Περισσότερα γι αυτό θα δούμε παρακάτω. Για την επαλήθευση του συγκεκριμένου ερωτήματος, χρησιμοποιήσαμε ένα απλό test function, ωστόσο η ακεραιότητά του φαίνεται καλύτερα από τα επόμενα ερωτήματα, καθώς, όπως θα δούμε, περαιώνονται όλα εις το ακέραιο.

5 4 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Ερώτημα 3ο Στο τρίτο ερώτημα, καλούμαστε να συμπληρώσουμε την ημιτελή κλάση Alarm. Ουσιαστικά, εδώ, έχουμε να περαιώσουμε τη λειτουργία της συναρτήσεως waintuntil(long x). Αυτή, δέχεται ως όρισμα έναν αυστηρώς θετικό ακέραιο αριθμό, ο οποίος ουσιαστικώς εκφράζει μία χρονική διάρκεια. Η χρονική αυτή διάρκεια μετράται σε κτύπους του επεξεργαστή. Επομένως, το x είναι ο αριθμός των κτύπων του επεξεργαστή που θα μεσολαβήσουν από τη στιγμή μηδέν (την ώρα που εκτελείται η συγκεκριμένη συνάρτηση) μέχρι τη στιγμή μηδέν + x. Αφού διευκρινίσαμε τι ακριβώς σημαίνει το όρισμα, είναι καιρός να αναφέρουμε τι α- κριβώς κάνει αυτή η συνάρτηση. Η λογική πίσω από τη συγκεκριμένη συνάρτηση είναι απλή. Σκοπός της είναι η αναμονή του thread που την καλεί μέχρις ότου να περάσει το χρονικό όριο που θέτουμε ως όρισμα κατά την εκτέλεσή της. Η δομή της βασίζεται πάνω σε έτοιμες, ήδη υλοποιημένες συναρτήσεις της πλατφόρμας της Java, όπως π.χ. αυτών των LinkedList, HashMap. Η LinkedList χρησιμοποιείται προκειμένου να αποθηκευτούν όλοι οι χρόνοι κατά τους οποίους πρόκειται να ξυπνήσει το εκάστοτε thread. Είναι εντελώς βασικό να σημειώσουμε εδώ ότι η λίστα αυτή αναδιατάσσεται κάθε φορά που εισέρχεται ένα νέο στοιχείο σε αυτήν. Η διάταξή της γίνεται με τέτοιον τρόπο, ώστε στην κορυφή της να υπάρχει κάθε φορά η μικρότερη τιμή. Πράγμα λογικό, καθώς σε κάθε περίπτωση θα εξέρχεται από τη λίστα και θα τίθεται σε κατάσταση ετοιμότητας κάθε thread του οποίου ο λήθαργος έχει μόλις τελειώσει. Από την άλλη μεριά, το HashMap ας το φανταστούμε ως εξής: έχω πέντε διαφορετικά κλειδιά, για πέντε διαφορετικές πόρτες. Κάθε κλειδί αντιστοιχεί σε αναλογία ένα-προς-ένα σε μία πόρτα. Αν υπήρχε ένας χάρτης που μας έλεγε ποιο κλειδί αντιστοιχεί σε ποια πόρτα, αυτός θα ήταν ο HashMap! Εντελώς αντίστοιχα κι εδώ, κάθε στοιχείο της λίστας (που έχει τη μορφή ενός κλειδιού ) αντιστοιχίζεται στην αυτή καθ αυτή πόρτα (αντικείμενο). Έτσι, για κάθε κλειδί της λίστας (που το κλειδί από μόνο του δε μας δίνει ουσιαστική πληροφορία), μπορούμε, μέσω του HashMap να βρούμε την πόρτα (το αντικείμενο, δηλαδή το thread!) στο οποίο αντιστοιχεί. Οπότε, όταν εξάγεται ένα στοιχείο από τη λίστα, μέσω του HashMap, βλέπουμε το κλειδί αυτό σε ποιο thread αντιστοιχεί και εν συνεχεία το ξυπνάμε. Πρέπει να σημειώσουμε ότι το λειτουργικό σύστημα κάθε 500 κύκλους καλεί μία συνάρτηση η οποία ονομάζεται TimerInterrupt. Επομένως, δεν έχει νόημα να ορίσουμε χρόνο αναμονής, τουλάχιστον στην αρχή, μικρότερο από 500 κτύπους επεξεργαστή. Ο έ- λεγχος της σωστής λειτουργίας της συναρτήσεως έγινε με την τοποθέτηση διαφόρων threads σε αναμονή για (τυχαία) χρονικά διαστήματα. Εν συνεχεία, όταν ξυπνούσαν, τυπώνονταν ο χρόνος έναρξής τους, χρόνος

6 5 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s αναμονής, χρόνος εκκίνησης, με αποτέλεσμα να γίνει η σωστή εξακρίβωση των αποτελεσμάτων. Ερώτημα 4ο Στο ερώτημα αυτό καλούμαστε να υλοποιήσουμε τη διαδικασία της σύγχρονης ανταλλαγής μηνυμάτων μεταξύ δύο threads, κάνοντας χρήση των condition variables που υλοποιήσαμε στο Ερώτημα 2ο προηγουμένως. Η κλάση αυτή απαιτεί τη δημιουργία δύο ξεχωριστών συναρτήσεων. Της speak από τη μία και της receive από την άλλη μεριά. Τα ονόματα είναι πολύ σαφή και όπως θα δούμε εν συνεχεία, κάνουν ό,τι ακριβώς δηλώνουν! Για να επιτύχουμε τη σωστή περαίωση αυτών των συναρτήσεων, θα χρειαστούμε τα εξής συστατικά : αρχικώς, χρειαζόμαστε ένα αντικείμενο τύπου lock (θα δηλώνει τον εκάστοτε πόρο που κλειδώνουμε και χρησιμοποιούμε μόνον εμείς τότε). Επίσης, θα χρειαστούμε δύο condition variables, μία γι αυτόν που μιλάει (speak function), και μία γι αυτόν που ακούει (listen function). Μία boolean μεταβλητή που θα βλέπει κάθε φορά αν κάποιος έχει ήδη μιλήσει και αναλόγως θα πράττει ενέργειες που θα δούμε εν συνεχεία. Μία λίστα (το πώς αυτή λειτουργεί το έχουμε δει προηγουμένως) που θα περιλαμβάνει όλους που αυτούς πρόκειται να ακούσουν τα μηνύματα, τους listeners δηλαδή. Μία μεταβλητή τύπου int, που είναι ένας τυχαίος ακέραιος αριθμός που αποτελεί και το μήνυμα που πρόκειται να σταλεί. Έστω ότι σε πρώτη φάση εκτέλεσης του Communicator πως καλείται η συνάρτηση speak. Αυτό σημαίνει πως στην παρούσα φάση ένα thread θέλει να στείλει ένα μήνυμα. Για να γίνει αυτό, σε πρώτη φάση λαμβάνει το lock (δηλαδή, κλειδώνει τον πόρο). Εν συνεχεία, κοιτάει να δει αν υπάρχει κάποιος πιθανός ακροατής (listener) στην αντίπερα όχθη. Αν υπάρχει, τότε τον ξυπνάει και ολοκληρώνεται η μεταφορά του μηνύματος. Αν δεν υπάρχει, τότε το συγκεκριμένο thread μπαίνει σε κατάσταση sleep μέχρι να υπάρξει κάποιος ακροατής στην αντίπερα όχθη. Στην φάση τώρα που καλείται η listen, με την ίδια εντελώς λογική, γίνεται έλεγχος αν υπάρχει κάποιος από την α- ντίπερα όχθη που μίλησε. Αν υπάρχει κάποιος, τότε λαμβάνεται το μήνυμα και η συνδιαλλαγή ολοκληρώνεται επιτυχώς. Αν δεν υπάρχει, τότε το thread μπαίνει στη λίστα και περιμένει κάποιος να μιλήσει. Υπάρχει όμως ένα λογικό κενό που πρέπει να αποφύγουμε. Αν έχει μιλήσει κάποιος και στο καπάκι μιλήσει κι άλλος, τότε ο πρώτος που μίλησε θα χαθεί και το μήνυμά του θα πάει στα αζήτητα! Για να το αποφύγουμε αυτό, φτιάχνουμε μία μεταβλητή boolean που την ονομάζουμε spoke και αυτή ελέγχει αν έχει μιλήσει κάποιος άλλος πριν. Αν έχει μιλήσει (και το μήνυμά του δεν έχει εισακουστεί ακόμη, έτσι ώστε να γυρίσει η τιμή της spoke σε false!), τότε ο επόμενος που πρόκειται να μι-

7 6 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s λήσει, δε μιλάει, και μπαίνει σε sleep mode, μέχρι να μιλήσει ο πρώτος και στη συνέχεια να τον ξυπνήσει. Η διαδικασία αυτή γίνεται αναδρομικά για όσους speakers κι αν μαζευτούν (αυτό σημαίνει ότι υπάρχει η μεταβλητή spoke σε πολλά αντίγραφα, ένα για κάθε speaker). O έλεγχος της σωστής λειτουργίας είναι απλός. Δημιουργούμε πολλά threads, άλλα τύπου speak, άλλα τύπου listen, που ανταλλάσουν μεταξύ τους μηνύματα και στη συνέχεια, όταν το αλισβερίσι τους τελειώσει, τερματίζονται. Από το άρτιο αποτέλεσμα αυτού του τεστ, καταλαβαίνουμε ότι η κλάση μας δουλεύει όπως θα έπρεπε. Ερώτημα 5ο Στο ερώτημα αυτό, που αποτελεί αναμφισβήτητα το πιο σύνθετο και δύσκολο μέρος του project, καλούμαστε να φτιάξουμε έναν δικό μας scheduler για το λειτουργικό σύστημα. Όπως αναφέραμε στην αρχή, by default, το Nachos δουλεύει με τον Round Robin. Εμείς καλούμαστε να φτιάξουμε έναν PriorityScheduler. Σύμφωνα με αυτόν, το thread που θα εκτελεστεί πρώτο εξ αυτών που βρίσκονται στην ουρά αναμονής, είναι αυτό με τη μεγαλύτερη προτεραιότητα απ όσα βρίσκονται εκεί. Επίσης, σε περίπτωση που έχουμε πολλά threads με την ίδια προτεραιότητα, πλεονέκτημα έχει το thread που περιμένει την περισσότερη ώρα στην ουρά. Δηλαδή, έχουμε αν το δούμε χονδροειδώς, μία λογική FIFO μαζί με προτεραιότητες. Ας δούμε όμως ένα tricky σημείο της υλοποίησης που είναι και αυτό πάνω στο οποίο δόθηκε ιδιαίτερη έμφαση για την άρτια εκτέλεση του προγράμματος. Ας υποθέσουμε ότι έχουμε ένα thread A με τη μέγιστη προτεραιότητα, ένα thread B με τη μέση προτεραιότητα, κι ένα thread C με την ελάχιστη προτεραιότητα. Επίσης, ας υποθέσουμε ότι το C είναι ο ιδιοκτήτης ενός πόρου (τον κατέχει δηλαδή) και ότι το A προκειμένου να εκτελεστεί χρειάζεται τον πόρο που κατέχει το C. Σε αυτή την περίπτωση, όταν πάει ο scheduler να διαλέξει ποιο thread θα ε- κτελεστεί πρώτα, θα δει ότι το A είναι σε blocked state, επομένως θα δώσει άδεια στο B να εκτελέσει τη λειτουργία του. Επειδή το C έχει μικρότερη προτεραιότητα από το B, το B θα εκτελείται συνέχεια, με αποτέλεσμα το A να λιμοκτονήσει. Σε τούτη την περίπτωση, το A θα πρέπει να δωρίσει την προτεραιότητά του στο C προκειμένου να εκτελεστεί αυτό πρώτα, να ελευθερώσει τον πόρο, και εν συνεχεία να εκτελεστούν τα A και B άνευ κολλημάτων. Υπ όψιν ότι το C θα εκτελεστεί όχι μέχρι να τερματίσει, αλλά μέχρι να ελευθερώσει τον πολυπόθητο πόρο! Αφού τον ελευθερώσει, πλέον είναι το A που θα εκτελεστεί (καθώς είναι αυτό με τη μέγιστη προτεραιότητα!). Το C θα εκτελεστεί από εκεί που είχε μείνει (όταν άφησε τον πόρο), αφού τελειώσει το A και εν συνεχεία το B με τις όποιες δουλειές έχουν να κάνουν.

8 7 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Η λειτουργία εν συντομία Αρχικώς όλα τα threads τοποθετούνται σε μία κοινή ουρά, τη γνωστή από τα προηγούμενα ερωτήματα readyqueue. Αυτό συμβαίνει ανεξαρτήτως οποιωνδήποτε εξαιρέσεων. Σε πρώτη φάση επιλέγεται λοιπόν το thread με τη μεγαλύτερη προτεραιότητα. Σε περίπτωση που κάποιο thread λαμβάνει έναν πόρο, γίνεται έλεγχος αν είναι απαραίτητο να τον δωρίσει, για να μην έχουμε αδιέξοδα ή λιμοκτονίες. Για να δωρίσει αυτόν τον πόρο, θα πρέπει να έχουμε αλλαγή προτεραιοτήτων. Κάθε φορά που έχουμε αλλαγή προτεραιοτήτων, έχουμε και μία ανασυγκρότηση της ουράς με φθίνουσα σειρά (το πρώτο στοιχείο είναι αυτό με τη μεγαλύτερη προτεραιότητα!). Η διαδικασία αυτή επαναλαμβάνεται αναδρομικώς μέχρι να έχουν εκτελεστεί επιτυχώς όλα τα threads. Καθότι, όπως αναφέραμε, το συγκεκριμένο ερώτημα είναι το πιο δύσκολο στην κατανόησή του, κρίθηκε σκόπιμο να σχολιάσουμε ενδελεχώς συγκεκριμένες μεταβλητές-κλειδιά της συγκεκριμένης κλάσης. PriorityScheduler Η συγκεκριμένη κλάση είναι η βασική που μας ζητείται να υλοποιήσουμε. Αυτή, μεταξύ άλλων, περιλαμβάνει τα εξής καίρια συστατικά στοιχεία: SortedMap<Integer, Queue<ThreadState>> Όπως έχει αναφερθεί και σε προηγούμενο ερώτημα, η δομή αυτή είναι μία έτοιμη δομή της Java που ουσιαστικά περιέχει δύο στοιχεία. Ένα κλειδί και μία πόρτα σε αναλογία ένα προς ένα. Το κλειδί στην προκειμένη περίπτωση είναι ένας ακέραιος αριθμός, ενώ η πόρτα είναι ένα α- ντικείμενο τύπου Queue<ThreadState>. H μεταξύ τους σχέση είναι έναπρος-ένα. Δηλαδή, κάθε κλειδί ορίζει μονοσήμαντα μία πόρτα και αντιστρόφως. Η τιμή του εκάστοτε κλειδιού αντιστοιχεί και σε μία προτεραιότητα. Η λίστα αυτή είναι ταξινομημένη με φθίνουσα σειρά. Δηλαδή, πάνω πάνω, βρίσκεται η μεγαλύτερη προτεραιότητα (κλειδί). Αν υπάρχουν threads με την ίδια προτεραιότητα, αυτά βρίσκονται στην ουρά (πόρτα) που βρίσκεται σε αντιστοιχία ένα-προς-ένα, όπως προαναφέρθηκε, με το κλειδί. ThreadState idioktiths Εδώ αποθηκεύεται το threadstate του ιδιοκτήτη (thread) ενός συγκεκριμένου πόρου. Αυτός μπορεί να είναι κάποιο lock, μπορεί να είναι η CPU, κ.λπ.

9 8 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s boolean transferpriority Αυτής της μεταβλητής η τιμή είναι αληθής ( true ), όταν υπάρχει νόημα κάποιο εκ των threads να δωρίσει την προτεραιότητά του. Αν δεν υπάρχει νόημα δωρισμού προτεραιότητας, τότε η τιμή της είναι ψευδής ( false ). waitforaccess(kthread thread) H συνάρτηση αυτή κάνει ό,τι ακριβώς λέει και το όνομά της. Δηλαδή, τοποθετεί το εκάστοτε thread στη λίστα αναμονής, ανάλογα με τον πόρο που φρουρεί την εκάστοτε χρονική στιγμή η PriorityQueue. acquire(kthread thread) Η συνάρτηση αυτή κάνει ό,τι ακριβώς λέει και το όνομά της. Δηλαδή, ανάλογα με το thread που της δίνεται ως όρισμα, λαμβάνει υπό την κατοχή της τον πόρο που φρουρεί την εκάστοτε χρονική στιγμή η PriorityQueue. ThreadState dialekseepomenothread() Επιλέγει το επόμενο threadstate από τον χάρτη ουρών (ουσιαστικά αυτόν που βρίσκεται πρώτο, πάνω-πάνω!). Εν συνεχεία, παίρνει από την ουρά στην οποία αντιστοιχεί το συγκεκριμένο threadstate το πρώτο της στοιχείο. KThread nextthread() Σε συνεργασία με την προηγούμενη συνάρτηση, γίνεται η τελική επιλογή του thread μέσω του αντίστοιχου threadstate. class DwrismosProteraiotitas H κλάση αυτή, όπως φαίνεται και από το όνομά της, είναι υπεύθυνη για το δωρισμό προτεραιότητας, σε περίπτωση που διαπιστωθεί ότι δε διαφορετική περίπτωση (αν δε δωριστεί η προτεραιότητα), θα οδηγηθούμε σε αδιέξοδο. Για να γίνει αυτό επιτυχώς, ορίζονται δύο μεταβλητή. Η πρώτη είναι τύπου PriorityQueue και η δεύτερη ένας ακέραιος που δηλώνει την προτεραιότητα. TreeSet<DwrismosProteraiotitas> Εδώ έχουμε το σύνολο των επικείμενων δωρισμών προτεραιότητας. Για να μην υπάρχει μπέρδεμα κατά την περαίωση των δωρισμών προτεραιότητας, πρέπει να ακολουθείται μία ιεραρχία. Τουτέστιν, θα ξεκινήσει

10 9 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s το thread με τη μέγιστη προτεραιότητα (που αιτείται προφανώς κάποιον πόρο που είναι κατειλημμένο από άλλο thread, μικρότερης προτεραιότητας) να δωρίσει την προτεραιότητά του, και εν συνεχεία, σε φθίνουσα σειρά, θα ακολουθήσουν τα υπόλοιπα. Αυτό γίνεται βάση της δομής ενός δυαδικού δένδρου. Κάθε φορά που υπεισέρχεται ένα νέο thread που πρόκειται να δωρίσει την προτεραιότητά του, το δένδρο αυτό αναδιοργανώνεται. PriorityQueue perimenei Στην ουρά αυτή καταχωρείται το thread το οποίο αναμένει μέχρι να ε- κτελεστεί. apoxwrhsh(priorityqueue ouraanamonhs) Σε αυτή τη συνάρτηση, αφαιρείται από την ουρά το thread που τρέχει. Αν έχει αδειάσει η ουρά, ενημερώνεται ο ιδιόκτητης για τυχόν αλλαγές. epanasugkrothsh(priorityqueue ouraanamonhs) Αυτή παίζει το ρόλο επανασυγκρότησης της ουράς κάθε φορά που έχουμε δυνητικά μία αλλαγή. Επανασυγκροτείται η ουρά, όταν διαγράφεται κάποιο thread, όταν προστίθεται κάποιο άλλο σε αυτή, κ.λπ. Η ουρά όπως έχουμε αναφέρει είναι σε φθίνουσα σειρά. getleadpriority(priorityqueue anamonh) Επιστρέφεται μέσω αυτής η μέγιστη προτεραιότητα που υπάρχει στον χάρτη ουρών. eidopoihshidioktith(priorityqueue ouraanamonhs) Ειδοποιεί τον ιδιοκτήτη σε περίπτωση που πρόκειται να έχουμε μεταφορά προτεραιότητας (καθώς είναι αυτός που πρόκειται να τη λάβει). kataxwrhshproteraiotitas(priorityqueue anamonh) Κάνει μία καταχώρηση προτεραιότητας στην cache που είδαμε προηγουμένως. Στη συνέχεια προχωρεί σε ανασυγκρότηση της ουράς. anaklhshproteraiotitas(priorityqueue anamonh) Κάνει έλεγχο να δει αν υπάρχει μέσα στην cache η ουρά (anamonh). Αν υπάρχει, την αφαιρεί. Εν συνεχεία, καλή τη συνάρτηση ανασυγκρότησης. Η επαλήθευση έγινε βάσει μίας selftest που βγάζει αναμενόμενα αποτελέσματα σαν output.

11 10 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s Ερώτημα 6ο Στο ερώτημα αυτό, καλούμαστε να επιλύσουμε ένα αρκετά σύνθετο πρόβλημα, συνδυάζοντας τα τέσσερα πρώτα ερωτήματα της εργασίας. Συγκεκριμένα, δοθέντος ενός τυχαίου αριθμού παιδιών και ενηλίκων, και με την προϋπόθεση ότι έχουμε ένα μόνο καΐκι και ότι τηρούνται κάποιοι κανόνες, πρέπει να περάσουμε όλους τους ενήλικες και τα παιδιά από το Oahu στο Molokai. H λογική, βάσει των περιορισμών που τίθενται κατά εκφώνηση της άσκησης, είναι τελικώς η εξής: ένα παιδί πηγαινοέρχεται από το Molokai στο Oahu. Όταν φθάνει στο Oahu, αν υπάρχει έστω ένας ενήλικας, δίνει στη διάθεσή του το καΐκι για να πάει ο ίδιος στο Molokai, δεδομένου βεβαίως ότι υπάρχει ήδη τουλάχιστον ένα παιδί εκεί (για να μη παραβούμε τους κανόνες!). Αφού πάει ο ενήλικας στο Molokai, παραμένει εκεί, και δίνει το καΐκι σε ένα από τα παιδιά για να επιστρέψει πίσω στο Oahu. Όταν επιστρέψει αυτό το παιδί στο Oahu, με την ίδια λογική που περιγράφηκε προηγουμένως, θα δει αν υπάρχει ένας ενήλικας και θα του δώσει τη βάρκα, κ.λπ. Στο τελευταίο δρομολόγιο, ένα παιδί πάλι θα πάρει το καΐκι για το Oahu, απλώς για να διαπιστώσει ότι δεν υπάρχει κανείς και να γυρίσει τελικά πίσω. Πρέπει να σημειωθεί ότι όλα τα δρομολόγια από το Molokai στο Oahu γίνονται με ένα μόνο παιδί πάνω στο καΐκι. Παρακάτω, επιχειρείται μία ανάλυση των βασικών σημείων του κώδικα. Υπάρχει μία μεταβλητή ektelesi τύπου BoatGrader, η οποία χρησιμοποιείται για να ανακαλούνται οι (έτοιμες) συναρτήσεις που τυπώνουν ποιος πηγαίνει πού. Υπάρχει ένα lock με όνομα kaiki, μιας και το ίδιο το καΐκι είναι ένας (δυνητικά) πόρος. Υπάρχει μία boolean μεταβλητή enapaidakistokaiki, η οποία, όπως λέει και το όνομά της, γίνεται true, αν υπάρχει ήδη ένα παιδί πάνω στο καΐκι. Επίσης, υ- πάρχει το condition paidakimolokai, το οποίο σημαίνει ουσιαστικά ότι όταν παιδάκι φθάσει στο Molokai, πέφτει σε κατάσταση ύπνου και ταυτοχρόνως ξυπνάει έναν ενήλικα για να πάρει το καΐκι και να οδεύσει προς το Oahu. Κατόπιν, υπάρχει το condition variable enapaidakisto- KaikiPerimeneiDeutero. Σε αυτήν τη συνθήκη τελείται το εξής: αν ανέβει ένα παιδάκι στο καΐκι, κοιτάει αν υπάρχει άλλο παιδάκι ήδη πάνω στο καΐκι, βάσει της προηγούμενης boolean μεταβλητής που αναφέραμε. Αν αυτή είναι false, τότε, αυτό, επιβιβάζεται στο καΐκι και μπαίνει σε κατάσταση ύπνου, μέχρι να έρθει κάποιο άλλο παιδάκι, να επιβιβαστεί κι αυτό και στη συνέχεια (το δεύτερο παιδάκι) να το ξυπνήσει (το πρώτο παιδάκι). Επίσης, υπάρχει ο semaphore PaidakiaStoMolokai, που χρησιμοποιείται για να γνωρίζει a priori ένας ενήλικας αν υπάρχει ήδη ένα (τουλάχιστον) παιδί στο Molokai πριν ανέβει στο καΐκι. Αν δεν υπάρχει, τότε μπαίνει σε κατάσταση ύπνου. Κατόπιν, υπάρχει ένας semaphore KaikiRezerve, ο οποίος χρησιμοποιείται για να δηλώσει ότι το καΐκι είναι ρεζερβέ και δε μπορεί να το χρησιμοποιήσει κανένας άλ-

12 11 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s λος! Επίσης, υπάρχει ο semaphore KaikiRezerve2Paidakia, ο οποίος χρησιμοποιείται για να διαπιστωθεί ότι όντως δύο παιδιά ανέβηκαν πάνω στο καΐκι. Κατόπιν, υπάρχει και η boolean μεταβλητή dromologiotelos που αρχικοποιείται σε τιμή false. Αυτή παίρνει την τιμή true, μόνον όταν ολοκληρωθεί η όλη διαδικασία μεταφοράς ενηλίκων-παιδιών από το Oahu στο Molokai. Τέλος, υπάρχουν και δύο μεταβλητές τύπου ακεραίων αριθμών, οι paidakiapouperasan, enilikespouperasan, που κάνουν ό,τι ακριβώς λένε. Δηλαδή, η κάθε μία δηλώνει τον αριθμό των παιδιών και των ενηλίκων που πέρασαν αντιστοίχως. Υπάρχει η συνάρτηση selftest() η οποία δημιουργεί τον boatgrader και καλή τη συνάρτηση εκκίνησης (begin), η οποία αρχικοποιεί όλες τις μεταβλητές και δημιουργεί αντίστοιχα threads και για κάθε έναν εκ των ενηλίκων και κάθε ενός εκ των παιδιών. Εν συνεχεία τελεί τον έλεγχο ώστε να επαληθεύσει ότι η τιμή του dromologiotelos παραμένει false, όσο εκτελείται το πρόγραμμα. Όταν δει ότι η τιμή αυτή αλλάξει σε true, κάνει yield και τερματίζει. Το πρόγραμμά μας μας λέει ότι τελειώσαμε όταν όλα τα παιδιά και οι ενήλικες βρεθούν τελικώς στο Molokai. Πέραν της selftest, υπάρχει η συνάρτηση EktelesiEnilika, η οποία, όπως αναφέρθηκε και προηγουμένως, κοιτάει αν υπάρχει κάποιο παιδί ήδη στο Molokai, μέσω του semaphore PaidakiaStoMolokai. Αν δεν υπάρχει, μπαίνει σε κατάσταση sleep, όπως και όλοι οι υπόλοιποι ενήλικες, μέχρι να τον ξυπνήσει αυτή η boolean μεταβλητή. Όταν ξυπνήσει, μπαίνει και πάλι στην ουρά αναμονής. Αφού λάβει το lock, πλέον είναι σε θέση να πάρει το καΐκι και να πάει στο Molokai. Όταν φθάσει εκεί, θα ξυπνήσει ένα παιδί κι αυτός θα πέσει για ύπνο. Ξυπνάει ένα παιδί κι όχι ενήλικα, γιατί, ό- πως αναφέραμε προηγουμένως, το δρομολόγιο από το Molokai στο Oahu μπορεί να το κάνει μόνο ένα παιδί. Αυξάνονται εν συνεχεία οι ενήλικες που έκαναν το δρομολόγιο κατά ένα και αντίστοιχα μειώνονται τα παιδιά κατά ένα, καθώς ένα είναι αυτό που επιστρέφει. Αφού επιστρέψει, κάνουμε release το lock. Τέλος, υπάρχει και η συνάρτηση EkteleshPaidiou, οπού και σε αυτήν αρχικά ορίζεται μία boolean μεταβλητή, για να δηλώσει ότι αυτό το παιδί δε βρίσκεται στο Molokai. Στη συνέχεια ξεκινάει και τρέχει ένας βρόγχος επανάληψης μέχρι να ολοκληρωθεί το πρόγραμμα. Σε περίπτωση που το παιδάκι βρίσκεται στο Molokai, τότε λαμβάνει υπό την κατοχή του το καΐκι που μόλις άφησε ο ενήλικας που έφθασε στο Molokai και αναφέρει ότι γυρνάει στο Oahu, θέτοντας τη boolean μεταβλητή του ότι δε βρίσκεται πλέον στο Molokai. Εν συνεχεία, αφήνει από την κατοχή του το καΐκι και ξυπνάει έναν εξ αυτών που περιμένουν τη βάρκα. Αν είναι στο Oahu, τότε μπαίνει στην ουρά αναμονής μέχρι δύο παιδία να ταξιδέψουν στο Molokai. Όταν βρεθούν και τα δύο παιδιά, ένα εκ των οποίων θα ναι αυτό, λαμβάνει υπό την κατοχή του το καΐκι και ξεκινάνε για το Molokai. Υπάρχουν βέβαια δύο περιπτώσεις. Αν είναι το δεύτερο που ανέβηκε, βλέποντας την αντί-

13 12 Λ ε ι τ ο υ ρ γ ι κ ά Σ υ σ τ ή μ α τ α, N a c h o s στοιχη boolean μεταβλητή, τη θέτει false, αφήνει το lock και το ανακαταλαμβάνει, έτσι ώστε να τραβήξει αυτό κουπί. Όταν (ξανά) πάρει το lock, ξυπνάει το πρώτο παιδί που ήταν ήδη πάνω στη βάρκα, αναφέρει μέσω της αντίστοιχης μεταβλητής ότι πηγαίνει στο Molokai και τελικώς αυξάνει τα παιδιά που βρίσκονται εκεί (στο Molokai) κατά έναν. Εν συνεχεία, κοιμάται. Αν δεν είναι το δεύτερο που ανεβαίνει, τότε θέτει την αντίστοιχη μεταβλητή που σηματοδοτεί ότι μόνο ένα παιδί υπάρχει πάνω στο καΐκι σε true και πέφτει για ύπνο, μέχρι να το ξυπνήσει το δεύτερο παιδάκι που πρόκειται να ανέβει στη βάρκα. Όταν το ξυπνήσει το δεύτερο παιδάκι που ανεβαίνει στη βάρκα, τότε αυτό κάνει μία φορά (μαζί με το δεύτερο που το ξύπνησε και το οποίο είναι αυτό που τραβάει κουπί) το δρομολόγιο από το Oahu στο Molokai και εν συνεχεία είναι αυτό που γυρνάει από το Molokai στο Oahu (λογικό, καθότι μιας και το δεύτερο είναι που θα πιλοτάρει στο πρώτο δρομολόγιο τη βάρκα, το πρώτο είναι αυτό που θα γυρίσει. Η απόσταση Oahu Molokai είναι 17χιλιόμετρα και είναι αφύσικο για ένα παιδί να κάνει δύο συνεχόμενα δρομολόγια). Αφού φθάσει στο Oahu κάνει release το lock και πλέον η βάρκα μπορεί να χρησιμοποιηθεί από ενήλικα. Αν δεν υπάρχει ενήλικας ή παιδί, είναι αυτό που γυρνάει μόνο του πίσω στο Molokai και η εφαρμογή τερματίζεται. Επίλογος Ελπίζω μέσα από αυτή την αρκετά περιεκτική αναφορά να αποκτήσει ο αναγνώστης μία αναλυτική γνώση της λειτουργίας του νηματικού συστήματος του Nachos. Λεπτομέρειες, που πιθανώς δεν υπάρχουν εδώ, βρίσκονται με τη μορφή σχολίων μέσα στον κώδικα των εκάστοτε κλάσεων στον φάκελο Threads. Ευχαριστώ πολύ για την ανάγνωση. Μόσχογλου Στυλιανός

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου 2.87 Να περιγραφεί η δομή επανάληψης Μέχρις_ότου Ημορφή της δομής επανάληψης Μέχρις_ότου είναι: Μέχρις_ότου Συνθήκη Η ομάδα εντολών στο εσωτερικό της επανάληψης, εκτελείται μέχρις ότου ισχύει η συνθήκη

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

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

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

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

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

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

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα

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

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014 Σωτήρης Γυφτόπουλος Κανόνες του Facility Game (1/4) Στο Facility Game υπάρχει ένα σύνολο κόμβων που συνδέονται «σειριακά» και κάθε κόμβος

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

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

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά

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

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

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

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

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Ο

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Ο ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Ο Α. Να αναπτύξετε τις παρακάτω ερωτήσεις: 1. Τι καλείται βρόγχος; 2. Σε ποιες κατηγορίες διακρίνονται τα προβλήματα ανάλογα με

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

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

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

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ Γ ΛΥΚΕΙΟΥ - 02/05/2014 ΘΕΜΑ Α Α1. Έστω ο παρακάτω αλγόριθμος ταξινόμησης: Για κ από.. μέχρι 19 Για λ από 19 μέχρι κ με_βήμα -1

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΘΕΜΑ Α Α1. Δίνονται τα παρακάτω τμήματα αλγορίθμου σε φυσική γλώσσα. 1. Αν το ποσό των αγορών(ποσο_αγορων) ενός πελάτη είναι μεγαλύτερο

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

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

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

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

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

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

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. α. Παραβιάζει τα κριτήρια της καθοριστικότητας και της περατότητας β. Αιτιολόγηση: ο αλγόριθμος παραβιάζει το κριτήριο

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

Οδηγίες Εργασίας 1 Facility-Game

Οδηγίες Εργασίας 1 Facility-Game ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 2013-2014 Οδηγίες Εργασίας 1 Facility-Game Ανανεωμένος για την έκδοση v0.62 του FacilityGameProject Διδάσκων : Eπικ.Καθηγητής Παύλoς Εφραιμίδης Υπεύθυνος Φροντιστηρίου : Σωτήρης Γυφτόπουλος

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

Συλλογές, Στοίβες και Ουρές

Συλλογές, Στοίβες και Ουρές Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει

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

Οδηγίες Προσωπικoύ Τηλεφωνητή COSMOTE

Οδηγίες Προσωπικoύ Τηλεφωνητή COSMOTE Οδηγίες Προσωπικoύ Τηλεφωνητή COSMOTE Στον Προσωπικό σου Τηλεφωνητή µπορούν να αποθηκευτούν µέχρι και 30 µηνύµατα διάρκειας έως και 3 λεπτών το καθένα. Μπαίνοντας στον Προσωπικό σου Τηλεφωνητή µε τον ειδικό

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

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Το επίπεδο προτεραιότητας µιας διεργασίας µπορεί να αλλάξει µε χρήση της συνάρτησης nice. Κάθε διεργασία διαθέτει µια τιµή που καλείται

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

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα» ΚΡΕΜΑΛΑ Project 7 1 Εκφώνηση άσκησης Υλοποίηση του παιχνιδιού «Κρεμάλα» Το Project αυτό συνίσταται στην κατασκευή ενός προγράμματος σεναρίου κελύφους, που θα υλοποιεί το γνωστό παιχνίδι «Κρεμάλα» με δυνατότητα

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 29 ΜΑΪΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 11 ΑΠΡΙΛΙΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

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

Μαρκοβιανές Αλυσίδες

Μαρκοβιανές Αλυσίδες Μαρκοβιανές Αλυσίδες { θ * } Στοχαστική Ανέλιξη είναι μια συλλογή τ.μ. Ο χώρος Τ (συνήθως είναι χρόνος) μπορεί να είναι είτε διακριτός είτε συνεχής και καλείται παραμετρικός χώρος. Το σύνολο των δυνατών

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

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

ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Ερωτήσεις επανάληψης

ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Ερωτήσεις επανάληψης ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 1. Τι είναι το λειτουργικό σύστημα; Λειτουργικό Σύστημα είναι ένα σύνολο προγραμμάτων που ελέγχει τη λειτουργία του υπολογιστή και προσφέρει υπηρεσίες στους χρήστες.

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

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

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

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

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΙΝΑΚΩΝ ΣΤΟΙΒΑΣ ΚΑΙ ΟΥΡΑΣ Α ΜΕΡΟΣ ΘΕΩΡΙΑ ΓΙΑ ΠΙΝΑΚΕΣ 3.1

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΘΕΜΑΤΑ ΘΕΜΑ A Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-6 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν

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

ΙΑΤΡΙΚΟ ΕΞΙΤΗΡΙΟ. Σημείωση : Ο ασθενής φεύγει πραγματικά από το κρεβάτι, μόνο όταν το Ιατρικό Εξιτήριο γίνει Διοικητικό από το Γραφείο Κίνησης.

ΙΑΤΡΙΚΟ ΕΞΙΤΗΡΙΟ. Σημείωση : Ο ασθενής φεύγει πραγματικά από το κρεβάτι, μόνο όταν το Ιατρικό Εξιτήριο γίνει Διοικητικό από το Γραφείο Κίνησης. ΙΑΤΡΙΚΟ ΕΞΙΤΗΡΙΟ Το Ιατρικό Εξιτήριο ουσιαστικά είναι εντολή ιατρού για έξοδο του ασθενή από το τμήμα νοσηλείας, σε μια συγκεκριμένη ημερομηνία. Οι πληροφορίες που περιλαμβάνει είναι : Ημερομηνία εξόδου

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Θέμα Α A1. 1 δ 2 γ 3 α

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

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της

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

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

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

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 8: Ταυτοχρονισμός και νήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 8: Ταυτοχρονισμός και νήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός Ενότητα # 8: Ταυτοχρονισμός και νήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα

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

ΤΟ WEB 2.0 ΚΑΙ Η ΤΕΧΝΟΛΟΓΙΑ AJAX. ΧΡΗΣΗ ΤΟΥΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ.

ΤΟ WEB 2.0 ΚΑΙ Η ΤΕΧΝΟΛΟΓΙΑ AJAX. ΧΡΗΣΗ ΤΟΥΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ. ΤΟ WEB 2.0 ΚΑΙ Η ΤΕΧΝΟΛΟΓΙΑ AJAX. ΧΡΗΣΗ ΤΟΥΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ. ΤΣΑΠΛΑΡΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ. : Μ15/06 ΕΞΑΜΗΝΟ 4ο 2007-2008 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΜΗΜΑ : Δ.Π.Μ.Σ. ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ

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

Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. 1. χαρακτήρες α.

Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. 1. χαρακτήρες α. Α Π Α Ν Τ Η Σ Ε Ι Σ Θ Ε Μ Α Τ Ω Ν Π Α Ν Ε Λ Λ Α Δ Ι Κ Ω Ν Ε Ξ Ε Τ Α Σ Ε Ω Ν 2 0 1 3 Α Ν Α Π Τ Υ Ξ Η Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Ε Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Τ Ι Κ Ο Π Ε Ρ Ι Β Α Λ Λ Ο Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η Σ Κ Α

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης ΕΠ.1 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους διψήφιους άρτιους ακέραιους. Η άσκηση στην ουσία θα πρέπει να εκτυπώσει του αριθμούς 10, 12, 14,.,96, 98. Μεμιαπρώτηματιάθαμπορούσαμενατηνλύσουμεμετοναπροσπελάσουμετιςτιμές

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

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 4 ΙΟΥΛΙΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

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

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

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

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση Φροντιστήρια δυαδικό 1 ΦΡΟΝΤΙΣΤΗΡΙΑ δυαδικό Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση Τα θέματα επεξεργάστηκαν οι καθηγητές των Φροντιστηρίων «δυαδικό»

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

Μάντεψε τον Αριθμό. Έχω Ένα Μυστικό. Το Βρήκα;

Μάντεψε τον Αριθμό. Έχω Ένα Μυστικό. Το Βρήκα; Μάντεψε τον Αριθμό Ένα από τα πρώτα προγράμματα που συνηθίζεται να φτιάχνουν οι μαθητευόμενοι προγραμματιστές είναι ένα παιχνίδι στο οποίο ο παίκτης προσπαθεί να μαντέψει τον μυστικό αριθμό που έχει σκεφτεί

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α Α1. Να χαρακτηρίσετε καθεμιά από τις προτάσεις που ακολουθούν γράφοντας στο τετράδιό σας, δίπλα από τον αριθμό κάθε πρότασης, το γράμμα Σ, αν αυτή

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το του Υπολογιστή 1. Τι ονομάζεται Πρόγραμμα; Είναι οι οδηγίες που δίνονται στον υπολογιστή για να εξηγήσουμε πώς γίνεται μια εργασία (δηλαδή η

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 29 ΜΑΪΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 27 MAΪΟΥ 2009 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

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

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-6 και

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 19 Απριλίου 2015 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1.

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες] Α. Στο παρακάτω διάγραµµα εµφανίζεται η εκτέλεση ενός παράλληλου αλγόριθµου που λύνει το ίδιο πρόβληµα µε έναν ακολουθιακό αλγόριθµο χωρίς πλεονασµό. Τα Α i και B i αντιστοιχούν σε ακολουθιακά υποέργα

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

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

ΠΡΟΣ: Τηλέφωνο: 210-3443422 Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

ΠΡΟΣ: Τηλέφωνο: 210-3443422 Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.: ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ----- Βαθμός Ασφαλείας: Να διατηρηθεί μέχρι: Βαθ. Προτεραιότητας: ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ Π/ΘΜΙΑΣ ΚΑΙ Δ/ΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ,

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

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

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

www.lazarinis.gr ΑΕΠΠ - ΗΜΕΡΗΣΙΑ ΛΥΚΕΙΑ 2011 - ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

www.lazarinis.gr ΑΕΠΠ - ΗΜΕΡΗΣΙΑ ΛΥΚΕΙΑ 2011 - ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ Σελίδα 1 από 12 www.lazarinis.gr ΑΕΠΠ - ΗΜΕΡΗΣΙΑ ΛΥΚΕΙΑ 2011 - ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ Σε συνεργασία µε τις εκδόσεις ΕΛΛΗΝΟΕΚ ΟΤΙΚΗ κυκλοφορούν τα βοηθήµατα «Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον:

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

Ksyla.gr Σύντομη περιγραφή λειτουργίας

Ksyla.gr Σύντομη περιγραφή λειτουργίας Οδηγός Εφαρμογής Ksyla.gr Σύντομη περιγραφή λειτουργίας Το ksyla.gr είναι μια κοινότητα αγοραπωλησίας καύσιμου ξύλου σε οποιαδήποτε μορφή (καυσόξυλα, πέλλετ, μπρικέτες, κάρβουνα) καθώς επίσης και ειδών

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

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο 2 η Σειρά Ασκήσεων Αξία: 5% του τελικού σας βαθμού Bzr (Bazaar) Το Bazaar (ή bzr) είναι

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

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

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012 ΑΠΑΝΤΗΣΕΙΣ. ΘΕΜΑ Α Α1. Α2. 1. ΣΩΣΤΟ 1 στ 2. ΛΑΘΟΣ 2 δ 3. ΣΩΣΤΟ 3 ε 4. ΛΑΘΟΣ 4 β 5. ΣΩΣΤΟ 5 γ

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012 ΑΠΑΝΤΗΣΕΙΣ. ΘΕΜΑ Α Α1. Α2. 1. ΣΩΣΤΟ 1 στ 2. ΛΑΘΟΣ 2 δ 3. ΣΩΣΤΟ 3 ε 4. ΛΑΘΟΣ 4 β 5. ΣΩΣΤΟ 5 γ ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. Α2. 1. ΣΩΣΤΟ 1 στ 2. ΛΑΘΟΣ 2 δ 3. ΣΩΣΤΟ 3 ε 4. ΛΑΘΟΣ 4 β 5. ΣΩΣΤΟ 5 γ Α3. α. (σελ. 183-184) Στοίβα: ώθηση, απώθηση Ουρά:

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

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ 11.0 13.0 Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ 11.0 13.0 Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΤΑΞΗΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 1 ΙΟΥΝΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

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

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Lab09 Αντικείμενο: Πολυνηματικές εφαρμογές Η χρήση περισσότερων από μιας ροής εντολών μέσα σε ένα πρόγραμμα είναι γνωστή ως multithreading. H κάθε μια ροή εντολών μέσα στο πρόγραμμα ονομάζεται

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

Πράξις: Η εφαρμογή φοιτητού. Παρουσιάζεται η εμφάνιση τής εφαρμογής φοιτητού κατά στάδια καθώς και οι τυπικές ενέργειες τού χειριστού.

Πράξις: Η εφαρμογή φοιτητού. Παρουσιάζεται η εμφάνιση τής εφαρμογής φοιτητού κατά στάδια καθώς και οι τυπικές ενέργειες τού χειριστού. Πράξις: Η εφαρμογή φοιτητού Παρουσιάζεται η εμφάνιση τής εφαρμογής φοιτητού κατά στάδια καθώς και οι τυπικές ενέργειες τού χειριστού. Ανεξαρτήτως ατομικής ή ομαδικής ασκήσεως ΚΟΙΝΗ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΣΤΗΝ

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

3 ο εργαστήριο Scratch for NinjaCoders

3 ο εργαστήριο Scratch for NinjaCoders 3 ο εργαστήριο Scratch for NinjaCoders Τίτλος εφαρμογής: Space Invaders (Διαστημικοί εισβολείς) Περιγραφή στόχων, σενάριο εφαρμογής, παρουσίαση scratch, μεταβλητές, συμβάντα, προγραμματιστικές δομές 0

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

Πληροφορίες για το νέο HSK

Πληροφορίες για το νέο HSK Πληροφορίες για το νέο HSK Μετάφραση από την ιστοσελίδα http://www.chinesetesting.cn/gosign.do?id=1&lid=0# Το νέο HSK δημιουργήθηκε από το Χανπάν σε μια προσπάθεια καλύτερης εξυπηρέτησης των σπουδαστών

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 - ΣΩΣΤΟ Α5. Α3.

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 - ΣΩΣΤΟ Α5. Α3. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΔΕΚΑ (10) ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1

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

SIMATIC MANAGER SIMATIC MANAGER

SIMATIC MANAGER SIMATIC MANAGER 1 Προγραμματισμός του PLC. 1. Γενικά Μια προσεκτική ματιά σε μια εγκατάσταση που θέλουμε να αυτοματοποιήσουμε, μας δείχνει ότι αυτή αποτελείται από επιμέρους τμήματα τα οποία είναι συνδεδεμένα μεταξύ τους

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

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιο

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

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

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

Σενάριο 16: Ο κόσμος του Robby

Σενάριο 16: Ο κόσμος του Robby Σενάριο 16: Ο κόσμος του Robby Φύλλο Εργασίας Τίτλος: Ο κόσμος του Robby Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές εργασίες.

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