Θεωρείς σημαντικό το γεγονός να μιλάς και να γράφεις πολύ καλά τη φυσική γλώσσα στην προσπάθειά σου να επιλύσεις ένα τυχαίο πρόβλημα;

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

Download "Θεωρείς σημαντικό το γεγονός να μιλάς και να γράφεις πολύ καλά τη φυσική γλώσσα στην προσπάθειά σου να επιλύσεις ένα τυχαίο πρόβλημα;"

Transcript

1 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.1. Η Έννοια Πρόβλημα Προερωτήσεις Θεωρείς σημαντικό το γεγονός να μιλάς και να γράφεις πολύ καλά τη φυσική γλώσσα στην προσπάθειά σου να επιλύσεις ένα τυχαίο πρόβλημα; Έχεις ακούσει για το πρόβλημα του έτους 2000; o Θεωρήθηκε ως ένα από τα σημαντικότερα προβλήματα στο χώρο των υπολογιστών (millennium bug). Το πρόβλημα εντοπίστηκε στο ότι οι υπολογιστές μετρούν την ημερομηνία μόνο με δύο στοιχεία για κάθε ένα από τα συνθετικά της. π.χ. η ημερομηνία 15 Απριλίου 1999 συμβολίζεται με τον κωδικό Θα είχε νόημα όμως ένας κωδικός της μορφής ; Όταν αναφερόμαστε σε προβλήματα, έμμεσα δηλώνουμε την ανάγκη χρήσης υπολογιστών για την αντιμετώπισή τους; o Λόγοι που αναθέτουμε την επίλυση ενός προβλήματος σε υπολογιστή: Πολυπλοκότητα υπολογισμών Επαναληπτικότητα διαδικασιών Ταχύτητα εκτέλεσης πράξεων Μεγάλο πλήθος δεδομένων o Δεν πρέπει όμως να ξεχνάμε ότι ο υπολογιστής δεν μπορεί να εκτελεί παρά μόνο τρεις λειτουργίες: Πρόσθεση, η οποία αποτελεί τη βασική αριθμητική πράξη, δεδομένου ότι και οι άλλες πράξεις μπορούν να αντιμετωπιστούν σας διαδικασίες πρόσθεσης. Σύγκριση, η οποία συνιστά τη βασική λειτουργία για την επιτέλεση όλων των λογικών πράξεων Μεταφορά Δεδομένων, λειτουργία που προηγείται ή έπεται της επεξεργασίας δεδομένων Υπάρχει νοηματική διαφορά ανάμεσα στους όρους δεδομένο και πληροφορία; o Με τον όρο δεδομένο δηλώνεται οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του. o Με τον όρο πληροφορία αναφέρεται οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων. o Ο όρος επεξεργασία δεδομένων δηλώνει εκείνη την διαδικασία κατά την οποία ένας «μηχανισμός» δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα με έναν προκαθορισμένο τρόπο και αποδίδει πληροφορίες. Ορισμός Με τον όρο Πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης και απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Παραδείγματα Ανεργία Ναρκωτικά Πόλεμος Μόλυνση το περιβάλλοντος Βιβλιογραφία Πηγές Γιαννέλης Δ., Γιαννέλης Κ, «Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον», Εκδόσεις Γκιούρδα, Αθήνα, 2005 Αργυρού Μ., Μαραγκού Κ., «Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον», Εκδόσεις Κωστόγιαννος Βακάλη, Γιαννόπουλος, Ιωαννίδης, Κοίλια, Μάλαμα, Μανωλόπουλος, Πολίτης, «Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον 1

2 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Ανάλυση και Σύνθεση Προβλήματος Κατανόηση Προβλήματος Η οποιαδήποτε προσπάθεια αντιμετώπισης ενός προβλήματος είναι καταδικασμένη σε αποτυχία αν προηγουμένως δεν έχει γίνει απόλυτα κατανοητό το πρόβλημα που τίθεται. Η κατανόηση ενός προβλήματος αποτελεί συνάρτηση δύο παραγόντων: 1. Της σωστής διατύπωσης από τη μεριά του δημιουργού του και 2. Της αντίστοιχα σωστής ερμηνείας από την μεριά αυτού που καλείται να λύσει το συγκεκριμένο πρόβλημα. Οποιοδήποτε μέσο μπορεί να χρησιμοποιηθεί για να αποδοθεί η διατύπωση ενός προβλήματος, με συνηθέστερο από όλα τον λόγο (προφορικός ή γραπτός). Σαφήνεια διατύπωσης Ο λόγος σαν μέσο επικοινωνίας και συνεννόησης πρέπει να χαρακτηρίζεται από σαφήνεια. Στοιχεία που μπορεί να προκαλέσουν παραπλανήσεις και παρερμηνείες είναι: Η άστοχη χρήση ορολογίας Η λανθασμένη σύνταξη Παράδειγμα Ο Χρήστος είναι αθλητικός τύπος. Ο Γιάννης και η Μαρία είναι παντρεμένοι. Η Ελένη είναι προϊσταμένη σε τράπεζα. Ερμηνεία 1: Ο Γιάννης και η Μαρία είναι παντρεμένοι μεταξύ τους. Ερμηνεία 2: Ο Γιάννης είναι παντρεμένος και η Μαρία είναι παντρεμένη. Δομή Προβλήματος Η κατανόηση του προβλήματος είναι βασική προϋπόθεση για να γίνει δυνατή η σωστή αποτύπωση της δομής του. Στην ουσία η καταγραφή της δομής ενός προβλήματος σημαίνει ότι έχει αρχίσει η ανάλυσή του σε απλούστερα προβλήματα. Ορισμός: Με τον όρο δομή ενός προβλήματος αναφερόμαστε στα συστατικά του μέρη, στα επιμέρους τμήματα που το αποτελούν καθώς επίσης και στον τρόπο που αυτά τα μέρη συνδέονται μεταξύ τους. Παράδειγμα: Το πρόβλημα αντιμετώπισης των ναρκωτικών. (1) Πρόληψη (2) Θεραπεία (3) Επανένταξη (1.1) Σωστή ενημέρωση των πολιτών σχετικά με το θέμα (1.2) Υποβοήθηση προς την κατεύθυνση ανάπτυξης ενδιαφερόντων, οραμάτων και στόχων εκ μέρους των εφήβων (1.3) Υποστήριξη ομάδων αυξημένης θεωρητικά «προδιάθεσης» (1.1.1) Ενημέρωση των εφήβων μέσα από κατάλληλα προγράμματα στα σχολεία (1.1.2) Ενημέρωση των γονέων με προγράμματα του Δήμου (1.1.3) Ενημέρωση κάθε άλλου ενδιαφερόμενου πολίτη με προγράμματα του Υπουργείου Υγείας Διαγραμματική Αναπαράσταση Χρησιμοποιείται για την γραφική απεικόνιση της δομής ενός προβλήματος. Σύμφωνα με την Διαγραμματική Αναπαράσταση: το αρχικό πρόβλημα αναπαρίσταται από ένα ορθογώνιο παραλληλόγραμμο κάθε ένα από τα απλούστερα προβλήματα στα οποία αναλύεται ένα οποιοδήποτε πρόβλημα, αναπαρίσταται επίσης από ένα ορθογώνιο παραλληλόγραμμο 2

3 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 τα παραλληλόγραμμα που αντιστοιχούν στα απλούστερα προβλήματα στα οποία αναλύεται ένα οποιοδήποτε πρόβλημα, σχηματίζονται ένα επίπεδο χαμηλότερα. Έτσι σε κάθε κατώτερο επίπεδο, δημιουργείται η γραφική αναπαράσταση των προβλημάτων στα οποία αναλύονται τα προβλήματα του αμέσως ψηλότερου επιπέδου. Το Παράδειγμα των Ναρκωτικών 1.3. Καθορισμός Απαιτήσεων Έννοια Η σωστή επίλυση ενός προβλήματος προϋποθέτει τον επακριβή προσδιορισμό των δεδομένων που παρέχει το πρόβλημα. Απαιτεί επίσης την λεπτομερειακή καταγραφή των ζητούμενων που αναμένονται σαν αποτέλεσμα της επίλυσης του προβλήματος. Τα δεδομένα του προβλήματος δεν είναι πάντα εύκολο να βρεθούν με την πρώτη ματιά. Ο αναλυτής θα πρέπει να ψάξει και για τυχόν κρυμμένα δεδομένα. Το ίδιο προσεκτικά θα πρέπει να μελετηθούν και τα ζητούμενα του προβλήματος έτσι ώστε να καταλάβουμε επακριβώς τι μας ζητείται ως λύση του προβλήματος. Στάδια Αντιμετώπισης Προβλήματος 1. Κατανόηση, όπου απαιτείται η σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητούμενων του προβλήματος. 2. Ανάλυση, όπου το αρχικό πρόβλημα διασπάται σε άλλα επί μέρους απλούστερα προβλήματα. 3. Επίλυση, όπου υλοποιείται η λύση του προβλήματος, μέσω της λύσης των επιμέρους προβλημάτων. Κατανόηση ΣΧΕΔΙΑΓΡΑΜΜΑ: Ανάλυση Επίλυση 3

