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

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

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

Transcript

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

2 ΤΙΤΛΟΣ: Σύγκριση απόδοσης αλγορίθμων λειτουργίας ανελκυστήρα. ΚΩΔΙΚΟΣ: 09159ΕΣ ΗΜΕΡΟΜΗΝΙΑ ΕΓΚΡΙΣΗΣ: 17/2/2009 ΗΜΕΡΟΜΗΝΙΑ ΑΝΑΛΗΨΗΣ: 3/3/2009 ΗΜΕΡΟΜΗΝΙΑ ΠΕΡΑΤΩΣΗΣ: 10/9/2009 ΣΤΟΙΧΕΙΑ ΦΟΙΤΗΤΗ Γεώργιος Μινόπουλος ΚΑΣ: ΣΤΟΙΧΕΙΑ ΕΠΙΒΛΕΠΟΝΤΑ Δρ Αναστασία Παπαστεργίου Επιστημονική Συνεργάτης, Τμήμα Ηλεκτρονικής, ΣΤΕΦ, ΑΤΕΙΘ Διδάκτωρ Τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο, Δ.Π.Θ. Τηλέφωνο: ,

3 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ/ABSTRACT..4 ΕΙΣΑΓΩΓΗ.5 ΚΕΦΑΛΑΙΟ 1 Ο 1.1 Ιστορική αναδρομή ανελκυστήρα Γλώσσες Προγραμματισμού Κατηγοριοποίηση γλωσσών προγραμματισμού Εξέλιξη γλώσσας C..10 ΚΕΦΑΛΑΙΟ 2 Ο 2.1 Αλγόριθμοι Σπουδαιότητα αλγορίθμων Κριτήρια αλγορίθμων...14 ΚΕΦΑΛΑΙΟ 3 Ο 3.1 Αλγόριθμος First In First Out Αλγόριθμος Shortest Path First Αλγόριθμος Scan..17 ΚΕΦΑΛΑΙΟ 4 Ο 4.1 Υλοποίηση FIFO Υλοποίηση SPF Υλοποίηση Scan Σύγκριση των αλγορίθμων Στατιστική ανάλυση αποδόσεων..40 ΚΕΦΑΛΑΙΟ 5 Ο 5.1 Συμπεράσματα Ανάπτυξη εφαρμογής...43 ΒΙΒΛΙΟΓΡΑΦΙΑ

4 ΠΕΡΙΛΗΨΗ Το θέμα αυτής της εργασίας είναι η σύγκριση απόδοσης αλγορίθμων για λειτουργία ανελκυστήρα. Στην εισαγωγή αναφέρομαι στους λόγους για τους οποίους ασχολήθηκα με αυτό το θέμα και στη χρηστική αξία των αλγορίθμων στην καθημερινότητα μας. Στο πρώτο κεφάλαιο κάνω μια ιστορική αναδρομή γύρω από τη λειτουργία του ανελκυστήρα, εξηγώ την έννοια των γλωσσών του προγραμματισμού, προβαίνω σε μια κατηγοριοποίηση αυτών και αναλύω την εξέλιξη της γλώσσας C. Στο δεύτερο κεφάλαιο κάνω μια λεπτομερή εισαγωγή στον κόσμο των αλγορίθμων, γράφω για την σπουδαιότητα τους και τα κριτήρια διαλογής τους. Το τρίτο κεφάλαιο παρουσιάζει και εξηγεί τους αλγορίθμους First In First Out, Shortest Path First και Scan. Στο επόμενο κεφάλαιο αναπτύσσω τον αντίστοιχο κώδικα και τα διαγράμματα ροής για τον κάθε αλγόριθμο με τη σειρά που παρουσιάστηκαν στο προηγούμενο κεφάλαιο. Επίσης γίνεται μια σύγκριση των αποδόσεων τους και ανάλυση των αποτελεσμάτων τους. Στο τελευταίο κεφάλαιο αναλύω τα συμπεράσματα που προκύπτουν από την έρευνα που διενεργήθηκε και παρουσιάζω την εφαρμογή που ανέπτυξα. ABSTRACT The subject of this work is the comparison of attribution of algorithms for operation of lift. In the introduction I am reported in the reasons for which I dealt with this subject and in the utilitarian value of algorithms in our everyday routine. In the first chapter I make a historical retrospection round the operation of lift, I explain the significance of programming languages, Ι proceed in a categorisation of these and Ι analyze the development of language C. In the second chapter I make a detail introduction in the world of algorithms, I write for their importance and their selection criteria. The third chapter presents and explains the algorithms First In First Out, Shortest Path First and Scan. In the next chapter I develop the corresponding code and the flowcharts for each algorithm as they were presented in the previous chapter. Also I do a comparison of their outputs and an analysis of their results. In the last chapter I analyze the conclusions that result from the research that was held and I present the application that I developed. 4

5 ΕΙΣΑΓΩΓΗ Ο περισσότερος κόσμος σήμερα αγνοεί τη σημασία των αλγορίθμων στη καθημερινότητα μας και ίσως ακόμα να αγνοεί την ίδια την ύπαρξη αυτού του όρου, παρόλο που διάφορες καθημερινές πράξεις αποτελούν μέρος κάποιου αλγόριθμου. Οι αλγόριθμοι μπορεί όντως να απασχολούν κυρίως τους ανθρώπους του κλάδου του προγραμματισμού, βρίσκουν όμως εφαρμογή σε πολλές χρήσιμες λειτουργίες εύκολα προσβάσιμες σε όλους μας, όπως αυτή του ανελκυστήρα. Ο λόγος για τον οποίο διάλεξα να ασχοληθώ με τους αλγόριθμους στην εργασία αυτή ήταν για να παρουσιάσω τους διαφορετικούς τρόπους με τους οποίους ο κάθε αλγόριθμος μπορεί να επηρεάσει τη λειτουργία του ανελκυστήρα. Ανάλογα με την απαίτηση που έχουμε κάνουμε χρήση και διαφορετικού αλγόριθμου. Στη προσπάθεια μου αυτή ασχολήθηκα με τρείς από τους πλέον δημοφιλής αλγόριθμους. Τον αλγόριθμο FIFO, ο οποίος χρησιμοποιείται κυρίως στα ασανσέρ διώροφων πολυκατοικιών. Τον αλγόριθμο SPF, που βρίσκει χρηστικότητα ιδιαίτερα σε νοσοκομειακά ασανσέρ και τον αλγόριθμο Scan, ίσως ο πιο διαδεδομένος αλγόριθμος στη λειτουργία του ανελκυστήρα, μιας και χρησιμοποιείται σε πολυώροφες πολυκατοικίες, σε ξενοδοχειακές μονάδες ακόμα και σε ουρανοξύστες. Στόχος της εργασίας είναι να εντοπίσω ποιος από αυτούς τους τρείς αλγόριθμους θέτει τον ανελκυστήρα σε κίνηση με τέτοιο τρόπο, ώστε αυτός να εξυπηρετεί όλους τους χρήστες το συντομότερο δυνατόν. Στο τελευταίο κεφάλαιο με τίτλο «Συμπεράσματα» καταλήγω στο ποιος από τους τρείς αλγόριθμους αποδεικνύεται αποτελεσματικότερος των υπολοίπων. 5

