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

Μέγεθος: 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 Σχεδιάστε αλγόριθμο σε ψευδοκώδικα και σε διάγραμμα ροής που να υπολογίζει το μέσο όρο ακεραίων αριθμών που δίνει ο χρήστης. Ο χρήστης πρέπει να ερωτάται να δώσει αριθμούς και η ανάγνωση των αριθμών να τελειώσει όταν ο χρήστης δώσει τον αριθμό μηδέν (δηλαδή δεν ξέρουμε εκ των προτέρων πόσους αριθμούς θα δώσει ο χρήστης). Προσοχή στην περίπτωση που ο χρήστης δε δώσει κανένα αριθμό (πληκτρολογήσει δηλαδή από την αρχή μηδέν)

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

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

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

Κεφάλαιο 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 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράµµατος Γλώσσες προγραµµατισµού Κατηγορίες προγραµµατισµού Προγραµµατιστικά περιβάλλοντα 30 AΕσΠΠ Η έννοια του προγράµµατος Η επίλυση

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

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

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

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

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

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

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

.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. Τι περιλαµβάνει η επίλυση ενός προβλήµατος µε τον υπολογιστή; Η επίλυση ενός προβλήµατος µε τη βοήθεια υπολογιστή περιλαµβάνει τρία εξίσου

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

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

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

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

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

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

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

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

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

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

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

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

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

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

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

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

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

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 1 η : Εισαγωγή Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ορισμός Κάθε ζήτημα που τίθεται προς επίλυση, κάθε δύσκολη κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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