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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

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

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

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

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

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

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

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

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

Προτεινόμενα Θέματα ΑΕΠΠ

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

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

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

θέμα των Πανελλαδικών Εξετάσεων

Πρόβλημα 29 / σελίδα 28

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.


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

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

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

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

Επιμέλεια: Γιακουμόγλου Βαγγέλης.

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Επαναληπτικό Διαγώνισμα

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

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

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

ΘΕΜΑΤΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΕΠΑΝΑΛΗΠΤΙΚΟ 10/4/2016

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

ΑΕΠΠ ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 6.3 Φυσικές και Τεχνιτές Γλώσσες 6.4 Τεχνικές Σχεδίασης Προγραμμάτων

ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

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

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

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

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

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

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

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

1. Λογικά λάθη ονομάζονται αυτά που οφείλονται σε σφάλματα κατά την υλοποίηση του αλγόριθμου.

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

Α2. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες που εκτελεί ένας υπολογιστής (Μονάδες 3)

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

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

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι

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

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

6. Σ 7. Λ 8. Λ 9. Λ 10. Λ

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

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

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

Γ. ίνεται το παρακάτω πρόγραµµα και υποπρογράµµατα: ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ)

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

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ Θέματα και Απαντήσεις

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

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

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

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

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

Για I από 2 μέχρι 10 με_βήμα 0 S S + I. Τέλος_επανάληψης Εμφάνισε S

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ. Κορέλης Αντώνης

ΘΕΩΡΙΑ του μαθήματος Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Transcript:

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

ΚΕΦΑΛΑΙΟ 2 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 2.1 ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ ΟΡΙΣΜΟΣ: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. ΚΡΙΤΗΡΙΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΤΗΤΑ ΑΛΓΟΡΙΘΜΟΥ 1. Είσοδος: Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίδονται ως είσοδοι στον αλγόριθμο. (αντιστοιχεί στην εντολή ΔΙΑΒΑΣΕ) 2. Έξοδος: Κάθε αλγόριθμος πρέπει να παράγει κάποια αποτελέσματα. (αντιστοιχεί στην εντολή ΓΡΑΨΕ) 3. Καθοριστικότητα: Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. (π.χ. η εκτέλεση της εκχώρησης Α Β/C πρέπει να γίνει μετά την ΑΝ C<>0 ΤΟΤΕ και η εντολή A T_Ρ(Χ) πρέπει να γραφεί μετά την ΑΝ Χ>=0 ΤΟΤΕ. 4. Περατότητα: Κάθε αλγόριθμος πρέπει να επιλύει ένα πρόβλημα, με την εκτέλεση πεπερασμένου αριθμού εντολών και σε πεπερασμένο χρόνο. (Οι επανάληψης ΓΙΑ...,ΟΣΟ...,ΜΕΧΡΙΣ_ΟΤΟΥ πρέπει να τερματίζονται.) 5. Αποτελεσματικότητα: Κάθε εντολή πρέπει να είναι απλή και εκτελέσιμη. 2.3 ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ 1. Ελεύθερο κείμενο (πιθανή η παραβίαση κριτηρίου αποτελεσματικότητας) 2. Διάγραμμα ροής 3. Φυσική γλώσσα κατά βήματα (πιθανή η παραβίαση κριτηρίου καθοριστικότητας) 4. Κωδικοποίηση σε ψευδογλώσσα ή σε Γλώσσα Προγραμματισμού 2.4 ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΔΟΜΕΣ (ΣΥΝΙΣΤΩΣΕΣ/ΕΝΤΟΛΕΣ) 1. Ακολουθία Οι ενός προγράμματος, εκτελούνται από πάνω προς τα κάτω, με τη σειρά που είναι γραμμένες. 2. Επιλογή Μη εκτέλεση (υπερπήδηση) εντολών που ακολουθούν. Αντιστοιχεί στις επιλογής ΑΝ 3. Επανάληψη Εκτέλεση εντολών που είναι γραμμένες σε προηγούμενη σειρά. Αντιστοιχεί στις επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ, ΜΕΧΡΙΣ_ΟΤΟΥ και ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ ΚΕΦΑΛΑΙΟ 3 ο -ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 3.2 ΑΛΓΟΡΙΘΜΟΙ+ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ=ΠΡΟΓΡΑΜΜΑΤΑ ΟΡΙΣΜΟΣ: Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ (ΠΡΑΞΕΙΣ) ΣΤΙΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Προσπέλαση, Εισαγωγή(μόνο στις δυναμικές), Διαγραφή(μόνο στις δυναμικές), Αναζήτηση, Ταξινόμηση, Αντιγραφή, Συγχώνευση, Διαχωρισμός. ΚΑΤΗΓΟΡΙΕΣ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ Α) Στατικές:Το πλήθος των κόμβων που δεσμεύεται στην κύρια μνήμη, είναι σταθερό και προκαθορίζεται κατά την στιγμή του προγραμματισμού και κατά συνέπεια κατά τη στιγμή της μετάφρασης του προγράμματος που τις ορίζει και όχι κατά την εκτέλεση του. Δημιουργούνται σε συνεχόμενες θέσεις στην κύρια μνήμη. (π.χ. ΠΙΝΑΚΕΣ) 2