6 ΚΕΦΑΛΑΙΟ 1 Ο 1.1 Ιστορική αναδρομή ανελκυστήρα Ήταν αρχές του έτους 1853 όταν ο Αμερικανός μηχανικός Ελίσα Γκρέιβις Ότις (Elisha Graves Otis) τελειοποίησε την κατασκευή ενός ανελκυστήρα για να μεταφέρει ανθρώπους. Περιλάμβανε μια ασφαλιστική διάταξη αρπάγης που σφηνωνόταν στους οδηγούς, επάνω στους οποίους κινούνταν το όχημα, μόλις έπαυε να ασκείται δύναμη στο σχοινί ανύψωσης. Έπειτα από τέσσερα χρόνια τέθηκε και επίσημα σε λειτουργία ο πρώτος ανελκυστήρας σε πολυκατάστημα της Νέας Υόρκης. Μέσω μιας ατμομηχανής, η οποία χρησιμοποιούσε ως καύσιμο το κάρβουνο ανέβαινε σε ύψος πέντε ορόφων σε χρονικό διάστημα λιγότερο του ενός λεπτού. Από τότε κι έπειτα άρχισε η ραγδαία εξέλιξη τους και η μαζική χρήση τους. Αυτό δε σημαίνει ότι δεν έχουμε συναντήσει πρότυπα ανελκυστήρα και στην αρχαιότητα για διάφορες χρήσεις. Οι αρχαίοι Αιγύπτιοι ήδη από το 2700 π.χ. είχαν την ανάγκη να ανυψώνουν τεράστιες πέτρες για την κατασκευή πυραμίδων - ναών και εκμεταλλευόμενοι την θεωρία του επικλινούς επιπέδου κατορθώνουν με τεράστιες τσουλήθρες να μετακινούν σιγά σιγά προς τα πάνω αυτούς τους τεράστιους όγκους. Η αρχή της χρήσης μηχανών για ανύψωση φορτίων φαίνεται να γίνεται από το 236 π.χ. όπως αναφέρει ο ρωμαίος αρχιτέκτονας Βιτρούκιος, όπου υπήρχαν τέτοιου είδους συστήματα στα βασιλικά ανάκτορα, που κινούνταν με τη μυϊκή δύναμη ανθρώπων ή ζώων. Στο Μεσαίωνα παρατηρούμε μια 6

7 απλή μορφή τους από σχοινιά με γάντζο στην άκρη και ένα καλάθι. Αυτής της μορφής ήταν και οι πρώτοι ανελκυστήρες στην Ελλάδα και συγκεκριμένα στα Μετέωρα με τους οποίους μεταφέρονταν άνθρωποι και εμπορεύματα. Τα πρώτα αυτά μέσα μεταφοράς είχαν ένα σοβαρό πρόβλημα. Αν τυχόν έσπαγε το σχοινί, οι μεταφερόμενοι έπεφταν χωρίς καμιά πιθανότητα σωτηρίας και τα εμπορεύματα δεν είχαν καμιά πιθανότητα να φθάσουν στον προορισμό τους. Έπειτα στη Γαλλία το 17 ο αιώνα εφευρέθηκε ένα σύστημα με χρησιμοποίηση αντίβαρου για να ανεβοκατεβαίνει και λίγο αργότερα στην Αγγλία στις αρχές του 18 ου αιώνα κατασκευάστηκαν οι πρώτοι υδραυλικοί ανελκυστήρες. Στη δική μας εποχή μιας και έχουμε την πολυτέλεια του ηλεκτρικού ρεύματος χρησιμοποιούμε μηχανικούς ανελκυστήρες που μας δίνουν την ευελιξία να τροποποιούμε την λειτουργία τους όπως ακριβώς μας βολεύει. Γι αυτό και συναντάμε ασανσέρ σχεδόν σε όλα τα κτίρια των πόλεων, όπως τα σπίτια μας, τα νοσοκομεία, τα εργοστάσια αλλά ακόμα και σε υπερωκεάνια, σε εξέδρες εκτόξευσης πυραύλων και φυσικά στους ουρανοξύστες. Γίνεται εύκολα κατανοητό ότι σε κάθε κτήριο απαιτούνται και διαφορετικές ανάγκες λειτουργίας. Με κύρια χαρακτηριστικά την ταχύτητα μετακινήσεως του ανελκυστήρα, αλλά και τον τρόπο εκτελέσεως των κλήσεων που δέχεται ανά τους ορόφους. Κάπου εδώ μπαίνει λοιπόν και η αναγκαιότητα του προγραμματισμού. Έχοντας αναπτύξει σε μεγάλο βαθμό τις προγραμματιστικές μας δυνατότητες με την ύπαρξη των πολλών γλωσσών που αυτός διαθέτει μπορούμε να κάνουμε τους ανελκυστήρες απόλυτα λειτουργικούς σε κάθε περίπτωση. Η ανάπτυξη μιας σειράς αλγορίθμων είναι απαραίτητη για να διαπιστώσουμε πότε ο ανελκυστήρας πληροί τις προϋποθέσεις που έχουμε θέση για την αρτιότερη εξυπηρέτηση μας. 7

