You are on page 1of 7

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ

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

ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ


ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΘΕΩΡΙΑ 6ΟΥ ΚΕΦΑΛΑΙΟΥ

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

6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή;


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

6.2 Τι γνωρίζετε για τους πρώτους υπολογιστές;


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

6.3 Τι είναι η γλώσσα μηχανής;


Όταν εμφανιστήκαν οι υπολογιστές, οι λειτουργίες που εκτελούσαν έπρεπε να γραφούν ως ακολουθίες
από Ο και 1, μορφή κατανοητή από τον υπολογιστή, αλλά δυσνόητη από τον άνθρωπο. Ο τρόπος αυτός
απαιτούσε πλήρη γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή και καθιστούσε τη
δημιουργία ενός πρόγραμμα επίπονη.
Η γλώσσα αυτή επικοινωνίας με τον υπολογιστή, που βασιζόταν σε δυαδικούς αριθμούς, ονομάζεται
γλώσσα μηχανής. Ένα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών ψηφίων.
6.4 Τι είναι οι συμβολικές γλώσσες και τι οι συμβολομεταφραστές;
Στις συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου, οι εντολές δίνονται ως μια λέξη που
συμβολίζει την ενέργεια που πρέπει νc εκτελεστεί. Για παράδειγμα, η ADD (πρόσθεσε)
ακολουθούμενη από δύο αριθμούς, συμβόλιζε την πράξη της πρόσθεσης.
Η εντολή αυτή, είναι κατανοητή από τον άνθρωπο και απομνημονεύεται σχετικά εύκολα. Για να γίνει
όμως κατανοητή από τον υπολογιστή, πρέπει να μεταφραστεί μία ακολουθία δυαδικών ψηφίων και στη
συνέχεια να εκτελεστεί. Τη μετάφραση αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής
(assembler).
Οι συμβολικές γλώσσες:
1. Εξακολουθούν να χρησιμοποιούνται για ειδικούς σκοπούς.
2. Εξαρτώνται από την αρχιτεκτονική του υπολογιστή και δεν μπορούν να μεταφερθούν σε άλλον
διαφορετικό υπολογιστή.
3. Δεν διαθέτουν εντολές για σύνθετες λειτουργίες, συνεπώς τα προγράμματα είναι μακροσκελή
και είναι δύσκολο να συντηρηθούν.

6.5 Ποια μορφή έχουν οι εντολές των γλωσσών υψηλού επιπέδου;


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

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΒΑΣΙΚΟ ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ


FORTAN Μαθηματικές και επιστημονικές εφαρμογές.
COBOL Εμπορικές εφαρμογές.
ALGOL Ευρωπαϊκή γλώσσα για δημιουργία γενικής φύσης
προγραμμάτων.
PL/1 Προσπάθησε να καλύψει όλους τους τομείς του
προγραμματισμού.
LIPS Χειρισμός λιστών από σύμβολα και γλώσσες για
εφαρμογές τεχνικής νοημοσύνης.
PROLOG Χρησιμοποιείται σε προβλήματα τεχνικής
νοημοσύνης π.χ. έμπειρα συστήματα, παιχνίδια,
κ.τ.λ.
PASCAL Γενικής χρήσης, κατάλληλη για εκπαίδευση και για
δημιουργία ισχυρών δομημένων προγραμμάτων
κάθε τύπου.
BASIC Δημοφιλής γλώσσα για πλήθος εφαρμογών και για
εκπαίδευση αρχαρίων στον προγραμματισμό.
C Χρησιμοποιήθηκε για την ανάπτυξη του
λειτουργικού συστήματος UNIX. Είναι κατάλληλη
για ανάπτυξη εφαρμογών και έχει πολλές
δυνατότητες γλώσσας χαμηλού επιπέδου.
C++ Αντικειμενοστραφής και αποτελεί εξέλιξη της C.
JAVA Αντικειμενοστραφής γλώσσα κατάλληλη για την
ανάπτυξη εφαρμογών που θα εκτελούνται στο
Διαδίκτυο (Internet).
VISUAL BASIC Γλώσσα οπτικού προγραμματισμού και
προγραμματισμού οδηγούμενου από το γεγονός.

