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

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

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

Transcript

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

2 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει εντολές που πρέπει να εκτελέσει λέγεται γλώσσα μηχανής. Για παράδειγμα, στο κεφάλαιο 5 είδαμε ένα πρόγραμμα πρόσθεσης δυο αριθμών που αποτελούνταν από τέσσερις εντολές (LOAD X ADD Y STORE Z STOP). Αυτό ήταν μια απλούστευση που κάναμε στο σημείο εκείνο για να μπορέσουμε να εξηγήσουμε τη λειτουργία της ΚΜΕ. Στην πραγματικότητα, καμία ΚΜΕ δε θα μπορούσε να κατανοήσει το παραπάνω πρόγραμμα, αφού το μόνο που καταλαβαίνει είναι η γλώσσα μηχανής της, η οποία αποτελείται από εντολές κωδικοποιημένες σε μηδέν και ένα. Το σχήμα που ακολουθεί δείχνει πως θα μπορούσε να είναι στην πραγματικότητα το πρόγραμμα αυτό γραμμένο σε γλώσσα μηχανής. Γλώσσα μηχανής Συμβολική γλώσσα Επεξήγηση LOAD X ADD Y STORE Z STOP o Οι εντολές κωδικοποιούνται σε οκτώ δυαδικά ψηφία (π.χ. η LOAD είναι ) o Οι διευθύνσεις μνήμης κωδικοποιούνται σε τέσσερα δυαδικά ψηφία (όπως στο παράδειγμα του Κεφαλαίου 5) Πίνακας 6.1:Πρόγραμμα πρόσθεσης δυο αριθμών σε γλώσσα μηχανής (αριστερά) και συμβολική γλώσσα (στη μέση) Οι πρώτοι προγραμματιστές έπρεπε να γράφουν τα προγράμματα τους σε τέτοιες μεγάλες και δυσνόητες ακολουθίες από μηδέν και ένα. Αυτό φυσικά έκανε το έργο του προγραμματισμού ιδιαίτερα δύσκολο και τη διόρθωση λαθών μια τιτάνια προσπάθεια. Ακόμα, ένα πρόγραμμα ήταν κωδικοποιημένο στο σύνολο εντολών (instruction set) της μηχανής για την οποία γράφονταν και δε μπορούσε να εκτελεστεί σε άλλο υπολογιστή ο οποίος είχε διαφορετικό σύνολο εντολών (για παράδειγμα, η εντολή μπορεί να σήμαινε ΦΟΡΤΩΣΕ στον υπολογιστή μας αλλά ΕΚΤΕΛΕΣΕ ΔΕΞΙΑ ΟΛΙΣΘΗΣΗ σε ένα άλλο υπολογιστή). Αυτό σήμαινε ότι προγράμματα γραμμένα σε γλώσσα μηχανής δεν είχαν μεταφερσιμότητα, δηλαδή δεν μπορούσαν να μεταφερθούν και να εκτελεστούν σε οποιοδήποτε υπολογιστή. Για τους λόγους αυτούς, ο προγραμματισμός σε γλώσσα μηχανής δεν εξασκείται πια παρά μόνο σε πολύ εξειδικευμένες περιπτώσεις (για παράδειγμα, απευθείας προγραμματισμός ολοκληρωμένων κυκλωμάτων). Αντίθετα, αναπτύχθηκαν και εξελίχθηκαν διάφορα είδη γλωσσών προγραμματισμού που θα δούμε στις επόμενες ενότητες,

3 ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ώστε οι χρήστες να μπορούν να γράφουν εύχρηστα και ευνόητα προγράμματα σε γλώσσα που να μπορούν να την καταλάβουν Συμβολικές γλώσσες (2 η γενιά) Επειδή η γλώσσα μηχανής είναι εξαιρετικά δύσκολη τόσο στην κατανόησή της όσο και στη χρήση της, από τα πρώτα χρόνια του προγραμματισμού άρχισαν να γίνονται προσπάθειες για τη δημιουργία μιας συμβολικής γλώσσας, η οποία θα μπορεί να μεταφράζεται εύκολα από τον υπολογιστή σε ακολουθίες από 0 και 1, ενώ παράλληλα θα είναι και κατανοητή στον άνθρωπο. Η γλώσσα αυτή ονομάστηκε συμβολική γλώσσα (assembly). Ο προγραμματισμός σε assembly γίνεται ουσιαστικά απευθείας στο σύνολο εντολών του υπολογιστή, με τη διαφορά ότι χρησιμοποιούνται συμβολικά ονόματα αντί για ακολουθίες ψηφίων. Κάθε συμβολικό όνομα αντιστοιχεί ακριβώς σε μια εντολή γλώσσας μηχανής και έτσι υπάρχει μια-προς-μια αντιστοιχία μεταξύ των εντολών ενός προγράμματος γραμμένου σε assembly και του αντίστοιχου προγράμματος σε γλώσσα μηχανής. Το παράδειγμα προγράμματος που χρησιμοποιήσαμε παραπάνω δείχνει και τη μορφή της assembly. Για παράδειγμα, ο προγραμματιστής, αντί να πρέπει να θυμάται ότι η εντολή πρόσθεσης των περιεχομένων μιας θέσης μνήμης σε αυτά του συσσωρευτή είναι (δες τον Πίνακα 9.1), χρησιμοποιεί την εντολή ADD που είναι πολύ πιο εύκολη στην απομνημόνευση και χρήση. Το έργο της μετάφρασης ενός προγράμματος από assembly σε γλώσσα μηχανής το αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler). Η χρήση του assembler έχει ένα σημαντικό πλεονέκτημα: αυξάνει τη μεταφερσιμότητα των προγραμμάτων, καθώς ο προγραμματιστής δε χρειάζεται πια να γνωρίζει τον τρόπο που κωδικοποιούνται οι εντολές γλώσσας μηχανής σε κάθε υπολογιστή. Αντίθετα, χρησιμοποιώντας απλά τον assembler κάθε υπολογιστή, η μετάφραση των συμβολικών εντολών στις σωστές εντολές μηχανής γίνεται αυτόματα. Αυτό βέβαια σημαίνει ότι πρέπει να υπάρχει διαφορετικός assembler για κάθε διαφορετικό τύπο μηχανής. Το παρακάτω σχήμα δείχνει αυτή τη διαδικασία. Όπως φαίνεται από το σχήμα, η χρήση των συμβολικών γλωσσών προγραμματισμού έχει δυο μεγάλα πλεονεκτήματα για τον προγραμματιστή: όχι μόνο δε χρειάζεται αυτός να θυμάται τον τρόπο κωδικοποίησης κάθε εντολής σε γλώσσα μηχανής, αλλά δε χρειάζεται και να ασχολείται με τις διαφορές μεταξύ των μηχανών. Αντίθετα, γράφει μόνο ένα πρόγραμμα το οποίο θα εκτελείται σωστά σε κάθε υπολογιστή, αφού μεταφραστεί στο σωστό σετ εντολών γλώσσας μηχανής από τον κατάλληλο μεταφραστή. LOAD X ADD Y STORE Z STOP Πρόγραμμα (assembly) Ένα κοινό πρόγραμμα σε assembly Διαφορετικοί assembler για κάθε υπολογιστή Assembler 1 Assembler 2 Assembler 3 Υπολογιστής Υπολογιστής Υπολογιστής Σχήμα 6.1: Μετάφραση προγραμμάτων σε γλώσσα μηχανής Διαφορετικά παραγόμενα προγράμματα σε γλώσσα μηχανής Στην περίπτωση του assembler, το πλεονέκτημα αυτό είναι δυστυχώς κυρίως θεωρητικό αφού διαφορετικές αρχιτεκτονικές υπολογιστών υποστηρίζουν διαφορετικά σύνολα εντολών γλώσσας μηχανής. Όμως, αποτελεί το κύριο πλεονέκτημα των γλωσσών προγραμματισμού υψηλού επιπέδου που θα δούμε αμέσως παρακάτω