8 1.2 Γλώσσες προγραμματισμού Για τον περισσότερο κόσμο το ασανσέρ είναι απλά ένας μικρός θάλαμος όπου πατώντας ένα κουμπί μας μεταφέρει κατακόρυφα προς στον όροφο που θέλουμε. Αναμφισβήτητα μια πολλή σημαντική ανακάλυψη που δουλεύει τόσο εύκολα κρύβει από πίσω μια σειρά τεχνογνωσίας για την σωστή λειτουργία του. Πέντε δισεκατομμύρια χιλιόμετρα είναι η απόσταση που διανύουν κάθε χρόνο οι 750 χιλιάδες ανελκυστήρες σε πολυκατοικίες, ξενοδοχεία και ουρανοξύστες των Ηνωμένων Πολιτειών. Από αυτό και μόνο μπορούμε να καταλάβουμε πόσο απαραίτητοι έχουν γίνει στην καθημερινότητα μας. Το «μυστικό» που δίνει κίνηση στον ανελκυστήρα είναι ο τρόπος με τον οποίο θα τον προγραμματίσουμε. Από τη στιγμή που δέχεται τόσες πολλές εντολές επί καθημερινής βάσης γίνεται κατανοητό ότι πρέπει να γίνει μια πολλή προσεχτική κατασκευή κώδικα για την ορθή εκπλήρωση αυτών των εντολών. Ως γλώσσα προγραμματισμού λέγεται μια τεχνητή γλώσσα που μπορεί να χρησιμοποιηθεί για τον έλεγχο μιας μηχανής. Οι γλώσσες προγραμματισμού ορίζονται από ένα σύνολο συντακτικών και εννοιολογικών κανόνων, που ορίζουν τη δομή και το νόημα, αντίστοιχα, των προτάσεων της γλώσσας και αυτό είναι που αποκαλείται ως κώδικας του προγραμματισμού. Υπάρχουν χιλιάδες γλώσσες προγραμματισμού και όπως είναι φυσικό όλες διαφέρουν μεταξύ τους στο σύνολο τυπικών προδιαγραφών ή κανόνων που αφορούν το συντακτικό, το λεξιλόγιο και το νόημα της. Κάθε γλώσσα λοιπόν δημιουργείται για να εξυπηρετήσει διαφορετικούς σκοπούς ή για να γίνει ακόμα πιο λειτουργική και εύχρηστη σε σχέση με κάποια άλλη προγενέστερη, συνδυάζοντας τα θετικά στοιχεία αυτής μαζί με την προσθήκη νέων. Μερικές από τις γνωστότερες γλώσσες προγραμματισμού είναι οι: Pascal, Assembly, Visual Basic, C++, Mat lab, Lisp, Haskell και Java. 8

9 1.3 Κατηγοριοποίηση γλωσσών προγραμματισμού Η κατηγοριοποίηση όλων αυτών των γλωσσών προγραμματισμού δεν είναι ένα εύκολο εγχείρημα, γι αυτό και υπάρχουν διάφορες περιπτώσεις κατηγοριοποίησης. Ο πλέον διαδεδομένος είναι με βάση τον τρόπο οργάνωσης του προγράμματος. Σ αυτήν την περίπτωση προκύπτουν τρεις κατηγορίες. Διαδικαστικές γλώσσες (procedural) όπου το πρόγραμμα είναι οργανωμένο σε διαδικασίες, που αποτελούνται από σειρές εντολών που περιγράφουν αλγορίθμους. Αντικειμενοστρεφείς γλώσσες (object-oriented) όπου το πρόγραμμα είναι οργανωμένο σε αντικείμενα. Ένα αντικείμενο είναι μια μονάδα που αποτελείται από την περιγραφή κάποιων δεδομένων και την περιγραφή των αλγορίθμων που τα επεξεργάζονται. Ένα αντικειμενοστρεφές πρόγραμμα αποτελείται από διάφορα αντικείμενα που αλληλεπιδρούν μεταξύ τους. Συναρτησιακές γλώσσες (functional) όπου οι υπολογισμοί εκφράζονται ως εφαρμογές μαθηματικών συναρτήσεων, σε αντίθεση με τα άλλα είδη προγραμματισμού όπου οι υπολογισμοί εκφράζονται ως σειρές εντολών, όπου η κάθε μία αλλάζει με κάποιο τρόπο την κατάσταση του συστήματος. Στην πρώτη κατηγορία ανήκει και η γλώσσα προγραμματισμού C με την οποία θα ασχοληθούμε ως επί των πλείστων. 9

10 1.4 Εξέλιξη γλώσσας C Όπως προείπαμε η C είναι μια γενικής χρήσης διαδικαστική γλώσσα προγραμματισμού η οποία αναπτύχτηκε στις αρχές της δεκαετίας από τον Dennis Richie. Από τότε χρησιμοποιείται ευρύτατα, και ιδιαίτερα για ανάπτυξη προγραμμάτων συστήματος, αλλά και για απλές εφαρμογές. Ο κυρίως λόγος της ραγδαίας ανάπτυξης της συγκεκριμένης γλώσσας προγραμματισμού είναι η ταχύτητα της. Αρχικά η C αναπτύχθηκε στα AT&T Bell Labs ανάμεσα στο 1969 και το Ονομάστηκε "C" λόγω του ότι πολλά από τα χαρακτηριστικά της προήλθαν από μια παλαιότερη γλώσσα, η οποία ονομαζόταν "B". Μέχρι το 1973 η C είχε γίνει αρκετά ισχυρή και αποτελεσματική, ώστε το μεγαλύτερο μέρος του πυρήνα του UNIX, γραμμένο αρχικά σε PDP-11/20 assembly, επανεγγράφηκε σε C. Ήταν ένας από τους πρώτους πυρήνες που υλοποιήθηκε σε μια γλώσσα διαφορετική της assembly. Από εκείνο το σημείο και μετά άρχισε να αυξάνεται όλο και περισσότερο η χρήση της συγκεκριμένης γλώσσας προγραμματισμού για διάφορους σκοπούς κι έτσι το 1978, ο Dennis Ritchie και ο Brian Kernighan δημοσίευσαν την πρώτη έκδοση του "The C Programming Language". Το συγκεκριμένο βιβλίο χρησίμευσε πολλά χρόνια ως ένας ανεπίσημος ορισμός της γλώσσας. 10

