Τα τρία στάδια της αντιμετώπισης ενός προβλήματος είναι: ανάλυση, όπου το αρχικό πρόβλημα διασπάται σε άλλα επί μέρους απλούστερα προβλήματα

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

Download "Τα τρία στάδια της αντιμετώπισης ενός προβλήματος είναι: ανάλυση, όπου το αρχικό πρόβλημα διασπάται σε άλλα επί μέρους απλούστερα προβλήματα"

Transcript

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

2 Αν οι εντολές του προγράμματος είναι σωστές (και σωστά διατυπωμένες) τότε θα πάρουμε την σωστή λύση για το πρόβλημά μας. (Είναι γνωστή και η έκφραση garbage-in / garbage-out δηλ. αν δώσεις σκουπίδια, σκουπίδια θα πάρεις). Το σύνολο των απλών εντολών που αποτελούν τη λύση ενός προβλήματος και η σειρά με την οποία θα πρέπει να εκτελεστούν (Βήμα 1, Βήμα 2 κλπ) ονομάζεται διαδικασία επίλυσης του προβλήματος. Η έννοια της διαδικασίας είναι αρκετά πλατιά και δεν περιορίζεται μόνο στους ηλεκτρονικούς υπολογιστές. Στη ζωή μας συναντάμε κάθε μέρα αρκετά παραδείγματα διαδικασιών. Μια συνταγή μαγειρικής, οι ενέργειες ενός ταμία μιας τράπεζας, ακόμα και ο τρόπος με τον οποίο περπατάμε είναι απλές διαδικασίες. Για να μπορέσουμε να εκτελέσουμε μια διαδικασία με την βοήθεια του ηλεκτρονικού υπολογιστή, θα πρέπει η διαδικασία αυτή να υπακούει σε κάποιους ειδικούς κανόνες, να είναι δηλαδή όπως λεμε ένας αλγόριθμος. Ο επόμενος ορισμός του αλγορίθμου οφείλεται στον D. Knuth: Αλγόριθμος είναι μια συγκεκριμένη, πεπερασμένη, εφικτή και σαφής διαδικασία με μια αρχή και ένα τέλος. Κάθε μια από τις υπογραμμισμένες λέξεις αποτελούν αναγκαίες συνθήκες (αν έστω και μια από αυτές δεν ισχύει, η διαδικασία δεν είναι αλγόριθμος). Ας δούμε τι σημαίνει η κάθε ιδιότητα: Μια διαδικασία ονομάζεται συγκεκριμένη όταν περιγράφεται με ένα μονοσήμαντα συγκεκριμένο τρόπο, έχει δηλαδή ένα συγκεκριμένο αριθμό βημάτων καθένα από τα οποία περιγράφει συγκεκριμένες εντολές. Μια διαδικασία ονομάζεται πεπερασμένη όταν αποτελείται από πεπερασμένο (δηλ όχι άπειρο) πλήθος βημάτων και εκτελείται σε πεπερασμένο χρόνο χρησιμοποιώντας πεπερασμένους υπολογιστικούς πόρους (πχ μνήμη). Μια διαδικασία ονομάζεται εφικτή όταν η εκτέλεσή της είναι εφικτή με την σημερινή τεχνολογία (ταχύτητας και μνήμης). Έτσι πχ μια διαδικασία που χρειάζεται 800 χρόνια για να τρέξει στον πιο γρήγορο ηλεκτρονικό υπολογιστή της εποχής μας, δεν είναι εφικτή παρόλο που είναι πεπερασμένη. Μια διαδικασία ονομάζεται σαφής όταν το κάθε βήμα της περιγράφεται με τρόπο που δεν αποδέχεται διαφορετικές ερμηνείες από διαφορετικούς ανθρώπους. Έτσι πχ όταν σε κάποια σημεία μιας συνταγής μαγειρικής διαβάζουμε φράσεις όπως λίγο αλάτι ή όσο αλεύρι χρειαστεί η διαδικασία αυτή δεν είναι σαφής. Η εξήγηση του γεγονότος ότι ένας αλγόριθμος είναι μια διαδικασία με μια μόνο αρχή και ένα μόνο τέλος είναι αρκετά προφανής: Σημαίνει ότι τόσο το πρώτο βήμα όσο και το τελευταίο βήμα της διαδικασίας είναι τα μόνα δυο σημεία από τα οποία ξεκινάμε και αντίστοιχα τελειώνουμε την εκτέλεση της διαδικασίας. Η διατύπωση ενός αλγορίθμου γίνεται στην απλούστερη μορφή με απλή αναγραφή των βημάτων από τα οποία αποτελείται (ας μην ξεχνάμε ότι κάθε αλγόριθμος είναι μια διαδικασία και επομένως αποτελείται από ένα διατεταγμένο πλήθος βημάτων). Παρακάτω - 2 -

3 θα δούμε και άλλους τρόπους διατύπωσης ενός αλγορίθμου, όμως για την ώρα ας δούμε δυο παραδείγματα αλγορίθμων για την επίλυση δυο απλών προβλημάτων. Παράδειγμα 1. Αλγόριθμος για την εύρεση µέσου Μ ενός ευθυγράµµου τµήµατος ΑΒ. 1. Τοποθέτησε την ακίδα του διαβήτη στο Α. 2. Άνοιξε τον διαβήτη µέχρι το Β. 3. Σχηµάτισε κύκλο. 4. Τοποθέτησε την ακίδα στο Β. 5. Άνοιξε το διαβήτη µέχρι το Α. 6. Σχηµάτισε κύκλο. 7. Φέρε ευθεία που ενώνει τα σηµεία τοµής των δύο κύκλων. 8. Ονόµασε Μ το σηµείο τοµής της προηγούµενης ευθείας και του ΑΒ. Α Μ Β Παράδειγμα 2. Αλγόριθμος για την εύρεση του μέγιστου από ένα πλήθος αριθμών: 1. Βάλε στην µεταβλητή ΜΕΓΙΣΤΟ τον πρώτο αριθµό. 2. Εξέτασε τον επόµενο αριθµό. 3. Κάνε σύγκριση αυτού µε την τιµή από το ΜΕΓΙΣΤΟ και αν ο αριθµός είναι µεγαλύτερος θέσε αυτή την τιµή στην µεταβλητή ΜΕΓΙΣΤΟ. 4. Αν υπάρχουν και άλλοι αριθµοί, πήγαινε στο δεύτερο βήµα για να συνεχίσεις την εκτέλεση αλλιώς εµφάνισε το ΜΕΓΙΣΤΟ Έτσι λοιπόν, μετά από τα παραπάνω θα μπορούσαμε να δώσουμε έναν καλύτερο ορισμό για την έννοια του προγράμματος, λέγοντας ότι πρόγραμμα είναι η υλοποίηση ενός αλγορίθμου σε τέτοια μορφή ώστε να γίνεται κατανοητός από τον ηλεκτρονικό υπολογιστή και κατά συνέπεια να είναι δυνατή η εκτέλεσή του από αυτόν. Τα Σημαντικότερα Βήματα στην Διαδικασία του Προγραμματισμού Από την στιγμή που αποφασίζει κάποιος να λύσει ένα πρόβλημα με τη βοήθεια του ηλεκτρονικού υπολογιστή μέχρι την στιγμή που παίρνει την λύση αυτού του προβλήματος μεσολαβούν μια σειρά βήματα τα οποία θα πρέπει να ακολουθηθούν. Κατ αυτήν την έννοια, η λύση ενός προβλήματος με τη βοήθεια του ηλεκτρονικού υπολογιστή αποτελεί μια διαδικασία, τα σημαντικότερα βήματα της οποίας είναι τα παρακάτω: 1. Ορισμός του προβλήματος. Το πρώτο πράγμα που πρέπει να γίνει είναι να ορίσουμε σωστά και με σαφήνεια το πρόβλημα που θέλουμε να λύσουμε. Παρόλο που κάτι τέτοιο φαίνεται αρκετά προφανές για απλά και μικρά προβλήματα, το βήμα αυτό είναι απαραίτητο όταν έχουμε να κάνουμε με μεγαλύτερα και πιο σύνθετα προβλήματα. 2. Γενική περιγραφή της λύσης. Το επόμενο βήμα μετά την διατύπωση του προβλήματος είναι η γενική περιγραφή της λύσης που θα χρησιμοποιήσουμε. Δεν πρέπει να ξεχνάμε ότι - 3 -