4 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Κατηγορίες Προβλημάτων Με κριτήριο την δυνατότητα επίλυσης Επιλύσιμα: είναι εκείνα τα προβλήματα για τα οποία η λύση τους είναι ήδη γνωστή και έχει διατυπωθεί. Επιλύσιμα μπορεί επίσης να χαρακτηριστούν και προβλήματα, των οποίων η λύση δεν έχει ακόμα διατυπωθεί, αλλά η συνάφειά τους με άλλα ήδη επιλυμένα μας επιτρέπει να θεωρούμε σαν βέβαιη την δυνατότητα επίλυσής τους. Ανοικτά: ονομάζονται εκείνα τα προβλήματα για τα οποία η λύση τους δεν έχει μεν βρεθεί ακόμα, αλλά παράλληλα δεν έχει αποδειχθεί ότι δεν επιδέχονται λύση. Άλυτα: χαρακτηρίζονται εκείνα τα προβλήματα για τα οποία έχουμε φτάσει στην παραδοχή, ότι δεν επιδέχονται λύση. π.χ. ο τετραγωνισμός του κύκλου. Με κριτήριο τον βαθμό δόμησης των λύσεών τους Δομημένα: χαρακτηρίζονται εκείνα τα προβλήματα των οποίων η επίλυση προέρχεται από μια αυτοματοποιημένη διαδικασία. π.χ. η λύση της δευτεροβάθμιας εξίσωσης. Ημιδομημένα: χαρακτηρίζονται εκείνα τα προβλήματα των οποίων η λύση επιδιώκεται στα πλαίσια ενός εύρους πιθανών λύσεων, αφήνοντας στον ανθρώπινο παράγοντα περιθώρια επιλογής της. π.χ. επιλογή μεταφορικού μέσου ενός ταξιδιώτη. Αδόμητα: χαρακτηρίζονται τα προβλήματα εκείνα των οποίων οι λύσεις δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί σε βάθος η δυνατότητα δόμησής τους. Πρωτεύοντα ρόλο στην επίλυση αυτού του τύπου προβλημάτων κατέχει η ανθρώπινη διαίσθηση. π.χ. η επιλογή του τρόπου, του τόπου και του χρόνου διεξαγωγής ενός εφηβικού πάρτυ. Με κριτήριο το είδος της επίλυσης που επιζητούν Απόφασης: όπου η απόφαση που πρόκειται να ληφθεί σαν λύση του προβλήματος που τίθεται, απαντά σε ένα ερώτημα και πιθανόν αυτή η απάντηση είναι ένα ΝΑΙ ή ένα ΌΧΙ. o Παράδειγμα: Δίδεται ένας αριθμός Ν και το πρόβλημα που τίθεται είναι αν ο αριθμός Ν είναι πρώτος. Υπολογιστικά: όπου το πρόβλημα που τίθεται απαιτεί τη διενέργεια υπολογισμών για να μπορεί να δοθεί μια απάντηση στο πρόβλημα. o Παράδειγμα: Δίδεται ένας ακέραιος αριθμός Ν και ζητείται να βρεθεί πόσες διαφορετικές παραγοντοποιήσεις του Ν υπάρχουν. Βελτιστοποίησης: όπου το πρόβλημα που τίθεται επιζητά το βέλτιστο αποτέλεσμα για τα συγκρινόμενα δεδομένα που διαθέτει. o Παράδειγμα: Δίδεται ένας ακέραιος αριθμός Ν και ζητείται ποια είναι η παραγοντοποίηση για το Ν με το μεγαλύτερο πλήθος παραγόντων Αλγόριθμοι (Βασικές Έννοιες - Χαρακτηριστικά) Ορισμός Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Σημείωση: Στην ουσία χρησιμοποιούμε έναν αλγόριθμο για να δηλώσουμε τις μεθόδους με την εφαρμογή των οποίων θα λύσουμε ένα πρόβλημα. Κάθε αλγόριθμος απαραίτητα ικανοποιεί τα επόμενα κριτήρια: Κριτήρια Είσοδος (input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδο στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών 4

5 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 Έξοδος (output): Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. π.χ. μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή. Περατότητα (finiteness): Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από έναν συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία (computational procedure). Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου είναι απλή. Αυτό σημαίνει ότι μια εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη. Σημείωση: Τα παραπάνω χαρακτηριστικά καθιστούν έναν αλγόριθμο «πλήρη» Τρόποι Αναπαράστασης Αλγορίθμου 4 Τρόποι Αναπαράστασης 1. Ελεύθερο Κείμενο: Ο αλγόριθμος γράφεται σε απλή φυσική γλώσσα ως μια σύντομη περίληψη. Ο τρόπος αυτός είναι ο πιο ανεπεξέργαστος και αδόμητος τρόπος παρουσίασης ενός αλγορίθμου και χρησιμοποιείται ελάχιστα (μόνο για την περιγραφή της λύσης πολύ απλών προβλημάτων). Συχνά εγκυμονεί κινδύνους στο ότι μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων. δηλαδή την αποτελεσματικότητα. 2. Φυσική Γλώσσα με Βήματα: Ο αλγόριθμος γράφεται σε απλή φυσική γλώσσα ως μία ακολουθία αριθμημένων βημάτων. Χρησιμοποιείται επίσης σε πολύ απλά προβλήματα, γιατί ενδέχεται συχνά να παραβιάζει το τρίτο χαρακτηριστικό των αλγορίθμων, δηλαδή την καθοριστικότητα. 3. Διάγραμμα Ροής (flow chart) ή άλλες διαγραμματικές τεχνικές: Ο αλγόριθμος αναπαριστάνεται με συγκεκριμένα σχήματα καθένα από τα οποία δηλώνει μια συγκεκριμένη ενέργεια ή λειτουργία. Ο τρόπος αυτός είναι πιο παραστατικός από τους δύο προηγούμενους αλλά δεν συνίσταται σε ιδιαίτερα πολύπλοκους αλγορίθμους. 4. Ψευδοκώδικας ή Ψευδογλώσσα: Ο αλγόριθμος αναπαριστάνεται με αυστηρή και τυπική μορφή σε μια γλώσσα που μοιάζει αρκετά με μια γλώσσα προγραμματισμού και ονομάζεται Ψευδογλώσσα ή Ψευδοκώδικας. Ο τρόπος αυτός είναι ο καλύτερος αφού η ψευδογλώσσα που χρησιμοποιούμε είναι πολύ κοντά στη γλώσσα του Η/Υ και είναι αρκετά εύκολο να μετατρέψουμε αυτή τη γλώσσα σε πρόγραμμα, κάτι που άλλωστε είναι και ο τελικός μας στόχος. Παράδειγμα Υπολογίστε το μέσο όρο τριών αριθμών. 1) Ελεύθερο Κείμενο Πάρε τρεις τυχαίους αριθμούς. Πρόσθεσέ τους, διαίρεσε το άθροισμα με το πλήθος τους και εμφάνισε το αποτέλεσμα. 2) Φυσική Γλώσσα με Βήματα 1) Πάρε τρεις τυχαίους αριθμούς. 2) Πρόσθεσέ τους. 3) Διαίρεσε το άθροισμα με το πλήθος τους. 4) Εμφάνισε το αποτέλεσμα. Ερώτηση: Γιατί δεν βάζουμε τα βήματα 2 και 3 σε ένα; 5

6 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 3) Διάγραμμα Ροής Πάρε 3 αριθμούς Πρόσθεσέ τους Διαίρεσε το άθροισμα με το πλήθος τους Εμφάνισε το αποτέλεσμα τέλος 4) Ψευδοκώδικας πρόγραμμα μέσος_όρος πραγματικές: β1, β2, β3, μο γράψε Δώσε τρεις αριθμούς διάβασε β1, β2, β3 μο (β1 + β2 + β3)/3 γράψε Ο μέσος όρος είναι:, μο τέλος_προγράμματος μέσος_όρος 6

7 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Διαγράμματα Ροής Από τι Αποτελείται Ένα διάγραμμα ροής αποτελείται από ένα σύνολο γεωμετρικών σχημάτων, όπου το καθένα δηλώνει μια συγκεκριμένη ενέργεια ή λειτουργία. Τα γεωμετρικά σχήματα ενώνονται μεταξύ τους με βέλη, που δηλώνουν τη σειρά εκτέλεσης των ενεργειών αυτών. Σύμβολα Διαγράμματος Ροής Γραφική Αναπαράσταση Είδος Σχήματος Ερμηνεία Έλλειψη Δηλώνει την ή το τέλος του αλγορίθμου Παραλληλόγραμμο Δηλώνει είσοδο δεομένων ή έξοδο αποτελεσμάτων. Πολλές φορές το σχήμα αυτό μπορεί να διαφοροποιείται προκειμένου να προσδιορίζεται και το είδος της συσκευής εισόδου ή εξόδου Βέλη Δηλώνουν τη ροή (σειρά) εκτέλεσης των εντολών Ορθογώνιο Παραλληλόγραμμο Δηλώνει την εκτέλεση μίας ή περισσότερων πράξεων Ρόμβος Δηλώνει έλεγχο συνθήκης με δύο ή περισσότερες εξόδους για απάντηση 7

8 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Ψευδοκώδικας Γενικά Μορφή Ψευδοκώδικα Η γενική μορφή ενός αλγορίθμου σε ψευδοκώδικα είναι η ακόλουθη: πρόγραμμα όνομα σταθερές δήλωση σταθερών δήλωση μεταβλητών εντολές τέλος_προγράμματος όνομα Δεσμευμένες Λέξεις Με έντονα γράμματα αναπαριστάνουμε τις δεσμευμένες λέξεις της ψευδογλώσσας. Δεσμευμένες ονομάζονται οι λέξεις που χρησιμοποιούνται με καθορισμένο τρόπο για να επιτελούν συγκεκριμένες λειτουργίες της ψευδογλώσσας. Τις λέξεις αυτές δεν μπορούμε να τις χρησιμοποιήσουμε για τίποτε άλλο παρά μόνο γι αυτό που έχουν δηλωθεί από την ψευδογλώσσα. Περιορισμοί Ονομάτων Τα ονόματα του προγράμματος (και των υποπρογραμμάτων), των μεταβλητών και των σταθερών πρέπει να υπακούουν στους ακόλουθους περιορισμούς: Να αρχίζουν μόνο με γράμμα Να περιέχουν μόνο γράμματα, αριθμούς και το χαρακτήρα της κάτω παύλας (κανένα άλλο χαρακτήρα) Να είναι μία συνεχόμενη λέξη (χωρίς κενά) Να είναι διαφορετικά από τα ονόματα των δεσμευμένων λέξεων Να είναι διαφορετικά μεταξύ τους (δηλαδή να μην ταυτίζεται το όνομα του προγράμματος με τα ονόματα των σταθερών ή μεταβλητών ή και των σταθερών και μεταβλητών μεταξύ τους) Σταθερές Οι σταθερές είναι ποσότητες οι οποίες διατηρούν αμετάβλητο το περιεχόμενό τους σε όλη τη διάρκεια εκτέλεσης του αλγόριθμου. Υπάρχουν δύο (2) είδη σταθερών: οι σταθερές τιμές οι ονοματισμένες σταθερές Οι σταθερές τιμές μπορεί να ανήκουν σε έναν από τους ακόλουθους τύπους: ακέραιες π.χ. 3, 5, 10, 0 κ.λ.π. πραγματικές π.χ. 3.5, -6, 4, 5.8 κ.λ.π. αλφαριθμητικές ή χαρακτήρες π.χ. αποτέλεσμα, μέσος όρος, κ κ.λ.π. λογικές π.χ. ΑΛΗΘΗΣ και ΨΕΥΔΗΣ Οι ονοματισμένες σταθερές είναι ονόματα στα οποία αποδίδουμε σταθερές τιμές. Αυτό γίνεται για να εξασφαλίσουμε μεγαλύτερη κατανοησιμότητα στον αλγόριθμο χρησιμοποιώντας ονόματα αντί για τιμές. Η δήλωση μιας σταθεράς γίνεται στο τμήμα δήλωσης σταθερών του ψευδοκώδικα ως εξής: σταθερές όνομα = τιμή 8

