Εισαγωγή. 1.1 Αλγόριθμοι
|
|
- Ἰεζάβελ Ηλιόπουλος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Κεφάλαιο 1 ο Εισαγωγή 1.1 Αλγόριθμοι Η λέξη "αλγόριθμος" προέρχεται από μια μελέτη του Πέρση μαθηματικού Abu Ja'far Mohammed ibn al Khowarizmi με τίτλο "Κανόνες σύνθεσης και αναγωγές", ο οποίος έζησε περί το 825 μ.χ. στην πόλη Χίβα του σημερινού Ουζμπεκιστάν. Πέντε αιώνες αργότερα η μελέτη αυτή μεταφράστηκε στα λατινικά και άρχιζε με τη φράση "Algoritmi dixit..." (ο αλγόριθμος λέει...). Η μελέτη του al Khowarizmi υπήρξε η πρώτη πραγματεία άλγεβρας (όρος που κι αυτός προέρχεται από αραβικό al-jabr ( = αποκατάσταση), γιατί ένας από τους σκοπούς της άλγεβρας είναι η αποκατάσταση της ισότητας μέσα σε μια εξίσωση. Η λέξη επέζησε επί χίλια χρόνια ως σπάνιος όρος, που σήμαινε κάτι σαν "συστηματική διαδικασία αριθμητικών χειρισμών". Τη σημερινή του χρήση απόκτησε από την αρχή του 20ου αιώνα με την ανάπτυξη της ομώνυμης θεωρίας και φυσικά με την επικαιρότητα των ηλεκτρονικών υπολογιστών. Η έννοια του αλγόριθμου είναι βασική στον προγραμματισμό των ΗΥ. Ένας ορισμός που θα μπορούσε να δοθεί είναι ο ακόλουθος: Αλγόριθμος είναι η ακριβής περιγραφή μιας αυστηρά καθορισμένης σειράς ενεργειών (βημάτων) για τη λύση ενός προβλήματος. Κάθε αλγόριθμος έχει κανένα, ένα ή περισσότερα δεδομένα εισόδου και τουλάχιστον ένα αποτέλεσμα στην έξοδο.
2 12 Εισαγωγή στην Αλγοριθμική Αξίζει να αναφερθεί ότι προκειμένου να επιτύχουμε την «ακριβή περιγραφή» σε ένα αλγόριθμο χρησιμοποιούμε γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό, χωρίς ασάφειες και διφορούμενα. Τέτοιες γλώσσες είναι οι γλώσσες προγραμματισμού (με την προϋπόθεση ότι η σημασιολογία τους είναι αυστηρά διατυπωμένη), τα μαθηματικά μοντέλα, κάποιες συμβολικές γλώσσες που χρησιμοποιούν αυστηρά καθορισμένους κανόνες περιγραφής, καθώς και κατάλληλα διαμορφωμένα υποσύνολα των φυσικών (ομιλούμενων) γλωσσών. Ιστορικά, ένας από τους πρώτους αλγόριθμους είναι ο αλγόριθμος του Ευκλείδη, για την εύρεση του Μέγιστου Κοινού Διαιρέτη (ΜΚΔ) δύο θετικών ακεραίων x και y. Ο αλγόριθμος ΜΚΔ περιγράφεται σε ομιλούμενη γλώσσα ως εξής: "Διαίρεσε το x με το y, και έστω z το υπόλοιπο. Αν z = 0, τότε ΜΚΔ είναι ο y. Αν z 0, τότε επανάλαβε το βήμα με τους ακέραιους y και z αντί για x και y". Πιο αυστηρά, ο αλγόριθμος αυτός μπορεί να εκφραστεί ως εξής: Αλγόριθμος Ευκλείδης Δεδομένα // x, y // z y Όσο z 0 επανάλαβε z x mod y x y y z Τέλος_επανάληψης Αποτελέσματα // x // Τέλος Ευκλείδης Παρατηρούμε ότι για την περιγραφή του αλγορίθμου χρησιμοποιείται μια σαφής γλώσσα στην οποία το όνομα του αλγορίθμου (Ευκλείδης) καθορίζει την αρχή και το τέλος του, ενώ τα δεδομένα (x, y) βρίσκονται μεταξύ των συμβόλων //...//. όπου ο ΜΚΔ είναι η τιμή που παίρνει τελικά η μεταβλητή x. Το αποτέλεσμα βρίσκεται και αυτό εντός των συμβόλων //...//. Η εύρεση του ΜΚΔ είναι μια επαναληπτική διαδικασία που συνεχίζεται όσο το υπόλοιπο της διαίρεσης z και x διά του y είναι διάφορο του μηδενός. Η επαναληπτική διαδικασία έχει την έννοια «όσο ισχύει η συνθήκη επαναλάμβανε τη διαδικασία, αλλιώς μην εκτελείς άλλο τη διαδικασία και συνέχισε στο επόμενο βήμα» και περιγράφεται με το ακόλουθο γενικό σχήμα: Όσο συνθήκη επανάλαβε.. Διαδικασία. Τέλος_επανάληψης
3 Κεφάλαιο 1. Εισαγωγή 13 Οι εντολές του τύπου x y δεν έχουν την έννοια της ισότητας, αλλά της εκχώρησης τιμής του δεξιού μέλους στη μεταβλητή του αριστερού μέλους. Αυτό σημαίνει ότι μετά την εκτέλεση της εντολής η μεταβλητή του αριστερού μέλους θα έχει τιμή ίση με αυτή του δεξιού μέλους. Το δεξί μέλος μπορεί να είναι μια σταθερά, μια μεταβλητή ή γενικότερα μια παράσταση. Αξίζει να σημειωθεί ότι σε κάποια βιβλία για την ενέργεια αυτή χρησιμοποιείται το ίσον = ή και ο συνδυασμός :=. Με βάση τα παραπάνω, ο αλγόριθμος του Ευκλείδη περιγράφεται πλήρως με ακρίβεια και σαφήνεια. Επομένως μπορούμε να εμπιστευθούμε την εκτέλεσή του σε κάποιον, ο οποίος μπορεί να εκτελεί τα βήματα του αλγορίθμου και ο οποίος δε χρειάζεται να γνωρίζει τι ακριβώς επιδιώκει ο αλγόριθμος ή ακόμα και σε ένα υπολογιστή. Αξίζει βέβαια να αναφερθεί ότι θα ήταν παράλογο να υποθέσουμε την ύπαρξη μιας υποθετικής εντολής ΜΚΔ, που θα υπολόγιζε κατ ευθείαν το μέγιστο κοινό διαιρέτη, εφόσον τότε δε θα είχε έννοια η ύπαρξη του αλγορίθμου. Σαν παράδειγμα, ας υποθέσουμε ότι θέλουμε να βρούμε το ΜΚΔ των αριθμών 27 και 78. Χρησιμοποιώντας τον ανωτέρω αλγόριθμο Ευκλείδης, σε κάθε επανάληψη παίρνουμε για τα χ, y και z, τις τιμές που παρουσιάζονται στον επόμενο πίνακα. από τον οποίο εύκολα συνάγεται ότι ο ΜΚΔ των αριθμών 27 και 78 είναι ο 3, που βρίσκεται κατά την τέταρτη επανάληψη. Επανάληψη x y z η η η η Είναι σημαντικό να αναφερθεί ότι o αλγόριθμος που παρουσιάσαμε, μπορεί να απαντήσει όχι μόνο στη συγκεκριμένη ερώτηση, "να βρεθεί ο ΜΚΔ των 27 και 78", αλλά σε όλες τις παρόμοιες ερωτήσεις. Λύνει, δηλαδή, ένα πρόβλημα (problem). Ένα πρόβλημα είναι ένα σύνολο από παραπλήσιες ερωτήσεις με δεδομένα (π.χ. αριθμούς, γραφήματα, κ.λπ.) που διαφέρουν ποσοτικά από ερώτηση σε ερώτηση. Κάθε μία από τις ερωτήσεις αυτές λέγεται στιγμιότυπο (instance) του προβλήματος. Έτσι, η εύρεση του ΜΚΔ των 27 και 78 είναι ένα στιγμιότυπο του προβλήματος της εύρεσης του ΜΚΔ δύο θετικών ακεραίων. Δηλαδή, αν ακολουθήσουμε τα βήματα του αλγόριθμου, θα τερματίσουμε έχοντας πάρει τη σωστή απάντηση για οποιοδήποτε ζευγάρι θετικών ακεραίων. Ωστόσο, ένα ιδιαίτερα ενδιαφέρον θεωρητικό ερώτημα είναι: «πώς μπορούμε να είμαστε βέβαιοι ότι ο αλγόριθμος λύνει οποιοδήποτε στιγμιότυπο του προβλήματος;» Συνήθως, για να βεβαιωθούμε ότι ένας αλγόριθμος πραγματικά λύ-
4 14 Εισαγωγή στην Αλγοριθμική νει ένα (καλώς διατυπωμένο μαθηματικό) πρόβλημα, πρέπει να μπορούμε να αποδείξουμε την ορθότητά του με αυστηρό τρόπο. Αξίζει να αναφερθεί, ότι η ορθότητα του αλγορίθμου του Ευκλείδη που περιγράψαμε παραπάνω, αποδεικνύεται από τον ίδιο τον Ευκλείδη στο 7ο βιβλίο των «Στοιχείων» του. 1.2 Ιδιότητες αλγορίθμων Από τα προηγούμενα μπορεί κανείς να συμπεράνει ότι κάθε αλγόριθμος πρέπει να διαθέτει κάποιες συγκεκριμένες ιδιότητες. Από αυτές, αξίζει να αναφερθούν οι ακόλουθες: είσοδος έξοδος περατότητα καθοριστικότητα και αποτελεσματικότητα. Από τις ιδιότητες αυτές, η είσοδος και η έξοδος σχετίζονται με την ύπαρξη δεδομένων και αποτελεσμάτων, αντίστοιχα, στον αλγόριθμο. Στις υπόλοιπες ιδιότητες αναφερόμαστε στη συνέχεια. Η περατότητα ενός αλγορίθμου αναφέρεται στην ικανότητά του να ολοκληρώνεται μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Όταν μια διαδικασία δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά απλά υπολογιστική διαδικασία. Για παράδειγμα, ας θεωρήσουμε την εξής ακολουθία εντολών: Αλγόριθμος Ευκλείδης Δεδομένα // x, y // z y Όσο z 0 επανάλαβε x y y z Τέλος_επανάληψης Αποτελέσματα // x // Τέλος Ευκλείδης Είναι εύκολο να διαπιστώσουμε ότι η ακολουθία αυτή δε θα ολοκληρωθεί ποτέ, εφόσον η τιμή του z δε μεταβάλλεται, επομένως η συνθήκη τερματισμού δε θα ικανοποιηθεί ποτέ. Η καθοριστικότητα σε ένα αλγόριθμο σχετίζεται την ικανότητα εκτέλεσης κάθε εντολής. Ας θεωρήσουμε την επόμενη ακολουθία εντολών.
5 Κεφάλαιο 1. Εισαγωγή 15 Αλγόριθμος Ευκλείδης Δεδομένα // x, y // z y y 0 Όσο z 0 επανάλαβε z x mod y x y y z Τέλος_επανάληψης Αποτελέσματα // x // Τέλος Ευκλείδης Η ακολουθία αυτή δεν μπορεί να εκτελεστεί, εφόσον η εντολή z x mod y θα προσπαθήσει να εκτελέσει διαίρεση με το μηδέν, που βέβαια δεν είναι επιτρεπτό. Τέλος, η αποτελεσματικότητα έχει να κάνει με το γεγονός ότι κάθε εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη. Αλγόριθμος Ευκλείδης Δεδομένα // x, y // y z Όσο z 0 επανάλαβε z x mod y x y y z Τέλος_επανάληψης Αποτελέσματα // x // Τέλος Ευκλείδης Στην ανωτέρω ακολουθία εντολών, η εντολή y z δεν μπορεί να εκτελεστεί, εφόσον το z δεν έχει κάποια τιμή, επομένως το y δεν μπορεί να πάρει τιμή. 1.3 Παράσταση αλγορίθμων Για την παράσταση των αλγορίθμων έχουν χρησιμοποιηθεί πλήθος μεθόδων, μερικές από τις οποίες είναι η ψευδογλώσσα, τα διαγράμματα ροής, τα διαγράμματα Nassi-Shneiderman (N-S), και τα διαγράμματα HIPO. Οι τρόποι μέθοδοι αυτές δεν παρουσιάζουν τα ίδια πλεονεκτήματα. Συνήθως χρησιμοποιούνται εκείνες αυτές που είναι σύμφωνες με το πνεύμα του δομημένου προγραμματισμού, ο οποίος χρησιμοποιεί τις τρεις βασικές αλγοριθμικές δομές της ακολουθίας, της επιλογής και της επανάληψης.
6 16 Εισαγωγή στην Αλγοριθμική Δομημένη σχεδίαση αλγορίθμων Με τον όρο δομημένη σχεδίαση αλγορίθμων αναφερόμαστε στη σχεδίαση αλγορίθμων χρησιμοποιώντας τρεις βασικές δομές ελέγχου: ακολουθία, επιλογή και επανάληψη. Πρώτοι οι Bohm και Jacopini απέδειξαν, το 1966, ότι οποιοσδήποτε αλγόριθμος μπορεί να περιγραφεί με τις τρεις αυτές βασικές δομές ελέγχου. Στην ακολουθία (sequence), χρησιμοποιούμε απλές εντολές που εκτελούνται η μια μετά την άλλη ακολουθιακά. Στην επιλογή (πιο συνηθισμένη της μορφή είναι η αν-τότε-αλλιώς ή if-thenelse), χρησιμοποιούμε σχήματα λογικών υποθέσεων. Το ακόλουθο παράδειγμα σχήματος, έχει την εξής σημασία : «αν ισχύει η συνθήκη, τότε εκτέλεσε τη Δ1, ενώ αν δεν ισχύει η συνθήκη, τότε εκτέλεσε τη Δ2». Αν συνθήκη τότε Δ1 αλλιώς Δ2 Τέλος_αν Στην επανάληψη (μια γνωστή μορφή της είναι η όσο-επανάλαβε ή while-do) χρησιμοποιούμε σχήματα όπως το ακόλουθο, που έχει την έννοια ότι όσο ισχύει η συνθήκη, η διαδικασία επαναλαμβάνεται. Όσο συνθήκη επανάλαβε.. Διαδικασία. Τέλος_επανάληψης Μια από τις πιο αποτελεσματικές δομημένες διαγραμματικές τεχνικές είναι η τεχνική Nassi-Shneiderman, οι βασικές συνιστώσες της οποίας περιγράφονται στο σχήμα 1.1.
7 Κεφάλαιο 1. Εισαγωγή 17 Σχήμα 1.1. Δομές ελέγχου του δομημένου προγραμματισμού και αναπαραστάσεις στη μορφή N-S. Τα διαγράμματα ροής (flow charts) ή λογικά διαγράμματα αποτελούν ένα ε- ναλλακτικό τρόπο παρουσίασης αλγορίθμων χρησιμοποιώντας γεωμετρικά σχήματα για να καθορίσουν τα βήματα επεξεργασίας καθώς και τα διάφορα μέσα που χρησιμοποιούνται και δεν εντάσσονται στις δομημένες τεχνικές. Ως παράδειγμα, στο σχήμα 1.2 δίνουμε τον αλγόριθμο Ευκλείδης με τη χρήση διαγράμματος ροής.
8 18 Εισαγωγή στην Αλγοριθμική Σχήμα 1.2. Ο αλγόριθμος Ευκλείδης με διάγραμμα ροής. Στο βιβλίο αυτό χρησιμοποιείται για την παράσταση των αλγορίθμων η ψευδογλώσσα (ή ψευδοκώδικας) αναλυτική περιγραφή της οποίας γίνεται στο επόμενο κεφάλαιο. 1.4 Τα δεδομένα Πληροφορίες και δεδομένα Όπως έχει αναφερθεί, ένας αλγόριθμος παίρνει στην είσοδο κάποια δεδομένα, τα επεξεργάζεται μέσα από μια σειρά βήματα και δίνει ως έξοδο τα αποτελέσματα. Σχετικά με τον όρο δεδομένα, είναι χρήσιμος ο ακόλουθος ορισμός: Δεδομένο (datum-πληθ. data) είναι μια παράσταση γεγονότων, εννοιών ή εντολών σε τυποποιημένη μορφή που είναι κατάλληλη για επικοινωνία, ερμηνεία ή επεξεργασία από τον άνθρωπο ή από αυτόματα μέσα. Η επεξεργασία δεδομένων (data processing), η οποία στην πράξη πραγματοποιείται μέσω αλγορίθμων, αναφέρεται στην εκτέλεση διαφόρων πράξεων/ λειτουργιών πάνω στα δεδομένα. Το αποτέλεσμα της επεξεργασίας δεδομένων
9 Κεφάλαιο 1. Εισαγωγή 19 είναι η πληροφορία. Έτσι, θα μπορούσε κανείς γενικεύοντας να πει ότι ένας αλγόριθμος μετατρέπει τα δεδομένα σε πληροφορία. Για παράδειγμα, ένας τηλεφωνικός αριθμός και ένα ονοματεπώνυμο αποτελούν δεδομένα. Δεν παρέχουν όμως καμία πληροφορία. Πληροφορία παράγεται μόνο αν σχετισθούν μεταξύ τους, ότι δηλαδή κάποιο τηλέφωνο ανήκει σε κάποιο συγκεκριμένο συνδρομητή. Με βάση τις πληροφορίες λαμβάνονται αποφάσεις και γίνονται διάφορες ενέργειες. Στη συνέχεια οι ενέργειες αυτές παράγουν νέα δεδομένα, αυτές νέες πληροφορίες, οι τελευταίες νέες αποφάσεις και ενέργειες κ.ο.κ. όπως φαίνεται στο σχήμα 1.3. Η διεργασία αυτή μπορεί να επαναλαμβάνεται, οι πληροφορίες που παρήχθησαν, να επανα-τροφοδοτούν μέσω ανάδρασης την είσοδο για επανάληψη του κύκλου κ.ο.κ Μελέτη των δεδομένων Σχήμα 1.3 Σχέση δεδομένων και πληροφοριών Τα δεδομένα ενδιαφέρουν το συγκεκριμένο βιβλίο (αλλά και το γενικότερο πεδίο της αλγοριθμικής) για μια σειρά από λόγους, και μελετώνται από διαφορετικές σκοπιές. Πιο συγκεκριμένα, η αλγοριθμική μελετά τα δεδομένα κυρίως από τις σκοπιές του υλικού και των γλωσσών προγραμματισμού. Το υλικό επιτρέπει τα δεδομένα ενός προγράμματος να αποθηκεύονται στην κύρια μνήμη ή και στις περιφερειακές συσκευές ενός υπολογιστή με διάφορες μορφές. Όπως είναι γνωστό, η πρόσβαση στην κύρια μνήμη του υπολογιστή είναι ταχύτερη από ότι στη δευτερεύουσα. Επομένως, για την πρόσβαση σε δεδομένα που βρίσκονται στη βοηθητική μνήμη είναι πιθανό (και πράγματι συμβαίνει) να χρησιμοποιούνται διαφορετικοί αλγόριθμοι για την επεξεργασία τους. Επομένως, το υλικό του υπολογιστή έχει επίδραση στο είδος των αλγορίθμων που θα χρησιμοποιηθούν. Οι γλώσσες προγραμματισμού μας ενδιαφέρουν διότι κάθε γλώσσα μπορεί να υποστηρίζει τη χρήση διαφόρων τύπων δεδομένων (data types). Οι πιο συνή-
10 20 Εισαγωγή στην Αλγοριθμική θεις τύποι δεδομένων είναι οι ακέραιοι και οι πραγματικοί αριθμοί, τα λογικά δεδομένα και οι συμβολοσειρές. Οι πραγματικοί αριθμοί διακρίνονται σε σταθερής υποδιαστολής (fixed point) και κινητής υποδιαστολής (floating point). Τα λογικά δεδομένα έχουν μόνο δύο τιμές, αληθής (true) ή ψευδής (false). Οι συμβολοσειρές (strings) χρησιμοποιούνται για την παράσταση αλφαριθμητικών δεδομένων. Σε κάθε τύπο δεδομένων μπορούμε να εφαρμόσουμε διαφορετικές πράξεις. Για παράδειγμα, μεταξύ δύο ακεραίων μπορούμε να εφαρμόσουμε α- κέραια διαίρεση, ενώ μεταξύ δύο πραγματικών δεν μπορούμε να κάνουμε κάτι τέτοιο. Επομένως, όταν σχεδιάζουμε ένα αλγόριθμο μας ενδιαφέρει άμεσα το είδος των τύπων δεδομένων που υποστηρίζονται, ώστε να μπορούμε να εκτελέσουμε τις κατάλληλες πράξεις. Αξίζει να αναφερθεί ότι για το χειρισμό διαφορετικών τύπων δεδομένων αναπτύσσονται διαρκώς νέοι αλγόριθμοι με σκοπό τον αποτελεσματικό και ταχύ χειρισμό τους Οι Δομές Δεδομένων Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων, τα οποία είναι έτσι οργανωμένα, ώστε να υπόκεινται σε συγκεκριμένες απαιτούμενες επεξεργασίες. Ο όρος αναφέρεται σε ένα σύνολο δεδομένων μαζί με ένα σύνολο λειτουργιών που επιτρέπονται στα δεδομένα αυτά. Πρέπει να αναφερθεί ότι οι δομές δεδομένων είναι πολύ στενά συνδεδεμένες με την έννοια του αλγορίθμου. Είναι πολύ χαρακτηριστική η ακόλουθη «σχέση» που διατύπωσε ο N. Wirth, δημιουργός της γλώσσας Pascal. Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα Η ανωτέρω σχέση έχει την έννοια ότι αν κανείς διαθέτει τον κατάλληλο αλγόριθμο και τις δομές δεδομένων, οι οποίες θα χρησιμοποιηθούν, είναι εντελώς άμεση η μετατροπή και υλοποίηση σε πρόγραμμα σε γλώσσα υπολογιστή. Κάθε δομή δεδομένων αποτελείται, στην πιο γενική της μορφή, από ένα σύνολο στοιχείων ή κόμβων. Οι βασικές λειτουργίες ή πράξεις επί των δομών δεδομένων είναι οι ακόλουθες: Προσπέλαση (access), πρόσβαση σε έναν κόμβο με σκοπό να εξεταστεί ή να τροποποιηθεί το περιεχόμενό του. Ανάκτηση (retrieval), η με οποιονδήποτε τρόπο λήψη (ανάγνωση) του περιεχομένου ενός κόμβου. Αναζήτηση (searching) ενός συνόλου στοιχείων δεδομένων προκειμένου να εντοπιστούν ένα ή περισσότερα στοιχεία, που έχουν μια δεδομένη ιδιότητα. Εισαγωγή (insertion), η προσθήκη ή δημιουργία νέων κόμβων σε μια υ- πάρχουσα δομή.
11 Κεφάλαιο 1. Εισαγωγή 21 Διαγραφή (deletion) που συνιστά το αντίθετο της εισαγωγής. Ταξινόμηση (sorting), όπου τα στοιχεία μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα τάξη. Συγχώνευση (merging), κατά την οποία δύο ή περισσότερες δομές συνενώνονται σε μια ενιαία δομή. Διαχωρισμός (separation), που αποτελεί την αντίστροφη πράξη της συγχώνευσης. Προσάρτηση (append), κατά την οποία μία δομή επικολλάται στο τέλος μιας άλλης. Αντιγραφή (copying), όπου κάποιοι οι κόμβοι μιας δομής αντιγράφονται σε μια άλλη. Πρέπει να αναφερθεί ότι οι ανωτέρω λειτουργίες στην πράξη σπάνια υπάρχουν όλες σε μια δομή. Συνήθως παρατηρείται το φαινόμενο μια δομή δεδομένων να είναι αποδοτικότερη από μια άλλη για κάποια λειτουργία π.χ. την αναζήτηση, αλλά λιγότερο αποδοτική για κάποια άλλη λειτουργία, όπως π.χ. την εισαγωγή. Αυτό εξηγεί τόσο την ύπαρξη διαφορετικών δομών όσο και τη σπουδαιότητα της επιλογής της κατάλληλης δομής κάθε φορά. Οι πιο ευρέως χρησιμοποιούμενες δομές δεδομένων είναι ο πίνακας (table), η στοίβα (stack), η ουρά (queue), η συνδεδεμένη λίστα (linked list), το δέντρο (tree) και ο γράφος (graph). O Πίνακας αποτελείται από ένα σύνολο ομοειδών απλών στοιχείων, καθένα από τα οποία καθορίζεται με τη βοήθεια ενός ή περισσοτέρων δεικτών (index). Ένας πίνακας μπορεί να είναι μίας, δύο ή περισσοτέρων διαστάσεων, ανάλογα με το πλήθος δεικτών που χρειάζονται για να καθοριστεί η θέση του. Στο ακόλουθο σχήμα, παρουσιάζουμε ένα δισδιάστατο πίνακα Α με 4 γραμμές και 3 στήλες. Μία στοίβα (stack) είναι μια γραμμική διάταξη στοιχείων, στην οποία εισάγονται και εξάγονται στοιχεία μόνο από το ένα άκρο. Η λειτουργία της εισαγωγής αποκαλείται ώθηση (push) και της εξαγωγής απώθηση (pull ή pop). Η φιλοσοφία εισαγωγής και εξαγωγής των στοιχείων ονομάζεται LIFO (Last In, First Out), δηλαδή το τελευταίο εισαγόμενο δεδομένο εξέρχεται και πρώτο.
12 22 Εισαγωγή στην Αλγοριθμική Μια ουρά (Queue) αποτελεί μια γραμμική διάταξη στοιχείων, στην οποία εισάγονται (enqueue) νέα στοιχεία από ένα άκρο και εξάγονται (dequeue) υπάρχοντα στοιχεία από το άλλο άκρο. Ο λειτουργίας της ουράς αποκαλείται FIFO (First In, First Out), δηλαδή το στοιχείο το οποίο εισάγεται πρώτο στην ουρά εξέρχεται και πρώτο. Σε μια Δεσμική Λίστα (Linked List) τα στοιχεία φαίνονται «λογικά» ότι είναι γραμμικά διατεταγμένα, χωρίς όμως αυτό να σημαίνει ότι βρίσκονται σε συνεχόμενες θέσεις της μνήμης του υπολογιστή. Ανεξάρτητα από τη θέση που καταλαμβάνει στη μνήμη ένα δεδομένο, συσχετίζεται με το επόμενό του με τη βοήθεια κάποιου δείκτη (pointer).
13 Κεφάλαιο 1. Εισαγωγή 23 Τα Δένδρα (trees) είναι μη γραμμικές δομές που αποτελούνται από ένα σύνολο κόμβων, οι οποίοι συνδέονται με ακμές. Υπάρχει μόνο ένας κόμβος, από τον οποίο μόνο ξεκινούν ακμές, που ονομάζεται ρίζα (root). Σε όλους τους άλλους κόμβους καταλήγει μία ακμή και ξεκινούν καμία, μία ή περισσότερες. Οι κόμβοι στους οποίους καταλήγουν μόνο ακμές, ονομάζονται φύλλα.. Οι Γράφοι (Graphs) αποτελούν τη πιο γενική δομή δεδομένων μια και αποτελούνται από κόμβους και ακμές χωρίς όμως κάποια ιεράρχηση. Διάκριση των δομών δεδομένων Υπάρχουν διάφοροι τρόποι διάκρισης των δομών δεδομένων. Κατ' αρχήν διακρίνονται σε στατικές (static) και δυναμικές (dynamic). Οι στατικές δομές έχουν σταθερό μέγεθος και μπορούν να κατακρατήσουν συγκεκριμένο πλήθος στοιχείων. Αντίθετα οι δυναμικές δομές δεν έχουν σταθερό μέγεθος και το πλήθος των στοιχείων τους μπορεί να μεγαλώνει ή να μικραίνει καθώς στη δομή εισάγονται νέα δεδομένα ή διαγράφονται άλλα. Οι δομές δεδομένων διακρίνονται επίσης σε γραμμικές και μη γραμμικές. Στις γραμμικές δομές μπορεί να ορισθεί κάποια σχέση διάταξης για δύο οποιαδήποτε διαδοχικά στοιχεία τους. Αυτό σημαίνει ότι κάποιο στοιχείο θα είναι πρώτο και κάποιο τελευταίο. Οποιοδήποτε από τα υπόλοιπα θα έπεται από το προηγούμενό του και θα προηγείται από το επόμενό του. Στις μη γραμμικές δομές δεν μπορεί να οριστεί μια σχέση διάταξης όπως η παραπάνω. Τέτοιες δομές είναι τα δένδρα και οι γράφοι. Στα δένδρα ένας κόμβος έχει έναν προηγούμενο αλλά πιθανόν πολλούς επόμενους. Στους γράφους κάθε κόμβος μπορεί να έχει πολλούς προηγούμενους και πολλούς επόμενους. Τέλος διάκριση των δομών μπορεί να γίνει και ανάλογα με το είδος της χρησιμοποιούμενης μνήμης (κύρια μνήμη, ταινία, δίσκος). Με αυτή τη διάκριση εννοούμε ότι κάποιες δομές είναι καταλληλότερες για την κύρια μνήμη, ενώ κά-
14 24 Εισαγωγή στην Αλγοριθμική ποιες άλλες βρίσκουν μεγαλύτερη χρήση στη βοηθητική. Ο λόγος γι αυτό είναι ότι οι χρόνοι πρόσβασης στη βοηθητική μνήμη είναι σημαντικά μεγαλύτεροι από την κύρια. Ακόμη υπάρχουν και δομές, που είναι ακατάλληλες για κάποιο είδος βοηθητικής μνήμης, γιατί αυτή η μνήμη δεν επιτρέπει το συγκεκριμένο είδος πρόσβασης (π.χ. ταινία). Σε αυτό το βιβλίο αναπτύσσονται αλγόριθμοι που χρησιμοποιούν τη δομή του πίνακα (κεφ. 3-6), καθώς και δομές δεδομένων βοηθητικής μνήμης (κεφ. 8-11). 1.5 Αλγόριθμοι και είδη προβλημάτων Όπως έχει αναφερθεί, το ενδιαφέρον για την έννοια του αλγόριθμου χρονολογείται αρκετά πριν από τον πρώτο ηλεκτρονικό υπολογιστή. Στην πρώτη δεκαετία του περασμένου αιώνα κορυφαίοι μαθηματικοί και φιλόσοφοι, όπως ο D. Hilbert και ο B. Russel προβληματίστηκαν πάνω στο αν μπορεί να υπάρξει αλγόριθμος που να αποκαλύπτει τη μαθηματική αλήθεια. Δηλαδή, να αποδεικνύει θεωρήματα και να διαψεύδει λανθασμένες προτάσεις. Η αρνητική απάντηση στο ερώτημα αυτό από τους A. Turing και Κ. Godel το 1936 έβαλε τα θεμέλια της θεωρίας των αλγορίθμων και οδήγησε στην ορισμό μαθηματικών μοντέλων για τους αλγόριθμους. Αποτέλεσμα αυτής της έρευνας ήταν η διάκριση των προβλημάτων σε τρεις κατηγορίες, ανάλογα με το εάν μπορούν να επιλυθούν ή όχι με τη βοήθεια κάποιου αλγορίθμου: επιλύσιμα, άλυτα και ανοικτά. Επιλύσιμο ονομάζεται ένα πρόβλημα, όταν υπάρχει ένας αλγόριθμος που να το επιλύει. Άλυτο ονομάζεται ένα πρόβλημα, όταν έχει αποδειχθεί ότι δεν υπάρχει αλγόριθμος για την επίλυσή του. Τέλος, ανοικτό ονομάζεται ένα πρόβλημα, όταν δεν έχει αποδειχθεί η μη ύπαρξη αλγορίθμου για τη λύση του προβλήματος, αλλά ούτε έχει βρεθεί μέχρι σήμερα κάτι σχετικό που να επιλύει το πρόβλημα. Είναι αξιοσημείωτο ότι σήμερα τα άλυτα προβλήματα είναι ελάχιστα, τα ανοικτά, όμως, ξεπερνούν τα Ανάλυση αλγόριθμων Όταν λύνουμε ένα πρόβλημα με έναν αλγόριθμο, μας ενδιαφέρει πόσο αποδοτικός είναι ο αλγόριθμος αυτός. Συνήθως ενδιαφερόμαστε για το πόσα βήματα κάνει ο αλγόριθμος αυτός, για να λύσει το πρόβλημα και πόση μνήμη χρησιμοποιεί. Για τον αλγόριθμο "Ευκλείδης" είναι εύκολο να δούμε ότι χρησιμοποιεί τόση μνήμη όση χρειάζεται για να αποθηκευτούν οι τρεις ακέραιοι x, y, z. Ωστόσο, η εύρεση του πλήθους των εντολών που εκτελούνται δεν είναι τόσο τετριμμένη. Κάθε φορά που πραγματοποιείται η επανάληψη εκτελούνται τέσσερα βήματα (έλεγχος της συνθήκης του όσο, υπολογισμός του z και δύο εντολές εκχώρησης). Επομένως, απαιτούνται 4 α βήματα, όπου α είναι ο αριθμός των επαναλήψεων. Πόσες, όμως, θα είναι οι επαναλήψεις; Το ότι για x = 27 και y = 78
15 Κεφάλαιο 1. Εισαγωγή 25 γίνονται τέσσερις επαναλήψεις, δεν είναι πολύ διαφωτιστικό. Αυτό που θα θέλαμε, θα ήταν να μπορούσαμε να υπολογίζουμε τον αριθμό των επαναλήψεων για κάθε ζευγάρι ακεραίων x, y. Σχετικά πρόσφατα ο D. Knuth υπολόγισε, ότι ο αριθμός των επαναλήψεων είναι περίπου ίσος με τον λογάριθμο του x (ή του y). Δηλαδή, για να υπολογίσει το ΜΚΔ του x και y, ο αλγόριθμος του Ευκλείδη κάνει 4 logx βήματα. Συνήθως παραλείπουμε σταθερές, όπως το 4 και λέμε ότι η πολυπλοκότητα του αλγόριθμου είναι O(logx) (διαβάζεται "της τάξης logx"). Η πολυπλοκότητα ενός αλγορίθμου είναι μια ιδιαίτερα σημαντική παράμετρος ενός αλγορίθμου, γιατί μας δίνει ένα μέτρο της χρονικής καθυστέρησης του αλγορίθμου για την επίλυση ενός προβλήματος. Οι περισσότεροι αλγόριθμοι έχουν πολυπλοκότητα χρόνου που ανήκει σε μια από τις κατηγορίες που φαίνονται στον Πίνακα 1.1. Με n συμβολίζουμε το μέγεθος του προβλήματος και εξαρτάται από το πρόβλημα. Για παράδειγμα, αν ζητείται να ταξινομηθούν k αριθμοί, τότε το μέγεθος του προβλήματος είναι k, επομένως n=k. Πίνακας 1.1: Κατηγορίες πολυπλοκότητας αλγορίθμων Πολυπλοκότητα Ονομασία Παρατηρήσεις Ο(1) Σταθερή Κάθε βήμα εκτελείται μια φορά ή το πολύ μερικές φορές Ο(logn) Λογαριθμική Αν δεν σημειώνεται αλλιώς, οι λογάριθμοι είναι δυαδικοί Ο(n) Ο(nlogn) Γραμμική Δεν υπάρχει επιθετικός προσδιορισμός Ο(n 2 ) Τετραγωνική O(n 3 ) Κυβική Ο(2 n ) Εκθετική Στην πράξη χρησιμοποιούνται μόνο για προβλήματα μικρού μεγέθους Στο σχήμα 1.5 έχουν παρασταθεί οι καμπύλες των κυριότερων συναρτήσεων πολυπλοκότητας, ενώ στον Πίνακα 1.2 παρουσιάζονται οι χρόνοι εκτέλεσης για διάφορες πολυπλοκότητες και μεγέθη προβλημάτων.
16 26 Εισαγωγή στην Αλγοριθμική Σχήμα 1.5: Καμπύλες των κυριότερων συναρτήσεων πολυπλοκότητας. Πίνακας 1.2. Χρόνοι εκτέλεσης για διάφορες πολυπλοκότητες και μεγέθη προβλημάτων. Τάξη αλγορίθμου Μέγεθος Προβλήματος Ο(logn) sec 1, , O(nlogn) sec , O(n) sec O(n 2 ) sec 2, O(n 3 ) sec O(2 n ) sec years O(n!) sec 58 hours years Η συνάρτηση Ο χρησιμοποιείται καλείται πολυωνυμική, αν είναι έκφραση πολυωνύμου ως προς n, διαφορετικά καλείται μη-πολυωνυμική, αν περιέχει όρους όπως 2 n, e m, n! κ.λπ. Μετά την επίλυση ενός προβλήματος με ένα αλγόριθμο είναι φυσικό να θέλουμε να σχεδιάσουμε ένα νέο αλγόριθμο με μεγαλύτερη ταχύτητα εύρεσης της λύσης του προβλήματος. Για παράδειγμα ένας αλγόριθμος ταξινόμησης με συγκρίσεις (ο οποίος περιγράφεται στο κεφάλαιο 4) απαιτεί Ο(n 2 ) συγκρίσεις. Υπάρχουν όμως ταχύτεροι αλγόριθμοι (όπως ο Quicksort του R. Hoare), που απαιτούν Ο(nlogn) συγκρίσεις.
17 Κεφάλαιο 1. Εισαγωγή 27 Είναι αξιοσημείωτο για το πρόβλημα της ταξινόμησης ενός πίνακα δεν έχει βρεθεί μέχρι σήμερα ταχύτερος αλγόριθμος από τον Quicksort, ενώ για το πρόβλημα του υπολογισμού του ΜΚΔ δεν έχει βρεθεί ταχύτερος αλγόριθμος από εκείνο του Ευκλείδη. Αυτό οδηγεί, μοιραία, στο ερώτημα: Μήπως δεν υπάρχει καλύτερος αλγόριθμος, μήπως δηλαδή τα προβλήματα αυτά έχουν μία εγγενή πολυπλοκότητα; Φθάνουμε έτσι σε μια σημαντική περιοχή της Επιστήμης των Υπολογιστών που ονομάζεται Θεωρία Πολυπλοκότητας (Complexity theory). Η έρευνα στην περιοχή αυτή προσπαθεί να βρει τους εγγενείς περιορισμούς στην ταχύτητα των αλγορίθμων για τη λύση συγκεκριμένων προβλημάτων. Έτσι αποδεικνύεται, για παράδειγμα, ότι δεν είναι δυνατόν να ταξινομήσουμε n ακεραίους με λιγότερο nlοgn συγκρίσεις και συνεπώς ο Quicksort είναι ουσιαστικά βέλτιστος, όσον αφορά την ταχύτητα ταξινόμησης. 1.7 Είδη αλγορίθμων Προκειμένου να είναι ευκολότερη η αντιμετώπιση του αντικειμένου των αλγορίθμων έχουν προταθεί διάφορες κατηγοριοποιήσεις τους. Έτσι, αν ένας αλγόριθμος βρίσκει τη βέλτιστη λύση για κάθε στιγμιότυπο του προβλήματος ονομάζεται άριστος ή βέλτιστος (optimal) αλγόριθμος. Αντίθετα, όταν η λύση ενός προβλήματος είναι πολύ δύσκολη και η εύρεση του άριστου αλγορίθμου φοβερά πολύπλοκη αν όχι αδύνατη, τότε καταφεύγουμε σε αλγορίθμους που προσεγγίζουν την άριστη λύση του προβλήματος για κάθε στιγμιότυπο. Αυτοί λέγονται προσεγγιστικοί ή ευριστικοί (approximation ή heuristic) αλγόριθμοι. Μια ειδική κατηγορία αλγορίθμων είναι οι αναδρομικοί αλγόριθμοι. Μία μαθηματική σχέση αποκαλείται αναδρομική αν χρησιμοποιεί την ίδια στον ορισμό της. Οι αναδρομικοί αλγόριθμοι μπορούν να επιλύσουν δύσκολα προβλήματα, ιδιαίτερα προβλήματα που σχετίζονται με τη δομή των γράφων. Μια εισαγωγή στους αναδρομικούς αλγορίθμους γίνεται στο κεφάλαιο 7. Ο ορισμός του αλγόριθμου που δόθηκε στην αρχή αυτού του κεφαλαίου, συμφωνεί με τη φιλοσοφία των περισσότερων Η/Υ σήμερα, που διαθέτουν μία Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) στην οποία οι εντολές εκτελούνται με σειρά, η μία μετά την άλλη. Για το λόγο αυτό όλοι οι προηγούμενοι αλγόριθμοι ονομάζονται ακολουθιακοί. Όμως η ύπαρξη προβλημάτων στα οποία απαιτείται πολύ μεγάλος χρόνος για τον υπολογισμό της λύσης ενός προβλήματος, δημιούργησε την ανάγκη εύρεσης αλγορίθμων, όπου ορισμένα ή μία σειρά από βήματα θα μπορούσαν να εκτελούνται παράλληλα (ταυτόχρονα). Δηλαδή, η εκτέλεση του ενός βήματος δεν εξαρτάται από την εκτέλεση του άλλου. Αλγόριθμοι αυτής της μορφής ονομάζονται παράλληλοι αλγόριθμοι και βέβαια δεν μπορούν να υλοποιηθούν χωρίς την ύπαρξη πολλαπλών ΚΜΕ στο σύστημα του Η/Υ (multiprocessing systems).
18 28 Εισαγωγή στην Αλγοριθμική Τέλος, οι αλγόριθμοι, μπορούν να διακριθούν ανάλογα με την περιοχή προβλημάτων όπου έχουν ισχύ. Έτσι έχουμε αλγορίθμους αριθμητικούς (αν έχουν ι- σχύ σε προβλήματα αριθμητικής ανάλυσης), συνδυαστικούς (αν έχουν ισχύ σε προβλήματα συνδυαστικής), στοχαστικούς (αν έχουν ισχύ σε προβλήματα θεωρίας ουρών) κ.ο.κ.
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,
Διαβάστε περισσότεραΕισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου
Εισαγωγή στις Αρχές της επιστήμης των Η/Υ Β Λυκείου Επιστήμη των υπολογιστών μελετά Θεωρητικά θεμέλια Φύση πληροφοριών Φύση αλγορίθμων Φύση υπολογισμών Και τις τεχνολογικές εφαρμογές τους Από τις σκοπιές
Διαβάστε περισσότεραΕισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου
Εισαγωγή στις Αρχές της επιστήμης των Η/Υ Β Λυκείου Επιστήμη των υπολογιστών μελετά Θεωρητικά θεμέλια Φύση πληροφοριών Φύση αλγορίθμων Φύση υπολογισμών Και τις τεχνολογικές εφαρμογές τους Από τις σκοπιές
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Διαβάστε περισσότεραΕνδεικτικές Ερωτήσεις Θεωρίας
Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο
Διαβάστε περισσότεραΟι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται
Διαβάστε περισσότερα2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Δομές Δεδομένων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος
Προγραμματισμός Η/Υ Δομές Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Δομές Δεδομένων Τα δεδομένα ενός προβλήματος αποθηκεύονται στον υπολογιστή,
Διαβάστε περισσότεραΕισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Τι είναι πρόβλημα; ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα είναι κάθε κατάσταση που μας απασχολεί και χρήζει αντιμετώπισης,
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος
ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται
Διαβάστε περισσότεραΠρόβλημα 29 / σελίδα 28
Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,
Διαβάστε περισσότεραΕπιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:
Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΑ 3 και 9 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΕΣ Δεδομένα αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της δηλαδή.
Διαβάστε περισσότεραAlgorithms + Data Structures = Programs
Η Αριθμητική Ανάλυση είναι άρρηκτα δεμένη με τη χρήση του Η/Υ και η έννοια του Αλγόριθμου είναι βασική για τον προγραμματισμό των Η/Υ. Αλγόριθμος (Algorithm) είναι η ακριβής περιγραφή μιας αυστηρά καθορισμένης
Διαβάστε περισσότεραΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ 1. Έστω ότι ο καθηγητής σας δίνει δύο αριθμούς και σας ζητάει να του πείτε πόσο είναι το άθροισμά τους. Διατυπώστε
Διαβάστε περισσότεραΠρόβλημα 37 / σελίδα 207
Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση
Διαβάστε περισσότεραΠληροφορική 2. Αλγόριθμοι
Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)
Διαβάστε περισσότερα3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΙΝΑΚΩΝ ΣΤΟΙΒΑΣ ΚΑΙ ΟΥΡΑΣ Α ΜΕΡΟΣ ΘΕΩΡΙΑ ΓΙΑ ΠΙΝΑΚΕΣ 3.1
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :
Διαβάστε περισσότεραΚεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )
Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,
Διαβάστε περισσότεραΑ Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;
5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας
Διαβάστε περισσότεραΑνάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι
Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι Αραποστάθης Μάριος Καθηγητής Πληροφορικής Πειραματικού Λυκείου Βαρβακείου http://users.sch.gr/mariosarapostathis
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:
Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του Αλγορίθμου. Αλγόριθμος, σύμφωνα με το βιβλίο, είναι μια πεπερασμένη σειρά ενεργειών (όχι άπειρες), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες
Διαβάστε περισσότεραΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ
ΑΡΧΗ 1 ης ΣΕΛΙΔΑΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών Θέμα 1 ο Α. Να χαρακτηρίσετε κάθε μία από
Διαβάστε περισσότεραΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100
ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ Όνομα:.. Βαθμός: /100 Θέμα Α 1. Να χαρακτηρίσετε τις προτάσεις με Σ, αν είναι σωστές και Λ, αν είναι λάθος. a. Οι πίνακες δεν μπορούν να έχουν περισσότερες από δύο
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ Πίνακες και βασικές επεξεργασίες αυτών Σκοπιές από τις οποίες μελετά η πληροφορική τα δεδομένα Γλωσσών προγραμματισμού Υλικού Δομών δεδομένων Ανάλυσης δεδομένων 22/11/08 Παρουσιάσεις
Διαβάστε περισσότεραΕνότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από
Διαβάστε περισσότεραΘεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος Θέμα 1 Δίνονται τα παρακάτω τμήματα αλγορίθμου Α. βαλίτσα Αληθής εισιτήριο Αληθής ταξίδι βαλίτσα και εισιτήριο Τι τιμή θα έχει η λογική μεταβλητή
Διαβάστε περισσότεραΕισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο
Εισαγωγή - Βασικές έννοιες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Διαβάστε περισσότεραΚεφάλαιο 5 Ανάλυση Αλγορίθμων
Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι
Διαβάστε περισσότεραΑλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:
Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα
Διαβάστε περισσότερα! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΕπανάληψη Θεωρίας. Καστούμης Γιώργος
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΨΗ ΘΕΩΡΙΑΣ ΚΕΦΑΛΑΙΟ 1 Ορισµοί: Με τον όρο πρόβληµα εννοείται µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή,
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1. Να
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 7: Αφαίρεση δεδόμενων Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΣου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.
AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία
Διαβάστε περισσότερα2.2. Αλγόριθμοι Ορισμός αλγορίθμου ΚΕΦΑΛΑΙΟ. Προερωτήσεις
ΚΕΦΑΛΑΙΟ 2.2 Αλγόριθμοι Στόχοι του κεφαλαίου αυτού είναι να μπορούν οι μαθητές: να περιγράφουν την έννοια του αλγορίθμου και να διακρίνουν την ύπαρξη συγκεκριμένων χαρακτηριστικών που χρειάζεται να έχει
Διαβάστε περισσότεραΕπιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:
Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς K εφ. 1 σχολικού βιβλίου 1. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. 2. Για
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης
ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο. Πίνακες. Επικοινωνία:
Πίνακες Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του όρου «δεδομένα». Δεδομένα αποτελούν οποιαδήποτε στοιχεία μπορούν να εξαχθούν από τη διατύπωση του προβλήματος και η επιλογή τους εξαρτάται
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Επιμέλεια : Δρεμούσης Παντελής Κεφάλαια 2,7,8 1. Τι είναι αλγόριθμος; Μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο
Διαβάστε περισσότεραΨευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Διαβάστε περισσότεραΟ αλγόριθμος πρέπει να τηρεί κάποια κριτήρια
Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Είσοδος:
Διαβάστε περισσότεραΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ
Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό
Διαβάστε περισσότεραΑ1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;
ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΘΕΜΑ Α ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 01/03/2015 Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1.
Διαβάστε περισσότερα1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων
Διαβάστε περισσότεραΤμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Διαβάστε περισσότεραΔομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός
Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει
Διαβάστε περισσότεραΑν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε
Διαβάστε περισσότεραΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ
Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;
Διαβάστε περισσότεραΑνάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ
ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ 1. Ερωτήσεις -θέματα στη σελίδες 21, 49, 160 του σχολικού βιβλίου Μαθητή 2. Τεστ αυτοαξιολόγησης σελίδες 16, 27, 68 του τετραδίου του Μαθητή 3. Ν' αναφέρετε ονομαστικά τους
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΤΕ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ & ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΤΕ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ & ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Β ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Επιμέλεια Δρ Τσακνάκης Ιωάννης Επίκουρος
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Διαβάστε περισσότερα10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Διαβάστε περισσότεραΚεφάλαιο 2.2: Αλγόριθμοι. Επιστήμη ΗΥ Κεφ. 2.2 Καραμαούνας Πολύκαρπος
Κεφάλαιο 2.2: Αλγόριθμοι 1 2.2.1 Ορισμός αλγορίθμου Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος.
Διαβάστε περισσότεραI. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:
ΑΕσΠΠ 1 / 8 I. ΑΛΓΟΡΙΘΜΟΣ 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι: i. Είσοδος : χρήση μιας μεταβλητής που δεν έχει πάρει προηγουμένως τιμή. ii. Έξοδος : ο αλγόριθμος δεν εμφανίζει
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ (ΠΕΡΙΛΗΨΗ) ΕΠΙΜΕΛΕΙΑ: ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ ΚΕΦΑΛΑΙΟ 2 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 2.1 ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ ΟΡΙΣΜΟΣ: Αλγόριθμος είναι
Διαβάστε περισσότεραΠεριεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης
Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους
Διαβάστε περισσότερα2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης
Διαβάστε περισσότεραΈνα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι
Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι Περιλαμβάνει τα πρώτα θέματα όλων των πανελληνίων εξετάσεων από το 2000 μέχρι και σήμερα ΑΠΟΛΥΤΗΡΙΕΣ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2000 A. Να γράψετε στο τετράδιό σας
Διαβάστε περισσότεραΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2
1. 1-Σ, 2-Σ, 3-Λ, 4-Σ, 5-Σ 2. 1-α, 2-α, 3-β, 4-β, 5-α, 6-α, 7-α, 8-β, 9-β, 10-β 3. Τι ονομάζουμε αλγόριθμο; Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο
Διαβάστε περισσότερα8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.
1ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2015 Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΣΥΝΟΛΟ
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 2η. Θέματα Θεωρητικής Επιστήμης των Υπολογιστών ΚΕΦΑΛΑΙΑ Πρόβλημα Αλγόριθμοι Προγραμματισμός
ΕΝΟΤΗΤΑ 2η Θέματα Θεωρητικής Επιστήμης των Υπολογιστών ΚΕΦΑΛΑΙΑ 2.1. Πρόβλημα 2.2. Αλγόριθμοι 2.3. Προγραμματισμός ΚΕΦΑΛΑΙΟ 2.1 Πρόβλημα Στόχοι του κεφαλαίου αυτού είναι να μπορούν οι μαθητές: να περιγράφουν
Διαβάστε περισσότεραΑνάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον
Γ Λυκείου Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον ΜΕΡΟΣ I. ΑΛΓΟΡΙΘΜΟΣ ΦΥΣΙΚΕΣ & ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ ΑΚΟΛΟΥΘΙΑ Περιεχόμενα Κεφάλαιο 2: 2.1-2.3 2.4.1 Κεφάλαιο6: 6.3 Κεφάλαιο 7: όλο Κατηφόρης Παναγιώτης
Διαβάστε περισσότεραΦίλη μαθήτρια, φίλε μαθητή,
Φίλη μαθήτρια, φίλε μαθητή, Το παρόν τεύχος, εναρμονισμένο πλήρως με το νέο Πρόγραμμα Σπουδών 2015-2016, αποτελεί μια λογική και φυσική συνέχεια του πρώτου τεύχους. Δόθηκε ιδιαίτερη έμφαση στη μεθοδολογία
Διαβάστε περισσότεραENOTHTA 3 ΟΜΕΣ Ε ΟΜΕΝΩΝ
ENOTHTA ΟΜΕΣ Ε ΟΜΕΝΩΝ Ανάπτυξη Εφαρµογών, Αλέξης Μπράιλας,, 000 . ΠΙΝΑΚΕΣ Ανάπτυξη Εφαρµογών, Αλέξης Μπράιλας,, 000 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ εδοµένα Αλγόριθµοι + οµές εδοµένων = Προγράµµατα Πίνακες Στοίβα και Ουρά
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραΚάθε στοιχείο που γίνεται αντιληπτό με μία από τις πέντε αισθήσεις μας
Κάθε στοιχείο που γίνεται αντιληπτό με μία από τις πέντε αισθήσεις μας είναι ένα δεδομένο. Τα δεδομένα μπορούν να αναπαραστήσουν αφαιρετικά την πραγματικότητα δηλαδή να μας δείχνουν μία απλοποιημένη όψη
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Πρόβλημα Ως πρόβλημα θεωρείται μια κατάσταση που πρέπει
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2.4.5 8.2 Δομή Επανάληψης Δομές Επανάληψης Οι δομές επανάληψης χρησιμοποιούνται στις περιπτώσεις όπου μια συγκεκριμένη ακολουθία εντολών πρέπει να εκτελεστεί
Διαβάστε περισσότεραΠεριεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...
Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1
Διαβάστε περισσότερα1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.
1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός
Διαβάστε περισσότεραΟι δυναμικές δομές δεδομένων στην ΑΕΠΠ
Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος Ο όρος προέρχεται από μετάφραση του βιβλίο του Αμπού Αμπντουλάχ Μοχάμεντ Ιμπν Μούζα Αλ Χουαρίζμι
Διαβάστε περισσότεραβ. Δομημένα 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύςεων. γ. Άλυτα
ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 Α. Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα «Σ», αν είναι σωστή, ή το γράμμα «Λ», αν είναι λανθασμένη.
Διαβάστε περισσότεραΑ1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.
Ημερομηνία: 15/04/15 Διάρκεια διαγωνίσματος: 180 Εξεταζόμενο μάθημα: Προγραμματισμός Γ Λυκείου Υπεύθυνος καθηγητής: Παπαδόπουλος Πέτρος ΘΕΜΑ Α Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.
Διαβάστε περισσότεραΑριθμητική Ανάλυση & Εφαρμογές
Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2011-2012 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον
Διαβάστε περισσότεραΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.
ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές Εισαγωγή Νίκος Αθανάσης e-mail: athanasis@geo.aegean.gr Συνοπτικά Σκοπός του μαθήματος Στόχοι του μαθήματος Αντικείμενο του μαθήματος Κανονισμός
Διαβάστε περισσότεραΠρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.
Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων
Διαβάστε περισσότεραΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ
ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ Ερωτήσεις Σωστό / Λάθος 1. Η έννοια του αλγορίθμου συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής (ΕΞΕΤΑΣΕΙΣ 2003, 2007) 2. Ο αλγόριθμος μπορεί
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:
ΘΕΜΑ Α Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ταξινόμηση είναι μια από τις βασικές
Διαβάστε περισσότερα