4 ο ηλεκτρονικός υπολογιστής δεν παίρνει καμία πρωτοβουλία και επομένως περιμένει από εμάς να του δώσουμε τις ακριβείς οδηγίες για τη λύση του συγκεκριμένου προβλήματος. 3. Επιλογή του κατάλληλου αλγορίθμου (και διατύπωσή του με κατάλληλο τρόπο). Σ αυτό το βήμα περνάμε από την γενική περιγραφή της λύσης στην διατύπωσή της σε μορφή αλγορίθμου. Σε αρκετές περιπτώσεις η συγκεκριμενοποίηση της διατύπωσης της λύσης μπορεί να γίνει με πολλούς εναλλακτικούς τρόπους και έτσι να καταλήξουμε σε πολλούς διαφορετικούς αλγόριθμους, από τους οποίους θα πρέπει να επιλέξουμε έναν (τον πιο κατάλληλο) για την περαιτέρω υλοποίησή του σε πρόγραμμα. Η διατύπωση του αλγορίθμου μπορεί να γίνει ακόμα και στην φυσική μας γλώσσα, όμως κατά κανόνα χρησιμοποιούμε άλλες πιο αυστηρές μορφές διατύπωσης όπως ο ψευδοκώδικας, τα διαγράμματα ροής (που θα δούμε παρακάτω) και ο τύπος. 4. Γράψιμο του κώδικα Τα τρία προηγούμενα βήματα μπορούν να θεωρηθούν και ως βήματα προετοιμασίας καθώς δεν είναι απαραίτητη η χρήση του ηλεκτρονικού υπολογιστή για την υλοποίησή τους. Η παρουσία του ηλεκτρονικού υπολογιστή γίνεται απαραίτητη στο βήμα τούτο κατά το οποίο πραγματοποιείται η μεταφορά (μετάφραση) από τον αλγόριθμο στο πρόγραμμα. Το γράψιμο του κώδικα εξαρτάται κυρίως από παράγοντες όπως η φύση του προβλήματος οι διαθέσιμες γλώσσες προγραμματισμού οι φυσικοί περιορισμοί (μνήμη, ταχύτητα κλπ) του ηλεκτρονικού υπολογιστή που πρόκειται να χρησιμοποιηθεί. 5. Διόρθωση συντακτικών λαθών (debugging). είναι λογικά το επόμενο βήμα στη διαδικασία του προγραμματισμού. Ο κώδικας ελέγχεται για την ορθότητα της διατύπωσης των εντολών του (έλεγχος σύνταξης). Ο έλεγχος αυτός είναι αρκετά εύκολος διότι τα λάθη εντοπίζονται αυτόματα από τον compiler (η λέξη εξηγείται παρακάτω) της γλώσσας προγραμματισμού που χρησιμοποιούμε και Έτσι το δικό μας καθήκον περιορίζεται απλώς στην διόρθωσή τους. 6. Έλεγχος ορθότητας (Διόρθωση λογικών λαθών). Στο βήμα τούτο το πρόγραμμα που είναι πλέον έτοιμο, ελέγχεται για την ορθότητα των αποτελεσμάτων που παράγει, δίνοντάς του να τρέξει προβλήματα τα αποτελέσματα των οποίων είναι γνωστά από πριν. Με τον τρόπο αυτό εντοπίζονται και διορθώνονται τα λογικά λάθη που πιθανόν να υπάρχουν στο πρόγραμμα και οφείλονται είτε σε λάθη του ίδιου του αλγορίθμου (garbage-in / garbageout) είτε σε λάθη που προέκυψαν κατά την διατύπωση του αλγορίθμου και την υλοποίησή του σε πρόγραμμα. Τόσο ο εντοπισμός όσο και η διόρθωση των λογικών λαθών είναι μια επίπονη διαδικασία (ιδιαίτερα σε μεγάλα προγράμματα), ενώ δεν μπορεί να δοθεί ποτέ εγγύηση για την απόλυτη ορθότητα ενός μεγάλου προγράμματος.η συνολική προσπάθεια που καταβάλλεται για τον έλεγχο της ορθότητας είναι ανάλογη της σπουδαιότητας της χρήσης του συγκεκριμένου προγράμματος (πχ προγράμματα ελέγχου πτήσης αεροσκαφών/διαστημοπολοίων κλπ)

5 Αν το πρόγραμμα που κατασκευάζεται προορίζεται για επαγγελματική χρήση τότε θα πρέπει να ακολουθηθούν και τα επόμενα δυο βήματα: 7. Συγγραφή εγχειριδίων χρήσης (Manuals). Τα εγχειρίδια χρήσης είναι βιβλία που συνοδεύουν το πρόγραμμα και περιγράφουν τόσο τον τρόπο χρήσης του όσο και τις λειτουργίες του. Σε πολύ μεγάλα προγράμματα (η πακέτα προγραμμάτων) τα εγχειρίδια χρήσης χωρίζονται σε δυο κατηγορίες: Σε εκείνα που απευθύνονται στους τελικούς χρήστες του προγράμματος (User Level Manuals) και σε εκείνα που απευθύνονται στους διαχειριστές του υπολογιστικού συστήματος στον οποίο εγκαθίσταται το πρόγραμμα (System Level Manuals). 8. Συντήρηση Όπως είδαμε και παραπάνω είναι πρακτικά αδύνατο να διορθώσουμε όλα τα λογικά λάθη ενός προγράμματος πριν αποφασίσουμε ότι είναι έτοιμο για χρήση. Αυτό σημαίνει ότι κατά την χρήση του ενδέχεται να διαπιστωθούν κάποια λάθη, ή κάποιες αβλεψίες ή ακόμη και κάποια σημεία στα οποία θα μπορούσε να συμπεριφέρεται καλύτερα. Έτσι, με το πέρασμα του χρόνου δημιουργείται ένας κατάλογος με τις διορθώσεις ή/και βελτιώσεις που θα πρέπει να γίνουν στο πρόγραμμα. Η υλοποίηση αυτών των τροποποιήσεων ονομάζεται συντήρηση του προγράμματος. Κάθε νέα έκδοση (Version) ενός προγράμματος χαρακτηρίζεται συνήθως από το όνομα του προγράμματος και δίπλα του έναν αριθμό ( πχ Draw 1, Draw 2 κλπ). Ανάμεσα σε διαδοχικές εκδόσεις ενός προγράμματος είναι δυνατόν να γίνουν και κάποιες μικροαλλαγές. Το γεγονός αυτό επισημαίνεται με έναν δεύτερο αριθμό (Release) που ακολουθεί τον αριθμό της έκδοσης. (πχ DOS 6.22, Windows 3.1 κλπ). Διαγράμματα Ροής (flowcharts) Η διατύπωση ενός αλγορίθμου αποτελεί όπως είπαμε ένα ενδιάμεσο βήμα ανάμεσα στην γενική ιδέα που έχουμε στο μυαλό μας για την λύση ενός προβλήματος και στο πρόγραμμα που πραγματικά λύνει το πρόβλημα. Αν και η διατύπωση αυτή μπορεί να γίνει και στην φυσική μας γλώσσα (δηλ. με απλά Ελληνικα/Αγγλικά), συνήθως επιλέγουμε πιο αυστηρές μορφές διατύπωσης αφ ενός διότι η φυσική γλώσσα μπορεί να οδηγήσει σε ασαφείς διατυπώσεις και αφ εταίρου διότι Έτσι διευκολύνεται η κωδικοποίηση (γράψιμο του προγράμματος) που κατά κανόνα ακολουθεί.. Τα διαγράμματα ροής αποτελούν μαζί με την φυσική γλώσσα, τον ψευδοκώδικα και τον τύπο, τις τέσσερις εναλλακτικές μορφές διατύπωσης ενός αλγορίθμου ένα διάγραμμα ροής αποτελείται από μια σειρά σχημάτων που συνδέονται μεταξύ τους με συγκεκριμένο τρόπο. Τα διαφορετικά περιγράμματα των σχημάτων υποδηλώνουν διαφορετικά είδη εντολών / πράξεων, ενώ ο τρόπος διασύνδεσης υποδηλώνει την σειρά εκτέλεσης των συγκεκριμένων εντολών / πράξεων. Ένα διάγραμμα ροής μας δίνει μια συνολική εποπτεία του αλγορίθμου γιαυτό και δεν θα πρέπει να είναι αρκετά περίπλοκο ή μεγάλο σε έκταση. Γενικά δεν θα πρέπει να εκτείνεται σε περισσότερες από μια σελίδες, έτσι ώστε να μη χάνεται η συνολική εποπτεία