11 ΚΕΦΑΛΑ ΙΟ 2 Ο 2.1 Αλγόριθμοι Η λέξη αλγόριθμος προέρχεται από τον Πέρση μαθηματικό του 8 ου αιώνα μ.χ. Αλ Χουαρίζμι (Muhammad ibn Musa Αl-Khwarizmi), ο οποίος έγραψε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων σε διάφορα συγγράμματά του. Όλες οι τυποποιημένες οδηγίες άρχιζαν με την φράση «ο αλγόριθμος λέει...», έτσι η λέξη αλγόριθμος καθιερώθηκε αργά τα επόμενα χίλια χρόνια με την έννοια «συστηματική διαδικασία αριθμητικών χειρισμών». Αναφέραμε ότι οι διαδικαστικές γλώσσες προγραμματισμού όπως η C αποτελούνται από σειρές εντολών που περιγράφουν αλγορίθμους. Τι είναι όμως ένας αλγόριθμος; Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμω ν σε πεπερασμένο χρόνο, που στοχεύουν στη ν επίλυση ενός προβλήματος. Ένας από τους παλαιότερους αλγορίθμους, μεγάλης σπουδαιότητας μάλιστα, μας έγινε γνωστός από το έργο του Ευκλείδη «Στοιχεία» και συγκεκριμένα στο έβδομο από τα δεκατρία βιβλία που περιέχει, είναι ο λεγόμενος αλγόριθμος του Ευκλείδη με τον οποίο βρίσκουμε τον μέγιστο κοινό διαιρέτη δύο ακέραιων αριθμών. Οι αλγόριθμοι μπορούν να υλοποιηθούν από προγράμματα ηλεκτρονικών υπολογιστών. Ένα λάθος στον σχεδιασμό ενός αλγόριθμου για την λύση ενός προβλήματος μπορεί να οδηγήσει σε αποτυχίες/βλάβες στο εφαρμοσμένο πρόγραμμα. Για οποιαδήποτε υπολογιστική διαδικασία, ο αλγόριθμος πρέπει να είναι αυστηρά ορισμένος για όλες τις πιθανές περιστάσεις που θα μπορούσαν να προκύψουν. Δηλαδή οποιαδήποτε υπό όρους βήματα πρέπει να εξεταστούν συστηματικά, και σε κάθε περίπτωση τα κριτήρια πρέπει να είναι σαφή. 11

12 Οι αλγόριθμοι είναι σημαντικοί γιατί σχετίζονται άμεσα με τον τρόπο τον οποίο οι υπολογιστές επεξεργάζονται πληροφορίες. Ένα πρόγραμμα υπολογιστών είναι ουσιαστικά ένας αλγόριθμος που λέει στον υπολογιστή ποια συγκεκριμένα βήματα να εκτελέσει προκειμένου να επιτευχθεί ένας συγκεκριμένος στόχος. Κατά συνέπεια, ένας αλγόριθμος μπορεί να θεωρηθεί οποιαδήποτε ακολουθία εντολών που μπορεί να εκτελεσθεί από ένα πλήρες σύστημα. Χαρακτηριστικά, όταν ένας αλγόριθμος συνδέεται με την επεξεργασία πληροφοριών, τα δεδομένα διαβάζονται από μια συσκευή εισόδου, γράφονται σε μια συσκευή εξόδου, και αποθηκεύονται για την περαιτέρω χρήση. Τα αποθηκευμένα στοιχεία θεωρούνται ως τμήμα της εσωτερικής κατάστασης του συστήματος που εκτελεί τον αλγόριθμο. 12

13 2.2 Σπουδαιότητα αλγορίθμων Έχει γίνει κατανοητό ότι ο αλγόριθμος αποσκοπεί στην επίλυση ενός προβλήματος. Έτσι είναι απαρ αίτητο να γίνεται μια καλή ανάλυση του κάθε προβλήματος και να προτείνεται συγκεκριμένη μεθοδολογία και ακολουθία βημάτων. Βασικός στόχος μας είναι η πρόταση έξυπνων και αποδοτικών λύσεων. Γι αυτό προκύπτει ότι για την ανάλυση ενός προβλήματος σε ένα σύγχρονο υπολογιστικό περιβάλλον περιλαμβάνεται η καταγραφή της υπάρχουσας πληροφορίας για το πρόβλημα, η αναγνώριση των ιδιαιτεροτήτων του προβλήματος, η αποτύπωση των συνθηκών και προϋποθέσεων υλοποίησης του, η πρόταση επίλυσης του με χρήση κάποιας μεθόδου και η τελική επίλυση με χρήση υπολογιστικών συστημάτων. Όποτε κατά την ανάλυση ενός προβλήματος θα πρέπει να δοθεί απάντηση σε κάθε μια από τις πέντε κρίσιμες ερωτήσεις: 1. Ποια είναι τα δεδομένα του προβλήματος. 2. Ποιες είναι οι συνθήκες που πρέπει να πληρούνται για την επίλυση του προβλήματος. 3. Ποια είναι η πλέον αποδοτική μέθοδος επίλυσης τους. 4. Πως θα καταγραφεί η λύση σε ένα πρόβλημα. 5. Ποιος είναι ο τρόπος υλοποίησης στο συγκεκριμένο υπολογιστικό σύστημα. 13

14 2.3 Κριτήρια αλγορίθμων Οι αλγόριθμοι θα πρέπει να πληρούν κάποια πρότυπα και να διατυπώνονται με συγκεκριμένο τρόπο. Έτσι κάθε αλγόριθμος πρέπει απαραίτητα να ικανοποιεί τα επόμενα κριτήρια: Είσοδοι. Καμία, μία ή και περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια των συναρτήσεων παραγωγής τυχαίων αριθμών, ή με την βοήθεια άλλων απλών εντολών. Έξοδος. Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. Καθοριστικότητα. Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσης της. Λόγου χάριν, μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει τη μηδενική τιμή. Περατότητα. Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία. Αποτελεσματικότητα. Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μια εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη. 14

15 ΚΕΦΑΛΑΙΟ 3 Ο 3.1 Αλγόριθμος First In First Out Ένας από τους γνωστότερους και πλέον διαδεδομένους αλγόριθμους στην επιστήμη των υπολογιστών και όχι μόνο είναι γνωστός με την ονομασία FIFO (First In First Out). Η ονομασία του και μόνο μας δίνει μια πρώτη εικόνα για τον τρόπο με τον οποίο λειτούργει αυτός ο αλγόριθμος. Το κύριο νόημα λειτουργίας του είναι να εξυπηρετεί της αιτήσεις που δέχεται με τη σειρά που αυτές συνέβησαν. Αναλυτικότερα, όλες οι αιτήσεις μπαίνουν σε μία «ουρά». Η ουρά (queue) είναι ένα συγκεκριμένο είδος συλλογής, στην οποία τα στοιχεία της συλλογής είναι διατεταγμένα και οι πρωτεύουσες πράξεις είναι η εισαγωγή στοιχείων στην πίσω θέση και η διαγραφή στοιχείων από την μπροστά θέση. Στη διαδικασία FIFO λοιπόν, το πρώτο στοιχείο που εισάγεται στην ουρά θα είναι και το πρώτο που θα αφαιρεθεί. Αυτό είναι ισοδύναμο με την απαίτηση ότι, όταν ένα στοιχείο εισάγεται, όλα τα στοιχεία που είχαν εισαχθεί νωρίτερα πρέπει να διαγραφούν πριν το νέο στοιχείο καλεστεί. Ένα χαρακτηριστικό της ουράς είναι ότι δεν έχει συγκεκριμένο μέγεθος. Ασχέτως από το πόσα στοιχεία περιέχονται ήδη, ένα νέο στοιχείο μπορεί πάντα να εισαχθεί. Μπορεί επίσης να είναι άδεια. Σ' αυτό το σημείο, για να διαγραφεί ένα στοιχείο θα είναι αδύνατον μέχρι να εισαχθεί ένα νέο στην ουρά. Ένα αντιπροσωπευτικό παράδειγμα FIFO είναι οι ουρές των ταμείων μιας τράπεζας. Το πρόσωπο στην αρχή της ουράς είναι το πρώτο που θα φύγει, ενώ στο τέλος της ουράς είναι αυτό που θα φύγει τελευταίο. Κάθε φορά που το πρόσωπο τελειώνει την δουλειά του, εκείνο εγκαταλείπει την ουρά από μπροστά. 15