9 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 π.χ. σταθερές π = 3.14 (ονοματισμένη σταθερά πραγματικού τύπου) φπα = 0.19 (ονοματισμένη σταθερά πραγματικού τύπου) κ = 5 (ονοματισμένη σταθερά ακέραιου τύπου) μαθητής = Δημήτρης (ονοματισμένη σταθερά τύπου χαρακτήρα) επιτυχία = αληθής (ονοματισμένη σταθερά λογικού τύπου) Στις ονοματισμένες σταθερές δεν γίνεται ρητή δήλωση του τύπου τους, αλλά ο τύπος τους προσδιορίζεται αυτόματα από το περιεχόμενο που τους εκχωρούμε αρχικά κατά τη δήλωσή τους. Μεταβλητές Οι είναι θέσεις μνήμης στις οποίες: α) εισάγουμε δεδομένα από το πληκτρολόγιο β) καταχωρούμε αποτελέσματα Τύποι Μεταβλητών Μια μεταβλητή ανάλογα με το περιεχόμενο που παίρνει μπορεί να ανήκει σε έναν από τους ακόλουθους τύπους: ακέραιες: όταν το περιεχόμενό της είναι ένας ακέραιος αριθμός πραγματικές: όταν το περιεχόμενό της είναι ένας πραγματικός αριθμός χαρακτήρες: όταν το περιεχόμενό της είναι ένας ή περισσότεροι χαρακτήρες λογικές: όταν το περιεχόμενό της είναι είτε η τιμή αληθής (true) είτε η τιμή ψευδής (false) Η δήλωση μιας μεταβλητής γίνεται στο τμήμα δήλωσης μεταβλητών του ψευδοκώδικα ως εξής: τύπος: όνομα μεταβλητής π.χ. ακέραιες: x, y πραγματικές: μέσος_όρος, βαθμός χαρακτήρες: όνομα λογικές: επιτυχία, αποτυχία, found Παρατηρήσεις Γενικά ως ονόματα μεταβλητών και ονοματισμένων σταθερών πρέπει να επιλέγονται κατάλληλες λέξεις που να περιγράφουν το περιεχόμενο της σταθεράς ή της μεταβλητής π.χ. το όνομα βαθμός είναι προτιμότερο από το όνομα x για να δηλώσει μια μεταβλητή στην οποί θα εισάγουμε ένα βαθμό ή το όνομα φπα είναι προτιμότερο από το όνομα y για να δηλώσουμε μια ονοματισμένη σταθερά στην οποία θα εισάγουμε ως περιεχόμενο ένα ποσοστό φπα. Τέλος όλες οι που χρησιμοποιούμε σε ένα ψευδοκώδικα είναι υποχρεωτικό να δηλώνονται στην του και συγκεκριμένα στο τμήμα δήλωσης μεταβλητών. Μεθοδολογία Γραφής Αλγορίθμου σε Ψευδοκώδικα Για να γράψουμε έναν αλγόριθμο σε μορφή ψευδοκώδικα ακολουθούμε κατά σειρά τα εξής βήματα: 1. Πρώτα εισάγουμε όλα τα δεδομένα που απαιτούνται στον αλγόριθμο 2. Μετά υπολογίζουμε όλα τα ζητούμενα 3. Τέλος εμφανίζουμε τα αντίστοιχα αποτελέσματα Καθένα από τα τρία βήματα υλοποιείται στον ψευδοκώδικα με συγκεκριμένη εντολή. Οι εντολές αυτές περιγράφονται ακολούθως. 9

10 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 Εντολή Εισόδου Δεδομένων Η εισαγωγή δεδομένων σε έναν αλγόριθμο γίνεται με την εντολή διάβασε. Η εντολή διάβασε έχει την ακόλουθη σύνταξη: Σύνταξη διάβασε μεταβλητή διάβασε μεταβλητή1, μεταβλητή 2, μεταβλητή 3 Λειτουργία Επιτρέπει την εισαγωγή μια τιμής (αριθμού, χαρακτήρα, κ.λ.π.) από το πληκτρολόγιο και την αποθήκευσή της σε μια μεταβλητή (θέση μνήμης) Επιτρέπει την εισαγωγή πολλών τιμών (αριθμού, χαρακτήρα, κ.λ.π.) από το πληκτρολόγιο και την αποθήκευσή τους σε πολλές (θέσεις μνήμης) Εντολή Υπολογισμού Η εντολή με την οποία υπολογίζουμε τα ζητούμενα ονομάζεται εντολή καταχώρησης (ή εκχώρησης) και αναπαριστάνεται με το σύμβολο. Η εντολή αυτή χρησιμοποιείται για την αποθήκευση (καταχώρηση) σε μια μεταβλητή είτε: μιας σταθερής τιμής (μεταβλητή τιμή) της τιμής μιας άλλης μεταβλητής (μεταβλητή μεταβλητή) του αποτελέσματος μιας παράστασης (μεταβλητή παράσταση) Εντολή Εμφάνισης Αποτελεσμάτων και Μηνυμάτων Η εμφάνιση αποτελεσμάτων και μηνυμάτων (σχολίων) στην οθόνη του Η/Υ γίνεται με την εντολή γράψε ή εμφάνισε. Η εντολή γράψε έχει την ακόλουθη σύνταξη: Σύνταξη γράψε μεταβλητή γράψε μεταβλητή1, μεταβλητή2, μεταβλητή3, γράψε σχόλιο γράψε σχόλιο, μεταβλητή ή γράψε σχόλιο, μεταβλητή1, μεταβλητή2, Λειτουργία Εμφανίζεται στην οθόνη το περιεχόμενο της μεταβλητής Εμφανίζεται στην οθόνη το περιεχόμενο όλων των μεταβλητών Εμφανίζεται στην οθόνη ένα σχόλιο. Σχόλιο ονομάζεται μια ακολουθία χαρακτήρων μέσα σε (απλές) αποστρόφους την οποία ο Η/Υ εμφανίζει στην οθόνη όπως ακριβώς είναι γραμμένη. Συνήθως γράφουμε ένα σχόλιο προκειμένου να δώσουμε διευκρινήσεις. Εμφανίζεται στην οθόνη ένα σχόλιο ακολουθούμενο από το περιεχόμενο μιας ή περισσότερων μεταβλητών. Το σχόλιο αυτό συνήθως εξηγεί το περιεχόμενο των μεταβλητών που εμφανίζουμε. Μεθοδολογία Γραφής Αλγορίθμου σε Ψευδοκώδικα με τις Αντίστοιχες Εντολές Σύμφωνα με αυτά που αναφέραμε προηγουμένως τα βήματα της μεθοδολογίας του ψευδοκώδικα υλοποιούνται με τις ακόλουθες εντολές: 1. Το βήμα της εισαγωγής δεδομένων υλοποιείται στον ψευδοκώδικα με την εντολή διάβασε 2. Το βήμα του υπολογισμού των ζητουμένων υλοποιείται στον ψευδοκώδικα με την εντολή καταχώρησης (για κάθε ζητούμενο) 3. Το βήμα της εμφάνισης αποτελεσμάτων και σχολίων υλοποιείται στον ψευδοκώδικα με την εντολή γράψε 10

