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

Μέγεθος: 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 στην

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

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΘΕΜΑ 1ο Α. ΕΚΦΩΝΗΣΕΙΣ Μονάδες 1. Να αναφέρετε ονοµαστικά τα κριτήρια που πρέπει

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. 1. Να αναφέρετε ονοµαστικά τα κριτήρια που πρέπει απαραίτητα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

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

Η ΙΣΤΟΡΙΑ ΤΟΥ ΑΝΕΛΚΥΣΤΗΡΑ

Η ΙΣΤΟΡΙΑ ΤΟΥ ΑΝΕΛΚΥΣΤΗΡΑ Η ΙΣΤΟΡΙΑ ΤΟΥ ΑΝΕΛΚΥΣΤΗΡΑ Ανελκυστήρας ή ανυψωτήρας ονομάζεται κάθε εγκατάσταση που χρησιμοποιείται για την ανύψωση βαρών, προσώπων ή πραγμάτων και κινείται σε κατακόρυφο άξονα. Σήμερα έχει επικρατήσει

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Αλγόριθμος (τι είναι) Στα μαθηματικά και την επιστήμη ΗΥ Ο αλγόριθμος είναι η λογική διαδικασία

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών ΠΕΡΙΕΧΟΜΕΝΟ

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

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

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

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

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

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

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

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

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

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

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Πληροφορική ΙΙ Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Πληροφορική ΙΙ», 2015-2016 Μάθημα 1: Εισαγωγή στους Αλγόριθμους Αλγόριθμος είναι μια πεπερασμένη

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

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

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

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

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

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία: Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του Αλγορίθμου. Αλγόριθμος, σύμφωνα με το βιβλίο, είναι μια πεπερασμένη σειρά ενεργειών (όχι άπειρες), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

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

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως

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

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

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

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

Λογισμικό Υπολογιστών (Software) ΜΥΥ-106 Εισαγωγή Η/Υ και Πληροφορική

Λογισμικό Υπολογιστών (Software) ΜΥΥ-106 Εισαγωγή Η/Υ και Πληροφορική Λογισμικό Υπολογιστών (Software) ΜΥΥ-106 Εισαγωγή Η/Υ και Πληροφορική Αλγόριθμος Κάθε υπολογισμός αποτελείται από μια σειρά, καλά καθορισμένων, σχετικά απλών, βημάτων Η μέθοδος υπολογισμού ονομάζεται αλγόριθμος

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

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

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

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

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

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

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

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Αναδροµή Σύντοµη Αναδροµή Η γλώσσα προγραµµατισµού C είναι µία γλώσσα

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 9 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Η λειτουργία του υπολογιστή Κατηγορίες Εντολών Μορφή Εντολών

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

2. Μια μοτοσυκλέτα τρέχει με ταχύτητα 108 km/h. α) Σε πόσο χρόνο διανύει τα 120 m; β) Πόσα μέτρα διανύει σε 5 s;

2. Μια μοτοσυκλέτα τρέχει με ταχύτητα 108 km/h. α) Σε πόσο χρόνο διανύει τα 120 m; β) Πόσα μέτρα διανύει σε 5 s; 1. Αυτοκίνητο κινείται σε ευθύγραμμο δρόμο με σταθερή φορά και το ταχύμετρο του (κοντέρ) δείχνει συνεχώς 36 km/h. α) Τι είδους κίνηση κάνει το αυτοκίνητο; β) Να μετατρέψετε την ταχύτητα του αυτοκινήτου

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

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

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 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 Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ. 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 3 : Γλώσσες προγραμματισμού Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής

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

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

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

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

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

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

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

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

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

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

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

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

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

ΛΥΚΕΙΟ ΠΑΛΟΥΡΙΩΤΙΣΣΑΣ ΣΧΟΛΙΚΟ ΕΤΟΣ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΙΟΥ-ΙΟΥΝΙΟΥ 2014 ΟΝΟΜΑ:... ΤΜΗΜΑ:... ΑΡ.:...

ΛΥΚΕΙΟ ΠΑΛΟΥΡΙΩΤΙΣΣΑΣ ΣΧΟΛΙΚΟ ΕΤΟΣ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΙΟΥ-ΙΟΥΝΙΟΥ 2014 ΟΝΟΜΑ:... ΤΜΗΜΑ:... ΑΡ.:... ΛΥΚΕΙΟ ΠΑΛΟΥΡΙΩΤΙΣΣΑΣ ΣΧΟΛΙΚΟ ΕΤΟΣ 2013-2014 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΙΟΥ-ΙΟΥΝΙΟΥ 2014 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ: Β ΗΜΕΡΟΜΗΝΙΑ: 06/06/2014 ΧΡΟΝΟΣ: 2 ΩΡΕΣ ΩΡΑ: 7:45-9:45 ΒΑΘΜΟΣ: Αριθμητικώς:... Ολογράφως:...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης:

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης: 4. Πίνακες Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δηλώνετε και να δημιουργείτε πίνακες βασικών τύπων, κλάσεων ή άλλων πινάκων Να δηλώνετε την ανάγκη, και να μπορείτε να αρχικοποιήσετε τα στοιχεία

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