6 Ο επόμενος πίνακας παρουσιάζει τα πιο συνηθισμένα σχήματα και τι εντολές / πράξεις αντιπροσωπεύουν: Αρχή / Τέλος αλγορίθμου: Το σχήμα αυτό περιέχει είτε την λέξη ΑΡΧΗ είτε την λέξη ΤΕΛΟΣ και χρησιμοποιείται για να σηματοδοτήσει αντίστοιχα τα σημεία έναρξης και λήξης του διαγράμματος ροής Απλές πράξεις: Μέσα στο παραλληλόγραμμο αυτό αναγράφονται μια ή περισσότερες απλές πράξεις που εκτελούνται διαδοχικά Προκαθορισμένη διαδικασία: Μέσα στο παραλληλόγραμμο αυτό αναγράφεται το όνομα μιας διαδικασίας (συνήθως αρκετά σύνθετης) η οποία περιγράφεται αναλυτικά με δικό της ξεχωριστό διάγραμμα ροής Έλεγχος / Απόφαση: Μέσα στον ρόμβο αναγράφεται μια συνθήκη (π.χ. Α>Β ) η οποία μπορεί να πληρείται ή όχι ανάλογα με τις τιμές των δεδομένων. Η πορεία που θα ακολουθηθεί αποφασίζεται ανάλογα με την έκβαση του ελέγχου. Είσοδος (ανάγνωση) δεδομένων: Το σχήμα αυτό χρησιμοποιείται για να περιγράψει την είσοδο δεδομένων στον αλγόριθμο από μια εξωτερική πηγή δεδομένων του ηλεκτρονικού υπολογιστή όπως το πληκτρολόγιο Έξοδος (εμφάνιση) αποτελεσμάτων: Το σχήμα αυτό χρησιμοποιείται για να περιγράψει την έξοδο αποτελεσμάτων από τον αλγόριθμο σε μια συσκευή εξόδου του ηλεκτρονικού υπολογιστή όπως η οθόνη ή ο εκτυπωτής Επικοινωνία με αρχείο: Το σχήμα αυτό χρησιμοποιείται για να περιγράψει την ανάγνωση ή την γραφή δεδομένων από/προς ένα αρχείο. Σύνδεση με άλλο σημείο του διαγράμματος (στην ίδια ή σε άλλη σελίδα) Αν ο αλγόριθμος είναι περίπλοκος, μπορούμε να τον διασπάσουμε σε μικρότερα αυτόνομα λειτουργικά κομμάτια και να κατασκευάσουμε τα επί μέρους διαγράμματα ροής για το καθένα από αυτά, και ένα κεντρικό διάγραμμα ροής στο οποίο τα επί μέρους τμήματα θα προσδιορίζονται σαν προκαθορισμένες διαδικασίες. ( ). Δείτε τα επόμενα παραδείγματα - 6 -

7 Παράδειγμα 1: Εύρεση του μεγαλύτερου από δυο αριθμούς: ΑΡΧΗ Διάβασε τα Α και Β ΝΑΙ Α > Β ; ΟΧΙ Το Α είναι Μεγαλύτερο Το Β είναι Μεγαλύτερο ΤΕΛΟΣ Παράδειγμα 2: Εκτύπωση των αριθμών από το 1 ως το 10. (Δυο διαφορετικές εκδοχές) ΑΡΧΗ I 0 ΑΡΧΗ Ι 1 NAI I I + 1 Εκτύπωσε το Ι Ι < 10 ; OXI Ι > 10 ; I I + 1 OXI Εκτύπωσε το Ι NAI ΤΕΛΟΣ ΤΕΛΟΣ - 7 -

8 Παράδειγμα 3: Υπολογισμός του μέσου όρου γνωστού πλήθους αριθμών. Εδώ χρειάζεται να διαβάσουμε πρώτα το πλήθος Ν των αριθμών, και στη συνέχεια έναν-έναν τους Ν αριθμούς και να τους τοποθετήσουμε στις μεταβλητές Α(1), Α(2).. Α(Ν). Η διαδικασία του διαβάσματος των Ν αριθμών ορίζεται ξεχωριστά (προκαθορισμένη διαδικασία) Υπολογισμός μέσου όρου Ν αριθμών ΑΡΧΗ Διάβασε το πλήθος των αριθμών Ν Προκαθορισμένη διαδικασία «Διάβασε Ν αριθμούς» ΑΡΧΗ I 0 Ν > 0 ; OXI I I + 1 NAI Ν ακέραιος ; OXI Διάβασε το Α(Ι) NAI Διάβασε Ν αριθμούς Εκτύπωσε μήνυμα λάθους NAI Ι < Ν ; OXI Σ Α(1)+ +Α(Ν) ΤΕΛΟΣ Μ = Σ / Ν Εκτύπωσε τον μέσο όρο Μ ΤΕΛΟΣ - 8 -

9 Παράδειγμα 4: Υπολογισμός του μέσου όρου άγνωστου πλήθους αριθμών. Εδώ υποθέτουμε ότι το πλήθος των αριθμών δεν είναι από πριν γνωστό. Οι αριθμοί διαβάζονται ο ένας κατόπιν του άλλου μέχρις ότου δοθεί κάποιος ειδικός αριθμός. Ο ειδικός αριθμός αυτός, που ονομάζεται και κλειδί, έχει κάποια ειδική τιμή (π.χ ) που έχει από τα πριν συμφωνηθεί ότι σηματοδοτεί το τέλος των δεδομένων. Είναι αυτονόητο ότι ο αριθμός αυτός δεν θα πρέπει να συμπεριληφθεί στον υπολογισμό του μέσου όρου. Στο διάγραμμα ροής που ακολουθεί, θεωρούμε ότι ο αριθμός-κλειδί είναι το ΑΡΧΗ Σ 0 Ν 0 Διάβασε την επόμενη τιμή Τ Τ = ; ΝΑΙ ΟΧΙ Σ Σ + Τ Ν Ν + 1 Μ Σ / Ν Εκτύπωσε τον μέσο όρο Μ ΤΕΛΟΣ - 9 -

10 Παράδειγμα 5: Διάγραμμα ροής για την επίλυση της τριωνυμικής εξίσωσης

11 2. ΑΝΑΠΤΥΞΗ ΠΡΟΓΡΑΜΜΑΤΟΣ 2.1 Γλώσσα μηχανής (binary code) Όπως είναι γνωστό κάθε ηλεκτρονικός υπολογιστής είναι χτισμένος γύρω από ένα κεντρικό τσιπ, την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ ή CPU). Η ΚΜΕ είναι το μέρος εκείνο στο οποίο εκτελούνται όλες οι εντολές των προγραμμάτων που τρέχουν στον ηλεκτρονικού υπολογιστή κάθε στιγμή. Κάθε τύπος ΚΜΕ έχει το δικό της ρεπερτόριο εντολών τις οποίες αναγνωρίζει και εκτελεί. Το σύνολο των εντολών αυτών διατυπώνονται σε δυαδική μορφή (πχ ) ή δεκαεξαδική μορφή (πχ F7) και μαζί με τους πολύ αυστηρούς κανόνες σύνταξής τους αποτελούν την λεγόμενη γλώσσα μηχανής (machine language) του συγκεκριμένου ηλεκτρονικού υπολογιστή. Ένα πρόγραμμα (κώδικας) διατυπωμένο σε γλώσσα μηχανής ονομάζεται δυαδικός κώδικας (binary code). Κάθε ηλεκτρονικός υπολογιστής μπορεί να αναγνωρίσει και κατά συνέπεια να εκτελέσει μόνο προγράμματα που είναι διατυπωμένα στη δική του γλώσσα μηχανής. Από την άλλη μεριά είναι πάρα πολύ επίπονο (στις περισσότερες περιπτώσεις πρακτικά αδύνατο) για έναν άνθρωπο να διατυπώσει έναν αλγόριθμο σε γλώσσα μηχανής. Στο επόμενο παράδειγμα βλέπετε ένα πρόγραμμα διατυπωμένο σε γλώσσα μηχανής, σε δυαδική και δεκαεξαδική μορφή Δυαδική μορφή διατύπωσης Δεκαεξαδική μορφή διατύπωσης 89 D9 B F F7 E1 49 EB F6 2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου (Assembly Languages) Αποτελούν το επόμενο βήμα εξέλιξης μετά την γλώσσα μηχανής. Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες για τη δημιουργία μιας συμβολικής γλώσσας, η οποία ενώ θα έχει έννοια για τον άνθρωπο θα μετατρέπεται εσωτερικά από τους υπολογιστές στις αντίστοιχες ακολουθίες από 0 και 1. Για παράδειγμα η λέξη ADD (πρόσθεσε) ακολουθούμενη από δυο αριθμούς, είναι κατανοητή από τον άνθρωπο και απομνημονεύεται σχετικά εύκολα. Η εντολή αυτή θα μεταφραστεί από τον υπολογιστή σε μία ακολουθία δυαδικών ψηφίων και στη συνέχεια μπορεί να εκτελεστεί. Το έργο της μετάφρασης το αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler). Στο επόμενο παράδειγμα βλέπετε ένα πρόγραμμα διατυπωμένο σε συμβολική γλώσσα ; Παραγοντικό του BX στο AX MOV CX, BX ; Μετρητής στο CX MOV AX, 1 ; Αρχική τιμή 1 LOOP: CMP CX, 0 ; Τέλος; JZ DONE ; Ναι, έξοδος MUL CX ; Όχι, πολλαπλασίασε ΑΧ με CX DEC CX ; Επόμενη τιμή του CX