11 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 Αριθμητικοί Τελεστές Οι αριθμητικοί τελεστές που χρησιμοποιούνται στον ψευδοκώδικα είναι οι ακόλουθοι (στον πίνακα με τους αριθμητικούς τελεστές εμφανίζεται και η προτεραιότητά τους): Προτεραιότητα Τελεστής 1 ^ 2 * / div mod Παρατηρήσεις 1. Οι παραστάσεις που βρίσκονται σε παρένθεση προηγούνται όλων 2. Όταν έχουμε τελεστές της ίδιας προτεραιότητας η σειρά εκτέλεσης των πράξεων είναι από αριστερά προς τα δεξιά 3. Ο τελεστής div υπολογίζει το ακέραιο πηλίκο της διαίρεσης 2 ακεραίων ενώ ο τελεστής / υπολογίζει το πραγματικό πηλίκο της διαίρεσης 2 πραγματικών ή ακεραίων 4. Ο τελεστής mod υπολογίζει το ακέραιο υπόλοιπο της διαίρεσης 2 ακεραίων Παραδείγματα εφαρμογής αριθμητικών τελεστών 3 div 2 = 1 3 / 2 = mod 2 = 1 5 div 6 = 0 5 mod 6 = 5 5 / 6 = ^2 div 6 = 4 5^2 mod 6 = 1 1 div 2 = 0 1 mod 2 = 1 1 / 2 = div 3 mod 2 = 1 5 div (3 mod 2) = 5 5 mod 3^2 div 2 = 2 3 * 2 / 4 1 = 0.5 Αριθμητικές Συναρτήσεις Οι πιο βασικές αριθμητικές συναρτήσεις που μπορούμε να χρησιμοποιήσουμε στον ψευδοκώδικα είναι οι ακόλουθες: Συνάρτηση Ερμηνεία Παράδειγμα Α_Τ Απόλυτη τιμή Α_Τ(x) είναι ισοδύναμο με x Τ_Ρ Τετραγωνική ρίζα Τ_Ρ(x) είναι ισοδύναμο με x Α_Μ Ακέραιο μέρος Α_Μ(3,2) είναι ίσο με 3 ΗΜ Ημίτονο ΗΜ(90) είναι ίσο με 1 ΣΥΝ Συνημίτονο ΣΥΝ(90) είναι ίσο με 0 ΕΦ Εφαπτομένη ΕΦ(10) είναι ίσο με 0.17 ΛΟΓ Λογάριθμος ΛΟΓ(10) είναι ίσο με Ερωτήσεις Κεφαλαίου 1 Ερώτηση 01 (*) Τι είναι αλγόριθμος; Ποια τα βασικά χαρακτηριστικά ενός αλγορίθμου; Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα βασικά χαρακτηριστικά ενός αλγορίθμου είναι τα ακόλουθα: Είσοδος (input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδο στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών Έξοδος (output): Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. 11

12 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. π.χ. μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή. Περατότητα (finiteness): Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από έναν συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία (computational procedure). Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου είναι απλή. Αυτό σημαίνει ότι μια εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη. Ερώτηση 02 (*) Ποιους τρόπους γνωρίζετε για την αναπαράσταση ενός αλγορίθμου; ώστε µία σύντομη περιγραφή για τον καθένα. Οι τρόποι αναπαράστασης ενός αλγορίθμου είναι οι εξής: 1. Ελεύθερο Κείμενο: Ο αλγόριθμος γράφεται σε απλή φυσική γλώσσα ως μια σύντομη περίληψη. Ο τρόπος αυτός είναι ο πιο ανεπεξέργαστος και αδόμητος τρόπος παρουσίασης ενός αλγορίθμου και χρησιμοποιείται ελάχιστα (μόνο για την περιγραφή της λύσης πολύ απλών προβλημάτων). Συχνά εγκυμονεί κινδύνους στο ότι μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων. δηλαδή την αποτελεσματικότητα. 2. Φυσική Γλώσσα με Βήματα: Ο αλγόριθμος γράφεται σε απλή φυσική γλώσσα ως μία ακολουθία αριθμημένων βημάτων. Χρησιμοποιείται επίσης σε πολύ απλά προβλήματα, γιατί ενδέχεται συχνά να παραβιάζει το τρίτο χαρακτηριστικό των αλγορίθμων, δηλαδή την καθοριστικότητα. 3. Διάγραμμα Ροής (flow chart) ή άλλες διαγραμματικές τεχνικές: Ο αλγόριθμος αναπαριστάνεται με συγκεκριμένα σχήματα καθένα από τα οποία δηλώνει μια συγκεκριμένη ενέργεια ή λειτουργία. Ο τρόπος αυτός είναι πιο παραστατικός από τους δύο προηγούμενους αλλά δεν συνίσταται σε ιδιαίτερα πολύπλοκους αλγορίθμους. 4. Ψευδοκώδικας ή Ψευδογλώσσα: Ο αλγόριθμος αναπαριστάνεται με αυστηρή και τυπική μορφή σε μια γλώσσα που μοιάζει αρκετά με μια γλώσσα προγραμματισμού και ονομάζεται Ψευδογλώσσα ή Ψευδοκώδικας. Ο τρόπος αυτός είναι ο καλύτερος αφού η ψευδογλώσσα που χρησιμοποιούμε είναι πολύ κοντά στη γλώσσα του Η/Υ και είναι αρκετά εύκολο να μετατρέψουμε αυτή τη γλώσσα σε πρόγραμμα, κάτι που άλλωστε είναι και ο τελικός μας στόχος. Ερώτηση 03 (*) Τι είναι πρόβλημα; Ποιες είναι οι κατηγορίες που χωρίζονται τα προβλήματα ανάλογα µε τη δυνατότητα επίλυσης τους; Με τον όρο Πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης και απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Τα προβλήματα χωρίζονται στις εξής κατηγορίες ανάλογα με το δυνατότητα επίλυσής τους. Επιλύσιμα: είναι εκείνα τα προβλήματα για τα οποία η λύση τους είναι ήδη γνωστή και έχει διατυπωθεί. Επιλύσιμα μπορεί επίσης να χαρακτηριστούν και προβλήματα, των οποίων η λύση δεν έχει ακόμα διατυπωθεί, αλλά η συνάφειά τους με άλλα ήδη επιλυμένα μας επιτρέπει να θεωρούμε σαν βέβαιη την δυνατότητα επίλυσής τους. Ανοικτά: ονομάζονται εκείνα τα προβλήματα για τα οποία η λύση τους δεν έχει μεν βρεθεί ακόμα, αλλά παράλληλα δεν έχει αποδειχθεί ότι δεν επιδέχονται λύση. Άλυτα: χαρακτηρίζονται εκείνα τα προβλήματα για τα οποία έχουμε φτάσει στην παραδοχή, ότι δεν επιδέχονται λύση. π.χ. ο τετραγωνισμός του κύκλου. Ερώτηση 04 (*) Σε ποιες κατηγορίες χωρίζονται τα προβλήματα ανάλογα µε το βαθμό δόμησής τους; Οι κατηγορίες είναι οι εξής: Δομημένα: χαρακτηρίζονται εκείνα τα προβλήματα των οποίων η επίλυση προέρχεται από μια αυτοματοποιημένη διαδικασία. π.χ. η λύση της δευτεροβάθμιας εξίσωσης. 12

13 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 Ημιδομημένα: χαρακτηρίζονται εκείνα τα προβλήματα των οποίων η λύση επιδιώκεται στα πλαίσια ενός εύρους πιθανών λύσεων, αφήνοντας στον ανθρώπινο παράγοντα περιθώρια επιλογής της. π.χ. επιλογή μεταφορικού μέσου ενός ταξιδιώτη. Αδόμητα: χαρακτηρίζονται τα προβλήματα εκείνα των οποίων οι λύσεις δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί σε βάθος η δυνατότητα δόμησής τους. Πρωτεύοντα ρόλο στην επίλυση αυτού του τύπου προβλημάτων κατέχει η ανθρώπινη διαίσθηση. π.χ. η επιλογή του τρόπου, του τόπου και του χρόνου διεξαγωγής ενός εφηβικού πάρτυ. Ερώτηση 05 Ποια είναι τα στάδια αντιμετώπισης ενός προβλήματος; Τα στάδια αντιμετώπισης ενός προβλήματος είναι τα εξής: 1. Κατανόηση, όπου απαιτείται η σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητούμενων του προβλήματος. 2. Ανάλυση, όπου το αρχικό πρόβλημα διασπάται σε άλλα επί μέρους απλούστερα προβλήματα. 3. Επίλυση, όπου υλοποιείται η λύση του προβλήματος, μέσω της λύσης των επιμέρους προβλημάτων. Ερώτηση 06 (*) Σε ποιες κατηγορίες χωρίζονται τα προβλήματα ανάλογα µε το είδος επίλυσής τους; Οι κατηγορίες είναι οι εξής: Απόφασης: όπου η απόφαση που πρόκειται να ληφθεί σαν λύση του προβλήματος που τίθεται, απαντά σε ένα ερώτημα και πιθανόν αυτή η απάντηση είναι ένα ΝΑΙ ή ένα ΌΧΙ. Υπολογιστικά: όπου το πρόβλημα που τίθεται απαιτεί τη διενέργεια υπολογισμών για να μπορεί να δοθεί μια απάντηση στο πρόβλημα. Βελτιστοποίησης: όπου το πρόβλημα που τίθεται επιζητά το βέλτιστο αποτέλεσμα για τα συγκρινόμενα δεδομένα που διαθέτει. 13

14 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 ΚΕΦΑΛΑΙΟ 2 ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΔΟΜΕΣ 2.1. Εισαγωγή Αλγοριθμικές Δομές Οι αλγοριθμικές δομές εκφράζουν διαφορετικούς τρόπους γραφής ενός αλγορίθμου. Οι αλγοριθμικές δομές είναι τρεις: Ακολουθιακή Δομή Δομή Επιλογής Δομή Επανάληψης 2.2. Ακολουθιακή Δομή Γενικά Η ακολουθιακή δομή είναι η πιο απλή αλγοριθμική δομή στην οποία όλες οι εντολές του αλγορίθμου εκτελούνται: η μία μετά την άλλη (ακολουθιακά) μόνο μία φορά η κάθε μία υποχρεωτικά (δηλαδή δεν αγνοείται κάποια εντολή όπως συμβαίνει σε άλλες αλγοριθμικές δομές) Η ακολουθιακή δομή υλοποιείται με τις εντολές: διάβασε γράψε καταχώρισε () 2.3. Δομή Επιλογής Γενικά Η δομή επιλογής χρησιμοποιείται όταν θέλουμε να ελέγξουμε μια συνθήκη και να εκτελέσουμε κάποιες ενέργειες ανάλογα με την τιμή αυτής της συνθήκης. Συγκεκριμένα αν η συνθήκη είναι αληθής, τότε θέλουμε να εκτελούνται κάποιες εντολές ενώ αν είναι ψευδής θέλουμε να εκτελούνται κάποιες άλλες εντολές (διαφορετικές) ή να μην εκτελείται καμία εντολή. Η δομή της επιλογής υλοποιείται με τις εντολές: αν επίλεξε 14

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

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

17 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 ΛΕΙΤΟΥΡΓΙΑ Ελέγχεται η τιμή της μεταβλητής. Αν η τιμή της μεταβλητής ανήκει στη λίστα_τιμών1 (δηλαδή αν είναι ίση με κάποια από τις τιμές της λίστας_τιμών1) τότε εκτελείται μόνο η εντολή1 (ή οι εντολές1) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επιλογών. Αν η τιμή της μεταβλητής ανήκει στη λίστα_τιμών2 (δηλαδή αν είναι ίση με κάποια από τις τιμές της λίστας_τιμών2) τότε εκτελείται μόνο η εντολή2 (ή οι εντολές2) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επιλογών κ.ο.κ. Αν η μεταβλητή δεν ανήκει σε κανένα από τα προηγούμενα σύνολα τιμών τότε εκτελείται η εντολήν (ή οι εντολέςν). Η εντολή επίλεξε ελέγχει συνεπώς μόνο ισότητες όσον αφορά την τιμή της μεταβλητής. ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ μεταβλητή λίστα_τιμών1 λίστα_τιμών2 περίπτωση εντολή1 (εντολές1) εντολή2 (εντολές2) εντολήν (εντολέςν) 2.4. Δομή Επανάληψης Γενικά Η δομή επανάληψης χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μία ή περισσότερες εντολές πολλές φορές. Η επανάληψη αυτή μπορεί να γίνει: είτε για ένα συγκεκριμένο αριθμό φορών (για) είτε για όσο χρόνο αληθεύει μια συνθήκη (όσο) είτε μέχρι να γίνει αληθής μια συνθήκη (_επανάληψης) Εντολή όσο ΣΥΝΤΑΞΗ όσο συνθήκη επανέλαβε εντολή (εντολές) ΛΕΙΤΟΥΡΓΙΑ Όσο η συνθήκη είναι αληθής επαναλαμβάνεται η εκτέλεση της εντολής (ή της ομάδας εντολών) που περικλείεται (περικλείονται) ανάμεσα στην εντολή όσο και στην εντολή. Όταν η συνθήκη γίνει ψευδής η επανάληψη τερματίζεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το. Επίσης πρέπει να τονίσουμε ότι αν υ συνθήκη είναι από την ψευδής τότε η εντολή όσο δεν θα εκτελεστεί καμία φορά. 17

18 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΝΑΙ συνθήκη ΟΧΙ εντολή (εντολές) επόμενη εντολή Εφαρμογή Εντολής Η εντολή όσο μπορεί να χρησιμοποιηθεί τόσο σε προβλήματα με γνωστό αριθμό επαναλήψεων όσο και σε προβλήματα με άγνωστο αριθμό επαναλήψεων. Στην 1 η περίπτωση χρησιμοποιείται συνήθως ένας μετρητής επαναλήψεων, ενώ στη 2 η περίπτωση ελέγχεται μια συνθήκη σε σχέση με την τιμή που τερματίζει την επανάληψη. Εντολή _επανάληψης ΣΥΝΤΑΞΗ _επανάληψης εντολή (εντολές) μέχρις_ότου συνθήκη ΛΕΙΤΟΥΡΓΙΑ Όσο η συνθήκη που ελέγχεται είναι ψευδής επαναλαμβάνεται η εκτέλεση της εντολής (ή της ομάδας εντολών) που περικλείεται (περικλείονται) ανάμεσα στη _επανάληψης και στο μέχρις_ότου. Όταν η συνθήκη γίνει αληθής η επανάληψη τερματίζεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά την εντολή μέχρις_ότου. Επίσης πρέπει να τονίσουμε ότι ακόμα και αν η συνθήκη είναι από την αληθής τότε η εντολή _επανάληψης θα εκτελεστεί τουλάχιστον μία φορά. Ουσιαστικά η εντολή αυτή έχει ακριβώς την αντίθετη λογική από την εντολή όσο. ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ εντολή (εντολές) ΟΧΙ συνθήκη ΝΑΙ επόμενη εντολή Εφαρμογή Εντολής Η εντολή _επανάληψης μπορεί να χρησιμοποιηθεί όπως και η εντολή όσο τόσο σε προβλήματα με γνωστό αριθμό επαναλήψεων όσο και σε προβλήματα με άγνωστο αριθμό επαναλήψεων. Στην πρώτη περίπτωση χρησιμοποιείται ένας μετρητής επαναλήψεων, ενώ στη δεύτερη περίπτωση ελέγχεται μια συνθήκη σε σχέση με την τιμή που τερματίζει την επανάληψη. 18

19 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 Εντολή για ΣΥΝΤΑΞΗ (βήμα > 0) για μεταβλητή από αρχική_τιμή μέχρι τελική_τιμή με βήμα βήμα εντολή (εντολές) ΣΥΝΤΑΞΗ (βήμα < 0) για μεταβλητή από τελική_τιμή μέχρι αρχική_τιμή με βήμα αρνητικό εντολή (εντολές) ΛΕΙΤΟΥΡΓΙΑ Η μεταβλητή λειτουργεί σαν μετρητής επαναλήψεων. Αρχικά ξεκινάει από την τιμή που καθορίζουμε, ελέγχει αν η τιμή της είναι μικρότερη ή ίση από την τελική τιμή που πρέπει να φτάσει και εφόσον αυτό ισχύει εκτελούνται όλες οι εντολές που περιλαμβάνονται ανάμεσα στην εντολή για και στην εντολή. Στη συνέχεια η μεταβλητή αυτή αυξάνεται σύμφωνα με την τιμή του βήματος που έχουμε καθορίσει. Όταν η μεταβλητή ξεπεράσει την τελική της τιμή τότε η επανάληψη ολοκληρώνεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το. ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ μεταβλητή αρχική_τιμή ΝΑΙ μεταβλητή <= τελικήτιμή ΟΧΙ εντολή (εντολές) επόμενη εντολή μεταβλητή μεταβλητή + βήμα 2.5. Γενικές Παρατηρήσεις Κριτήριο Επιλογής Εντολής Επανάληψης Αριθμός Επαναλήψεων γνωστός άγνωστος Εντολή Επανάληψης εντολή για εντολή όσο εντολή _επανάληψης εντολή όσο εντολή _επανάληψης 19

20 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 Γενικές Παρατηρήσεις για τις Εντολές Επανάληψης Περίπτωση Όταν το πρόγραμμα ζητάει υπολογισμό αθροίσματος Όταν το πρόγραμμα ζητάει υπολογισμό πλήθους Όταν το πρόγραμμα ζητάει υπολογισμό γινομένου Όταν ο αριθμός των επαναλήψεων είναι γνωστός Όταν ο αριθμός των επαναλήψεων είναι άγνωστος Λύση τότε χρησιμοποιούμε πάντα αθροιστή δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά μια συγκεκριμένη ή τυχαία τιμή και αρχικοποιείται με το 0. τότε χρησιμοποιούμε πάντα μετρητή δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά 1 και αρχικοποιείται με 0. τότε χρησιμοποιούμε πάντα πολλαπλασιαστή δηλαδή μια μεταβλητή που πολλαπλασιάζεται σε κάθε επανάληψη με μια συγκεκριμένη ή τυχαία τιμή και αρχικοποιείται με το 1. τότε χρησιμοποιούμε μετρητή επαναλήψεων δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά μια συγκεκριμένη τιμή (συνήθως κατά 1) και αρχικοποιείται με μια συγκεκριμένη τιμή (συνήθως με το 1). τότε δεν μπορούμε να χρησιμοποιήσουμε μετρητή επαναλήψεων. Η συνθήκη που ελέγχουμε στην περίπτωση αυτή έχει να κάνει με μια τιμή που τερματίζει την επανάληψη Διαφορές της εντολής όσο από την εντολή _επανάληψης Στην εντολή όσο η συνθήκη ελέγχεται στην της επανάληψης ενώ στην εντολή _επανάληψης η συνθήκη ελέγχεται στο τέλος της επανάληψης. Στην εντολή όσο η ομάδα εντολών μπορεί να μην εκτελεστεί καμία φορά όταν η συνθήκη είναι εξ ς ψευδής, ενώ στην εντολή _επανάληψης η ομάδα εντολών εκτελείται τουλάχιστον μια φορά ανεξάρτητα από την συνθήκη. Στην εντολή όσο η επανάληψη εκτελείται όσο η συνθήκη είναι αληθής, ενώ στην εντολή _επανάληψης η επανάληψη εκτελείται όσο η συνθήκη είναι ψευδής και τερματίζει μόλις η συνθήκη γίνει αληθής. Πλεονεκτήματα της εντολής για σε σχέση με τις εντολές όσο και _επανάληψης Η εντολή για έχει τα ακόλουθα πλεονεκτήματα: στην εντολή για δεν απαιτείται να υπάρχουν (μέσα στο σώμα των εντολών της) ξεχωριστές εντολές τροποποίησης της τιμής του μετρητή των επαναλήψεων γιατί αυτός μεταβάλλεται αυτόματα από την ίδια την εντολή για σε κάθε επανάληψη κατά βήμα (αυξάνεται ή μειώνεται). Αντίθετα στις εντολές όσο και _επανάληψης όταν ο αριθμός των επαναλήψεων είναι γνωστός είναι υποχρεωτική η ύπαρξη εντολής αλλαγής της τιμής του μετρητή των επαναλήψεων. στην εντολή για δεν απαιτείται να υπάρχει ξεχωριστή εντολή αρχικοποίησης της τιμής του μετρητή των επαναλήψεων γιατί αυτή γίνεται αυτομάτως από την ίδια την εντολή για. Αντίθετα στις εντολές όσο και _επανάληψης όταν ο αριθμός των επαναλήψεων είναι γνωστός είναι υποχρεωτική η αρχικοποίηση του μετρητή των επαναλήψεων σε ξεχωριστή εντολή. Μειονεκτήματα της εντολής για σε σχέση με τις εντολές όσο και _επανάληψης Η εντολή για εφαρμόζεται μόνο όταν ο αριθμός των επαναλήψεων είναι γνωστός. Αντίθετα οι εντολές όσο και _επανάληψης μπορούν να χρησιμοποιηθούν σε κάθε περίπτωση δηλαδή και για γνωστό και για άγνωστο αριθμό επαναλήψεων. 20

21 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Ερωτήσεις Κεφαλαίου 2 Ερώτηση 01 (*) Τι είναι δεδομένα, ποια η έννοια της πληροφορίας και η διαφορά ανάμεσα στην έννοια πληροφορία και δεδομένα; Δεδομένα είναι οποιαδήποτε στοιχεία μπορούν να γίνουν αντιληπτά από έναν τουλάχιστον παρατηρητή με μία από τις πέντε του αισθήσεις. Πληροφορίες είναι τα γνωσιακά στοιχεία που προέρχονται από την επεξεργασία δεδομένων. Τα δεδομένα διαφέρουν από την πληροφορία ως προς το ότι δεν είναι απαραίτητο ότι συνιστούν στοιχεία που έχουν κάποιο νόημα για μας και ότι αυξάνουν το πεδίο γνώσης μας. Ερώτηση 02 (*) Να αναπτύξετε αλγόριθμο που να διαβάζει βαθμό σπουδαστών (π.χ. 14.5) και να εμφανίζει τον χαρακτηρισμό του βαθμού υπό τις προϋποθέσεις: Βαθμός < 10 Κακός 14 > Βαθμός >= 10 Μέτριος 18.5 > Βαθμός >= 14 Καλός Βαθμός > 18.5 Άριστος πρόγραμμα βαθμός πραγματικές: β γράψε Δώσε Βαθμό: διάβασε β αν β < 10 τότε γράψε Κακός _αν β < 14 τότε γράψε Μέτριος _αν β < 18.5 τότε γράψε Καλός γράψε Άριστος τέλος_προγράμματος βαθμός Ερώτηση 03 (*) Τι είναι οι σταθερές και τι οι σε έναν αλγόριθμο; Οι σταθερές είναι ποσότητες οι οποίες διατηρούν αμετάβλητο το περιεχόμενό τους σε όλη τη διάρκεια εκτέλεσης του αλγορίθμου και διακρίνονται σε σταθερές τιμές και ονομαστικές σταθερές. Μεταβλητές είναι θέσεις μνήμης το περιεχόμενο (τιμή) των οποίων μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου. 21

22 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 Ερώτηση 04 (*) Να σχεδιαστεί ο αλγόριθμος εύρεσης του μέγιστου μεταξύ τριών αριθμών. πρόγραμμα μέγιστος πραγματικές: α1, α2, α3 γράψε Δώσε τρεις αριθμούς διάβασε α1, α2, α3 αν α1 > α2 τότε αν α1 > α3 τότε γράψε Μέγιστος =, α1 γράψε Μέγιστος =, α3 _αν α2 > α3 τότε γράψε Μέγιστος =, α2 γράψε Μέγιστος =, α3 τέλος_προγράμματος μέγιστος Ερώτηση 05 (*) Να αναπτύξετε το χαρακτηριστικό της περατότητας (finiteness) ενός αλγορίθμου. Δώστε ένα παράδειγμα αλγόριθμου που δεν πληρεί το χαρακτηριστικό της περατότητας. Περατότητα: Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του και να εμφανίζει αποτελέσματα ή να περνάει τα αποτελέσματά του ως είσοδο σε κάποιον άλλο αλγόριθμο. Ο αλγόριθμος που ακολουθεί δεν πληρεί το χαρακτηριστικό της περατότητας, δηλαδή δεν θα τελειώσει ποτέ. πρόγραμμα ατέλειωτο ακέραιες: βαθμός, αθ αθ 0 όσο ( 0 < > 1 ) επανέλαβε _επανάληψης γράψε Δώσε Βαθμό του σπουδαστή διάβασε βαθμός αθ αθ + βαθμός γράψε Άθροισμα =, αθ τέλος_προγράμματος ατέλειωτο Ερώτηση 06 (*) Να αναπτύξετε αλγόριθμο που να διαβάζει µια ακολουθία 10 ακέραιων αριθμών και να εμφανίζει το άθροισμά τους και το µέσο όρο τους. πρόγραμμα υπολογισμός ακέραιες: αθ, χ, ι πραγματικές: μο αθ 0 για ι από 1 μέχρι 10 γράψε Δώσε τον, ι, αριθμό: διάβασε χ αθ αθ + χ 22

23 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 γράψε Άθροισμα =, αθ μο αθ / 10 γράψε Μέσος όρος:, μο τέλος_προγράμματος υπολογισμός Ερώτηση 07 (*) Να αναπτύξετε αλγόριθμο που να διαβάζει Κ ακέραιους αριθμούς και να υπολογίζει πόσοι από αυτούς είναι άρτιοι και πόσοι περιττοί. πρόγραμμα υπολογισμός_άρτιων_περιττών ακέραιες: α, π, ι, ν, χ γράψε Δώσε πλήθος αριθμών: διάβασε ν αν ν<=0 τότε γράψε Δεν δόθηκαν αριθμοί! α 0 π 0 για ι από 1 μέχρι ν γράψε Δώσε τον, ι, αριθμό: διάβασε χ αν χ mod 2 = 0 τότε α α +1 π π +1 γράψε Σύνολο άρτιων:, α γράψε Σύνολο περιττών:, π τέλος_προγράμματος υπολογισμός_άρτιων_περιττών Ερώτηση 08 (*) Ποιες είναι οι διαφορές ανάμεσα στην επαναληπτική εντολή όσο επανάλαβε και την επαναληπτική εντολή _επανάληψης μέχρις_ότου; Οι διαφορές των δύο αυτών επαναληπτικών εντολών είναι οι εξής: Στην εντολή όσο η συνθήκη ελέγχεται στην της επανάληψης ενώ στην εντολή _επανάληψης η συνθήκη ελέγχεται στο τέλος της επανάληψης. Στην εντολή όσο η ομάδα εντολών μπορεί να μην εκτελεστεί καμία φορά όταν η συνθήκη είναι εξ ς ψευδής, ενώ στην εντολή _επανάληψης η ομάδα εντολών εκτελείται τουλάχιστον μια φορά ανεξάρτητα από την συνθήκη. Στην εντολή όσο η επανάληψη εκτελείται όσο η συνθήκη είναι αληθής, ενώ στην εντολή _επανάληψης η επανάληψη εκτελείται όσο η συνθήκη είναι ψευδής και τερματίζει μόλις η συνθήκη γίνει αληθής. 23

24 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2 Ερώτηση 09 (*) Να γραφεί αλγόριθμος που να υπολογίζει το παρακάτω άθροισμα: Σ= πρόγραμμα υπολογισμός ακέραιες: ι, σ σ 0 για ι από 1 μέχρι 99 με βήμα 2 σ σ + ι - ( ι + 1 ) ή σ σ 1 γράψε Αποτέλεσμα =, σ τέλος_προγράμματος υπολογισμός ή πρόγραμμα υπολογισμός ακέραιες: ι, σ σ 0 για ι από 1 μέχρι 100 αν ι mod 2 = 1 τότε σ σ + ι σ σ ι γράψε Αποτέλεσμα =, σ τέλος_προγράμματος υπολογισμός Ερώτηση 10 (*) Να αναπτύξετε αλγόριθμο που να διαβάζει ένα έτος (π.χ. 2006) και να εμφανίζει αν είναι δίσεκτο ή όχι (Αν το έτος δεν διαιρείται με το 4 δεν είναι δίσεκτο. Αν διαιρείται με το 4 αλλά όχι με το 100 δεν είναι δίσεκτο. Αν διαιρείται με το 400 είναι δίσεκτο). πρόγραμμα δίσεκτο ακέραιες: έτος λογικές: είναι_δίσεκτο γράψε Δώσε έτος: διάβασε έτος αν (έτος mod 4 <> 0) τότε είναι_δίσεκτο false είναι_δίσεκτο true αν (έτος mod 4 =0) είναι_δίσεκτο true αν (έτος mod 100 <> 0) τότε είναι_δίσεκτο false αν (έτος mod 400 = 0) τότε είναι_δίσκετο true αν (είναι_δίσεκτο = true) τότε γράψε Είναι Δίσκετο γράψε Δεν Είναι Δίσεκτο τέλος_προγράμματος δίσεκτο 24

25 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 3 ΚΕΦΑΛΑΙΟ 3 ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ 3.1. Εισαγωγικά Συνδυασμός Βασικών Αλγοριθμικών Δομών Σε πολλές περιπτώσεις καλούμαστε να συνδυάσουμε κάποιες από τις αλγοριθμικές δομές προκειμένου να λύσουμε κάποιο πολύπλοκο πρόβλημα. Θα πρέπει λοιπόν να γνωρίζουμε ότι δεν υπάρχει κανένας απολύτως περιορισμός στον συνδυασμό των αλγοριθμικών δομών. Θα πρέπει όμως να προσέχουμε ώστε ο αλγόριθμος που γράφουμε να είναι ξεκάθαρος διατηρώντας διαστήματα σε εμφωλευμένα τμήματα του αλγορίθμου αλλά και κλείνοντας κάθε αλγοριθμική δομή στο σωστό σημείο. Λογικές Πράξεις Οι λογικές πράξεις που χρησιμοποιούμε προκειμένου να συνθέσουμε συνθήκες με περισσότερα από ένα κριτήρια είναι οι εξής: και, σημαίνει ότι και τα δύο κριτήρια που συνδέει η λογική πράξη πρέπει να είναι αληθή. ή, σημαίνει ότι τουλάχιστον ένα από τα δύο κριτήρια που συνδέει η λογική πράξη είναι αληθές. όχι, σημαίνει αληθές όταν το κριτήριο είναι ψευδές. Ο επόμενος πίνακας δίνει τις τιμές αυτών των λογικών πράξεων για όλους τους συνδυασμούς τιμών. Πρόταση Α Πρόταση Β Α ή Β Α και Β όχι Α αληθής αληθής αληθής αληθής ψευδής αληθής ψευδής αληθής ψευδής ψευδής ψευδής αληθής αληθής ψευδής αληθής ψευδής ψευδής ψευδής ψευδής αληθής Ολίσθηση (shift) Στα κυκλώματα του υπολογιστή τα δεδομένα αποθηκεύονται με δυαδική μορφή, δηλαδή 0 και 1, ανεξάρτητα από το πώς τα ορίζει ο προγραμματιστής, όπως ακεραίους ή πραγματικούς σε δεκαδικό σύστημα, ή ακόμη χαρακτήρες κ.λ.π. Έτσι ο αριθμός 17 του δεκαδικού συστήματος ισοδυναμεί με τον αριθμό του δυαδικού συστήματος, ο οποίος μπορεί να αποθηκευτεί σε ένα byte. Αν μετακινήσουμε τα ψηφία αυτά κατά μία θέση προς τα αριστερά, δηλαδή αν προσθέσουμε ένα 0 στο τέλος του αριθμού και αγνοήσουμε το αρχικό 0, τότε προκύπτει ο αριθμός του δυαδικού συστήματος, που ισοδυναμεί με τον αριθμό 34 του δεκαδικού συστήματος. Επίσης, με παρόμοιο τρόπο, αν μετακινήσουμε τα ψηφία κατά μία θέση δεξιά, δηλαδή αποκόψουμε το τελευταίο ψηφίο 1 και θεωρήσουμε ένα ακόμη αρχικό 0, τότε προκύπτει ο αριθμός του δυαδικού συστήματος, που ισοδυναμεί με τον αριθμό 8 του δεκαδικού συστήματος. Άρα η ολίσθηση προς τα αριστερά ισοδυναμεί με πολλαπλασιασμό επί δύο, ενώ η ολίσθηση προς τα δεξιά ισοδυναμεί με την ακέραια διαίρεση δια δύο.. 25

26 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ Ανάλυση Προβλημάτων Επανάληψη Όπως έχουμε μάθει ως τώρα ο αλγόριθμος αποσκοπεί στην επίλυση ενός προβλήματος. Είναι πιθανόν ένα πρόβλημα να μην επιλύεται με μία μόνο λύση αλλά με περισσότερες. Γενικά, η λύση σε ένα πρόβλημα μπορεί να προέλθει από διαφορετικές προσεγγίσεις και μεθόδους. Έτσι είναι απαραίτητο να γίνεται μια καλή ανάλυση του κάθε προβλήματος και να προτείνεται συγκεκριμένη μεθοδολογία και ακολουθία βημάτων. Βασικός μας στόχος είναι η πρόταση έξυπνων και αποδοτικών λύσεων. Η ανάλυση ενός προβλήματος σε ένα σύγχρονο υπολογιστικό περιβάλλον περιλαμβάνει: την καταγραφή της υπάρχουσας πληροφορίας για το πρόβλημα. την αναγνώριση των ιδιαιτεροτήτων του προβλήματος. την αποτύπωση των συνθηκών και προϋποθέσεων υλοποίησής τους. την πρόταση επίλυσης με χρήση κάποιας μεθόδου. την τελική επίλυση του προγράμματος. Έτσι κατά την ανάλυση ενός προβλήματος θα πρέπει να δοθεί απάντηση σε κάθε μία από τις ακόλουθες ερωτήσεις: 1. Ποια είναι τα δεδομένα και το μέγεθος του προβλήματος; 2. Ποιες είναι οι συνθήκες που πρέπει να πληρούνται για την επίλυση του προβλήματος; 3. Ποια είναι η πλέον αποδοτική μέθοδος επίλυσής τους 4. Πώς θα καταγραφεί η λύση του προβλήματος (π.χ. ψευδογλώσσα) 5. Ποιος είναι ο τρόπος υλοποίησης στο συγκεκριμένο υπολογιστικό σύστημα (π.χ. επιλογή γλώσσας προγραμματισμού); 3.3. Μέθοδοι Σχεδίασης Αλγορίθμων Μέθοδοι Κατά την επίλυση ενός προβλήματος επιχειρείται μια σύγκριση των χαρακτηριστικών και των ιδιοτήτων των τεχνικών που μπορούν να αποτελέσουν λύση του προβλήματος. Το αποτέλεσμα της σύγκρισης των διαφορετικών τεχνικών είναι η επιλογή της καταλληλότερης τεχνικής για την επίλυση του συγκεκριμένου προβλήματος. Από τις τυποποιημένες κατηγορίες τεχνικών εξετάζουμε τις παρακάτω: Μέθοδος Διαίρει και Βασίλευε (divide and conquer) Μέθοδος Δυναμικού Προγραμματισμού Άπληστη Μέθοδος Μέθοδος Διαίρει και Βασίλευε Στην κατηγορία αυτή εντάσσονται οι τεχνικές που υποδιαιρούν ένα πρόβλημα σε μικρότερα υποπροβλήματα, που έχουν την ίδια τυποποίηση με το αρχικό πρόβλημα αλλά είναι μικρότερα σε μέγεθος. Με όμοιο τρόπο τα υποπροβλήματα αυτά μπορούν να διαιρεθούν εκ νέου σε ακόμη μικρότερα προβλήματα κ.ο.κ. Έτσι η επίλυση του προβλήματος έγκειται στην σταδιακή επίλυση των όσο δυνατόν μικρότερων υποπροβλημάτων, έτσι ώστε τελικά να φτάσουμε στη συνολική λύση του αρχικού μας προβλήματος. Η προσέγγιση αυτή ονομάζεται από επάνω προς τα κάτω (top-down). Η μέθοδος αυτή μπορεί να αποδοθεί με τα ακόλουθα βήματα: 1. Δίνεται για επίλυση ένα πρόβλημα. 2. Το πρόβλημα αυτό υποδιαιρείται σε υποπροβλήματα της ίδιας ακριβώς τυποποίησης αλλά με μικρότερο μέγεθος. 26

27 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 3 3. Δίνεται λύση σε κάθε υποπρόβλημα. 4. Συνδυάζονται όλες οι μερικές λύσεις που βρέθηκαν έτσι ώστε να δώσουμε την συνολική λύση του προγράμματος. Δυαδική Αναζήτηση: ο πιο κλασικός αλγόριθμος που ακολουθεί τη φιλοσοφία της μεθόδου «Διαίρει και Βασίλευε». Παραδείγματα: Δυαδική Αναζήτηση Μέθοδος Διχοτόμησης (Bolzano) Μέθοδος Δυναμικού Προγραμματισμού Στην κατηγορία αυτή εντάσσονται οι τεχνικές που ξεκινούν με την επίλυση αρχικά των μικρότερων προβλημάτων και σταδιακά επιλύονται τα μεγαλύτερα προβλήματα ως σύνθεση των απλούστερων. Η προσέγγιση αυτή ονομάζεται από κάτω προς τα πάνω (bottom-up). Η μέθοδος αυτή μπορεί να αποδοθεί με τα ακόλουθα βήματα: 1. Ξεκινά η λύση από το ελάχιστο στιγμιότυπο του προβλήματος. 2. Υπολογίζονται σταδιακά αποτελέσματα όλο και μεγαλύτερων προβλημάτων. 3. Υπολογίζεται η λύση του αρχικού προβλήματος ως σύνθεση των μικρότερων ήδη λυμένων προβλημάτων. Παραδείγματα: Ταξινόμηση ευθείας ανταλλαγής Στατιστικοί Υπολογισμοί (π.χ. μέσος όρος μέσων όρων) Άπληστη Μέθοδος Οι αλγόριθμοι της κατηγορίας αυτής προχωρούν με βάση σταδιακές επιλογές που αφορούν στο βέλτιστο κάθε βήματος χωρίς μέριμνα για το τελικό βέλτιστο. Η μέθοδος αυτή μπορεί να αποδοθεί με τα ακόλουθα βήματα: 1. Σε κάθε βήμα επιλογή της βέλτιστης επιλογής. 2. επιβεβαίωση ότι αυτή η προσέγγιση εγγυάται τη συνολική βέλτιστη λύση (προαιρετικά όταν δεν πρόκειται για αλγορίθμους απλής ευριστικής προσέγγισης) Παραδείγματα: Αριθμός χαρτονομισμάτων και κερμάτων για συγκεκριμένο ποσό. Επιλογή βέλτιστης διαδρομής στο πρόβλημα του ταχυδρόμου (επίλυση γράφων) 3.4. Ερωτήσεις Κεφαλαίου 3 Ερώτηση 01 (*) Τι γνωρίζετε για τις δομές επανάληψης, σε ένα αλγόριθμο; Η δομή επανάληψης χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μία ή περισσότερες εντολές πολλές φορές. Η επανάληψη αυτή μπορεί να γίνει: είτε για ένα συγκεκριμένο αριθμό φορών (για) είτε για όσο χρόνο αληθεύει μια συνθήκη (όσο) 27

28 ΑΛΓΟΡΙΘΜΙΚΗ & ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 3 είτε μέχρι να γίνει αληθής μια συνθήκη (_επανάληψης) Οι βασικές εντολές επανάληψης στις γλώσσες δομημένου προγραμματισμού είναι αυτές που φαίνονται στον πίνακα που ακολουθεί: Ψευδοκώδικας για μεταβλητή από αρχική_τιμή μέχρι τελική_τιμή με βήμα βήμα εντολή (εντολές) _επανάληψης εντολή (εντολές) μέχρις_ότου συνθήκη όσο συνθήκη επανέλαβε εντολή (εντολές) Χρήση Χρησιμοποιείται όταν ξέρουμε από πριν τον αριθμό των επαναλήψεων. Χρησιμοποιείται όταν δεν ξέρουμε από πριν τον αριθμό των επαναλήψεων και θέλουμε οι εντολές μας να εκτελεστούν τουλάχιστον μία φορά. Χρησιμοποιείται όταν δεν ξέρουμε από πριν τον αριθμό των επαναλήψεων και υπάρχει περίπτωση οι εντολές μας να μην εκτελεστούν ούτε μία φορά. Ερώτηση 02 (*) Να συμπληρωθεί ο παρακάτω πίνακας τιμών των τριών λογικών πράξεων (ή, και, όχι): Πρόταση Α Πρόταση Β Α ή Β Α και Β Όχι Α Αληθής Αληθής Αληθής Ψευδής Ψευδής Αληθής Ψευδής Ψευδής Πρόταση Α Πρόταση Β Α ή Β Α και Β Όχι Α Αληθής Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Ερώτηση 03 (*) Να γραφεί ο αλγόριθμος και το διάγραμμα ροής που υπολογίζουν το άθροισμα όλων των περιττών αριθμών από το 1 έως το 99. πρόγραμμα άθροισμα_περιττών ακέραιες: αθ, ι αθ 0 για ι από 1 μέχρι 99 αν ι mod 2 = 1 τότε αθ αθ +ι γράψε Άθροισμα περιττών:, αθ τέλος_προγράμματος άθροισμα_περιττών 28

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

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

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

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

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

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

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

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

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο Εισαγωγή - Βασικές έννοιες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων

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

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

1 Ανάλυση Προβλήματος

1 Ανάλυση Προβλήματος 1 Ανάλυση Προβλήματος 1.1 Η Έννοια Πρόβλημα Τι είναι δεδομένο; Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή, με μία από τις πέντε αισθήσεις του. Τι είναι επεξεργασία

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

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

Επιµέλεια Θοδωρής Πιερράτος Η έννοια πρόβληµα Ανάλυση προβλήµατος Με τον όρο πρόβληµα εννοούµε µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Μερικά προβλήµατα είναι τα εξής:

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

Γεώργιος Φίλιππας 23/8/2015

Γεώργιος Φίλιππας 23/8/2015 MACROWEB Προβλήματα Γεώργιος Φίλιππας 23/8/2015 Παραδείγματα Προβλημάτων. Πως ορίζεται η έννοια πρόβλημα; Από ποιους παράγοντες εξαρτάται η κατανόηση ενός προβλήματος; Τι εννοούμε λέγοντας χώρο ενός προβλήματος;

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

Ανάλυση προβλήματος. Κεφάλαιο 1

Ανάλυση προβλήματος. Κεφάλαιο 1 Ανάλυση προβλήματος Κεφάλαιο 1 Η έννοια πρόβλημα Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής Στάδια αντιμετώπισης

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

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

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

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

Κεφάλαιο 1 Ανάλυση προβλήματος

Κεφάλαιο 1 Ανάλυση προβλήματος Κεφάλαιο 1 Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρειάζεται αντιμετώπιση, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 1.2 Κατανόηση

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

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

Συντάχθηκε απο τον/την Administrator Τετάρτη, 24 Φεβρουάριος :31 - Τελευταία Ενημέρωση Πέμπτη, 25 Φεβρουάριος :40

Συντάχθηκε απο τον/την Administrator Τετάρτη, 24 Φεβρουάριος :31 - Τελευταία Ενημέρωση Πέμπτη, 25 Φεβρουάριος :40 πρόβλημα Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Καθορισμός απαιτήσεων Η κατανόησης ενός προβλήματος αποτελεί συνάρτηση δυο

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα σημαντικών ιστορικών ή επιστημονικών προβλημάτων. Με τον όρο Πρόβλημα, εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης,και απαιτεί λύση

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

Πρόβλημα είναι μία κατάσταση που χρειάζεται να αντιμετωπίσουμε και να δώσουμε λύση η Οποία δεν είναι προφανής ή γνωστή

Πρόβλημα είναι μία κατάσταση που χρειάζεται να αντιμετωπίσουμε και να δώσουμε λύση η Οποία δεν είναι προφανής ή γνωστή Πρόβλημα είναι μία κατάσταση που χρειάζεται να αντιμετωπίσουμε και να δώσουμε λύση η Οποία δεν είναι προφανής ή γνωστή Προβλήματα υπήρχαν από την αρχαιότητα όπως η πολιορκία της Τροίας που αναφέρεται στην

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

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

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

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

1. Τι ονομάζουμε πρόβλημα; Δώστε παραδείγματα.

1. Τι ονομάζουμε πρόβλημα; Δώστε παραδείγματα. 1. Τι ονομάζουμε πρόβλημα; Δώστε παραδείγματα. ΑΠΑΝΤΗΣΗ Ορισμός: Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Παραδείγματα

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

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

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

Κεφάλαιο 1 : Ανάλυση προβλήματος

Κεφάλαιο 1 : Ανάλυση προβλήματος Ποια είναι η σχέση προβλήματος και υπολογιστή; 1.1 Η έννοια πρόβλημα Παραδείγματα προβλημάτων Κοινωνικά προβλήματα (ναρκωτικά, ανεργία, επιδημίες) Φυσικά φαινόμενα (σεισμοί, πλημμύρες, επιδημίες) Μέτρηση

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

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Εισαγωγή 1. Τι είναι αυτό που κρατάς στα χέρια σου. Αυτό το κείµενο είναι µια προσπάθεια να αποτυπωθεί όλη η θεωρία του σχολικού µε

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

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

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

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

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ. Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ. Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε πρόβλημα; Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2. Τι ονομάζουμε επίλυση προβλήματος;

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 1 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός συγκεκριμένου προβλήματος. Κάθε

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

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

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

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ 1. Ερωτήσεις -θέματα στη σελίδες 21, 49, 160 του σχολικού βιβλίου Μαθητή 2. Τεστ αυτοαξιολόγησης σελίδες 16, 27, 68 του τετραδίου του Μαθητή 3. Ν' αναφέρετε ονομαστικά τους

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ 1. Έστω ότι ο καθηγητής σας δίνει δύο αριθμούς και σας ζητάει να του πείτε πόσο είναι το άθροισμά τους. Διατυπώστε

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Ενότητα 1 Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Τι είναι αλγόριθμος Σύμφωνα με το σχολικό βιβλίο: Ορισμός: Μια πεπερασμένη σειρά ενεργειών, αυστηρά

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

1.4 Καθορισμός απαιτήσεων

1.4 Καθορισμός απαιτήσεων 1.4 Καθορισμός απαιτήσεων Είναι η διαδικασία κατά την οποία πρέπει να κάνουμε: τον επακριβή προσδιορισμό των δεδομένων που παρέχει το πρόβλημα την λεπτομερειακή καταγραφή των ζητούμενων που αναμένονται

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. 1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός

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

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

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2 1. 1-Σ, 2-Σ, 3-Λ, 4-Σ, 5-Σ 2. 1-α, 2-α, 3-β, 4-β, 5-α, 6-α, 7-α, 8-β, 9-β, 10-β 3. Τι ονομάζουμε αλγόριθμο; Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

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

ΚΕΦΑΛΑΙΟ 1ο ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

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

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

! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος

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

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

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

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

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

ΚΕΦΑΛΑΙΟ Ι ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΚΕΦΑΛΑΙΟ Ι ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα: Με τον όρο αυτό εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Δομή προβλήματος: Με τον όρο

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια

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

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων Αλγόριθµος : Είναι ένα σύνολο βηµάτων, αυστηρά καθορισµένων κι εκτελέσιµων σε πεπερασµένο χρόνο, που οδηγούν στην επίλυση ενός προβλήµατος. Χαρακτηριστικά ενός σωστού

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

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

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

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

Η ΕΝΝΟΙΑ ΠΡΟΒΛΗΜΑ ΚΑΤΑΝΟΗΣΗ ΠΡΟΒΛΗΜΑΤΟΣ. Ορισμός. 0.1 Τι ονομάζουμε πρόβλημα;

Η ΕΝΝΟΙΑ ΠΡΟΒΛΗΜΑ ΚΑΤΑΝΟΗΣΗ ΠΡΟΒΛΗΜΑΤΟΣ. Ορισμός. 0.1 Τι ονομάζουμε πρόβλημα; 0.1 Τι ονομάζουμε πρόβλημα; Ορισμός Η ΕΝΝΟΙΑ ΠΡΟΒΛΗΜΑ Πρόβλημα ονομάζουμε μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 0.2 Τι ονομάζουμε επίλυση

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

Ενδεικτικές Ερωτήσεις Θεωρίας

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές Βασικές Αλγοριθμικές Δομές 2 Εισαγωγή Οι αλγοριθμικές δομές εκφράζουν διαφορετικούς τρόπους γραφής ενός αλγορίθμου.

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Περιεχόμενα Μέθοδοι Παρουσίασης του αλγόριθμου Εισαγωγή Φραστική μέθοδος Ψευδοκώδικας

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

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

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

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

Επιµέλεια Θοδωρής Πιερράτος Ερωτήσεις Σωστό - Λάθος 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου αριθµού εντολών. 2. Η είσοδος σε έναν αλγόριθµο µπορεί να είναι έξοδος σε έναν άλλο αλγόριθµο. 3. Ένας αλγόριθµος

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)

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

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

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

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

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

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

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

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες Η Δομή Επανάληψης Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες Οι 2 πρώτες διδακτικές ώρες στην τάξη Η τρίτη διδακτική ώρα στο εργαστήριο Γενικός Διδακτικός Σκοπός Ενότητας Να εξοικειωθούν

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