Β) Δυναμικές:Το πλήθος των κόμβων που δεσμεύεται στην κύρια μνήμη δεν είναι σταθερό και προκαθορισμένο, αλλά μεγαλώνει ή μικραίνει κατά την εκτέλεση του προγράμματος ανάλογα αν στη δομή εισάγονται ή διαγράφονται δεδομένα αντίστοιχα. (Τεχνική δυναμικής παραχώρησης μνήμης). Δεν δημιουργούνται σε συνεχόμενες θέσεις στην κύρια μνήμη. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΔΕΥΤΕΡΕΥΟΥΣΑΣ ΜΝΗΜΗΣ: ΑΡΧΕΙΑ (αποτελούνται από εγγραφές)-εγγραφεσ (αποτελούνται από πεδία) ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΠΙΝΑΚΑ* ΠΡΟΓΡΑΜΜΑ ΣΕΙΡΙΑΚΗ ΣΤΑΘΕΡΕΣ Ν=100 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Ι, P[N] ΑΡΧΗ ΓΡΑΨΕ 'ΠΟΙΟΝ ΑΡΙΘΜΟ ΑΝΑΖΗΤΑΣ; ' ΔΙΑΒΑΣΕ Α Ι 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Ι Ι+1 ΜΕΧΡΙΣ_ΟΤΟΥ (P[I]=A) Ή (Ι=Ν) ΑΝ P[I]=Α ΤΟΤΕ ΓΡΑΨΕ 'ΒΡΕΘΗΚΕ ΣΤΗΝ ',I,' η ΘΕΣΗ ΤΟΥ ΠΙΝΑΚΑ' ΑΛΛΙΩΣ ΓΡΑΨΕ 'ΔΕΝ ΒΡΕΘΗΚΕ ΣΤΟΝ ΠΙΝΑΚΑ' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ *ΕΝΑΛΛΑΚΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΕΚΕΙΝΟΝ ΤΟΥ ΒΙΒΛΙΟΥ σελ.64 ΤΑΞΙΝΟΜΗΣΗ ΦΥΣΣΑΛΙΔΑΣ ΠΡΟΓΡΑΜΜΑ ΦΥΣΣΑΛΙΔΑ ΣΤΑΘΕΡΕΣ Ν=100 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ Ι, J, B, P[N] AΡXH! ΦΘΙΝΟΥΣΑ ΤΑΞΙΝΟΜΗΣΗ ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ J ΑΠΟ Ν ΜΕΧΡΙ Ι ΜΕ ΒΗΜΑ -1 ΑΝ P[J-1]<P[J] ΤΟΤΕ B P[J-1] P[J-1] P[J] P[J] B ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Η χρήση της σειριακής αναζήτησης δικαιολογείται σε μη ταξινομημένους πίνακες, μικρού μεγέθους και όταν εφαρμόζεται σπάνια σε συγκεκριμένο πίνακα. Η φυσσαλίδα (ευθεία ανταλλαγή) είναι ο πιο απλός αλλά και ο πιο αργός αλγόριθμος ταξινόμησης. ΚΕΦΑΛΑΙΟ 6 ο -ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.3 ΦΥΣΙΚΕΣ ΚΑΙ ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ Αλφάβητο : το σύνολο των στοιχείων (χαρακτήρων) που χρησιμοποιείται από τη γλώσσα. Λεξιλόγιο : υποσύνολο όλων των ακολουθιών που δημιουργούνται με τα στοιχεία του αλφαβήτου, οι λέξεις που είναι δεκτές από τη γλώσσα. Γραμματική : α) Τυπικό : το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. β) Συντακτικό : το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων. Σημασιολογία : το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων, των εκφράσεων και των προτάσεων που χρησιμοποιούνται σε μια γλώσσα. Οι φυσικές γλώσσες διαφέρουν των τεχνητών, στη δυνατότητα εξέλιξης τους. 6.4.1 ΙΕΡΑΡΧΙΚΗ ΣΧΕΔΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Η τεχνική της ιεραρχικής σχεδίασης και επίλυσης ή η διαδικασία σχεδίασης "από πάνω προς τα κάτω" (top-down program design) όπως συχνά ονομάζεται, περιλαμβάνει τον καθορισμό των βασικών λειτουργιών ενός προγράμματος, σε ανώτερο επίπεδο, και στη συνέχεια τη διάσπαση των λειτουργιών αυτών σε όλο και απλούστερες λειτουργίες, μέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι πολύ απλές, ώστε να επιλυθούν εύκολα. 3