4 Κεφάλαιο 6: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Γλώσσες υψηλού επιπέδου (3 η γενιά) Η συμβολική γλώσσα βελτίωσε σημαντικά το έργο του προγραμματισμού, όμως συνέχιζε να έχει ένα πολύ σημαντικό μειονέκτημα. Επειδή ο προγραμματισμός γίνονταν ακόμα σε επίπεδο εντολών της γλώσσας μηχανής, έστω κι αν αυτές γράφονταν συμβολικά, τα προγράμματα ήταν μεγάλα σε μέγεθος και δυσνόητα καθώς έπρεπε να γραφτούν πολλές εντολές ακόμα και για απλές διαδικασίες. Για παράδειγμα, η απλή πρόσθεση δυο αριθμών απαιτούσε τρεις εντολές (LOAD X ADD Y STORE Z), ενώ θα μπορούσε να γραφτεί πολύ πιο απλά, για παράδειγμα ως Z = X + Y (δηλαδή, θέσε στη θέση μνήμης Ζ το άθροισμα των περιεχομένων των θέσεων X και Y). Έτσι, άρχισαν προσπάθειες δημιουργίας αφαιρετικών γλωσσών προγραμματισμού, δηλαδή γλωσσών που θα έκαναν το έργο συγγραφής προγραμμάτων ακόμα πιο εύκολο για τον προγραμματιστή, παρέχοντας εντολές που θα αντιστοιχούσαν σε ολόκληρες ομάδες εντολών της γλώσσας μηχανής (αντί της μια-προς-μια αντιστοίχισης που υποστηρίζει η assembly). Επειδή οι γλώσσες αυτές είναι πιο φιλικές στον προγραμματιστή, ονομάζονται γλώσσες υψηλού επιπέδου, σε αντίθεση με τη γλώσσα μηχανής και την assembly, που είναι πιο φιλικές στη μηχανή και ονομάζονται γλώσσες χαμηλού επιπέδου. Στα πλεονεκτήματα των γλωσσών προγραμματισμού υψηλού επιπέδου σε σχέση με τις συμβολικές γλώσσες μπορούν να αναφερθούν: Ο φυσικότερος τρόπος προγραμματισμού με χρήση ευκολομνημόνευτων εντολών. Η ευκολία εκμάθησης. Η ευκολία διόρθωσης λαθών (debugging) και συντήρησης των προγραμμάτων. Η ανεξαρτησία από τον τύπο του υπολογιστή (μεταφερσιμότητα των προγραμμάτων). Συνολικά οι γλώσσες υψηλού επιπέδου ελάττωσσαν σημαντικά το χρόνο και το κόστος παραγωγής νέων προγραμμάτων, αφού λιγότεροι προγραμματιστές μπορούν σε μικρότερο χρόνο να αναπτύξουν προγράμματα που χρησιμοποιούνται σε περισσότερους υπολογιστές. Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου, η οποία ονομάστηκε FORTRAN (από τις λέξεις formula translation). Η FORTRAN δημιουργήθηκε για την επίλυση μαθηματικών και επιστημονικών προβλημάτων και παρέχει ιδιαίτερα ισχυρές δομές αριθμητικής υψηλής ακρίβειας και χειρισμού πολύπλοκων μαθηματικών συναρτήσεων. Νεότερες εκδόσεις της χρησιμοποιούνται ακόμα και σήμερα σε επιστημονικές εφαρμογές. Το 1960 παρουσιάστηκε η γλώσσα COBOL (common business oriented language), η οποία, όπως υπονοεί και το όνομα της, δημιουργήθηκε για ανάπτυξη εμπορικών εφαρμογών. Οι εφαρμογές αυτές έχουν τελείως διαφορετικές απαιτήσεις από τις επιστημονικές, όπως χειρισμό αρχείων και βάσεων δεδομένων, παραγωγή αναφορών (reports) και άλλα. Η γλώσσα παρείχε σημαντικές διευκολύνσεις για το χειρισμό τέτοιων δεδομένων και για το λόγο αυτό έγινε πολύ δημοφιλής τις δεκαετίες του 1970 και Σήμερα δε χρησιμοποιείται πια. Μια από τις σημαντικότερες γλώσσες προγραμματισμού, η οποία δε γνώρισε ποτέ εμπορική επιτυχία, αλλά ο σχεδιασμός της επηρέασε ιδιαίτερα την ανάπτυξη μελλοντικών γλωσσών προγραμματισμού, είναι η ALGOL (algorithmic language) που πρωτοπαρουσιάστηκε το 1962 και σήμερα δε χρησιμοποιείται πια. Μια από τις πιο χαρακτηριστικές γλώσσες προγραμματισμού, που χρησιμοποιείται ακόμα και σήμερα, είναι η BASIC (beginner s all-purpose symbolic instruction code), η οποία παρουσιάστηκε το 1964 με σκοπό να αποτελέσει εργαλείο εκπαίδευσης προγραμματιστών. Η γλώσσα Pascal παρουσιάστηκε το 1971 και ο σχεδιασμός της στηρίχθηκε στην ALGOL. Η γλώσσα είναι κατάλληλη τόσο για εκπαίδευση όσο και για τη δημιουργία ισχυρών προγραμμάτων με κύριο χαρακτηριστικό της τη δυνατότητα δημιουργίας ιδιαίτερα δομημένων τμημάτων κώδικα. Χρησιμοποιήθηκε ευρέως ως πρώτη γλώσσα εκμάθησης προγραμματισμού για πολλά χρόνια, μέχρι που ξεπεράστηκε από γλώσσες όπως η C και η Java για το σκοπό αυτό. Μία ακόμη γλώσσα με μεγάλη διάδοση ακόμα και σήμερα, παρόλο που παρουσιάστηκε για πρώτη φορά το 1978, είναι η γλώσσα C. Η C σχεδιάστηκε αρχικά για τον προγραμματισμό λογισμικού συστήματος και χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix. Είναι γλώσσα με ιδιαίτερα ισχυρά χαρακτηριστικά, παρέχοντας ταυτόχρονα τα πλεονεκτήματα του δομημένου προγραμματισμού που είχε και η Pascal, αλλά και πολλές δυνατότητες εντολών χαμηλού επιπέδου, οι οποίες επιτρέπουν άμεση πρόσβαση στο υλικό του υπολογιστή. Η C αργότερα εξελίχτηκε σε διάφορες παραλλαγές, όπως η C++ και η C#, που είναι αντικειμενοστραφείς (objectoriented) γλώσσες (θα εξηγήσουμε τι σημαίνει αυτό στη συνέχεια του κεφαλαίου). Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα η Java. Η Java είναι και αυτή μια αντικειμενοστραφής γλώσσα που αρχικά αναπτύχθηκε από την εταιρία Sun Microsystems με σκοπό την ανάπτυξη εφαρμογών που θα εκτελούνται σε κατανεμημένα περιβάλλοντα, για παράδειγμα σε υπολογιστές που είναι συνδεδεμένοι με το Διαδίκτυο. Έχει δανειστεί πολλά χαρακτηριστικά της C και της C++ και ένα από τα βασικά της χαρακτηριστικά είναι ότι επιτρέπει, εκτός από τη συγγραφή ανεξάρτητων εφαρμογών (applications), και τη συγγραφή μικροεφαρμογών (applets) που είναι ενσωματωμένες σε κώδικα HTML και εκτελούνται μέσα από οποιοδήποτε web browser έχει δυνατότητες Java. Τέλος, η Visual Basic είναι άλλη μια αντικειμενοστραφής (object-oriented) γλώσσα που επιτρέπει τη γρήγορη ανάπτυξη εφαρμογών με γραφικό περιβάλλον διεπαφής με το χρήστη. Οι χρήστες μπορούν να δημιουργήσουν απλά -145-