1.1 Θέματα Προς Απάντηση Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ):

1.1 Θέματα Προς Απάντηση Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ): 1.1 Θέματα Προς Απάντηση 1.1.1 Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ): 1. Πρόβλημα είναι μια μαθηματική κατάσταση που πρέπει να αντιμετωπίσουμε. 2. Αν υποβάλλουμε

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς K εφ. 1 σχολικού βιβλίου 1. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. 2. Για

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

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

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

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

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

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

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

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2 Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2 2. Η έννοια του προβλήματος 2 2. Η έννοια του προβλήματος 2.1 Το πρόβλημα στην επιστήμη των Η/Υ 2.2 Κατηγορίες προβλημάτων

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

ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ»

ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ» 1 ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ» Β Με τον όρο Πρόβλημα προσδιορίζεται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής

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

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Τι είναι πρόβλημα; ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα είναι κάθε κατάσταση που μας απασχολεί και χρήζει αντιμετώπισης,

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

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι: ΑΕσΠΠ 1 / 8 I. ΑΛΓΟΡΙΘΜΟΣ 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι: i. Είσοδος : χρήση μιας μεταβλητής που δεν έχει πάρει προηγουμένως τιμή. ii. Έξοδος : ο αλγόριθμος δεν εμφανίζει

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός... 1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες

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

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Γ Λυκείου Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον ΜΕΡΟΣ I. ΑΛΓΟΡΙΘΜΟΣ ΦΥΣΙΚΕΣ & ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ ΑΚΟΛΟΥΘΙΑ Περιεχόμενα Κεφάλαιο 2: 2.1-2.3 2.4.1 Κεφάλαιο6: 6.3 Κεφάλαιο 7: όλο Κατηφόρης Παναγιώτης

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Ενότητες βιβλίου: 6.3, 7.1-7.6, 7.10, 8.1 Ώρες διδασκαλίας: 2 Φυσικές

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

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