16 3.2 Αλγόριθμος Shortest Path First Εκ πρώτης όψεως ένας πιο εξελιγμένος αλγόριθμος, για τον καθορισμό της κίνησης του ανελκυστήρα και την εξυπηρέτηση των αιτήσεων, από τον προηγούμενο θεωρείται αυτός που θα ασχοληθούμε τώρα. Ονομάζεται Shortest Path First (SPF) και η βασική του έννοια είναι, ο ανελκυστήρας να εξυπηρετεί πρώτα την αίτηση που βρίσκεται πιο κοντά στον τρέχοντα όροφο. Να κάνει, δηλαδή, κάθε φορά την μικρότερη διαδρομή. Αυτός ο τρόπος είναι μια άμεση βελτίωση του αλγόριθμου FIFO. Ο αλγόριθμος SPF καθορίζει ποια αίτηση βρίσκεται ποιο κοντά στην τρέχουσα θέση του ανελκυστήρα και μόλις την εξυπηρετήσει, αντίστοιχα, βρίσκει την επόμενη κοντινότερη αίτηση από τη νέα θέσ η όπου βρίσ κεται και συνεχίζει κατ αυτόν τον τρόπο. Ο SPF έχει το άμεσο όφελος της απλότητας και θεωρητικά είναι επωφελέστερος σε σύγκριση με τον FIFO, στο ότι η συνολική κίνηση του ανελκυστήρα είναι μειωμένη. Κάτι τέτοιο φέρει ως αποτέλεσμα χαμηλότερο μέσο όρο χρόνου εξυπηρέτησης. Ωστόσο, με δεδομένο ότι θα υπάρχουν σίγουρα νέες αιτήσεις, αυτές μπορούν να ζημιώσουν τον χρόνο εξυπηρέτησης αν βρίσκονται σε κοντινή απόσταση από την τρέχουσα θέση του ανελκυστήρα, γιατί θα εκκρεμούν για μεγάλο χρονικό διάστημα πρότερες αιτήσεις οι οποίες βρίσκονται σε μακρινότερες αποστάσεις. Έτσι λοιπόν με τις μακρινές αιτήσεις να εκκρεμούν αυτός ο αλγόριθμος δε θα είναι σε θέση να σημειώσει πρόοδο. 16

17 3.3 Αλγόριθμος Scan Ένας ακόμα αλγόριθμος με τον οποίο θα ασχοληθούμε είναι αυτός της σάρωσης (Scan). Είναι χαρακτηριστικό ότι τον συγκεκριμένο αλγόριθμο τον συναντάμε συχνά και με την ονομασία Elevator Algorithm, γιατί είναι ο πλέον διαδεδομένος για την λειτουργία του ανελκυστήρα. Πιο συγκεκριμένα ο ανελκυστήρας εξυπηρετεί πρώτα όλες τις αιτήσεις προς τη μία κατεύθυνση (για παράδειγμα προς τα πάνω) και στη συνέχεια όλες τις αιτήσεις που έχουν παρουσιαστεί προς την άλλη κατεύθυνση. Ο αλγόριθμος Scan είναι ένας απλός αλγόριθμος, πολύ σημαντικός όμως, γιατί ένας ανελκυστήρας μπορεί να αποφασίσει που θα σταματήσει. Με τη μέθοδο της σάρωσης ο ανελκυστήρας κατευθύνεται στην πιο κοντινή αίτηση που βρίσκεται στην κατεύθυνση προς στην οποία ήδη σαρώνει. Μόνο όταν ικανοποιήσει όλες τις αιτήσεις προς την ίδια κατεύθυνση, μπορεί είτε να σταματήσει εάν δεν υπάρχουν άλλες αιτήσεις σε εκκρεμότητα και να παραμείνει σε αδράνεια, είτε αντιστρέφεται η φορά της σάρωσης για να εξυπηρετηθούν και οι αιτήσεις που απομένουν. Ενώ ο Scan φαίνεται να λύνει το πρόβλημα που αντιμετωπίζει ο SPF, έχει κι αυτός τις αδυναμίες του. Το πρόβλημα αυτό εντοπίζεται στις νέες αιτήσεις, που λαμβάνονται κατά τη διάρκεια της κίνησης του ασανσέρ, όταν αντιστοιχούν στον εκάστοτε όροφο που μόλις ο ανελκυστήρας εξυπηρέτησε. Αν ο ανελκυστήρας έχει ξεκινήσει για παράδειγμα την πορεία του προς τα πάνω και του ζητηθεί να εξυπηρετήσει τον όροφο που μόλις πέρασε θα συνεχίσει την πορεία του κανονικά χωρίς να παρεκκλίνει. Δηλαδή, πρώτα θα πάει προς τους ψηλότερους ορόφους όπου του ζητήθηκε και έπειτα θα κατέβει στον συγκεκριμένο όροφο παρόλο που αρχικά βρισκόταν κοντά. 17