12 JMP LOOP DONE: ; Πίσω στο βρόχο 2.3 Γλώσσες προγραμματισμού υψηλού επιπέδου Οι γλώσσες προγραµµατισµού υψηλού επιπέδου (ΓΠΥΕ), είναι τεχνητές γλώσσες, που ακολουθούν τις βασικές έννοιες και αρχές της γλωσσολογίας και κατά συνέπεια προσεγγίζουν πολύ περισσότερο τον ανθρώπινο τρόπο σκέψης και διατύπωσης. Παρόλο που η διατύπωση ενός προγράμματος σε μια γλώσσα προγραμματισμού υψηλού επιπέδου προσεγγίζει εν πολλοίς τον ανθρώπινο τρόπο σκέψης, η σύνταξη αυτής της διατύπωσης είναι αρκετά αυστηρή. Η αυστηρότητα αυτή της σύνταξης είναι απαραίτητη διότι εξαλείφει κάθε πιθανή ασάφεια, γεγονός απαραίτητο για την κατοπινή μετάφραση του προγράμματος σε γλώσσα μηχανής. Μιά γλώσσα προγραµµατισµού υψηλού επιπέδου προσδιορίζεται από τα επόμενα τέσσερα στοιχεία: Αλφάβητο Λεξιλόγιο Συντακτικό (syntax) Σημασιολογία (semantics) Αλφάβητο. Το σύνολο των αποδεκτών συμβόλων -δηλαδή των συμβόλων που αναγνωρίζει και κατανοεί - η συγκεκριμμένη γλώσσα. Παράδειγµα: Α Ζ a z + - * / = < # $ % ^ &? Λεξιλόγιο Το σύνολο των αποδεκτών λέξεων -δηλαδή των λέξεων που αναγνωρίζει και κατανοεί - η συγκεκριμμένη γλώσσα. Οι περισσότερες από αυτές τις λέξεις είναι συνήθως Αγγλικά ρήματα στην προστακτική τους (εντολές της γλώσσας). Παράδειγµα: GOTO, IF, #include, Read, Write, PRINT, Set Συντακτικό (syntax) Το σύνολο των συντακτικών κανόνων που διέπουν την σύνταξη κειμένων (προγραμμάτων) στην συγκεκριμμένη γλώσσα. Οι κανόνες αυτοί αφορούν την ορθή σύνταξη των φράσεων και την φυσική διάταξη των συμβόλων της γλώσσας. Παράδειγμα: var <όνομα μεταβλητής> as <τύπος δεδομένων> ; if <συνθήκη> then < έκφραση 1> else < έκφραση 2> Σημασιολογία (semantics) Προσδιορίζει την έννοια των εκφράσεων δηλαδή το τι ακριβώς σημαίνει η κάθε έφραση όταν το πρόγραμμα εκτελεστεί σε κάποιον υπολογιστή. Παράδειγμα: Η έκφραση var N as integer ; σημαίνει οτι κατά την εκτέλεση του προγράμματος θα πρέπει να διατεθεί ένα τμήμα της κεντρικής μνήμης του υπολογιστή για την αποθήκευση μιας ακέραιας μεταβλητής που θα ονομάζεται Ν. Με την πάροδο του χρόνου έχουν αναπτυχθεί (και εξακολουθούν να αναπτύσσονται) χιλιάδες ενώ αυτή τη στιγµή χρησιµοποιούνται εκατοντάδες γλώσσες προγραμματισμού

13 υψηλού επιπέδου. Οι περισσότερες από αυτές είναι γενικής χρήσης, αν και κατά κανόνα η καθεμιά τους παρουσιάζει εξειδίκευση σε συγκεκριμένες κατηγορίες προβλημάτων. Δεν υπάρχει κάποια γλώσσα που να είναι αντικειµενικά καλύτερη από τις υπόλοιπες. Μερικές από τις πιο γνωστές γλώσσες προγραμματισμού υψηλού επιπέδου είναι οι παρακάτω: FORTRAN Pascal (FORmula TRANsformation) Η πρώτη ιστορικά γλώσσα προγραμματισμού υψηλού επιπέδου [1957]. Κατάλληλη για προβλήματα που έχουν πολλούς επιστημονικούς (αριθμητικούς) υπολογισμούς. (Προς τιμήν του Blaise Pascal). Γλώσσα γενικής χρήσης, που υποστηρίζει τον δομημένο προγραμματισμό (structured programming). C, C ++ και C # Σχετικά χαμηλού επιπέδου γλώσσα, μας δίνει την δυνατότητα να ελέγξουμε πολλές από τις παραμέτρους του συγκεκριμένου υπολογιστή. Αν και θεωρείται γλώσσα γενικής χρήσης, δημιουργήθηκε και εξακολουθεί να χρησιμοποιείται ευρέως για την συγγραφή λειτουργικών συστημάτων και άλλων παρόμοιων προγραμμάτων. BASIC (Beginner s All-purpose Symbolic Instruction Code). Γλώσσα πολύ απλή - σχεδόν απλοϊκή στις πρώτες εκδόσεις της. Δημιουργήθηκε με σκοπό να διευκολύνει την πρώτη επαφή και την διδασκαλία προγραμματισμού σε αρχάριους. Με τον καιρό έχει εξελιχθεί σε ένα αρκετά αξιόλογο εργαλείο ανάπτυξης εφαρμογών σε γραφικά περιβάλλοντα (Visual Basic). COBOL LISP (Common Business Oriented Language) Γλώσσα που δημιουργήθηκε ειδικά για ανάπτυξη εμπορικών εφαρμογών. Αρκετά δύσχρηστη εξ αιτίας της υπερβολικής σχολαστικότητάς της. (LISt Processing) Γλώσσα επεξεργασίας καταλόγων (Λιστών). Τόσο αυτή, όσο και η Prolog παρουσιάζουν διαφορετική φιλοσοφία προγραμματισμού σε σχέση με τις υπόλοιπες γλώσσες. PROLOG (PROgramming <using> LOGic). Γλώσσα που υποστηρίζει λογικό προγραμματισμό (διαφορετική φιλοσοφία διατύπωσης και επίλυσης των προβλημάτων). HTML Java, J ++ (HyperText Markup Language). Η κατ εξοχήν χρησιμοποιούμενη γλώσσα για την δημιουργία ιστοσελίδων στο διαδίκτυο. Γλώσσα που δημιουργήθηκε ειδικά για συγγραφή απλών προγραμμάτων τα οποία μεταδίδονται μαζί (πάνω) στις σελίδες του διαδίκτυου. Τα προγράμματα που είναι γραμμένα σε Java, έχουν το πλεονέκτημα ότι μπορούν να τρέξουν απ ευθείας σε οποιοδήποτε υπολογιστή που υποστηρίζει αυτή τη γλώσσα, χωρίς προηγηθεί μετάφρασή τους στην γλώσσα μηχανής τους. Mερικές ακόμα σχετικά γνωστές γλώσσες προγραμματισμού υψηλού επιπέδου είναι οι Ada, Algol, Snobol, και Occam