β. Ποιοι λόγοι θα μας οδηγούσαν στο να αναθέσουμε την επίλυση προβλημάτων στον υπολογιστή; (μονάδες 4) (Μονάδες 6)

β. Ποιοι λόγοι θα μας οδηγούσαν στο να αναθέσουμε την επίλυση προβλημάτων στον υπολογιστή; (μονάδες 4) (Μονάδες 6) ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση, τη λέξη Σωστό,

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

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή

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

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

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

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

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

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

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

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

Η διαδικασία επίλυσης ενός προβλήματος αποτελείται από μία πεπερασμένη ακολουθία βημάτων, καθένα από τα οποία μας οδηγεί πιο κοντά στη λύση. ΑΛΓΟΡΙΘΜΟΣ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 2 ο ΚΕΦΑΛΑΙΟ Η διαδικασία επίλυσης ενός προβλήματος αποτελείται από μία πεπερασμένη ακολουθία βημάτων, καθένα από τα οποία μας οδηγεί πιο κοντά στη λύση. «ΑΛΓΟΡΙΘΜΟΣ ΕΙΝΑΙ ΜΙΑ

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

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

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

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

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

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

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

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008 Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008 ΣΤΑΤΙΣΤΙΚΑ Αποτελέσματα γραπτής εξέτασης στο μάθημα ΑΕΠΠ (Ιούλιος 2008) 18-20 15-17,9 12-14,9 10-11,9 5-9,9 0-4,9 12,75% 18,39% 13,90% 8,15% 22,70% 24,09% ΘΕΜΑ 1

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΟΚΤΩΒΡΙΟΥ 2015 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α

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