18 ΚΕΦΑΛΑΙΟ 4 Ο 4.1 Υλοποίηση FIFO Η ανάπτυξη των τριών αλγορίθμων γίνεται μέσω των συναρτήσεων orderfifo, orderspf, orderscan στις οποίες ορίζουμε τα τρία ορίσματα που θα χρησιμοποιήσουμε. Στην περίπτωση μας τα δυο πρώτα ορίσματα είναι πίνακες και το τρίτο όρισμα καθορίζει το μέγεθος που αυτοί έχουν. Ο δεύτερος πίνακας περιέχει τις αρχικές τιμές. Η κάθε συνάρτηση παίρνει αυτές τις τιμές και τις ανασυντάσσει όπως εμείς επιθυμούμε. Όπως εξηγήσαμε ο τρόπος που λειτουργεί ο FIFO είναι να εκτελεί τις αιτήσεις με την χρονική σειρά που τις δέχεται. Ο πίνακας x λοιπόν περιέχει τις αιτήσεις που θα δώσουμε στο πρόγραμμα. Ο αλγόριθμος παίρνει αυτές τις τιμές με τη σειρά που δόθηκαν και τις τοποθετεί στον πίνακα f για να τις εκτελέσει. Αυτό που παρατηρούμε τελικά στον αλγόριθμο FIFO είναι ότι ο πίνακας f που δημιουργείτε θα είναι ακριβώς ίδιος με τον πίνακα x που περιέχει τις αρχικές τιμές. 18

19 Διάγραμμα ροής: Αρχή i=0 i<n OXI NAI f [i]=x[i] Τέλος i=i+1 Κώδικας: void orderfifo(int *f, int *x, int n) int i; for (i = 0; i < n; i++) f[i] = x[i]; 19

20 4.2 Υλοποίηση SPF Σε αυτόν τον αλγόριθμο θέλουμε να εκτελείται η πιο κοντινή σε απόσταση αίτηση σε σχέση με την προηγούμενη. Οπότε αρχικά δημιουργούμε έναν πίνακα s ίδιο με τον πίνακα x, που περιέχει τις αρχικές αιτήσεις. Για να εκτελεστούν οι αιτήσεις με τη σειρά που θέλουμε αφήνουμε την τιμή της πρώτης θέσης ίδια και ύστερα ο αλγόριθμος αντιμεταθέτει στην δεύτερη θέση την αίτηση που βρίσκεται σε απόσταση πιο κοντά στην πρώτη θέση. Αφού το πετύχουμε αυτό, για την τρίτη θέση ο αλγόριθμος μεταφέρει την τιμή που βρίσκεται πιο κοντά στην δεύτερη. Αυτή η διαδικασία με τις αντιμεταθέσεις γίνεται συνεχώς για όλες τις τιμές του πίνακα s. Για την περίπτωση όπου ο ανελκυστήρας βρίσκεται ανάμεσα σε δύο αιτήσεις με την ίδια απόσταση από αυτόν, ο αλγόριθμος επιλέγει να ικανοποιήσει την αίτηση που δόθηκε χρονικά πρώτη εκ των δύο και ύστερα με τον τρόπο που αναφέρουμε πιο πάνω θα έρθει και η στιγμή που θα ικανοποιήσει και την άλλη αίτηση. 20

21 Διάγραμμα ροής: Αρχή i=0 i<n OXI NAI s[i]=x[i] i=1 i=i+1 i<n-1 NAI min= s[i]-s[i-1] OXI Τέλος minposition=i j=i+1 j<n OXI NAI currentmin= s[j]-s[i-1] currentmin < min OXI NAI min=currentmin minposition=j 21

22 j=j+1 temp=s[i] s[i] = s[minposition] s[minposition] = temp i=i+1 22

23 Κώδικας: void orderspf(int *s, int *x, int n) int i, j; int min, minposition, currentmin; int temp; // αρχικοποεί τον πίνακα s ίδιο με τον πίνακα x for (i = 0; i < n; i++) s[i] = x[i]; // κάνει τις κατάλληλες αντιμεταθέσεις στον πίνακα s για να δημιουργηθεί η σειρά SPF for (i = 1; i < n-1; i++) min = abs(s[i] - s[i-1]); minposition = i; for (j = i + 1; j < n; j++) currentmin = abs(s[j] - s[i-1]); if (currentmin < min) min = currentmin; minposition = j; temp = s[i]; s[i] = s[minposition]; s[minposition] = temp; 23

24 4.3 Υλοποίηση SCAN Ο τρόπος λειτουργίας αυτού του αλγορίθμου ταιριάζει αρκετά με τον προηγούμενο. Αυτό που συμβαίνει εδώ είναι να εξυπηρετούνται όλες οι αιτήσεις προς τη μια κατεύθυνση, ξεκινώντας, χωρίς βλάβη της γενικότητας, με πορεία προς τα πάνω και έπειτα κατεβαίνοντας να εξυπηρετεί και τις υπόλοιπες αιτήσεις με τη σειρά που συναντάει τους ορόφους. Και πάλι αρχικοποιούμε τον πίνακα s δίνοντας του τις ίδιες τιμές με τον πίνακα x. Η τιμή της πρώτης θέσης παραμένει πάλι η ίδια και αυτή τη φορά ο αλγόριθμος ψάχνει ποια αίτηση ορόφου βρίσκεται κοντινότερα αλλά με την προϋπόθεση να έχει τιμή μεγαλύτερη του τρέχοντος ορόφου. Αφού βρει αυτή τη τιμή την αντιμεταθέτει με την τιμή της δεύτερης θέσης. Κατ αυτόν τον τρόπο κάνει και την σύγκριση της τιμής της δεύτερης θέσης μέχρι να βρει την επόμενη κοντινότερη αλλά ταυτόχρονα και μεγαλύτερη τιμή και την αντιμεταθέτει με την τρίτη θέση. Συνεχίζει έτσι μέχρι να φτάσει στην υψηλότερη τιμή αίτησης. Από κει ξεκινάει η καθοδική πορεία του ανελκυστήρα με παρόμοιο τρόπο. Ο αλγόριθμος εντοπίζει ποια αίτηση, που δεν έχει ικανοποιηθεί ακόμη, βρίσκεται ποιο κοντά στον υψηλότερο όροφο και την αντιμεταθέτει στη διπλανή θέση (είναι αυτονόητο ότι θα έχει τιμή μικρότερη της πρώτης θέσεως του πίνακα μας). Και αυτή η διαδικασία γίνεται μέχρι να φτάσουμε στον χαμηλότερο όροφο, που έχει αιτηθεί, δηλαδή στην μικρότερη τιμή του πίνακα s. 24

25 Διάγραμμα ροής: Αρχή i=0 i<n OXI NAI s[i]=x[i] positiondone=0 i=i+1 i=1 i<n-1 NAI firstime=1 OXI j=j=+1 j<n OXI NAI s[j]>s[i-1] NAI OXI NAI currentmin= s[j]-s[i-1] firstime==1 positiondone= positiondone+1 25