6.4.2 ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η ιεραρχική σχεδίαση προγράμματος υλοποιείται με τον τμηματικό προγραμματισμό. Μετά την ανάλυση του προβλήματος σε αντίστοιχα υποπροβλήματα, κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα, που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα προγράμματος. 6.4.3 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ο δομημένος προγραμματισμός έχει τα δύο πιο πάνω χαρακτηριστικά (ιεραρχικός και τμηματικός) και στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών, τη δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της επανάληψης (χωρίς χρήση της goto) ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1. Δημιουργία απλούστερων προγραμμάτων 2. Άμεση μεταφορά των αλγορίθμων σε προγράμματα 3. Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα 4. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος 5. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους 6. Ευκολότερη διόρθωση και συντήρηση. 6.7 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗ ΚΑΙ ΣΥΝΔΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΗΓΑΙΟ ΠΡΟΓΡΑΜΜΑ (ΑΡΧΙΚΟ) ΜΕΤΑΓΛΩΤΤΙΣΤΗΣ Συγγραφή με συντάκτη (editor) (επεξεργαστής κειμένου) ΕΥΡΕΣΗ ΣΥΝΤΑΚΤΙΚΩΝ ΣΦΑΛΜΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΟ ΠΡΟΓΡΑΜΜΑ ΒΙΒΛΙΟΘΗΚΗ ΛΟΓΙΚΑ ΛΑΘΗ ΣΥΝΔΕΤΗΣ ΕΚΤΕΛΕΣΙΜΟ ΠΡΟΓΡΑΜΜΑ ΚΑΤΗΓΟΡΙΕΣ ΜΕΤΑΦΡΑΣΤΙΚΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ 1. ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ (COMPILERS) Μεταγλωττίζουν ολόκληρο το πηγαίο πρόγραμμα από γλώσσα υψηλού επιπέδου σε γλώσσα μηχανής και δημιουργούν ένα ισοδύναμο εκτελέσιμο πρόγραμμα τελείως ανεξάρτητο από το αρχικό (πηγαίο). ΜΕΙΟΝΕΚΤΗΜΑ ΧΡΗΣΗΣ ΤΟΥΣ: πριν χρησιμοποιηθεί ένα πρόγραμμα πρέπει να περάσει από τη διαδικασία μεταγλώττισης-σύνδεσης. 2. ΔΙΕΡΜΗΝΕΥΤΕΣ (INTERPRETERS) Διερμηνεύουν και εκτελούν μία προς μία τις του πηγαίου προγράμματος από γλώσσα υψηλού επιπέδου σε γλώσσα μηχανής. ΜΕΙΟΝΕΚΤΗΜΑ ΧΡΗΣΗΣ ΤΟΥΣ: η εκτέλεση του προγράμματος καθίσταται πιο αργή από εκείνη του εκτελέσιμου προγράμματος που παράγει ο μεταγλωττιστής. ΠΛΕΟΝΕΚΤΗΜΑ ΧΡΗΣΗΣ ΤΟΥΣ: άμεση εκτέλεση άρα και άμεση διόρθωση. Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν: Συντάκτη για τη συγγραφή και διόρθωση του αρχικού (πηγαίου) προγράμματος. Μεταφραστή (μεικτή υλοποίηση: διερμηνευτή για τη δημιουργία και μεταγλωττιστή για 4

την τελική έκδοση και εκμετάλλευση του προγράμματος.) Συνδέτη (φορτωτή) για τη σύνδεση του αντικείμενου προγράμματος με βιβλιοθήκες προγραμμάτων της γλώσσας και του προγραμματιστή. ΚΕΦΑΛΑΙΟ 7 ο & 8 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.2 ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Ακέραιος, Πραγματικός, Χαρακτήρας, Λογικός 7.3 ΣΤΑΘΕΡΕΣ Προκαθορισμένες τιμές που δεν μεταβάλλονται κατά την διάρκεια εκτέλεσης του προγράμματος. ΣΥΜΒΟΛΙΚΕΣ ΣΤΑΘΕΡΕΣ: Ονόματα στα οποία αντιστοιχίζονται σταθερές τιμές. Δηλώνονται πριν απ' τις μεταβλητές. 7.4 ΜΕΤΑΒΛΗΤΕΣ Συγκεκριμένες θέσεις μνήμης, τα περιεχόμενα των οποίων μπορούν να μεταβάλλονται κατά την διάρκεια εκτέλεσης του προγράμματος. Τα ΟΝΟΜΑΤΑ των σταθερών, μεταβλητών, προγραμμάτων, διαδικασιών και συναρτήσεων σχηματίζονται με συνδυασμό γραμμάτων, αριθμών και του χαρακτήρα κάτω παύλα(_). Πρέπει να αρχίζουν με γράμμα και να μην είναι δεσμευμένες λέξεις. ΔΕΣΜΕΥΜΕΝΕΣ ΛΕΞΕΙΣ είναι οι λέξεις που δεσμεύει η γλώσσα προγραμματισμού για να σχηματίσει το σύνολο των εντολών της, των συναρτήσεών της και γενικότερα το λεξιλόγιο της. ΤΕΛΕΣΤΕΣ: Σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις. ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ ^ ΥΨΩΣΗ ΣΕ ΔΥΝΑΜΗ(1) * ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ(2) / ΔΙΑΙΡΕΣΗ(2) DIV ΑΚΕΡΑΙΑ ΔΙΑΙΡΕΣΗ(2) MOD ΥΠΟΛΟΙΠΟ ΔΙΑΙΡΕΣΗΣ(2) + ΠΡΟΣΘΕΣΗ(3) - ΑΦΑΙΡΕΣΗ(3) (Ν)=ΙΕΡΑΡΧΙΑ (προτεραιότητα) ΠΡΑΞΗΣ ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ ΌΧΙ ΚΑΙ Ή Οι λογικοί τελεστές έχουν χαμηλότερη ιεραρχία απ' τους συγκριτικούς. ΣΥΓΚΡΙΤΙΚΟΙ ΤΕΛΕΣΤΕΣ = ΙΣΟΤΗΤΑ <> ΑΝΙΣΟΤΗΤΑ > ΜΕΓΑΛΥΤΕΡΟ < ΜΙΚΡΟΤΕΡΟ >= ΜΕΓΑΛΥΤΕΡΟ Ή ΙΣΟ <= ΜΙΚΡΟΤΕΡΟ Ή ΙΣΟ Οι τελεστές σύγκρισης έχουν χαμηλότερη ιεραρχία απ' τους αριθμητικούς ΣΥΝΑΡΤΗΣΕΙΣ Τετραγωνική ρίζα Τ_Ρ(Χ) Απόλυτη τιμή A_T(Χ) Ακέραιο μέρος Α_Μ(Χ) Ημίτονο ΗΜ(Χ) Συνημίτονο ΣΥΝ(Χ) Εφαπτομένη ΕΦ(Χ) Φυσικός Λογάριθμος ΛΟΓ(Χ) Υπολογισμός e x E(X) ΠΙΝΑΚΑΣ ΑΛΗΘΕΙΑΣ ΤΩΝ ΛΟΓΙΚΩΝ ΠΡΑΞΕΩΝ Σ1 Σ2 Σ1 ΚΑΙ Σ2 Σ1 Ή Σ2 ΌΧΙ Σ1 Α Α Α Α Ψ Α Ψ Ψ Α Ψ Ψ Α Ψ Α Α Ψ Ψ Ψ Ψ Α 5

ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ-ΨΕΥΔΟΓΛΩΣΣΑΣ ΣΤΑΘΕΡΕΣ - ΜΕΤΑΒΛΗΤΕΣ - ΣΧΟΛΙΑ ΨΕΥΔΟΓΛΩΣΣΑ Αλγόριθμος ένας_τίτλος! Γραμμή δηλώσεων! δεδομένων εισόδου! εφ όσον υπάρχουν! π.χ. Δεδομένα // Μ1,Μ2 //! Αντικαθιστά την εντολή! Διάβασε Μ1,Μ2! ΚΟΡΜΟΣ ΕΝΤΟΛΩΝ Αποτελέσματα // Π //! Αντικαθιστά την εντολή! Εμφάνισε Π Τέλος ένας_τίτλος ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑ ένας_τίτλος ΣΤΑΘΕΡΕΣ! Περιοχή δηλώσεων σταθερών (σχόλιο)! π.χ. ΦΠΑ=0,18 Αρχική_Τιμή=1 ΜΕΤΑΒΛΗΤΕΣ! Περιοχή δηλώσεων μεταβλητών! π.χ. ΑΚΕΡΑΙΕΣ : α1,α2,ακερ_τιμή ΠΡΑΓΜΑΤΙΚΕΣ: χ1,πραγμ_τιμή ΧΑΡΑΚΤΗΡΕΣ: λέξη1,μήνυμα ΛΟΓΙΚΕΣ: ΑΠ1,ΑΠ2 ΑΡΧΗ! ΚΟΡΜΟΣ ΕΝΤΟΛΩΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ένας_τίτλος 6