5 ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ προγράμματα διαμορφώνοντας τμήματα (components) σε προσχεδιασμένες φόρμες, απλά ορίζοντας τη λειτουργικότητα των τμημάτων αυτών. Με άλλα λόγια, ένας προγραμματιστής μπορεί να δημιουργήσει ένα πρόγραμμα χωρίς να χρειαστεί να γράψει καθόλου κώδικα (αν και έχει φυσικά αυτή τη δυνατότητα εφόσον επιθυμεί) Γλώσσες πολύ υψηλού επιπέδου (4 η γενιά) Η προσπάθεια να αναπτυχθούν γλώσσες προγραμματισμού ολοένα και φιλικότερες προς τον προγραμματιστή έχει οδηγήσει τα τελευταία χρόνια στην ανάπτυξη γλωσσών στις οποίες ο προγραμματιστής δε χρειάζεται σε πολλές περιπτώσεις να καθορίσει πως θα εκτελεστεί μια δραστηριότητα, αλλά πρέπει απλώς να ορίσει τι θέλει να γίνει. Για παράδειγμα, δε χρειάζεται να γραφτεί ένα πρόγραμμα που να δίνει στον υπολογιστή εντολές για το πως θα ταξινομηθούν τα περιεχόμενα ενός πίνακα, καθώς αρκεί να δοθεί μια εντολή να γίνει η ταξινόμηση και ο υπολογιστής αναλαμβάνει να την εκτελέσει. Για το λόγο αυτό, οι γλώσσες αυτές ονομάζονται γλώσσες πολύ υψηλού επιπέδου ή γλώσσες τέταρτης γενιάς, καθώς είναι ακόμα φιλικότερες προς τον προγραμματιστή. Μάλιστα, είναι τόσο φιλικές που μπορούν να χρησιμοποιηθούν όχι μόνο από προγραμματιστές αλλά και από απλούς χρήστες. Παράδειγμα τέτοιας γλώσσας αποτελεί η SQL. Η SQL (structured query language) είναι μια γλώσσα υποβολής ερωτημάτων σε βάσεις δεδομένων. Η γλώσσα έχει σχεδιαστεί για να υποστηρίζει τη δημιουργία και διαχείριση σχεσιακών βάσεων δεδομένων (relational databases) και παρέχει εργαλεία για την ανάκτηση και παρουσίαση υποσυνόλων από τα δεδομένα που περιέχονται σε τέτοιες βάσεις. Υποστηρίζεται από όλα σχεδόν τα συστήματα διαχείρισης βάσεων δεδομένων. 6.2 Ταξινόμηση γλωσσών προγραμματισμού Στην προηγούμενη ενότητα είδαμε μια χρονολογική ταξινόμηση των γλωσσών προγραμματισμού σε γλώσσες πρώτης, δεύτερης, τρίτης και τέταρτης γενιάς. Όμως οι γλώσσες προγραμματισμού μπορούν να ταξινομηθούν και με πολλά άλλα κριτήρια. Στην ενότητα αυτή θα δούμε συνοπτικά κάποιες τέτοιες ταξινομήσεις. Η βασικότερη κατηγοριοποίηση των γλωσσών προγραμματισμού μπορεί να γίνει με βάση τη φιλοσοφία προγραμματισμού που πρεσβεύουν. Έχουν αναπτυχθεί διάφορες τέτοιες φιλοσοφίες, κάθε μια εκ των οποίων μπορεί να ταιριάζει καλύτερα σε διαφορετικά είδη προβλημάτων ή/και στον τρόπο που βολεύει την προσέγγιση σε ότι αφορά τη λύση προβλημάτων διαφορετικών προγραμματιστών. Ας δούμε τις κατηγορίες των γλωσσών προγραμματισμού ανάλογα με αυτό το κριτήριο. Η πρώτη κατηγορία είναι οι διαδικασιακές (procedural) γλώσσες. Οι γλώσσες αυτές εκτελούν ακολουθίες βημάτων για την επίλυση κάποιου προβλήματος. Είναι γνωστές και ως προστακτικές γλώσσες γιατί κάθε εντολή τους αποτελεί και μια προσταγή προς τον υπολογιστή να εκτελέσει κάποια συγκεκριμένη ενέργεια. Ένα πρόγραμμα γραμμένο σε μια διαδικασιακή γλώσσα αποτελείται από διαδικασίες, οι οποίες επικοινωνούν μεταξύ τους και κάθε μια εκτελεί μια συγκεκριμένη δραστηριότητα. Ο διαδικασιακός τρόπος προγραμματισμού αποτελεί τον παραδοσιακό τρόπο με τον οποίο γράφονταν προγράμματα στις πρώτες δημοφιλής γλώσσες προγραμματισμού και χρησιμοποιείται κυρίως ακόμα και σήμερα. Χαρακτηριστικά παραδείγματα διαδικασιακών γλωσσών προγραμματισμού είναι οι Fortran, Cobol, Algol, Pascal και C. Τα τελευταία χρόνια έχει αρχίσει να γίνεται ιδιαίτερα δημοφιλής μια ακόμα κατηγορία γλωσσών προγραμματισμού, οι οποίες ονομάζονται αντικειμενοστραφείς γλώσσες (object-oriented languages). Ο αντικειμενοστραφής προγραμματισμός αποτελεί μια φιλοσοφία διαφορετική από αυτή του διαδικασιακού, καθώς στηρίζεται στα δεδομένα και όχι στις διαδικασίες. Στις αντικειμενοστραφείς γλώσσες τα δεδομένα ονομάζονται αντικείμενα (objects) και περιέχουν ενσωματωμένες στον ορισμό τους τις διαδικασίες που μπορούν να εφαρμοστούν σε κάθε αντικείμενο. Τα αντικείμενα επικοινωνούν μεταξύ τους και μπορούν να κληροδοτήσουν τις ιδιότητές τους σε άλλα αντικείμενα. Χαρακτηριστικά παραδείγματα αντικειμενοστραφών γλωσσών είναι η C++, η Visual Basic και η Java. Μια άλλη ακόμα κατηγορία γλωσσών που έχουν γίνει πολύ δημοφιλείς τα τελευταία χρόνια με την ανάπτυξη του Internet είναι οι γλώσσες σήμανσης ή παρουσίασης. Οι γλώσσες αυτές δεν είναι ακριβώς γλώσσες προγραμματισμού, με την έννοια ότι αποσκοπούν στον καθορισμό του τρόπου δόμησης ή εμφάνισης δεδομένων, παρά στην εκτέλεσή μιας διαδικασίας. Ενδεικτικά παραδείγματα γλωσσών σήμανσης αποτελούν οι γλώσσες XML (γλώσσα σήμανσης δεδομένων) και HTML (γλώσσα μορφοποίησης ιστοσελίδων, την οποία θα αναλύσουμε σε βάθος στο Κεφάλαιο 11). Τα υπόλοιπα είδη γλωσσών προγραμματισμού έχουν πιο συγκεκριμένες χρήσεις και για το λόγο αυτό είναι λιγότερο δημοφιλή. Σε αυτά ανήκουν: Οι συναρτησιακές γλώσσες (functional languages), όπου ένα πρόγραμμα έχει ουσιαστικά τη μορφή μιας μαθηματικής συνάρτησης. Χρησιμοποιούνται σε μαθηματικές εφαρμογές και χαρακτηριστικότερο παράδειγμα τους είναι η γλώσσα LISP