6.7 Τι εννοούμε με τους όρους «οπτικό προγραμματισμό» και «προγραμματισμό οδηγούμενο από το
γεγονός»;
Με τον όρο οπτικό προγραμματισμό εννοούμε τη δυνατότητα να δημιουργούμε γραφικά μια
εφαρμογή, με τη χρήση έτοιμων τμημάτων κώδικα που συνδέονται με κάποιο κουμπί ή μενού.
Ο προγραμματισμός ο οδηγούμενος από το γεγονός είναι η δυνατότητα να ενεργοποιούνται
λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος, για παράδειγμα το κλικ του ποντικιού.
Οι πιο διαδεδομένες γλώσσες προγραμματισμού, που υποστηρίζουν αυτά τα είδη προγραμματισμού,
είναι η VISUAL BASIC, η VISUAL C++ και η JA V Α.

6.8 Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου;


Τα πλεονεκτήματα των γλωσσών προγραμματισμού υψηλού επιπέδου, σε σχέση με τις
συμβολικές γλώσσες (χαμηλού επιπέδου) είναι:
1. Ο φυσικότερος και πιο κατανοητός στον άνθρωπο τρόπος έκφρασης των πρoβλημάτων.
2. Η δυνατότητα της μεταφερσιμότητας των προγραμμάτων. Δηλ. τα προγράμματα σε μία
γλώσσα υψηλού επιπέδου μπορούν να εκτελεστούν σε οποιονδήποτε υπολογιστή με
ελάχιστες ή καθόλου μετατροπές.
3. Η ευκολία της εκμάθησης και εκπαίδευσης.
4. Η ευκολότερη διαδικασία διόρθωσης λαθών και συντήρησης των προγραμμάτων
5. Μικρότερος χρόνος και κόστος παραγωγής νέων προγραμμάτων.

6.9 Ποια είναι τα χαρακτηριστικά των γλωσσών 4η γενιάς ;


Οι γλώσσες 4ης γενιάς:
1. Αποκρύπτουν αρκετές λεπτομέρειες υλοποίησης και στηρίζονται στα δεδομένα.
2. Ο χρήστης μπορεί να υποβάλει ερωτήσεις ή να αναπτύσσει εφαρμογές που βρίσκουν
πληροφορίες από βάσεις δεδομένων.
3. Ο χρήστης μπορεί να καθορίσει τον τρόπο εμφάνισης των πληροφοριών που -c ενδιαφέρουν.
Παράδειγμα γλώσσας 4ης γενιάς αποτελεί η SQL.

6.10 Σε ποιες κατηγορίες διακρίνονται οι γλώσσες προγραμματισμού υψηλού επιπέδου, με βάση την
κατηγορία προγραμματισμού που αντιπροσωπεύουν ;
Ο γλώσσες προγραμματισμού υψηλού επιπέδου, με βάση την κατηγορία προγραμματισμού που
αντιπροσωπεύουν διακρίνονται σε:
1. Διαδικασιακές ή αλγοριθμικές, Π.χ. Pascal.
2. Αντικειμενοστρεφείς, Π.χ. C++.
3. Συναρτησιακές, Π.χ. LISP
4. Μη διαδικασιακές ή γλώσσες πολύ υψηλού επιπέδου, Π.χ. PROLOG.
5. Ερωταπαντήσεων, Π.χ. SQL.