ΕΝΤΟΛΗ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΛΩΣΣΑ ΨΕΥΔΟΓΛΩΣΣΑ ΑΡΧΗ ΑΡΧΗ ΑΡΧΗ Αλγόριθμος Τίτλος ΤΕΛΟΣ ΤΕΛΟΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τέλος Τίτλος ΔΙΑΒΑΣΕ (εισόδου) ΔΙΑΒΑΣΕ λίστα μεταβλητών ΔΙΑΒΑΣΕ χ,ψ Διάβασε χ,ψ ΓΡΑΨΕ (εξόδου) ΕΚΧΩΡΗΣΗ ΤΙΜΗΣ ΓΡΑΨΕ λίστα στοιχείων Μεταβλητή Έκφραση ΓΡΑΨΕ Χ=,χ Χ Χ+1 Εμφάνισε Χ=,χ Εκτύπωσε Χ=,χ Γράψε Χ=,χ Χ Χ+1 συνθήκη ΟΧΙ ΑΝ...ΤΟΤΕ (ΑΠΛΗ ΕΠΙΛΟΓΗ) ΝΑΙ ΑΝ Α>9 ΤΟΤΕ ΤΕΛΟΣ_ΑΝ Αν Α>9 τότε Τέλος_αν Όταν η Αν περιέχει μόνο μια εντολή το Τέλος_αν είναι προαιρετικό. ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ (ΣΥΝΘΕΤΗ ΕΠΙΛΟΓΗ) ΝΑΙ Εντολές1 συνθήκ η ΟΧΙ Εντολές2 ΑΝ Α>9 ΤΟΤΕ ΑΛΛΙΩΣ Α Α-1 ΤΕΛΟΣ_ΑΝ Αν Α>9 τότε Αλλιώς Α Α-1 Τέλος_αν 7