14 Ο επόμενος πίνακας παρουσιάζει τον αλγόριθμο για την εύρεση του Ν! (διαβάζεται Ν παραγοντικό) σε εξι από τις πιο συνηθισμένες γλώσσες προγραμματισμού FORTRAN C Return factorial of N C FUNCTION IFACTORIAL(N) INTEGER N INTEGER IFACTORIAL INTEGER IRESULT, I C /* Παραγοντικό */ int factorial(int n) { int result; int count; IRESULT = 1 DO I = 1, N IRESULT = IRESULT * I END DO IFACTORIAL = IRESULT END } count = n; result = 1; while (count > 0) { result = result * count; count = count - 1; } return (result); Visual Basic ' Παραγοντικό του Ν FUNCTION Factorial(N AS INTEGER) AS INTEGER DIM Count AS INTEGER DIM Result AS INTEGER Count = N Result = 1 WHILE Count > 0 Result = Result * Count Count = Count - 1 WEND END FUNCTION Java // Υπολογισμός ν παραγοντικού public int παραγοντικό(int ν) { int αποτέλεσμα; int μετρητής; } μετρητής = ν; αποτέλεσμα = 1; while (μετρητής > 0) { αποτέλεσμα = αποτέλεσμα * μετρητής; μετρητής = μετρητής - 1; } return (αποτέλεσμα); Pascal (* Παραγοντικό του Ν *) function factorial(n : Integer) : Integer; var Count, Result : Integer; begin Count := N; Result := 1; While Count > 0 Do begin Result := Result * Count; Count := Count - 1 end; Factorial := Result end (* Factorial *); Prolog factorial(0, 1). % To N_Factorial είναι ισοδύναμο με Ν! factorial(n, N_Factorial) :- N > 0, M is N - 1, factorial(m, M_Factorial), N_Factorial is M_Factorial * N

15 2.4 Μεταφραστές (compilers) Ένα πρόγραμμα γραμμένο σε μια γλώσσα προγραμματισμού υψηλού επιπέδου ονομάζεται πηγαιο πρόγραμμα (source program) ή πηγαίος κώδικας (souce code). H φυσική μορφή ενός τέτοιου προγράμματος είναι κείμενο. Δείτε για παράδειγμα ένα απλό πρόγραμμα γραμμένο σε Pascal. program MYFIRST (output); begin writeln('hello. How are you?') end. Για να γράψουμε λοιπόν ένα πρόγραμμα σε Pascal (ή οποιαδήποτε άλλη γλώσσα προγραμματισμού) χρειαζόμαστε απλώς έναν επεξεργαστή κειμένου όπως το Σημειωματάριο (Notebook) των Windows. Όμως για να εκτελεστεί αυτό το πρόγραμμα πρέπει προηγουμένως κάποιος να μεταφράσει τις εντολές του σε αντίστοιχες εντολές χαμηλού επιπέδου που να καταννοούνται - και επομένως να μπορούν να εκτελεστουν - από την κεντρική μονάδα επεξεργασίας του συγκεκριμμένου υπολογιστή. Η μετάφραση ενός προγράμματος από μια γλώσσα προγραμματισμού υψηλού επιπέδου σε γλώσσα μιας συγκεκριμένης μηχανής γίνεται αυτόματα από ειδικά προγράμματα τα οποία ονομάζονται μεταφραστές (compilers). Ένας compiler (μιας συγκεκριμένης γλώσσας προγραμματισμού σε έναν συγκεκριμένο τύπο ηλεκτρονικού υπολογιστή) είναι ένα ειδικό πρόγραμμα το οποίο μετατρέπει κάθε κείμενο διατυπωμένο στην παραπάνω γλώσσα προγραμματισμού (πηγαίος κώδικας source code), σε αντίστοιχο δυαδικό κώδικα της γλώσσας μηχανής αυτού του ηλεκτρονικού υπολογιστή (εκτελέσιμος κώδικας machine code). Πηγαίος κώδικας γραμμένος σε Pascal (Αρχείο.PAS) Compiler της Pascal για PC Αντίστοιχος εκτελέσιμος δυαδικός κωδικας για την γλώσσα μηχανής του PC (Αρχείο.ΕΧΕ) Κατά την διάρκεια αυτής της μετατροπής ο compiler ελέγχει ταυτόχρονα αν η διατύπωση του προγράμματος ειναι συντακτικά σωστή (εντοπίζει τα συντακτικά λάθη). Αν δεν υπάρχουν συντακτικά λάθη, τοτε ο compiler προχωρά στην δημιουργία του δυαδικού κώδικα. Σε διαφορετική περίπτωση ο compiler μας επιστρέφει μια λίστα με συντακτικά λάθη τα οποία θα πρέπει να διορθωθούν. Παρόλο που ο compiler ανιχνεύει όλα τα συντακτικά λάθη ενός προγράμματος, δεν μπορεί να ανιχνεύσει τα λογικά λάθη που ενδεχομένως υπάρχουν. Έτσι υπάρχει πάντα η πιθανότητα σε ένα πρόγραμμα να εκτελείται μεν (πράγμα που σημαίνει ότι δεν έχει συντακτκά λάθη), αλλα να μην παράγει πάντα σωστά αποτελέσματα (πράγμα που σημάινει ότι έχει ένα ή περισσότερα λογικά λάθη). Κάθε τύπος υπολογιστή που χρησιμοποιείται για την ανάπτυξη προγραμμάτων πρέπει να διαθέτει έναν τουλάχιστο compiler για κάθε γλώσσα προγραμματισμού που υποστηρίζει. Με αυτόν τον τρόπο προκύπτει η δυνατότητα να διατυπώνουμε τα προγράμματά μας σε μια συγκεκριμένη γλώσσα προγραμματισμού υψηλού επιπέδου και να μπορούμε να τα

16 εκτελέσουμε σε οποιονδήποτε ηλεκτρονικό υπολογιστή ο οποίος διαθέτει compiler της συγκεκριμένης γλώσσας. Έτσι, για παράδειγμα θα μπορούσαμε να χρησιμοποιήσουμε την γλώσσα προγραμματισμού Pascal για να αναπτύξουμε ένα συγκεκριμένο πρόγραμμα σε έναν προσωπικό υπολογιστή τύπου PC και στη συνέχεια να μεταφέρουμε το ίδιο πρόγραμμα σε έναν ηλεκτρονικό υπολογιστή τύπου Macintosh ή SUN. Αν οι υπολογιστές αυτοί διαθέτουν compiler της Pascal τότε είμαστε βέβαιοι ότι το πρόγραμμά μας θα τρέξει εξ ίσου καλά (μερικές φορές έπειτα από μικρές μετατροπές) και σ αυτούς τους ηλεκτρονικούς υπολογιστές. Compiler της Pascal για PC Αντίστοιχος εκτελέσιμος δυαδικός κωδικας για την γλώσσα μηχανής του PC Πηγαίος κώδικας γραμμένος σε Pascal Compiler της Pascal για Macintosh Αντίστοιχος εκτελέσιμος δυαδικός κωδικας για την γλώσσα μηχανής του Macintosh Compiler της Pascal για SUN Αντίστοιχος εκτελέσιμος δυαδικός κωδικας για την γλώσσα μηχανής του SUN 3.5 Εσωτερική Δομή του Προγράμματος Κάθε πρόγραμμα διατυπωμένο σε μια γλώσσα προγραμματισμού υψηλού επιπέδου αποτελείται από δύο διακριτά τμήματα. Το πρώτο τμήμα ονομάζεται τμήμα δηλώσεων και περιέχει τις δηλώσεις για τις σταθερές, τους τύπους δεδομένων και τις μεταβλητές που χρησιμοποιούνται μέσα στο πρόγραμμα. Το δεύτερο τμήμα ονομάζεται τμήμα εντολών και περιέχει τις εκτελέσιμες εντολές που υλοποιούν τον αλγόριθμο. Πρόγραμμα: Δηλώσεις ( σταθερές / τύποι δεδομένων / μεταβλητές) Εκτελέσιμες Εντολές Α) Δηλώσεις