6 Κεφάλαιο 6: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Οι λογικές γλώσσες (logic languages), που είναι γνωστές και ως δηλωτικές (declarative), χρησιμοποιούν λογικούς συλλογισμούς για τη δημιουργία προγραμμάτων. Χρησιμοποιούνται σε εφαρμογές τεχνητής νοημοσύνης και έχουν ως χαρακτηριστικό εκπρόσωπο τους τη γλώσσα PROLOG. Γλώσσες ερωταποκρίσεων (query languages), οι οποίες αποτελούνται από ερωτήματα προς τον υπολογιστή που καθορίζουν το επιθυμητό αποτέλεσμα αλλά όχι και το πως αυτό θα παραχθεί (το τελευταίο αποτελεί απόφαση του υπολογιστή). Χαρακτηριστικό παράδειγμα αποτελεί η γλώσσα SQL. Μια άλλη ταξινόμηση των γλωσσών προγραμματισμού μπορεί να γίνει με βάση το είδος των προβλημάτων τα οποία έχει σχεδιαστεί να λύνει κάθε γλώσσα. Με αυτό το κριτήριο διακρίνουμε τις γλώσσες σε γλώσσες γενικής χρήσης, οι οποίες θεωρητικά μπορούν να χρησιμοποιηθούν για την επίλυση οποιουδήποτε προβλήματος και περιλαμβάνουν γλώσσες όπως η Basic, η Pascal, η C και η Java. Από την άλλη μεριά, υπάρχουν οι γλώσσες ειδικής χρήσης που έχουν σχεδιαστεί ειδικά για συγκεκριμένα είδη προβλημάτων. Τέτοιες γλώσσες είναι η FORTRAN (για μαθηματικές εφαρμογές), η COBOL (για εμπορικές εφαρμογές), η HTML (για μορφοποίηση ιστοσελίδων), η SQL (για ερωτήματα σε βάσεις δεδομένων), η MODSIM (γλώσσα προσομοίωσης) και άλλες. 6.3 Μεταφραστές γλωσσών προγραμματισμού Οι μεταφραστές (translators) είναι ειδικά προγράμματα που αναλαμβάνουν τη μετάφραση προγραμμάτων που έχουν γραφτεί σε κάποια γλώσσα προγραμματισμού σε αντίστοιχα προγράμματα σε γλώσσα μηχανής ώστε να μπορέσουν τα τελευταία να εκτελεστούν από τον υπολογιστή. Έχουμε ήδη δει ένα παράδειγμα τέτοιου μεταφραστή και συγκεκριμένα το συμβολομεταφραστή (assembler), ο οποίος παίρνει σαν είσοδο ένα πρόγραμμα γραμμένο σε συμβολική γλώσσα και παράγει ένα εκτελέσιμο πρόγραμμα σε γλώσσα μηχανής. Αντίστοιχοι μεταφραστές πρέπει να υπάρχουν για κάθε γλώσσα προγραμματισμού υψηλού και πολύ υψηλού επιπέδου καθώς, όπως είπαμε, η ΚΜΕ κάθε υπολογιστή μπορεί να δεχτεί στην είσοδο της και να εκτελέσει μόνο προγράμματα σε γλώσσα μηχανής. Έτσι, για κάθε γλώσσα προγραμματισμού υπάρχουν μεταφραστές που μεταφράζουν προγράμματα από τη γλώσσα αυτή σε γλώσσα μηχανής (για παράδειγμα, έχουμε μεταφραστές Pascal, μεταφραστές C, κτλ). Οι μεταφραστές παρέχουν το πολύ σημαντικό, όπως έχουμε δει, πλεονέκτημα της μεταφερσιμότητας των προγραμμάτων, καθώς οι προγραμματιστές δε χρειάζεται να ασχοληθούν με τη μετατροπή των προγραμμάτων τους ώστε αυτά να αναγνωρίζουν το ρεπερτόριο εντολών κάθε διαφορετικού υπολογιστή. Οι μεταφραστές χωρίζονται σε δυο βασικές κατηγορίες. Από τη μια μεριά υπάρχουν οι μεταγλωττιστές (compilers). Αυτοί παίρνουν σαν είσοδο ένα πρόγραμμα σε κάποια γλώσσα υψηλού επιπέδου και παράγουν ένα αντίστοιχο πρόγραμμα σε γλώσσα μηχανής. Το πρόγραμμα εισόδου ονομάζεται πηγαίο πρόγραμμα (source program) και το πρόγραμμα εξόδου ονομάζεται εκτελέσιμο πρόγραμμα (executable program). Το τελευταίο εκτελείται από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πηγαίο πρόγραμμα. Η συντριπτική πλειοψηφία των γλωσσών προγραμματισμού χρησιμοποιεί μεταγλωττιστές. Από την άλλη όμως μεριά, υπάρχουν και οι διερμηνευτές (interpreters). Αυτοί, αντί να μεταφράζουν ολόκληρο το πηγαίο πρόγραμμα και να παράγουν ένα αντίστοιχο εκτελέσιμο, μεταφράζουν και αμέσως εκτελούν κάθε μια εντολή του πηγαίου προγράμματος ξεχωριστά και έπειτα προχωρούν στην επόμενη εντολή επαναλαμβάνοντας την ίδια διαδικασία. Έτσι, οι διερμηνευτές δεν παράγουν κάποιο εκτελέσιμο πρόγραμμα σε γλώσσα μηχανής, όπως οι μεταγλωττιστές. Χαρακτηριστικό παράδειγμα γλώσσας προγραμματισμού που διαθέτει διερμηνευτή αντί για μεταγλωττιστή είναι η BASIC. Τα περισσότερα περιβάλλοντα μεταγλωτιστών και διερμηνευτών που υπάρχουν για όλες τις γλώσσες προγραμματισμού διαθέτουν ενσωματωμένο και ένα πρόγραμμα που ονομάζεται συντάκτης (editor) και επτρέπει τη συγγραφή του πηγαίου κώδικα (source code) ενός προγράμματος πριν αυτό στη συνέχεια μεταφραστεί και εκτελεστεί. Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου με δυνατότητες που διευκολύνουν τη συγγραφή και τον έλεγχο των εντολών των προγραμμάτων. 6.4 Αλγόριθμοι Στη συνέχεια αυτού του κεφαλαίου θα εισάγουμε μερικές βασικές και σημαντικές έννοιες που αφορούν τη συγγραφή προγραμμάτων, ανεξάρτητα από τη γλώσσα προγραμματισμού που χρησιμοποιείται. Καθώς ο προγραμματισμός μπορεί να ακολουθεί διαφορετικές φιλοσοφίες όπως είδαμε νωρίτερα, εμείς θα επικεντρωθούμε μόνο σε ένα είδος προγραμματισμού, το οποίο είναι ιδιαίτερα δημοφιλές και το πλέον κατάλληλο για την εισαγωγή στον προγραμματισμό. Έτσι θα δούμε τις αρχές του διαδικασιακού προγραμματισμού, συζητώντας αρχές που μπορούν να εφαρμοστούν σε κάθε διαδικασιακή γλώσσα. Στο επόμενο κεφάλαιο, θα συγκεκριμενοποιήσουμε τις αρχές αυτές, δείχνοντας πως υλοποιούνται σε μια συγκεκριμένη και πολύ δημοφιλή γλώσσα προγραμματισμού, συγκεκριμένα τη C