ΕΝΤΟΛΗ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΛΩΣΣΑ ΨΕΥΔΟΓΛΩΣΣΑ ΑΝ...ΤΟΤΕ..ΑΛΛΙΩΣ_ΑΝ (ΠΟΛΛΑΠΛΗ ΕΠΙΛΟΓΗ 1) Όταν μια δομή επιλογής είναι εμφωλευμένη μέσα σε άλλη, τότε πρέπει να βρίσκεται ολόκληρη μέσα σ αυτήν που την περικλείει ΝΑΙ 0 Α< 0 ΝΑΙ Α= 0 ΟΧΙ ΟΧΙ Α Α-10 ΑΝ Α<0 ΤΟΤΕ 0 ΑΛΛΙΩΣ_ΑΝ Α=0 ΤΟΤΕ ΑΛΛΙΩΣ Α Α-10 ΤΕΛΟΣ_ΑΝ Αν Α<0 τότε 0 αλλιώς_αν Α=0 τότε αλλιώς Α Α-10 Τέλος_αν ΟΣΟ Χαρακτηριστικό της επανάληψης αυτής είναι, ότι είναι δυνατόν να μην εκτελεστεί ούτε μια φορά συνθήκ η αληθής ΟΣΟ συνθήκη ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Όσο συνθήκη επανάλαβε Τέλος_επανάληψης ψευδής 8