6.11 Σε ποιες κατηγορίες διακρίνονται οι γλώσσες προγραμματισμού υψηλού επιπέδου, με βάση την
περιοχή χρήσης;
Ο γλώσσες προγραμματισμού υψηλού επιπέδου, με βάση την περιοχή χρήσης διακρίνονται σε:
1. Γενικής χρήσης, Π.χ. BASIC ή Pasca1, οι οποίες διακρίνονται περαιτέρω σε:
1.1. Επιστημονικής κατεύθυνσης, Π.χ. FORTRAN
1.2. Εμπορικής κατεύθυνσης, Π.χ. COBOL.
2. Προγραμματισμού συστημάτων, Π.χ. C.
3. Τεχνητής νοημοσύνης, Π.χ. LISP, PROLOG.
4. Ειδικής χρήσης, για εφαρμογές στη ρομποτική, στην εκπαίδευση μέσω υπολογιστή κ.α.

6.12 Ποια είναι η καλύτερη γλώσσα προγραμματισμού; Από ποιους παράγοντες εξαρτάται η επιλογή
μιας γλώσσας προγραμματισμού;

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

6.13 Από ποια στοιχεία προσδιορίζεται μια φυσική γλώσσα ή μια γλώσσα προγραμματισμού;

Οι φυσικές γλώσσες και οι γλώσσες προγραμματισμού προσδιορίζονται από:


 Το αλφάβητο
Αλφάβητο μίας γλώσσας καλείται το σύνολο των στοιχείων που χρησιμοποιείται από τη
γλώσσα. Για παράδειγμα, η Ελληνική γλώσσα χρησιμοποιεί τα πεζά (α-ω) και κεφαλαία (Α-
Ω) γράμματα του αλφαβήτου, τα ψηφία (0-9) και τα σημεία στίξης.
 Το λεξιλόγιο
Το λεξιλόγιο αποτελείται από τις λέξεις που δημιουργούνται από τα στοιχεία του.
αλφαβήτου και είναι αποδεκτές από την γλώσσα.
 Η γραμματική
Η γραμματική αποτελείται από το τυπικό (τυπολογικό) και το συντακτικό.
Τυπικό είναι το σύνολο των κανόνων που ορίζει τις αποδεκτές μορφές μιας λέξη.
Συντακτικό είναι οι κανόνες δημιουργίας προτάσεων από συνδυασμούς λέξεων.
Η γνώση του συντακτικού επιτρέπει τη δημιουργία σωστών προτάσεων στις φυσικές
γλώσσες, ενώ στις γλώσσες προγραμματισμού τη δημιουργία σωστών εντολών.
 Η σημασιολογία
Η σημασιολογία είναι οι κανόνες που καθορίζουν το νόημα των λέξεων, τω' εκφράσεων
και των προτάσεων μιας γλώσσας.
Στις γλώσσες προγραμματισμού, ο δημιουργός της γλώσσας αποφασίζει τη σημασιολογία
των λέξεων της γλώσσας.

6.14 Ποιες οι διαφορές φυσικών και τεχνητών γλωσσών;

Οι φυσικές γλώσσες εξελίσσονται συνεχώς, νέες λέξεις, κανόνες γραμματικής και σύνταξης
δημιουργούνται με το πέρασμα του χρόνου. Αυτό συμβαίνει γιατί η γλώσσα χρησιμοποιείται για την
επικοινωνία μεταξύ ανθρώπων, που εξελίσσονται συνεχώς.
Οι τεχνητές γλώσσες (γλώσσες προγραμματισμού) κατασκευάζονται για ένα συγκεκριμένο σκοπό και
μεταβάλλονται σπάνια και μόνο από τους δημιουργούς τους, με σκοπό να διορθωθούν αδυναμίες ή να
καλύψουν μεγαλύτερο εύρος εφαρμογών.
6.15 Τι γνωρίζετε για την ιεραρχική σχεδίαση προγράμματος;

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

6.16 Να περιγραφεί ο τμηματικός προγραμματισμός.