7 ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Η έννοια του αλγόριθμου Κάθε γλώσσα προγραμματισμού χρησιμοποιείται για τη συγγραφή προγραμμάτων τα οποία (υποτίθεται ότι πρέπει να) λύνουν ανθρώπινα προβλήματα. Όμως για να μετασχηματιστεί η λύση ενός προβλήματος που έχει σκεφτεί ένας άνθρωπος σε πρόγραμμα που μπορεί να εκτελέσει ένας υπολογιστής πρέπει αυτή η λύση να περιγραφεί με κάποιο τρόπο. Στο σημείο αυτό δεν εννοούμε ότι πρέπει να γραφτεί ένα πρόγραμμα σε κάποια συγκεκριμένη γλώσσα προγραμματισμού: και αυτό θα πρέπει να γίνει, αλλά αργότερα. Σε πρώτη φάση πρέπει, ανεξάρτητα από τη γλώσσα που τελικά θα χρησιμοποιηθεί, ο προγραμματιστής να μεταφράσει τη λύση που έχει στο μυαλό του σε μια σειρά βημάτων που πρέπει να ακολουθηθούν για την επίλυση του προβλήματος. Αυτή ακριβώς είναι και η έννοια του αλγόριθμου: ένας αλγόριθμος (algorithm) είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν ένα τρόπο επίλυσης ενός προβλήματος. Το παρακάτω σχήμα δείχνει τη σχέση μεταξύ προβλημάτων, λύσεων, αλγόριθμων και προγραμμάτων. Πρόγραμμα 1.1 Λύση 1 Αλγόριθμος 1 Πρόγραμμα 1.2 Πρόγραμμα 1 Λύση 2 Αλγόριθμος 2 Πρόγραμμα 2.1 Πρόγραμμα 2.2 Πρόβλημα Πρόγραμμα v.1 Λύση ν Αλγόριθμος ν Πρόγραμμα v.2 Σχήμα 6.2: Προβλήματα, Λύσεις, Αλγόριθμοι και Προγράμματα Όπως δείχνει το σχήμα, κάθε δεδομένο πρόβλημα σχεδόν πάντα έχει περισσότερες της μιας λύσης. Κάθε μια λύση όμως αντιστοιχίζεται με ένα μόνο αλγόριθμο, δηλαδή με μια περιγραφή των βημάτων που πρέπει να ακολουθήσουμε για να επιτύχουμε τη λύση αυτή. Τέλος, κάθε αλγόριθμος μπορεί να γραφτεί με τη μορφή πολλών διαφορετικών προγραμμάτων, για παράδειγμα σε διαφορετικές γλώσσες προγραμματισμού. Ας το δούμε αυτό με ένα (πολύ απλό) παράδειγμα. Έστω ότι το πρόβλημα μας είναι να ταξινομήσουμε μια ομάδα τριών αριθμών σε αύξουσα σειρά, δηλαδή να τους αναδιατάξουμε (αν χρειάζεται) έτσι ώστε να είναι πρώτα ο μικρότερος, μετά ο μεσαίος και τελευταίος ο μεγαλύτερος. Κάποιος θα μπορούσε να σκεφτεί τουλάχιστον δυο τρόπους για να γίνει αυτό. Η πρώτη λύση θα ήταν να συγκρίνουμε συνεχώς τους αριθμούς ανά δυο και να τους αντιμεταθέτουμε αν δεν είναι σε αύξουσα σειρά μέχρι να τελειώσουμε. Μια άλλη λύση θα ήταν να βρίσκουμε κάθε φορά το μικρότερο αριθμό και να τον βάζουμε πρώτο στη σειρά των αριθμών που δεν έχουμε ακόμα δει μέχρι να τελειώσουμε. Δυστυχώς και οι δυο περιγραφές των λύσεων, ενώ είναι πιθανά κατανοητές από ένα άνθρωπο (αν και σε συνθετότερα προβλήματα μπορεί να μην είναι το ίδιο κατανοητές από όλους), είναι πολύ αφηρημένες για τον υπολογιστή. Ας τις μετατρέψουμε λοιπόν σε αλγόριθμους, σειρές από πεπερασμένα βήματα δηλαδή για την υλοποίηση της κάθε λύσης. Ας ονομάσουμε τους τρεις αριθμούς μας αρ1, αρ2, και αρ3 για να αναφερόμαστε σε αυτούς ευκολότερα: Αλγόριθμος για τη Λύση 1. Σύγκρινε τον αρ1 με τον αρ2 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Έπειτα, σύγκρινε τον αρ2 με τον αρ3 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Τέλος, σύγκρινε τον αρ1 με τον αρ2 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Αλγόριθμος για τη Λύση 2. Βρες το μικρότερο από τους {αρ1, αρ2, αρ3} και βάλε τον στη θέση του αρ1, αλλάζοντας του θέση με αυτόν. Έπειτα, βρες το μικρότερο από τους {αρ2, αρ3} και βάλε τον στη θέση του αρ2, αλλάζοντας του θέση με αυτόν Πρόγραμμα ν