ΚΕΦΑΛΑΙΟ 2 ο. αποτέλεσµα προς το χρήστη ή προς έναν άλλο αλγόριθµο. 7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π.

ΚΕΦΑΛΑΙΟ 2 ο. αποτέλεσµα προς το χρήστη ή προς έναν άλλο αλγόριθµο. 7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 2 ο 1. Τι είναι αλγόριθµος; Η θεωρία των αλγορίθµων έχει µεγάλη παράδοση και η ηλικία ορισµένων από αυτών είναι µερικών χιλιάδων χρόνων, όπως του Ευκλείδη για τον υπολογισµό του ΜΚ δύο αριθµών

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

Επανάληψη Θεωρίας. Καστούμης Γιώργος

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

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

Βασικές έννοιες προγραμματισμού

Βασικές έννοιες προγραμματισμού Βασικές έννοιες προγραμματισμού Αλφάβητο Γράμματα Κεφαλαία Ελληνικά ( Α Ω ) Πεζά Ελληνικά ( α ω ) Κεφαλαία Λατινικά ( A Z ) Πεζά Ελληνικά ( a z) Ψηφία 0-9 Ειδικοί χαρακτήρες ( +, -, *,/, =,.,,!, κενό )

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

ΚΕΦΑΛΑΙΑ & 8.2 (ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ) ΘΕΩΡΙΑ