ΕΝΤΟΛΗ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΛΩΣΣΑ ΨΕΥΔΟΓΛΩΣΣΑ ΜΕΧΡΙΣ_ΟΤΟΥ Χαρακτηριστικό της επανάληψης αυτής είναι ότι εκτελείται τουλάχιστον μια φορά ψευδής συνθήκ η ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΜΕΧΡΙΣ_ΟΤΟΥ συνθήκη Αρχή_επανάληψης Μέχρις_ότου συνθήκη αληθής Ι Α ΓΙΑ Χαρακτηριστικό της επανάληψης αυτής είναι ότι χρησιμοποιείται όταν είναι γνωστό εκ των προτέρων το πλήθος των επαναλήψεων Ι<=Τ* Ι>=Τ** ψευδής Ι Ι+Β αληθής * Β>0 ** Β<0 ΓΙΑ Ι ΑΠΟ Α ΜΕΧΡΙ Τ ΜΕ ΒΗΜΑ Β ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Για Ι από Α μέχρι Τ με_ βήμα Β ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Στη χρήση εμφωλευμένων επαναλήψεων (βρόχων) πρέπει να τηρούνται οι παρακάτω κανόνες: 1. Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό. Ο βρόχος που ξεκινάει τελευταίος, πρέπει να ολοκληρώνεται πρώτος. 2. Η είσοδος σε κάθε βρόχο γίνεται υποχρεωτικά από την αρχή του. 3. Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσότερων εμφωλευμένων βρόχων. ΚΕΦΑΛΑΙΟ 9 ο - ΠΙΝΑΚΕΣ Πίνακας είναι ένα σύνολο αντικειμένων ίδιου τύπου, τα οποία αναφέρονται με κοινό όνομα ακολουθούμενο από ένα δείκτη (βολικός και ταχύς τρόπος διαχείρισης πολλών δεδομένων). ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΣΤΗ ΧΡΗΣΗ ΠΙΝΑΚΩΝ λόγω του ότι είναι στατικές δομές δεδομένων: 1. Απαιτούν μνήμη. Άσκοπη χρήση μεγάλων πινάκων μπορεί να οδηγήσει σε αδυναμία εκτέλεσης του προγράμματος (έλλειψη μνήμης). 2. Δεσμεύουν μνήμη που πιθανόν δεν επαρκεί για τις ανάγκες του χρήστη. (περιορισμός δυνατότητας προγράμματος) 9