8 Κεφάλαιο 6: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΛΓΟΡΙΘΜΟΣ Athroisma_Zygwn3; ΔΕΔΟΜΕΝΑ athroisma,orisma:integer; ΑΡΧΗ athroisma:=0; ΓΙΑ orisma:=1 ΕΩΣ ΕΠΑΝΕΛΑΒΕ ΕΑΝ orisma mod 2 = 0 athroisma:=athroisma+orisma; ΤΕΛΟΣ-ΕΑΝ; ΓΙΑ-ΤΕΛΟΣ; ΤΥΠΩΣΕ( Το άθροισμα είναι:, athroisma); ΤΕΛΟΣ Παρατηρήστε ότι με τη χρήση του ΓΙΑ δε χρειαζόμαστε ούτε εντολή εκχώρησης αρχικής τιμής στο όρισμα (αυτή γίνεται αυτόματα όταν εκτελείται για πρώτη φορά το ΓΙΑ) ούτε εντολή αύξησης της τιμής του μέσα στο σώμα της επανάληψης (αυτή γίνεται αυτόματα στο τέλος κάθε επανάληψης και πριν τον έλεγχο της συνθήκης τερματισμού). Τέλος, ο δεύτερος αλγόριθμος με χρήση της ΓΙΑ θα ήταν ως εξής: ΑΛΓΟΡΙΘΜΟΣ Athroisma_Zygwn4; ΔΕΔΟΜΕΝΑ athroisma,orisma:integer; ΑΡΧΗ athroisma:=0; ΓΙΑ orisma:=2 ΕΩΣ ΜΕ ΒΗΜΑ 2 ΕΠΑΝΕΛΑΒΕ athroisma:=athroisma+orisma; ΓΙΑ-ΤΕΛΟΣ; ΤΥΠΩΣΕ( Το άθροισμα είναι:, athroisma); ΤΕΛΟΣ Παρατηρήστε ότι επειδή θέλουμε σε αυτή την έκδοση του αλγόριθμου να αυξάνουμε την τιμή του μετρητή κατά 2 μετά από κάθε επανάληψη, χρησιμοποιήσαμε μια διαφορετική έκδοση σύνταξης της ΓΙΑ με τον τελεστή ΜΕ ΒΗΜΑ. Αν παραληφθεί ο τελεστής αυτός, η τιμή του μετρητή αυξάνεται αυτόματα κατά 1 σε κάθε επανάληψη. Αντίθετα, με τη χρήση του τελεστή αυτού, μπορούμε να αυξάνουμε την τιμή του μετρητή όσο θέλουμε ή ακόμα και να τη μειώνουμε σε κάθε επανάληψη (για παράδειγμα, ΜΕ ΒΗΜΑ -1). 6.8 Περίληψη Η μόνη γλώσσα προγραμματισμού που είναι άμεσα εκτελέσιμη από ένα υπολογιστή είναι η γλώσσα μηχανής του. Όμως, η γλώσσα μηχανής είναι πολύ χαμηλού επιπέδου και επομένως πολύ δύσκολη στη χρήση. Ακόμα, είναι διαφορετική για κάθε τύπο υπολογιστή, επομένως τα προγράμματα σε γλώσσα μηχανής δεν είναι μεταφέρσιμα. Η συμβολική γλώσσα (assembly) είναι επίσης γλώσσα χαμηλού επιπέδου, αλλά λίγο πιο εύκολη στη χρήση, καθώς αποτελείται από συμβολικά ονόματα εντολών αντί για ακολουθίες δυαδικών ψηφίων. Για την εκτέλεση ενός προγράμματος σε συμβολική γλώσσα απαιτείται πρώτα μετάφραση του σε γλώσσα μηχανής. Η μετάφραση γίνεται από ειδικό πρόγραμμα που ονομάζεται συμβολομεταφραστής (assembler). Οι γλώσσες υψηλού επιπέδου είναι πολύ πιο φιλικές στον προγραμματιστή και επιτρέπουν τη μεταφερσιμότητα των προγραμμάτων. Χαρακτηριστικά παραδείγματα τέτοιων γλωσσών είναι οι Fortran, Cobol, Algol, Basic και Pascal (παλιότερα), καθώς και οι C, Java και Visual Basic (σήμερα). Οι γλώσσες πολύ υψηλού επιπέδου είναι ακόμα πιο φιλικές και απευθύνονται όχι μόνο σε προγραμματιστές αλλά και σε απλούς χρήστες, καθώς επιτρέπουν την ανάπτυξη κάποιων προγραμμάτων ακόμα και χωρίς τη συγγραφή κώδικα. Παράδειγμα αποτελεί η γλώσσα SQL. Ανάλογα με τη φιλοσοφία προγραμματισμού που υποστηρίζουν, οι γλώσσες προγραμματισμού διακρίνονται σε διαδικασιακές, αντικειμενοστραφείς, σήμανσης, συναρτησιακές, λογικές και ερωταποκρίσεων. Ανάλογα με τη χρήση, οι γλώσσες προγραμματισμού ταξινομούνται σε γλώσσες γενικής χρήσης και γλώσσες ειδικής χρήσης. Κάθε πρόγραμμα γραμμένο σε οποιαδήποτε γλώσσα προγραμματισμού υψηλού ή πολύ υψηλού επιπέδου πρέπει να μεταφραστεί σε εντολές γλώσσας μηχανής προτού εκτελεστεί. Η μετάφραση αυτή -159-

