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

Μέγεθος: 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.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

Κεφάλαιο 2: Μεταφραστές

Κεφάλαιο 2: Μεταφραστές Κεφάλαιο 2: Μεταφραστές Αρχές Γλωσσών και Προγραμματισμού Λειτουργία Μετάφρασης ΑΡΧΙΚΗ ΓΛΩΣΣΑ (Source) L A ΓΛΩΣΣΑ ΥΛΟΠΟΙΗΣΗΣ ΜΕΤΑΦΡΑΣΤΗ (Implementation) L Y ΤΕΛΙΚΗ ΓΛΩΣΣΑ (Target) L T Αρχικό Πρόγραμμα

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Α ΛΥΚΕΙΟΥ Σεπτέμβριος 2007 ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ - Α ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ Το μάθημα της Πληροφορικής στην Α Λυκείου έχει ως

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

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής προγραμματισμός Παράλληλος προγραμματισμός Προγραμματιστικά περιβάλλοντα

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2013-14 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Στοιχεία από το βιβλίο των: Α.Βακαλη, Η.Γιαννόπουλος, Ν.Ιωαννίδης, Χ.Κοιλιας, Κ.Μάλαμας, Ι.Μανωλόπουλος, Π.Πολίτης Ένα βοήθημα για τον μαθητή της

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

ΘΕΜΑ 1. 1. Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής

ΘΕΜΑ 1. 1. Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής ΘΕΜΑ 1 Α1Να γράψετε στο τετράδιο σας τον αριθμό καθεμίας από τις παρακάτω προτάσεις και δίπλα τη λέξη Σώστο,αν είναι σωστή και τη λέξη Λάθος, αν είναι λανθασμένη. 1.ο αλγόριθμος του πολλαπλασιασμού αλά

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Βιβλιογραφία Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman. Compilers:

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

β. Δομημένα 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύςεων. γ. Άλυτα

β. Δομημένα 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύςεων. γ. Άλυτα ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 Α. Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα «Σ», αν είναι σωστή, ή το γράμμα «Λ», αν είναι λανθασμένη.

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 31 MAΪΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

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

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

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

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

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

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

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

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

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

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Περικλέους Σταύρου 31 34100 Χαλκίδα Τ: 2221-300524 & 6937016375 F: 2221-300524 @: chalkida@diakrotima.gr W: www.diakrotima.gr

Περικλέους Σταύρου 31 34100 Χαλκίδα Τ: 2221-300524 & 6937016375 F: 2221-300524 @: chalkida@diakrotima.gr W: www.diakrotima.gr Περικλέους Σταύρου 31 Προς: Μαθητές Α, Β & Γ Λυκείου / Κάθε ενδιαφερόμενο Αγαπητοί Φίλοι Όπως σίγουρα γνωρίζετε, από τον Ιούνιο του 2010 ένα νέο «ΔΙΑΚΡΟΤΗΜΑ» λειτουργεί και στη Χαλκίδα. Στο Φροντιστήριό

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη

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

Εισαγωγή στην επανάληψη

Εισαγωγή στην επανάληψη Εισαγωγή στην επανάληψη Στο κεφάλαιο αυτό ήρθε η ώρα να μελετήσουμε την επανάληψη στον προγραμματισμό λίγο πιο διεξοδικά! Έχετε ήδη χρησιμοποιήσει, χωρίς πολλές επεξηγήσεις, σε προηγούμενα κεφάλαια τις

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

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

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program) Μεταφραστές Εισαγωγή (source program) Τελικό πρόγραµµα (object program) Γιώργος Μανής Γλώσσες Είδη Μεταγλωττιστών Αρχική γλώσσα Γλώσσα υλοποίησης Τελική γλώσσα Απλοί µεταγλωττιστές Αντίστροφοι µεταγλωττιστές

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ Ο όρος είναι συντομογραφία του όρου «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» [1]. Αυτόματος Μετά την έναρξη της λειτουργίας του εργάζεται μόνος του εκτελώντας

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

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

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

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

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

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

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

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στόχοι Μαθήματος H ανάπτυξη ικανοτήτων και η απόκτηση

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

Ένα περιοδικό για το ΑΕΠΠ

Ένα περιοδικό για το ΑΕΠΠ Ένα περιοδικό για το ΑΕΠΠ Τεύχος «Θεωρία» Μία συνοπτική παρουσίαση περίληψη της θεωρίας του μαθήματος. Αποτελεί έναν «μπούσουλα» στον αγώνα του υποψηφίου και δεν υποκαθιστά το σχολικό βιβλίο. Κεφάλαιο

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

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

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΤΗΣ Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΤΗΣ Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΟΙ ΛΥΣΕΙΣ ΤΩΝ ΘΕΜΑΤΩΝ ΑΠΟ ΤΟΝ ΚΑΘΗΓΗΤΗ κύριο ΤΑΣΟ ΓΙΑΝΝΟΥΛΑΚΗ του ΦΡΟΝΤΙΣΤΗΡΙΟΥ ΘΕΜΑ Α Α1.

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

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10) ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08 / 02 / 2015 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ Γ.ΝΙΤΟΔΑΣ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι μαθήματος Διάκριση και κατανόηση των υφιστάμενων

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

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης 1 Ο Λύκειο Ρόδου Β ΓΕΛ ΕισΑρχΕπ Η/Υ Γεωργαλλίδης Δημήτρης Μάθημα 1 Παράγραφοι: 2.2.1 ορισμός αλγορίθμου (σελ.19) 2.2.7 Εντολές και δομές αλγορίθμου (σελ.. 31-34) 34) ΑΛΓΟΡΙΘΜΟΣ Πεπερασμένη σειρά βημάτων

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

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

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

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

Προγραμματισμός ΗΥ. 1. Γλώσσα μηχανής

Προγραμματισμός ΗΥ. 1. Γλώσσα μηχανής Προγραμματισμός ΗΥ Ήδη προαναφέρθηκε ότι ο υπολογιστής είναι μια προγραμματιζόμενη μηχανή. Δηλαδή, για να εκτελέσει ακόμη και την πιο απλή εργασία, θα πρέπει να του έχουν δοθεί λεπτομερείς οδηγίες για

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

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

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

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΤΡΙΤΗ 2 ΙΟΥΝΙΟΥ 2009 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α Α1. Να χαρακτηρίσετε καθεμιά από τις προτάσεις που ακολουθούν γράφοντας στο τετράδιό σας, δίπλα από τον αριθμό κάθε πρότασης, το γράμμα Σ, αν αυτή

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007-2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Εισαγωγή στην Επιστήμη των Υπολογιστών Διδάσκοντες: Θ.Ανδρόνικος - Μ.Στεφανιδάκης Περιεχόμενα

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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