9.4 ΤΥΠΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΠΙΝΑΚΩΝ : άθροισμα στοιχείων μέγιστο-ελάχιστο στοιχείο ταξινόμηση πίνακα αναζήτηση στοιχείου o o σειριακή πιο απλή που χρησιμοποιείται σε μη ταξινομημένους πίνακες δυαδική πιο αποτελεσματική που χρησιμοποιείται αποκλειστικά σε ταξινομημένους πίνακες συγχώνευση πινάκων. ΚΕΦΑΛΑΙΟ 10 ο ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 10.1 ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. 10.2 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΥΠΟΠΡΟΓΡΑΜΜΑΤΩΝ (ΙΔΙΟΤΗΤΕΣ) 1) Κάθε υποπρόγραμμα έχει μόνο μια είσοδο και μια έξοδο. 2) Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. 3) Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο. 10.3 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΜΗΜΑΤΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1) Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος. 2) Διευκολύνει την κατανόηση και διόρθωση του προγράμματος. 3) Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος. 4) Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού. 10.4 & 10.5 Οι παράμετροι είναι μεταβλητές που επιτρέπουν το πέρασμα τιμών από ένα τμήμα προγράμματος σε άλλο και δηλώνονται στο τμήμα δηλώσεων του προγράμματος ή υποπρογράμματος που τις χρησιμοποιεί. Οι παράμετροι που χρησιμοποιούνται στην κλήση του υποπρογράμματος λέγονται πραγματικές παράμετροι, ενώ οι παράμετροι στον ορισμό (δήλωση) του υποπρογράμματος ονομάζονται τυπικές παράμετροι. Κανόνες για τις λίστες των παραμέτρων: Ο αριθμός (πλήθος) των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ίδιος. Κάθε πραγματική παράμετρος αντιστοιχεί στην τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση (σειρά). Η τυπική παράμετρος και η αντίστοιχη της πραγματική πρέπει να είναι ίδιου τύπου (ειδικά δε όταν είναι πίνακες πρέπει να είναι και ίδιου μεγέθους.) Τα υποπρογράμματα στη ΓΛΩΣΣΑ γράφονται μετά το κύριο πρόγραμμα. 10