9 ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ πραγματοποιείται από τους μεταγλωττιστές ή τους διερμηνευτές. Οι μεταγλωττιστές μετατρέπουν ένα πηγαίο πρόγραμμα σε εκτελέσιμο, ενώ οι διερμηνευτές μεταφράζουν και εκτελούν τις εντολές του πηγαίου προγράμματος μια προς μια. Ένας αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν ένα τρόπο επίλυσης ενός προβλήματος. Οι αλγόριθμοι χαρακτηρίζονται από την ορθότητα και την πολυπλοκότητά τους. Ο ψευδοκώδικας επιτρέπει την περιγραφή των αλγόριθμων σε φυσική γλώσσα χωρίς τη χρήση του συντακτικού κάποιας συγκεκριμένης γλώσσας προγραμματισμού. Ο ψευδοκώδικας καθορίζει συγκεκριμένες συμβάσεις και κανόνες σύνταξης για την παράσταση των αλγόριθμων. Το διάγραμμα ροής επιτρέπει την περιγραφή των αλγόριθμων σχηματικά. Χρησιμοποιεί μια σειρά από σύμβολα και κανόνες σύνταξης που έχουν συγκεκριμένη σημασία για την παράσταση των αλγόριθμων. Οποιοδήποτε διαδικασιακό πρόγραμμα μπορεί να γραφτεί με συνδυασμό τριών βασικών δομών: ακολουθία, επιλογή και επανάληψη. Οι δομές επιλογής και επανάληψης μπορεί να είναι φωλιασμένες σε πολλαπλά επίπεδα και σε οποιοδήποτε συνδυασμό τους. 6.9 Ερωτήσεις Ασκήσεις Άσκηση 6.1 Οι δυο αλγόριθμοι που δώσαμε για την ταξινόμηση τριών ακέραιων αριθμών δουλεύουν σωστά στην περίπτωση που οι δυο αριθμοί είναι ίσοι μεταξύ τους; Στην περίπτωση που και οι τρεις είναι ίσοι μεταξύ τους; Άσκηση 6.2 Υλοποιήστε τον αλγόριθμο πρόσθεσης των ζυγών αριθμών από το 1 έως το με χρήση της επανάληψης ΕΠΑΝΕΛΑΒΕ-ΜΕΧΡΙ. Άσκηση 6.3 Σχεδιάστε τα διαγράμματα ροής που περιγράφουν τους τέσσερις αλγόριθμους πρόσθεσης των ζυγών αριθμών από το 1 έως το που υπάρχουν στο κεφάλαιο. Άσκηση 6.4 Σχεδιάστε αλγόριθμο σε ψευδοκώδικα και σε διάγραμμα ροής που να υπολογίζει το μέσο όρο τριών ακεραίων αριθμών που δίνει ο χρήστης. Άσκηση 6.5 Σχεδιάστε αλγόριθμο σε ψευδοκώδικα και σε διάγραμμα ροής που να υπολογίζει το μέσο όρο ακεραίων αριθμών που δίνει ο χρήστης. Ο χρήστης πρέπει να ερωτάται να δώσει αριθμούς και η ανάγνωση των αριθμών να τελειώσει όταν ο χρήστης δώσει τον αριθμό μηδέν (δηλαδή δεν ξέρουμε εκ των προτέρων πόσους αριθμούς θα δώσει ο χρήστης). Προσοχή στην περίπτωση που ο χρήστης δε δώσει κανένα αριθμό (πληκτρολογήσει δηλαδή από την αρχή μηδέν)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Γιώργος Γιαγλής Το σηµερινό µάθηµα Ταξινόµηση γλωσσών

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα

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

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

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

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

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

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

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος. ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΜΕ ΥΠΟΛΟΓΙΣΤΗ: Στάδιο 1: Ακριβής Προσδιορισμός του Προβλήματος Στάδιο 2: Ανάπτυξη του Αντίστοιχου Αλγόριθμου Στάδιο 3: Διατύπωση του αλγόριθμου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 7 Προγραμματισμός υπολογιστή