ΚΕΦΑΛΑΙΑ & 8.2 (ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ) ΘΕΩΡΙΑ ΚΕΦΑΛΑΙΑ 2.4.5 & 8.2 (ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ) ΘΕΩΡΙΑ Ερωτήσεις Σωστό / Λάθος 1. Στη δομή Για... από... μέχρι η αρχική τιμή του μετρητή πρέπει να είναι πάντα μικρότερη από την τελική. 2. Η δομή Όσο... επανάλαβε

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

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

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

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

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

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

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

Πειραματικό Γενικό Λύκειο Π.Κ. Σχ. Έτος

Πειραματικό Γενικό Λύκειο Π.Κ. Σχ. Έτος 1 ο Κεφάλαιο: Ανάλυση Προβλήματος Σύντομη Θεωρία Πρόβλημα: Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση δεν είναι γνωστή, ούτε προφανής. Υπάρχει μία σχετικότητα στον ορισμό? Υπάρχουν

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

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

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

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

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι. σύγχρονο Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι. μαθητικό φροντιστήριο 25ης Μαρτίου 111 ΠΕΤΡΟΥΠΟΛΗ 210 50 20 990 210 50 27 990 25ης Μαρτίου 74 ΠΕΤΡΟΥΠΟΛΗ 210 50 50 658 210 50 60 845 Γραβιάς 85 ΚΗΠΟΥΠΟΛΗ

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

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

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

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή Θεωρία επισκόπηση 1 Η μεταβλητή είναι ένα συμβολικό όνομα κάτω από το οποίο βρίσκεται μια τιμή, η οποία μπορεί να μεταβάλλεται κατά την εκτέλεση του αλγορίθμου 1. Τύποι Δεδομένων (Μεταβλητών και Σταθερών)

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