17 Σταθερά: Όνομα που καθορίζεται από τον χρήστη για την υποκατάσταση ενός συγκεκριμένου αριθμού (ή άλλου είδους δεδομένων) σε ένα πρόγραμμα. Πx Pi = Οι σταθερές ορίζονται συνήθως πρώτες στο τμήμα δηλώσεων του προγράμματος Τύπος Δεδομένων: σύνολο ομοειδών δεδομένων (δηλαδή δεδομένων που έχουν ορισμένα κοινά χαρακτηριστικά) μαζί με ένα σύνολο επιτρεπτών λειτουργιών επί αυτών. Ορισμένοι βασικοί τύποι δεδομένων όπως είναι οι ακέραιοι αριθμοί (Integer), οι πραγματικοί αριθμοί (Real) υποστηρίζονται εγγενώς από όλες τις γλώσσες προγραμματισμού οπότε δεν χρειάζεται να οριστούν. Οι τύποι δεδομένων που ορίζονται στο τμήμα δηλώσεων του προγράμματος είναι συνήθως σύνθετοι τύποι που προκύπτουν από συνδυασμό απλούστερων τύπων δεδομένων. Μεταβλητή: χώρος προσωρινής αποθήκευσης δεδομένων κατά την διάρκεια εκτέλεσης ενός προγράμματος. Κάθε μεταβλητή χαρακτηρίζεται από - το όνομα της επιλέγεται από τον προγραμματιστή και συνήθως φανερώνει το περιεχόμενο της πχ Name, Address, Age, Kostos, FPA, A, N - τον τύπο της δηλαδή το είδος των τιμών που μπορεί να αποθηκεύσει πχ Integer (Ακέραιος αριθμός), Real (Πραγματικός / Δεκαδικός αριθμός), String (κείμενο), ή άλλος σύνθετος τύπος δεδομένων που έχει οριστεί νωρίτερα. Οι μεταβλητές δημιουργούνται κατά την έναρξη και καταστρέφονται με τον τερματισμό της εκτέλεσης του προγράμματος. Ανάλογα με τον τύπο της κάθε μεταβλητής το λειτουργικό σύστημα καθορίζει μια περιοχή από συνεχόμενες θέσεις (κελιά) στην κεντρική μνήμη του Η/Υ. Επειδή η περιοχή της κεντρικής μνήμης που διατίθεται από το λειτουργικό σύστημα για την αποθήκευση μιας μεταβλητής ίσως περιέχει σκουπίδια δηλαδή τιμές από παλαιότερα προγράμματα, κάθε μεταβλητή πρέπει να αρχικοποιείται (καθαρίζεται) πριν χρησιμοποιηθεί. Εκχώρηση τιμής σε μεταβλητή: Διαδικασία κατά την οποία το περιεχόμενο μιας μεταβλητής αντικαθίσταται από μια τιμή η οποία είτε είναι αυτούσια είτε προκύπτει από την επαλήθευση μιας αριθμητικής (ή άλλου είδους) έκφρασης. Τα πιο συνηθισμένα σύμβολα εκχώρησης που χρησιμοποιούν οι διάφορες γλώσσες προγραμματισμού είναι τα ακόλουθα: ( =, :=, ). Δείτε τα επόμενα παραδείγματα εκχωρήσεων <μεταβλητή> <τιμή> Α 5 ή <μεταβλητή> <έκφραση> Κ ή Age = 2004 Year_Of_Birth Αρχικοποίηση μεταβλητής Εκχώρηση μιας αρχικής τιμής στη μεταβλητή πριν από την χρήση της στο πρόγραμμα Πχ Α 0. Όλες οι μεταβλητές πρέπει να αρχικοποιούνται πριν από την χρήση τους. Οι περισσότερες γλώσσες προγραμματισμού αρχικοποιούν αυτόματα τις μεταβλητές την στιγμή που δηλώνονται. Β) Εκτελέσιμες εντολές Διακρίνονται σε απλές και σύνθετες. Οι απλές εντολές κωδικοποιούνται συνήθως σε μια γραμμή του προγράμματος, εκτελούνται διαδοχικά και φέρουν εις πέρας απλές λειτουργίες όπως εκτέλεση απλών πράξεων και μετακίνηση δεδομένων. κωδικοποιούνται σε μια γραμμή και εκτελούνται διαδοχικά (η μία κατόπιν της άλλης) ενώ οι σύνθετες σχηματίζουν δομές και

18 καθορίζουν τμήματα του προγράμματος η εκτέλεση των οποίων επηρεάζεται από τα εκάστοτε δεδομένα. Εντολές Εισόδου / Εξόδου (READ, WRITE, PRINT, GET, PUT) Χρησιμοποιούνται για την τροφοδοσία του προγράμματος με εξωτερικά δεδομένα και την μεταφορά των παραγομένων αποτελεσμάτων έξω από το πρόγραμμα (σε οθόνη, εκτυπωτή, συσκευές αποθήκευσης κλπ) Εντολή εκχώρησης ( ) Βασική εντολή που χρησιμοποιείται μετά από κάθε είδους πράξη για την αποθήκευση του αποτελέσματος. Οι σύνθετες εντολές αποτελούνται από ομάδες (δομές) απλών εντολών η εκτέλεση των οποίων καθορίζεται από τις τιμές των εκάστοτε δεδομένων. Οι βασικές κατηγορίες σύνθετων εντολών είναι οι εντολές επιλογής (ελέγχου / διακλάδωσης) και οι eντολές επανάληψης (ανακύκλωσης) Εντολές επιλογής (ελέγχου / διακλάδωσης) (IF/THEN, IF/THEN/ELSE, SELECT/ CASE, GOTO) Χρησιμοποιούνται σε κομβικά σημεία του προγράμματος για την επιλογή μιας ανάμεσα από πολλαπλές πορείες εκτέλεσης. Η επιλογή βασίζεται στην εξέταση για την ικανοποίησης ή μη μιας λογικής έκφρασης (συνθήκη επιλογής) Εντολές επανάληψης ανακύκλωσης (REPEAT/UNTIL, WHILE/DO, FOR). Δημιουργούν κύκλους (loops) επαναληπτικής εκτέλεσης εντολών. Η έξοδος από την ανακύκλωση πραγματοποιείται με την εξέταση για την ικανοποίησης ή μη μιας λογικής έκφρασης (συνθήκη εξόδου) Για τη σύνταξη των εντολών επιλογής και επανάληψης χρησιμοποιούνται λογικές εκφράσεις (λέγονται ακόμη και λογικές παραστάσεις ή λογικές συνθήκες). Λογική έκφραση ονομάζεται κάθε παράσταση η οποία όταν επαληθεύεται μας δίνει ως αποτέλεσμα μια λογική τιμή δηλαδή ΑΛΗΘΗΣ(True) ή ΨΕΥΔΗΣ(False). Για τη σύνταξη μιας λογικής έκφρασης ή συνθήκης χρησιμοποιούνται σταθερές, μεταβλητές, αριθμητικές παραστάσεις, συγκριτικοί τελεστές ( <, >, =, <=, >=, <> ) και λογικοί τελεστές (AND, OR, NOT), καθώς και παρενθέσεις. Δείτε τα επόμενα παραδείγματα λογικών εκφράσεων Χ <5 Α = 3 OR Β >=8 Ζ > 0 AND Z <> 12 Κατά την επαλήθευση σύνθετων λογικών εκφράσεων, οι συγκριτικοί τελεστές έχουν υψηλότερη προτεραιότητα από τους λογικούς τελεστές 3.6 Εντολές επιλογής (ελέγχου / διακλάδωσης) Μια από τις βασικότερες δομές που εμφανίζονται σε ένα πρόγραμμα είναι η επιλογή. Σχεδόν σε όλα τα προβλήματα περιλαμβάνονται κάποιοι έλεγχοι και ανάλογα με το αποτέλεσμα αυτών των ελέγχων επιλέγονται οι ενέργειες που θα ακολουθήσουν. Οι εντολές επιλογής χρησιμοποιούνται σε κομβικά σημεία του προγράμματος για την επιλογή μιας ανάμεσα σε δυο (ή ορισμένες φορές περισσότερες) πορείες εκτέλεσης. Η επιλογή βασίζεται στην εξέταση για την ικανοποίηση ή μη μιας συνθήκης (συνθήκη επιλογής). Οι πιο συνηθισμένες εντολές επιλογής είναι οι ακόλουθες IF/THEN (ΑΝ/ΤΟΤΕ) Συναντάται σε δυο μορφές