Κεφάλαιο 7 Προγραμματισμός υπολογιστή Κεφάλαιο 7 Προγραμματισμός υπολογιστή Έχετε χρησιμοποιήσει προγράμματα; Έχετε φτιάξει προγράμματα; Γνωρίζετε προγραμματιστές που έγιναν διάσημοι μέσω της δουλειάς τους; 1 7.1 Η προγραμματιζόμενη μηχανή

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

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

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

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

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

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol ΚΕΦΑΛΑΙΟ 6 Ο Ερωτήσεις- Απαντήσεις Η έννοια του προγράµµατος 1. Τι περιλαµβάνει η επίλυση ενός προβλήµατος µε τον υπολογιστή; Η επίλυση ενός προβλήµατος µε τη βοήθεια υπολογιστή περιλαµβάνει τρία εξίσου

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

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

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

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

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α 7. 1. Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Συνοπτική αναφορά βηµάτων επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµός προβλήµατος Ανάπτυξη αντίστοιχου αλγορίθµου

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

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

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

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός Ενότητα 13 Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Προγραµµατισµός Κεφάλαιο 13Α: ηµιουργία Προγραµµάτων Υπολογιστή Κεφάλαιο 13Β: Γλώσσες Προγραµµατισµού και η ιαδικασία Προγραµµατισµού ρ. Παναγιώτης

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

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 6 ο

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 6 ο ΚΕΦΑΛΑΙΟ 6 ο 1. Ποια είναι τα στάδια που περιλαµβάνει η υλοποίηση ενός προβλήµατος σε Η/Υ; Η επίλυση ενός προβλήµατος µε τον υπολογιστή περιλαµβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σηµαντικά στάδια.

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 6.1 Γλώσσες και εργαλεία προγραμματισμού Τι είναι οι γλώσσες προγραμματισμού; Είναι οι τεχνητές γλώσσες στις οποίες γράφονται οι εντολές των

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

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

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

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

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Μεταγλωττιστές Ενότητα 1: Εισαγωγή Μεταγλωττιστές Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

Βασικές Αρχές Προγραμματισμού

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

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός

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

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

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

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

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΙΟΙΚΗΣΗΣ Το σηµερινό µάθηµα ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ιδάσκων: Πέτρος Βασιλικός Λογισµικό Υπολογιστικών Συστηµάτων Λογισµικό & Προγράµµατα συστηµάτων

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

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

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

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

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

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

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

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

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

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Ανάπτυξη Λογισμικού ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Η διαδικασία ανάπτυξης λογισμικού μπορεί να

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I. 9 η ΔΙΑΛΕΞΗ Λογισμικό - Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ I. 9 η ΔΙΑΛΕΞΗ Λογισμικό - Προγραμματισμός ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΣΑΓΩΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗ I 9 η ΔΙΑΛΕΞΗ Λογισμικό - Προγραμματισμός ΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ

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

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

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

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

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ

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

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

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

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

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

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

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

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

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών Κεφάλαιο 1: Εισαγωγή Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών Εισαγωγή (1) Γιατί υπάρχουν τόσες πολλές Γλώσσες Προγραμματισμού (ΓΠ); o Εξέλιξη έχουμε μάθει καλύτερους τρόπους να κάνουμε πράγματα

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ Θέμα Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2016-2017 Πάτρα 3/5/2017 Ονοματεπώνυμο:.. Α1. Να γράψετε στην κόλλα σας τον αριθμό

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

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

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

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

Συμβολική Γλώσσα στον ΑΒΑΚΑ

Συμβολική Γλώσσα στον ΑΒΑΚΑ Συμβολική Γλώσσα στον ΑΒΑΚΑ Τα προγράμματα που είναι γραμμένα σε γλώσσα μηχανής (machine language) περιέχουν τόσο τις εντολές όσο και τις διευθύνσεις μνήμης γραμμένες σε αριθμητική μορφή και μάλιστα στο

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

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

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

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 Θέμα 1 (Α) Να απαντήσετε στις παρακάτω προτάσεις χαρακτηρίζοντάς τες με το γράμμα Σ αν

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1 Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1 Ενότητα 7: Προγραμματισμός Γλώσσες Προγραμματισμού Αλγόριθμοι Δρ. Φραγκούλης Γεώργιος Τμήμα Ηλεκτρολογίας Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 27 ΑΠΡΙΛΙΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1ο A) Να γράψετε στο τετράδιό σας

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

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

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

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού ΚΕΦΑΛΑΙΑ XIII, XIV Ένας προγραμματιστής ανεξάρτητα από το πόσο ικανός είναι, όταν δημιουργεί ένα πρόγραμμα, είναι φυσικό να κάνει ορισμένα λάθη. Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής

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

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

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

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