Σύμφωνα με τον τμηματικό προγραμματισμό, μετά την ιεραρχική σχεδίαση τoυ προγράμματος, δηλ.
την διαίρεση του σε πιο απλά τμήματα, κάθε τμήμα του προγράμματος υλοποιείτε ξεχωριστά από τα
υπόλοιπα τμήματα.
Ο τμηματικός προγραμματισμός έχει τα εξής πλεονεκτήματα:
1. Διευκολύνει τη δημιουργία του προγράμματος.
2. Μειώνει τα λάθη.
3. Επιτρέπει την ευκολότερη κατανόηση και διόρθωση του προγράμματος.
4. Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού.

6.17 Περιγράψτε την έννοια του δομημένου προγραμματισμού.


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

6.18 Ποια τα πλεονεκτήματα του δομημένου προγραμματισμού;

Τα πλεονεκτήματα του δομημένου προγραμματισμού επικεντρώνονται στα εξής:


1. Δημιουργία απλούστερων προγραμμάτων.
2. Άμεση μεταφορά των αλγορίθμων σε προγράμματα.
3. Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα.
4. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος.
5. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους.
6. Ευκολότερη διόρθωση και συντήρηση.

6.19 Τι γνωρίζετε για την εντολή GOTO;


Η εντολή GOTO έχει ως αποτέλεσμα την αλλαγή της ροής του προγράμματος και της , μεταπήδησης
σε οποιαδήποτε εντολή του προγράμματος και όχι απαραίτητα την επόμενη.
Μια ομάδα προγραμματιστών υποστήριζε ότι με τη χρήση της GOTO έλυναν εύκολα τα προβλήματα
της ανάπτυξης των προγραμμάτων τους, ενώ μια άλλη ομάδα προγραμματιστών τη θεωρούσαν
υπεύθυνη για τη δυσκολία στην αρχική σχεδίαση της λύσης και στην κατανόηση και συντήρηση του
προγράμματος.
Οι σύγχρονες γλώσσες προγραμματισμού, υποστηρίζουν το δομημένο προγραμματισμό και καθιστούν
τη χρήση της GOTO περιττή. Για λόγους όμως συμβατότητας ~ τις παλιότερες εκδόσεις τους καθώς
και για λόγους συντήρησης παλιών προγραμμάτων, μερικές γλώσσες προγραμματισμού περιλαμβάνουν
ακόμη τη GOTO στις εντολές τους.

6.20 Τι γνωρίζετε για τον αντικειμενοστρεφή προγραμματισμό;


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

6.21 Τι είναι ο παράλληλος προγραμματισμός;


Ο παράλληλος προγραμματισμός είναι μια μορφή προγραμματισμού που αναπτύσσεται τελευταία και
στο μέλλον θα γνωρίσει μεγάλη άνθηση. Στον παράλληλο προγραμματισμό ισχύει:
1. Οι υπολογιστές διαθέτουν περισσότερους από έναν επεξεργαστές, οι οποίοι μοιράζονται
την ίδια μνήμη.
2. Οι επεξεργαστές λειτουργούν παράλληλα, εκτελώντας διαφορετικές εντολές του ιδίου
προγράμματος.
3. Οι υπολογιστές πετυχαίνουν υψηλές ταχύτητες, σε σχέση με τους απλούς υπολογιστές με
έναν επεξεργαστή.
4. Το πρόγραμμα διαιρείται σε τμήματα που εκτελούνται παράλληλα.
5. Απαιτείται η ύπαρξη ενός προγραμματιστικού περιβάλλοντος και μιας γλώσσα
προγραμματισμού που υποστηρίζει παράλληλο προγραμματισμό, Π.χ. OCCAM.

6.22 Τι είναι ο συντάκτης ενός προγράμματος;


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

6.23 Περιγράψτε τη διαδικασία μεταγλώττισης και σύνδεσης ενός προγράμματος.

Η διαδικασία μεταγλώττιση ς και εκτέλεσης ενός προγράμματος είναι η εξής:


1. Το αρχικό πρόγραμμα, το οποίο δημιουργείται στο συντάκτη, λέγεται πηγαίο πρόγραμμα, ενώ το
πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο πρόγραμμα.

2. Κατά τη διαδικασία παραγωγής του αντικείμενου προγράμματος, ο μεταγλωττιστής ανιχνεύει τα


λάθη του προγράμματος (μόνο τα συντακτικά λάθη) και εμφανίζει ενημερωτικά μηνύματα στον
προγραμματιστή. Η διαδικασία της μεταγλώττισης επαναλαμβάνεται μέχρις οτου ο
προγραμματιστής επιλύσει όλα τα συντακτικά λάθη.
3. Το αντικείμενο πρόγραμμα είναι σε μορφή κατανοητή από τον υπολογιστή, αλλά πρέπει να συνδεθεί
με άλλα προγράμματα απαραίτητα για την εκτέλεσή του. Τα τμήματα αυτά τα γράφει ο
προγραμματιστής ή βρίσκονται στις βιβλιοθήκες της γλώσσας προγραμματισμού.
4. Τη διαδικασία της σύνδεσης την αναλαμβάνει ο συνδέτης - φορτωτής.
5. Το αποτέλεσμα του συνδέτη είναι η παραγωγή του εκτελέσιμου προγράμματος, το οποίο είναι το
τελικό πρόγραμμα που εκτελείται από τον υπολογιστή.
Σχηματικά η διαδικασία μεταγλώττιση ς και σύνδεσης ενός προγράμματος σε γλώσσα υψηλού
επιπέδου είναι:

6.24 Ποια τα χαρακτηριστικά ενός μεταγλωττιστή και ενός διερμηνευτή;

Τα χαρακτηριστικά ενός μεταγλωττιστή και ενός διερμηνευτή περιγράφονται στον ακόλουθο πίνακα:

Μεταγλωττιστής Διερμηνευτής
Μεταφράζει όλο το πρόγραμμα σε γλώσσα μηχανής Για κάθε μία από της εντολές του πηγαίου
και κατόπιν το εκτελεί προγράμματος παράγει και εκτελεί αμέσως μία
ισοδύναμη εντολή σε γλώσσα μηχανής
Ο μεταγλωττιστής εμφανίζει κατάλληλα Εμφανίζει ενημερωτικά μηνύματα για τα λάθη κάθε
ενημερωτικά μηνύματα για τα λάθη όλου του εντολής και διακόπτει την διαδικασία διερμηνείας
προγράμματος και εκτέλεσης
Τα μηνύματα λαθών που παράγει ο μεταγλωττιστής Με το διερμηνευτή έχουμε το πλεονέκτημα της
δεν προσδιορίζουν με ακρίβεια τα σημεία σε ένα άμεσης εκτέλεσης και της άμεσης διόρθωσης μίας
πρόγραμμα που υπάρχουν λάθη εντολής
Η εκτέλεση του προγράμματος μετά τη διαδικασία Επειδή επαναλαμβάνεται κάθε φορά η διερμηνεία
της μεταγλώττισης είναι πολύ πιο γρήγορή του προγράμματος η εκτέλεση του καθίσταται πιο
αργή, από εκείνη του ισοδυνάμου εκτελέσιμου
προγράμματος που παράγει ο μεταγλώττισής

6.25 Ποια προγράμματα και εργαλεία περιέχει ένα προγραμματιστικό περιβάλλον;


Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν όλα τα απαραίτητα εργαλεία για τη
συγγραφή, εκτέλεση και διόρθωση ενός προγράμματος. Παρέχουν δηλ. τουλάχιστον τα ακόλουθα
εργαλεία:
1. Συντάκτη, με αρκετές διευκολύνσεις για τη συγγραφή του προγράμματος.
2. Μεταγλωττιστή.
3. Συνδέτη.
4. Εργαλεία για τη διόρθωση των προγραμμάτων.
5. Βοήθεια για διάφορα θέματα.

You might also like