19 α) IF <συνθήκη> THEN <εντολή> β) IF <συνθήκη> THEN <εντολή 1> <εντολή 2> <εντολή k> END IF Κατά την εκτέλεση της εντολής IF/THEN ελέγχεται η τιμή της συνθήκης επιλογής. Αν η συνθήκης επιλογής είναι αληθής τότε εκτελούνται οι εντολές που ακολουθούν. Στην αντίθετη περίπτωση η εκτέλεση του προγράμματος συνεχίζεται μετά το END IF IF/THEN/ELSE (ΑΝ/ΤΟΤΕ/ΔΙΑΦΟΡΕΤΙΚΑ) Συναντάται σε δυο μορφές α) IF <συνθήκη> THEN <εντολή2> ΕLSE <εντολή2> β) IF <συνθήκη> THEN <εντολή a1> <εντολή a2> <εντολή ak> ΕLSE <εντολή b1> <εντολή b2> <εντολή bk> END IF Τρόπος λειτουργίας: Κατά την εκτέλεση της εντολής IF/THEN/ELSE ελέγχεται η τιμή της συνθήκης επιλογής. Αν η συνθήκης επιλογής είναι αληθής τότε εκτελείται η ομάδα εντολών που ακολουθούν το THEN. Διαφορετικά εκτελείται η ομάδα εντολών που ακολουθούν το ΕLSE. Και στις δύο περιπτώσεις η εκτέλεση του προγράμματος συνεχίζεται μετά το END IF Πολλαπλό IF/THEN/ELSE (ΑΝ/ΤΟΤΕ/ΔΙΑΦΟΡΕΤΙΚΑ) Συναντάται σε δυο μορφές α) IF <συνθήκη1> THEN <εντολή 11> <εντολή 12> <εντολή 1k> ΕLSE IF <συνθήκη2> THEN <εντολή 21> <εντολή 22> <εντολή 2k>. ΕLSE IF <συνθήκη N> THEN <εντολή N1> <εντολή N2> β) IF <συνθήκη1> THEN <εντολή 11> <εντολή 12> <εντολή 1k>.. ΕLSE IF <συνθήκη N> THEN <εντολή N1> <εντολή N2> <εντολή Nk> ΕLSE <εντολή Μ1> <εντολή Μ2>

20 <εντολή Nk> END IF <εντολή Μk> END IF Τρόπος λειτουργίας: Κατά την εκτέλεση ενός πολλαπλού IF/THEN/ELSE της μορφής (α) ελέγχεται η τιμή κάθε συνθήκης επιλογής και εκτελείται η ομάδα εντολών που ακολουθούν την πρώτη συνθήκη επιλογής που θα βρεθεί αληθής.μετά τη εκτέλεση ενός μπλοκ εντολών παύουν να εξετάζονται οι επόμενες συνθήκες και η εκτέλεση του προγράμματος συνεχίζεται μετά το END IF. Αν καμία από τις συνθήκες επιλογής δεν βρεθεί αληθής τότε δεν εκτελείται καμία ομάδα εντολών. Στην εναλλακτική μορφή (β) αν καμία από τις συνθήκες επιλογής δεν βρεθεί αληθής τότε εκτελείται η ομάδα εντολών που ακολουθεί το τελευταίο ΕLSE SELECT CASE (ΕΠΙΛΟΓΗ ΠΕΡΙΠΤΩΣΕΩΝ) Συναντάται σε δυο μορφές a) SELECT CASE <μεταβλητή> CASE <περιοχή τιμών 1> <εντολή 11> <εντολή 1k> CASE <περιοχή τιμών 2> <εντολή 21> <εντολή 2k>. CASE <περιοχή τιμών N> <εντολή N1> <εντολή Nk> END SELECT b) SELECT CASE <μεταβλητή> CASE <περιοχή τιμών 1> <εντολή 11> <εντολή 1k>. CASE <περιοχή τιμών N> <εντολή N1> <εντολή Nk> CASE ELSE <εντολή Μ1> <εντολή Μk> END SELECT Τρόπος λειτουργίας: Κατά την εκτέλεση της εντολής SELECT CASE εξετάζεται η τιμή της <μεταβλητής> για να διαπιστωθεί αν ανήκει σε κάποια από τις οριζόμενες περιοχές τιμών που ακολουθούν. Μόλις βρεθεί η πρώτη περιοχή τιμών που να περιέχει την τιμή της μεταβλητής, εκτελείται η ομάδα εντολών που ακολουθεί. Μετά τη εύρεση της περιοχής τιμών και την εκτέλεση της αντίστοιχης ομάδας εντολών παύουν να εξετάζονται οι επόμενες

21 περιοχές τιμών και η εκτέλεση του προγράμματος συνεχίζεται μετά το END SELECT. Αν διαπιστωθεί ότι η τιμή της μεταβλητής δεν ανήκει σε καμία από τις περιοχές τιμών τότε στην εναλλακτική μορφή (α) δεν εκτελείται καμία εντολή, ενώ στην εναλλακτική μορφή (β) εκτελείται η ομάδα των εντολών που ακολουθεί μετά το CASE ΕLSE GOTO (ΜΕΤΑΒΑΣΗ ΣΕ). Έχει την μορφή GOTO <αριθμός γραμμής> και όταν εκτελεστεί καθορίζει ως επόμενη εκτελέσιμη εντολή την εντολή που βρίσκεται στην γραμμή <αριθμός γραμμής>. Στις περισσότερες γλώσσες προγραμματισμού η εντολή GOTO συνδυάζεται με την εντολή IF/THEN. Επίσης αντί για αριθμό γραμμής, η εντολή μπορεί να περιέχει ένα κείμενο που ονομάζεται ετικέτα (label). Παράδειγμα: IF Α > 8 THEN GOTO Top Εδώ η λέξη Top είναι μια ετικέτα η οποία υπάρχει μπροστά από κάποια άλλη εντολή σε διαφορετικό σημείο του προγράμματος. Η υπερβολική χρήση της εντολής GOTO θα πρέπει να αποφεύγεται διότι δημιουργεί δυσανάγνωστα προγράμματα. 3.7 Εντολές Επανάληψης (ανακύκλωσης) Μια άλλη εξ ίσου σημαντική δομή που εμφανίζεται σε ένα πρόγραμμα είναι ο λεγόμενος βρόγχος ανακύκλωσης (loop). Σχεδόν σε όλα τα προβλήματα υπάρχουν ομάδες εντολών οι οποίες θα πρέπει να εκτελεστούν περισσότερες από μια φορές. Οι εντολές αυτές περικλείονται σε μια από τις δομές επανάληψης REPEAT/UNTIL, WHILE/DO και FOR/ΝΕΧΤ Εντολή REPEAT/UNTIL. Στα ελληνικά θα μπορούσε να αποδοθεί : Επαναλάμβανε τις εντολές / μέχρις ότου ικανοποιηθεί η συνθήκη εξόδου. Έχει την μορφή REPEAT <εντολή 1> <εντολή 2> <εντολή k> UNTIL <συνθήκη εξόδου> Τρόπος λειτουργίας: Η ομάδα εντολών που περικλείεται ανάμεσα στο REPEAT και το UNTIL εκτελείται μια φορά και στη συνέχεια ελέγχεται η συνθήκη εξόδου. Αν η συνθήκη βρεθεί ψευδής τότε ακολουθεί νέα εκτέλεση των εντολών και νέος έλεγχος της συνθήκης. Η διαδικασία αυτή επαναλαμβάνεται μέχρις ότου η συνθήκη βρεθεί κατά τον έλεγχο αληθής, οπότε διακόπτεται η ανακύκλωση και η εκτέλεση του προγράμματος συνεχίζεται από την εντολή που βρίσκεται μετά το UNTIL. Είναι προφανές ότι η συνθήκη εξόδου θα πρέπει να επηρεάζεται από τουλάχιστον μια από τις εντολές που εκτελούνται στην ανακύκλωση, διαφορετικά η ανακύκλωση ενδέχεται να συνεχίζεται έπ άπειρον (infinite loop). Δείτε τα επόμενα παραδείγματα A=0 REPEAT A=A+1 PRINT A UNTIL (A >= 10) REPEAT READ TIMH PRINT TIMH UNTIL (TIMH = 45) Εντολή WHILE/DO Στα ελληνικά θα μπορούσε να αποδοθεί : Όσο ικανοποιείται η συνθήκη επανάληψης επαναλάμβανε της εντολές. Έχει την μορφή