26 ` min=currentmin minposition=j firstime=0 currentmin<min OXI NAI min=currentmin minposition=j j=j+1 temp=s[i] s[i]=s[minposition] s[minposition]=temp i=positiondone i<n-1 OXI NAI min= s[i]-s[i-1] Τέλος 26

27 minposition=i j=i+1 j<n OXI NAI currentmin= s[j]-s[i-1] currentmin<min OXI NAI min=currentmin minposition=j temp=s[i] s[i]=s[minposition] s[minposition]=temp i=i+1 27

28 Κώδικας: void orderscan(int *s, int *x, int n) int i, j; int min, minposition, currentmin; int temp; int firsttime; int positiondone; // αρχικοποεί τον πίνακα s ίδιο με τον πίνακα x for (i = 0; i < n; i++) s[i] = x[i]; // κάνει τις κατάλληλες αντιμεταθέσεις στον πίνακα s για να δημιουργηθεί η σειρά SCAN // στο ανέβασμα (καθώς ο ανελκυστήρας ανεβαίνει) positiondone = 0; for (i = 1; i < n-1; i++) firsttime = 1; for (j = i + 1; j < n; j++) if (s[j] > s[i-1]) currentmin = abs(s[j] - s[i-1]); if (firsttime == 1) positiondone = positiondone + 1; min = currentmin; minposition = j; firsttime = 0; else if (currentmin < min) 28

29 min = currentmin; minposition = j; temp = s[i]; s[i] = s[minposition]; s[minposition] = temp; // στο κατέβασμα (καθώς ο ανελκυστήρας κατεβαίνει) for (i = positiondone; i < n-1; i++) min = abs(s[i] - s[i-1]); minposition = i; for (j = i + 1; j < n; j++) currentmin = abs(s[j] - s[i-1]); if (currentmin < min) min = currentmin; minposition = j; temp = s[i]; s[i] = s[minposition]; s[minposition] = temp; 29

30 4.4 Σύγκριση των αλγορίθμων Έχοντας ολοκληρώσει την δημιουργία των τριών αλγορίθμων που μας απασχολούν, το επόμενό μας βήμα είναι να διαπιστώσουμε ποιος είναι ο πιο αποδοτικός. Ποιος, δηλαδή, θα ανταποκριθεί στις ίδιες κλήσεις συντομότερα. Αυτόματα οδηγούμαστε στη σύγκριση τους. Για να βγάλουμε ασφαλές αποτέλεσμα αυτό που έχουμε να κάνουμε είναι να μετρήσουμε τη διαδρομή που πρόκειται να διανύσει ο ανελκυστήρας μέχρι να εξυπηρετήσει όλες τις αιτήσεις. Αυτό πρέπει να γίνει για τον καθένα αλγόριθμο ξεχωριστά. Το κυριότερο όμως είναι να τους ελέγξουμε για κάθε πιθανό συνδυασμό ορόφων που μπορεί να προκύψει. Όλοι οι συνδυασμοί προκύπτουν από τον τύπο n n, όπου n = αριθμός των ορόφων. Αν δηλαδή εξετάζουμε μια τετραώροφη πολυκατοικία έχουμε 4 4 = 256 συνδυασμούς. Έτσι ακριβώς λειτουργεί και ο συγκεκριμένος κώδικας. Πραγματοποιεί όλους τους συνδυασμούς για n=2 ως n=8 και το πρόγραμμα εμφανίζει το μέσο όρο των ορόφων που χρειάστηκε να διανύσει για να εκπληρώσει όλους τους συνδυασμούς, το μέσο όρο αναμονής των ορόφων μέχρι να εξυπηρετηθούν και το μέσο όρο της μέγιστης αναμονής ενός ορόφου. Κώδικας: #include <stdio.h> #include <malloc.h> #include <math.h> int *define(int n) int *x; x = (int *) malloc(n * sizeof(int)); return x; void initialization(int *x, int n) int i; 30

31 for (i = 0; i < n; i++) x[i] = 0; void orderfifo(int *f, int *x, int n) int i; for (i = 0; i < n; i++) f[i] = x[i]; void orderspf(int *s, int *x, int n) int i, j; int min, minposition, currentmin; int temp; for (i = 0; i < n; i++) s[i] = x[i]; for (i = 1; i < n-1; i++) min = abs(s[i] - s[i-1]); minposition = i; for (j = i + 1; j < n; j++) currentmin = abs(s[j] - s[i-1]); if (currentmin < min) min = currentmin; minposition = j; temp = s[i]; 31

32 s[i] = s[minposition]; s[minposition] = temp; void orderscan(int *s, int *x, int n) int i, j; int min, minposition, currentmin; int temp; int firsttime; int positiondone; int updown; for (i = 0; i < n; i++) s[i] = x[i]; if (s[1] > s[0]) updown = 1; else updown = 2; positiondone = 0; for (i = 1; i < n-1; i++) minposition = i; firsttime = 1; for (j = i; j < n; j++) 32

33 if ((updown == 1 && s[j] > s[i-1]) (updown == 2 && s[j] < s[i-1])) currentmin = abs(s[j] - s[i-1]); if (firsttime == 1) positiondone = positiondone + 1; min = currentmin; minposition = j; firsttime = 0; else if (currentmin < min) min = currentmin; minposition = j; temp = s[i]; s[i] = s[minposition]; s[minposition] = temp; for (i = positiondone; i < n-1; i++) min = abs(s[i] - s[i-1]); minposition = i; for (j = i + 1; j < n; j++) currentmin = abs(s[j] - s[i-1]); if (currentmin < min) 33

34 min = currentmin; minposition = j; temp = s[i]; s[i] = s[minposition]; s[minposition] = temp; int distance(int *x, int n) int i; int d = 0; for (i = 0; i < n-1; i++) d = d + abs(x[i] - x[i+1]); return d; int delaysum(int *x, int n) int i; int d = abs(x[0] - x[1]); int delay = 0; for (i = 1; i < n; i++) delay = delay + d; d = abs(x[i] - x[i+1]); 34

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

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

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

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

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

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

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

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Οι αριθμητικές πράξεις που εκτελούνται στον υπολογιστή αποτελούν το

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

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

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

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

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

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

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

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

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Δρ. Βασίλειος Σάλτας 1, Αλέξης Ηλιάδης 2, Ιωάννης Μουστακέας 3 1 Διδάκτωρ Διδακτικής Μαθηματικών, Επιστημονικός Συνεργάτης ΑΣΠΑΙΤΕ Σαπών coin_kav@otenet.gr

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ ΤΑΞΗ ΚΕΦΑΛΑΙΟ 2 ο ΕΙΣΗΓΗΤΗΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ : ΚΑΖΑΝΤΖΗΣ ΧΡΗΣΤΟΣ 1. Γενικός

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

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

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

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

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

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Στόχοι του μαθήματος Μετά το τέλος του μαθήματος οι μαθητές πρέπει να είναι σε θέση: Να περιγράφουν τι είναι πρόγραμμα Να εξηγούν την αναγκαιότητα για τη δημιουργία γλωσσών

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

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

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

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

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55 ΑΝΑ ΡΟΜΗ- ΑΣΚΗΣΕΙΣ Μια µέθοδος είναι αναδροµική όταν καλεί τον εαυτό της και έχει µια συνθήκη τερµατισµού π.χ. το παραγοντικό ενός αριθµού Ν, µπορεί να καλεί το παραγοντικό του αριθµού Ν-1 το παραγοντικό

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

2 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

2 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 20 ΟΚΤ 2015

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Εργαστήριο 2: Πίνακες

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

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

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

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

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

α=5, β=7, γ=20, δ=αληθής

α=5, β=7, γ=20, δ=αληθής γραπτή εξέταση στo μάθημα ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ' ΛΥΚΕΙΟΥ Τάξη: Γ Λυκείου Τμήμα: Βαθμός: Ονοματεπώνυμο: Καθηγητές: Θ Ε Μ Α A Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση

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

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

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

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

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον

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

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

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

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 2 ΠρογραµµατισµόςΗ/Υ Θέµατα ιάλεξης οµή Προγράµµατος C Μεθοδολογία

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

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

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πολλαπλά Αρχεία Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πολλαπλά Αρχεία Όταν γράφουμε μεγάλα προγράμματα θέλουμε να έχουμε ανεξάρτητα κομμάτια κώδικα

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

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

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

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

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

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

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

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

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

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

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

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

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

Όνομα : Επώνυμο: Τάξη : Καθηγητής : Ημ/νία : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (18-11-2012) Γ3, Γ4 ΑΝ Α < Β ΤΟΤΕ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΑΝ

Όνομα : Επώνυμο: Τάξη : Καθηγητής : Ημ/νία : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (18-11-2012) Γ3, Γ4 ΑΝ Α < Β ΤΟΤΕ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΑΝ Όνομα : Επώνυμο: Τάξη : ΦΡΟΝΤΙΣΤΗΡΙΟ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΛΑΤΕΙΑ ΗΡΩΩΝ ΠΟΛΥΤΕΧΝΕΙΟΥ 13 - ΤΗΛ. 2108048919 ΠΛΑΤΕΙΑ ΗΡΩΩΝ ΠΟΛΥΤΕΧΝΕΙΟΥ 29 - ΤΗΛ. 2108100606 www.dinamiko.gr, email: info@dinamiko.gr Καθηγητής

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

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

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

Μετατόπιση, είναι η αλλαγή (μεταβολή) της θέσης ενός κινητού. Η μετατόπιση εκφράζει την απόσταση των δύο θέσεων μεταξύ των οποίων κινήθηκε το κινητό.

Μετατόπιση, είναι η αλλαγή (μεταβολή) της θέσης ενός κινητού. Η μετατόπιση εκφράζει την απόσταση των δύο θέσεων μεταξύ των οποίων κινήθηκε το κινητό. Μετατόπιση, είναι η αλλαγή (μεταβολή) της θέσης ενός κινητού. Η μετατόπιση εκφράζει την απόσταση των δύο θέσεων μεταξύ των οποίων κινήθηκε το κινητό. Η ταχύτητα (υ), είναι το πηλίκο της μετατόπισης (Δx)

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

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

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

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

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

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

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

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

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R. Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

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

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

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

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

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

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ : Πληροφορική Κατεύθυνσης ΤΑΞΗ : Β Αρ. σελίδων : 11 Ηµεροµηνία : 10/6/2008 Ώρα Έναρξης : 7:45 π.µ ιάρκεια : 2 ώρες Ονοµατεπώνυµο :...Τµήµα : Αριθµός :...Βαθµός

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου)

Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου) Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου) Ηλικίες: Προαπαιτούμενες δεξιότητες: Χρόνος: Μέγεθος ομάδας: 8 ενήλικες Καμία 15 λεπτά για τη βασική δραστηριότητα, περισσότερο για τις επεκτάσεις

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

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 6: Ασκήσεις στη Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 3 Αλγόριθµοι Τυφλής Αναζήτησης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind

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

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

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

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

Εισαγωγή στις Συναρτήσεις

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

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

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2009 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ : Β ΗΜΕΡΟΜΗΝΙΑ: Τετάρτη, 3 Ιουνίου 2009 ΩΡΑ: 07:45 10:15 ΟΔΗΓΙΕΣ: Το εξεταστικό δοκίμιο αυτό αποτελείται

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

Αλγόριθμοι Τυφλής Αναζήτησης

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη

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

minimath.eu Φυσική A ΛΥΚΕΙΟΥ Περικλής Πέρρος 1/1/2014

minimath.eu Φυσική A ΛΥΚΕΙΟΥ Περικλής Πέρρος 1/1/2014 minimath.eu Φυσική A ΛΥΚΕΙΟΥ Περικλής Πέρρος 1/1/014 minimath.eu Περιεχόμενα Κινηση 3 Ευθύγραμμη ομαλή κίνηση 4 Ευθύγραμμη ομαλά μεταβαλλόμενη κίνηση 5 Δυναμικη 7 Οι νόμοι του Νεύτωνα 7 Τριβή 8 Ομαλη κυκλικη

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! Ναύπλιο, 4/1976-9/1993 Williamsburg, VA, USA, 7/2004-7/2006 2 Πάτρα, 9/1993-6/2004 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - Ο Υπεύθυνος των

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

Εισαγωγή στο Συναρτησιακό Προγραμματισμό

Εισαγωγή στο Συναρτησιακό Προγραμματισμό Εισαγωγή στο Συναρτησιακό Προγραμματισμό Γιάννης Κασσιός Σε αυτό το μάθημα θα εξερευνήσουμε ένα σπουδαίο μοντέλο προγραμματισμού, το συναρτησιακό προγραμματισμό. Θα δούμε το συναρτησιακό προγραμματισμό

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

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