10.5 ΕΙΔΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΩΝ 1. ΔΙΑΔΙΚΑΣΙΕΣ:τύπος υποπρογραμμάτων που μπορούν και εκτελούν όλες τις λειτουργίες ενός προγράμματος. ΟΡΙΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ (δομή-σύνταξη): ΔΙΑΔΙΚΑΣΙΑ Όνομα (λίστα τυπικών παραμέτρων-(προαιρετική)) Τμήμα δηλώσεων ΑΡΧΗ ΚΛΗΣΗ ΔΙΑΔΙΚΑΣΙΑΣ... Εντολές ΚΑΛΕΣΕ Όνομα (λίστα πραγματικών παραμέτρων)... ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 2. ΣΥΝΑΡΤΗΣΕΙΣ: τύπος υποπρογραμμάτων που υπολογίζουν και επιστρέφουν μόνο μια τιμή, με το όνομά τους (δεν πρέπει να περιέχουν ΓΡΑΨΕ, ΔΙΑΒΑΣΕ). ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ (δομή-σύνταξη): ΣΥΝΑΡΤΗΣΗ Όνομα (λίστα τυπικών παραμέτρων) : τύπος συνάρτησης* Τμήμα δηλώσεων ΑΡΧΗ... Εντολές... Όνομα έκφραση!απαραιτητη ΕΝΤΟΛΗ... ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ * τύπος συνάρτησης: (ΑΚΕΡΑΙΑ, ΠΡΑΓΜΑΤΙΚΗ, ΧΑΡΑΚΤΗΡΑΣ, ΛΟΓΙΚΗ) Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα ή από άλλο υποπρόγραμμα τότε η διεύθυνση της επόμενης εντολής μετά την εντολή κλήσης, που ονομάζεται διεύθυνση επιστροφής, αποθηκεύεται από το μεταφραστή σε μια στοίβα που ονομάζεται στοίβα χρόνου εκτέλεσης. 10.6 Εμβέλεια μεταβλητών-σταθερών Το τμήμα του προγράμματος που ισχύουν οι μεταβλητές λέγεται εμβέλεια (scope) μεταβλητών. Αρχές (είδη) εμβέλειας ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΗΣ Δεν υπάρχει ιδιαίτερη εντολή κλήσης, αλλά καλείται με χρήση του : Όνομα(λίστα πραγματικών παραμέτρων) σαν μια μεταβλητή. Απεριόριστη εμβέλεια Σύμφωνα με αυτή την αρχή όλες οι μεταβλητές και όλες οι σταθερές είναι γνωστές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν. Όλες οι μεταβλητές είναι (ονομάζονται) καθολικές. Η Απεριόριστη εμβέλεια καταστρατηγεί την αρχή της αυτονομίας των υποπρογραμμάτων, δημιουργεί πολλά προβλήματα και τελικά είναι αδύνατη για μεγάλα προγράμματα με πολλά υποπρογράμματα, αφού ο καθένας που γράφει κάποιο υποπρόγραμμα πρέπει να γνωρίζει τα ονόματα όλων των μεταβλητών που χρησιμοποιούνται στα υπόλοιπα υποπρογράμματα. 11

Περιορισμένη εμβέλεια Η περιορισμένη εμβέλεια υποχρεώνει όλες τις μεταβλητές που χρησιμοποιούνται σε ένα τμήμα προγράμματος, να δηλώνονται σε αυτό το τμήμα. Όλες οι μεταβλητές είναι τοπικές, ισχύουν δηλαδή για το υποπρόγραμμα στο οποίο δηλώθηκαν. Στη ΓΛΩΣΣΑ έχουμε περιορισμένη εμβέλεια. Τα πλεονεκτήματα της περιορισμένης εμβέλειας είναι η απόλυτη αυτονομία όλων των υποπρογραμμάτων και η δυνατότητα να χρησιμοποιείται οποιοδήποτε όνομα, χωρίς να ενδιαφέρει αν το ίδιο χρησιμοποιείται σε άλλο υποπρόγραμμα. Μερικώς περιορισμένη εμβέλεια Σύμφωνα με αυτή την αρχή άλλες μεταβλητές είναι τοπικές και άλλες καθολικές. Κάθε γλώσσα προγραμματισμού έχει τους δικούς της κανόνες και μηχανισμούς για τον τρόπο και τις προϋποθέσεις που ορίζονται οι μεταβλητές ως τοπικές ή καθολικές. Η μερικώς περιορισμένη εμβέλεια προσφέρει μερικά πλεονεκτήματα στον πεπειραμένο προγραμματιστή, αλλά για τον αρχάριο περιπλέκει το πρόγραμμα δυσκολεύοντας την ανάπτυξή του. 12