22 WHILE <συνθήκη επανάληψης> DO <εντολή 1> <εντολή 2> <εντολή k> END WHILE Τρόπος λειτουργίας: Αρχικά ελέγχεται η συνθήκη επανάληψης. Αν η συνθήκη βρεθεί αληθής τότε εκτελείται η ομάδα εντολών που περικλείεται ανάμεσα στο WHILE και το END WHILE και η συνθήκη ελέγχεται ξανά. Η διαδικασία αυτή επαναλαμβάνεται μέχρις ότου η συνθήκη επανάληψης βρεθεί κατά τον έλεγχο ψευδής, οπότε διακόπτεται η ανακύκλωση και η εκτέλεση του προγράμματος συνεχίζεται από την εντολή που βρίσκεται μετά το END WHILE. Είναι προφανές ότι η συνθήκη εξόδου θα πρέπει να επηρεάζεται από τουλάχιστον μια από της εντολές που εκτελούνται στην ανακύκλωση, διαφορετικά η ανακύκλωση ενδέχεται να συνεχίζεται επ άπειρον (infinite loop). Δείτε τα επόμενα παραδείγματα K=17 WHILE(K >= 10) K=K-3 PRINT K UNTIL A=5 B=100 WHILE(A<12 OR B>17) A= A+3 B= B-A PRINT A+B UNTIL Η βασική διαφορά της εντολής WHILE/DO από την REPEAT/UNTIL είναι ότι ο έλεγχος της συνθήκης πραγματοποιείται στην αρχή αντί για το τέλος. Πρακτικά αυτό σημαίνει ότι η ομάδα εντολών μέσα σε ένα REPEAT/UNTIL ένα εκτελείται υποχρεωτικά (εγγυημένα) τουλάχιστον μια φορά. Εντολή FOR/NEXT Η εντολή αυτή εμφανίζεται με δυο εναλλακτικές μορφές α) FOR <δείκτης> = <αρχική τιμή> TO <τελική τιμή> <εντολή 1> <εντολή 2> <εντολή k> NEXT β) FOR <δείκτης> = <αρχική τιμή> TO <τελική τιμή> STEP <βήμα> <εντολή 1> <εντολή 2> <εντολή k> NEXT Τρόπος λειτουργίας: Αρχικά η μεταβλητή-δείκτης λαμβάνει την <αρχική τιμή> και πραγματοποιείται έλεγχος κατά πόσον η αρχική τιμή είναι μικρότερη της τελικής. Εφόσον αυτό συμβαίνει, εκτελούνται μια φορά οι εντολές ανάμεσα στο FOR και το NEXT και η μεταβλητή-δείκτης αυξάνεται κατά μια μονάδα (ή κατά τον αρμό που προσδιορίζεται στο

23 <βήμα> αν πρόκειται για την μορφή (β). Η ανακύκλωση τερματίζεται όταν η τιμή μεταβλητήςδείκτη ξεπεράσει την <τελική τιμή> To <βήμα> μπορεί να είναι θετικό ή αρνητικό. Στην δεύτερη περίπτωση η <τελική τιμή> θα πρέπει να καθοριστεί μικρότερη από την <αρχική τιμή>. Δείτε τα επόμενα παραδείγματα FOR I = 5 TO 12 READ A READ B PRINT A+B NEXT FOR I = 100 TO 1 STEP -4 READ A READ B PRINT A-B NEXT Συνδιασμός σύνθετων και απλών εντολών Πολλές φορες για να αποδοθεί μια περίπλοκη λογική ενός αλγορίθμου χρειάζεται να συνδιαστούν μεταξύ τους απλές και σύνθετες εντολές όλων των ειδών. Έτσι δεν είναι ασυννήθσιτο για ένα πρόγραμμα να περιέχει δομές όπως δομές ελέγχου μέσα σε ανακυκλώσεις, ανακυκλώσεις μέσα σε δομές ελέγχου ή ακόμα και ανακυκλώσεις μέσα σε ανακυκλώσεις. - ΤΕΛΟΣ ΕΝΟΤΗΤΑΣ

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

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

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

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

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

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

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

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY Mία γλώσσα προγραμματισμού συνίσταται από ένα περιορισμένο υποσύνολο της αγγλικής γλώσσας και το οποίο αποτελείται από εκφράσεις σαφώς ορισμένες, χωρίς παρερμηνεία.

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

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

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

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

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

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

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

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

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

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

Εισαγωγή στον προγραμματισμό Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός

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

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

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

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

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

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

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

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

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

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

Θεωρία Προγραμματισμού

Θεωρία Προγραμματισμού Θεωρία Προγραμματισμού 1) Τι ονομάζουμε Αλγόριθμο; Ονομάζεται μια ακολουθία από πεπερασμένο αριθμό εντολών, που αν εκτελεστούν με ακρίβεια, οδηγούν στη πραγματοποίηση μιας εργασίας. 2) Τι ονομάζουμε ανάλυση

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης Κ.Π. Γιαλούρης Στόχοι του μαθήματος Απόκτηση αναλυτικής και αλγοριθμικής σκέψης Απόκτηση δεξιοτήτων επίλυσης προβλημάτων Γνώση προγραμματισμού σε Python 2 Στόχοι του σημερινού μαθήματος Κατανόηση της έννοιας

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

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

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

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

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

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

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

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Παραδείγματα αλγορίθμων: Η παρασκευή ενός κέικ Η εύρεση του μέγιστου κοινού διαιρέτη δύο αριθμών Η εκκίνηση ενός αυτοκινήτου Η πρωινή προετοιμασία για το

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

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

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

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos Δομή Επανάληψης Κεφάλαιο 7 Mike Trimos Δομή Επανάληψης Η Διαδικασία αυτή ονομάζεται Βρόγχος ή Επανάληψη (Loop) και η εντολή ή το σύνολο των εντολών που επαναλαμβάνονται ονομάζεται Σώμα της Δομής. Η γλώσσα

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

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

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

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

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

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1 Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1 6.3 Φυσικές και τεχνητές γλώσσες Μια γλώσσα γενικά προσδιορίζεται από: 1. Το αλφάβητο: το σύνολο των στοιχείων που χρησιμοποιεί

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

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

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

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

6. 1 Η έννοια του προγράμματος

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

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ Γ Λυκείου Κατεύθυνσης Mike Trimos Βήματα Ανάπτυξης ενός Συστήματος 1.Ορισμός και κατανόηση του προβλήματος 2.Ανάλυση του προβλήματος 3.Σχεδιασμός Αλγοριθμικής Λύσης 4.Κωδικοποίηση 5.Διόρθωση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr Διαφάνειες: Καθ. Νικόλαος Λορέντζος 7. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

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

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

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

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

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

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

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

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

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

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα

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

Επαναληπτικές Διαδικασίες

Επαναληπτικές Διαδικασίες Επαναληπτικές Διαδικασίες Οι επαναληπτικές δομές ( εντολές επανάληψης επαναληπτικά σχήματα ) χρησιμοποιούνται, όταν μια ομάδα εντολών πρέπει να εκτελείται αρκετές- πολλές φορές ανάλογα με την τιμή μιας

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός και Εφαρμογές Υπολογιστών Προγραμματισμός και Εφαρμογές Υπολογιστών Ενότητα 1: Αλγόριθμοι και Επίλυση Προβλημάτων Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Κ.Π. Γιαλούρης Μαθησιακοί Στόχοι Ενότητας Απόκτηση αναλυτικής και

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

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

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

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

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

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

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

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

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΥΠΟΛΟΓΙΣΤΕΣ Ι Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ Τα επιμέρους τμήματα ΕΙΣΟ ΟΣ ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΕΛΕΓΧΟΥ ΑΡΙΘΜΗΤΙΚΗ ΛΟΓΙΚΗ ΕΞΟ ΟΣ ΚΕΝΤΡΙΚΗ ΕΠΕΞΕΡΓΑΣΙΑΣ 1 2 Αναπαράσταση μεγεθών ΜΕΤΡΟΥΜΕΝΟ ΜΕΓΕΘΟΣ ΑΝΑΛΟΓΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Δομημένος Προγραμματισμός

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

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

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

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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