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



Σχετικά έγγραφα
ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Επανάληψη Θεωρίας. Καστούμης Γιώργος

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

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

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

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Ανάλυση προβλήματος

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

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

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

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

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

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

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

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

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

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

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

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

1 Ανάλυση Προβλήματος

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον (στοιχεία θεωρίας-θέματα εξετάσεων)

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

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

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

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

Οι δομές δεδομένων στοίβα και ουρά

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

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

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

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

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

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον (στοιχεία θεωρίας-θέματα εξετάσεων)

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

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ. Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

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

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

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

Κεφάλαιο 1 ο : Ανάλυση προβλήματος

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

Γεώργιος Φίλιππας 23/8/2015

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

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

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

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

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

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

Κεφάλαιο 1. Τι είναι πληροφορία Με τον όρο πληροφορία αναφέρεται οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδοµένων.

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

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

Προγραμματισμός Η/Υ. Δομές Δεδομένων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

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

Transcript:

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

Κεφάλαιο 1: Ανάλυση προβλήματος Πρόβλημα (Ορισμός) Με τον όρο πρόβλημα εννοείται μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κατανόηση προβλήματος Εξαρτάται από δύο παράγοντες: Σωστής διατύπωσης εκ μέρους του δημιουργού. Σωστής ερμηνείας από την μεριά εκείνου που καλείται να το αντιμετωπίσει. Διατύπωση προβλήματος Πρέπει να χαρακτηρίζεται από σαφήνεια. Άστοχη χρήση ορολογίας, λανθασμένη σύνταξη μπορούν να προκαλέσουν παρερμηνείες. Σημαντικός ακόμη παράγοντας είναι η αποσαφήνιση του χώρου στον οποίο αναφέρεται. Η πληροφορία αυτή παρέχεται από την διατύπωση-δεδομένα του προβλήματος. { Παράδειγμα στον χώρο: Έγραψα στο διαγώνισμα 7,5. Είναι καλός ή κακός βαθμός; Η απάντηση εξαρτάται από τον χώρο: Αν μιλάμε για πανεπιστήμιο είναι καλός! } Δεδομένο (Ορισμός) Οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του. Πληροφορία (Ορισμός) Οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων. Επεξεργασία δεδομένων (Ορισμός) Η διαδικασία κατά την οποία ένας μηχανισμός: δέχεται δεδομένα, τα επεξεργάζεται με προκαθορισμένο τρόπο και αποδίδει πληροφορίες. Δύο τέτοιοι μηχανισμοί είναι ο εγκέφαλος και ο υπολογιστής. Δομή προβλήματος (Ορισμός) Με τον όρο αυτό αναφερόμαστε: στα συστατικά του μέρη δηλαδή στα επιμέρους τμήματα που το αποτελούν και στον τρόπο που τα μέρη αυτά συνδέονται μεταξύ τους. Η καταγραφή της δομής ενός προβλήματος σημαίνει ότι έχει ήδη αρχίσει η ανάλυση του προβλήματος. Διαγραμματική αναπαράσταση (δομής / ανάλυσης προβλήματος) Είναι μία συχνά χρησιμοποιούμενη γραφική απεικόνιση της δομής: Το αρχικό πρόβλημα αναπαριστάται από ένα ορθογώνιο παραλληλόγραμμο Κάθε ένα από τα υποπροβλήματα, στα οποία αναλύεται το αρχικό, αναπαριστάται επίσης από ένα ορθογώνιο παραλληλόγραμμο. Τα παραλληλόγραμμα που αντιστοιχούν στα υποπροβλήματα, σχηματίζονται ένα επίπεδο χαμηλότερα. Καθορισμός απαιτήσεων (Ορισμός) Είναι η διαδικασία κατά την οποία πρέπει να κάνουμε: τον επακριβή προσδιορισμό των δεδομένων την λεπτομερειακή καταγραφή των ζητουμένων Στάδια αντιμετώπισης προβλήματος Κατανόηση (απαιτείται η σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητουμένων) Ανάλυση (το αρχικό πρόβλημα διασπάται σε επί μέρους απλούστερα προβλήματα) Επίλυση (μέσω της λύσης των επιμέρους προβλημάτων, υλοποιείται η λύση) ~ 2 ~

Κατηγορίες προβλημάτων Η κατηγοριοποίηση γίνεται με βάση (3) κριτήρια: Δυνατότητα επίλυσης Η λύση τους είναι ήδη γνωστή και έχει Επιλύσιμα διατυπωθεί Η λύση τους δεν έχει βρεθεί αλλά, δεν Ανοικτά έχει αποδειχθεί ότι δεν επιδέχονται λύση Έχουμε φθάσει στην παραδοχή ότι δεν Άλυτα έχουν λύση Δομημένα Ημιδομημένα Αδόμητα Απόφασης Υπολογιστικά Βελτιστοποίησης επίλυση δευτεροβάθμιων εξισώσεων ύπαρξη ζωής σε άλλους πλανήτες τετραγωνισμός του κύκλου Δόμηση λύσεων (μόνο επιλύσιμα) Η επίλυσή τους προέρχεται από μία εύρεση εμβαδού τριγώνου αυτοματοποιημένη διαδικασία Έχουν ένα σαφώς προκαθορισμένο εύρος λύσεων αλλά ο ανθρώπινος επιλογή μεταφορικού μέσου για παράγοντας πρέπει να επιλέξει την ένα ταξίδι κατάλληλη λύση Δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί σε βάθος η δυνατότητα δόμησής τους. Ο τρόπος οργάνωσης ενός εφηβικού πάρτυ Είδος επίλυσης που επιζητούν Η λύση του προβλήματος είναι μία απόφαση που απαντά σε ένα ερώτημα Ο αριθμός 123 είναι πρώτος; (συνήθως ΝΑΙ/ΟΧΙ) Ζητάμε να βρούμε την τιμή της Οι ρίζες μιας δευτεροβάθμιας απάντησης που ικανοποιεί τα δεδομένα εξίσωσης Το πρόβλημα επιζητά το βέλτιστο Με 10.000 ποιο αυτοκίνητο αποτέλεσμα να αγοράσω Λόγοι ανάθεσης ενός προβλήματος σε υπολογιστή Πολυπλοκότητα υπολογισμών. Επαναληπτικότητα των διαδικασιών. Ταχύτητα εκτέλεσης των πράξεων Μεγάλο πλήθος δεδομένων. Βασικές λειτουργίες ενός υπολογιστή Πρόσθεση Σύγκριση Μεταφορά δεδομένων Κεφάλαιο 2: Βασικές έννοιες αλγορίθμων Αλγόριθμος (Ορισμός) Είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος * Μία συνταγή μαγειρικής είναι ένα κλασσικό παράδειγμα αλγορίθμου Απαραίτητα κριτήρια αλγορίθμων Είσοδος: Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδος. ~ 3 ~

Έξοδος: Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον ένα αποτέλεσμα προς τον χρήστη ή προς ένα άλλο αλγόριθμο. Καθοριστικότητα: Κάθε εντολή πρέπει να καθορίζεται χωρίς αμφιβολία για τον τρόπο εκτέλεσής της. (Πχ ζ χ/ψ) Περατότητα: Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα. Αποτελεσματικότητα: Κάθε εντολή ενός αλγορίθμου πρέπει να είναι απλή και εκτελέσιμη (δεν αρκεί να έχει οριστεί). Σκοπιές μελέτης των αλγορίθμων Υλικού (Hardware): Γλωσσών προγραμματισμού (programming languages): Θεωρητική (theoretical): Αναλυτική (analytical): Μελετάται το πως επηρεάζεται η ταχύτητα εκτέλεσης ενός αλγορίθμου από τις διάφορες τεχνολογίες υλικού. Μελετάται το πώς επηρεάζεται ένας αλγόριθμος από το είδος της γλώσσας προγραμματισμού που χρησιμοποιείται. Μελετά το αν υπάρχει ή όχι κάποιος αποδοτικός αλγόριθμος για την επίλυση ενός προβλήματος. Μελετά τους υπολογιστικούς πόρους που χρειάζεται ένας αλγόριθμος. (πχ το μέγεθος της κύριας-δευτερεύουσας μνήμης που χρειάζεται κλπ) Περιγραφή και αναπαράσταση αλγορίθμων Ελεύθερο κείμενο (Free text): Υπάρχει κίνδυνος να οδηγήσει σε μη εκτελέσιμη παρουσίαση, παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων το κριτήριο της αποτελεσματικότητας. Διαγραμματικές τεχνικές: Η χρήση διαγραμματικών. τεχνικών δεν είναι η καλύτερη λύση, γι αυτό εμφανίζονται όλο και σπανιότερα στην βιβλιογραφία και στην πράξη. Φυσική γλώσσα κατά βήματα (natural language): Κίνδυνος να παραβιαστεί το κριτήριο της καθοριστικότητας. Κωδικοποίηση (coding): Δηλαδή με ένα πρόγραμμα γραμμένο είτε με μία ψευδογλώσσα είτε σε κάποια γλώσσα προγραμματισμού Διαγράμματα ροής Τα κυριότερα σχήματα είναι τα εξής: Έλλειψη: Η αρχή και το τέλος του αλγορίθμου. Ρόμβος: Μία συνθήκη με δύο εξόδους ανάλογα με την τιμή της. {αληθής - ψευδής} Ορθογώνιο: Η εκτέλεση μίας ή περισσοτέρων πράξεων. Πλάγιο παρ/μο: Η είσοδος και η έξοδος στοιχείων του αλγορίθμου. Τελεσταίοι (operands) Σταθερές(constants): Θέσεις μνήμης με προκαθορισμένες τιμές που παραμένουν αμετάβλητες σε όλη τη διάρκεια της εκτέλεσης ενός αλγορίθμου. Μεταβλητές(variables): Θέσεις μνήμης που δέχονται μία τιμή που μπορεί να αλλάξει κατά την εκτέλεση ενός αλγορίθμου. Τελεστές (operators) Είναι σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις. Αριθμητικοί: Λογικοί: Συγκριτικοί ^ Οχι (άρνησης) =, <>, * / div mod Και (σύζευξης) >, >= + - Η (διάξευξης) <, <= Εκφράσεις (expressions) Οι τελεστές μαζί με τους τελεσταίους διαμορφώνουν τις εκφράσεις. Μία έκφραση μπορεί να αποτελείται από μία μόνο μεταβλητή ή σταθερά μέχρι μία πολύπλοκη. Οι λογικές εκφράσεις ονομάζονται αλλιώς και: Συνθήκες Ολίσθηση Η ολίσθηση προς τα αριστερά ισοδυναμεί με διπλασιασμό του αριθμού. ~ 4 ~

Η ολίσθηση προς τα δεξιά ισοδυναμεί με υποδιπλασιασμό του αριθμού. Κεφάλαιο 3: Δομές δεδομένων και αλγόριθμοι Θεωρία πληροφοριών Είναι ιδιαίτερος κλάδος της πληροφορικής ο οποίος μελετά την μέτρηση, κωδικοποίηση, μετάδοση της πληροφορίας Σκοπιές μελέτης δεδομένων Η πληροφορική μελετά τα δεδομένα από τις ακόλουθες σκοπιές: Υλικού: Το υλικό, δηλαδή η μηχανή, επιτρέπει στα δεδομένα να αποθηκεύονται στην κύρια μνήμη και στις περιφερειακές συσκευές του υπολογιστή με διάφορες αναπαραστάσεις : δυαδική, κώδικας ASCII κλπ Γλωσσών προγραμματισμού: Οι γλώσσες προγραμματισμού υψηλού επιπέδου επιτρέπουν την χρήση διαφόρων τύπων μεταβλητών για να περιγράψουν ένα δεδομένο. Ο μεταφραστής κάθε γλώσσας φροντίζει για την αποδοτικότερη μορφή αποθήκευσης, από πλευράς υλικού, κάθε μεταβλητής στον υπολογιστή. Δομών δεδομένων: Δομή δεδομένων είναι ένα σύνολο δεδομένων μαζί με ένα σύνολο επιτρεπτών λειτουργιών. Πχ μίας δομής είναι η εγγραφή (record) και το αρχείο (file). Η εγγραφή αποτελείται από πεδία όπου αποθηκεύονται χαρακτηριστικά διαφορετικού τύπου. Το αρχείο αποτελείται από ένα σύνολο εγγραφών. Ανάλυσης δεδομένων: Μελετά τρόπους καταγραφής και αλληλοσυσχέτισης των δεδομένων ώστε να αναπαρασταθεί η γνώση για πραγματικά γεγονότα. Σε αυτήν την σκοπιά ανήκουν οι τεχνολογίες των: Βάσεων δεδομένων, Μοντελοποίησης δεδομένων, και της Αναπαράστασης της γνώσης. Δομή δεδομένων (Ορισμός) Είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. Βασικές λειτουργίες (πράξεις) των δομών δεδομένων Προσπέλαση: πρόσβαση σε ένα κόμβο με σκοπό να εξεταστεί ή να αλλάξει το περιεχόμενό του. Εισαγωγή: προσθήκη νέων κόμβων σε μία δομή. Διαγραφή: (αντίθετο της εισαγωγής), δηλαδή αφαίρεση ενός κόμβου από μία δομή. Αναζήτηση: γίνεται προσπέλαση των κόμβων μίας δομής προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μία δεδομένη ιδιότητα. Ταξινόμηση: όπου οι κόμβοι διατάσσονται κατά αύξουσα ή φθίνουσα σειρά. Αντιγραφή: όλοι ή μερικοί από τους κόμβους μίας δομής αντιγράφονται σε μία άλλη. Συγχώνευση: δύο ή περισσότερες δομές ενώνονται σε μία δομή. Διαχωρισμός: (αντίστροφα από την συγχώνευση) (στους πίνακες δεν χρησιμοποιείται η εισαγωγή και η διαγραφή) Αλγόριθμοι + Δομές δεδομένων = Προγράμματα (Εξίσωση του Wirth) Δυναμικές δομές δεδομένων Οι δομές αυτές δεν έχουν σταθερό μέγεθος αλλά ο αριθμός των κόμβων τους μεγαλώνει καθώς εισάγονται νέα δεδομένα, και μικραίνει καθώς διαγράφονται. Δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης αλλά στηρίζονται στην τεχνική της δυναμικής παραχώρησης μνήμης (DMA: Dynamic Memory Allocation). Όλες οι σύγχρονες γλώσσες προγραμματισμού τις υποστηρίζουν. ~ 5 ~

Στατικές δομές δεδομένων: Το ακριβές μέγεθός τους καθορίζεται κατά την στιγμή του προγραμματισμού τους και όχι κατά την στιγμή της εκτέλεσης του προγράμματος. Οι κόμβοι τους αποθηκεύονται σε συνεχόμενες θέσεις μνήμης. Στην πράξη οι στατικές δομές υλοποιούνται με πίνακες. Πίνακες (ορισμός) Είναι μία δομή που περιέχει στοιχεία του ίδιου τύπου Στοίβα Μέθοδος επεξεργασίας: Last In First Out (LIFO) Κύριες λειτουργίες: Ώθηση (push) ενός στοιχείου στην κορυφή της στοίβας. Απώθηση (pop) ενός στοιχείου από την κορυφή της στοίβας. Υλοποίηση: Με την βοήθεια ενός μονοδιάστατου πίνακα καθώς και μίας βοηθητικής μεταβλητής (δείκτης) με το όνομα top, η οποία δείχνει το στοιχείο που τοποθετήθηκε τελευταίο στην κορυφή της στοίβας. Κατά την ώθηση ελέγχεται αν η στοίβα είναι γεμάτη, αλλιώς λέγεται ότι συμβαίνει υπερχείλιση (overflow). Κατά την απώθηση ελέγχεται αν η στοίβα είναι άδεια, αλλιώς λέγεται ότι ότι συμβαίνει υποχείλιση (underflow). Ουρά Μέθοδος επεξεργασίας: First In First Out (FIFO) Κύριες λειτουργίες: Εισαγωγή (Enqueue) ενός στοιχείου στο πίσω άκρο της ουράς. Εξαγωγή (Dequeue) ενός στοιχείου από το εμπρός άκρο της ουράς. Υλοποίηση: Μπορεί να υλοποιηθεί με την βοήθεια ενός μονοδιάστατου πίνακα και με δύο μεταβλητές (δείκτες) με τα ονόματα rear και front. Ο δείκτης front δείχνει την θέση του στοιχείου που σε πρώτη ευκαιρία θα εξαχθεί. Ο δείκτης rear δείχνει την θέση του τελευταίου στοιχείου της ουράς. Σειριακή (sequential) γραμμική (linear) αναζήτηση Είναι η πιο απλή αλλά και η πιο αναποτελεσματική μέθοδος αναζήτησης σε πίνακα. Η χρήση της δικαιολογείται σε περιπτώσεις όπου ο πίνακας: είναι μη ταξινομημένος, είναι μικρού μεγέθους (ν<=20), η αναζήτηση γίνεται σπάνια. Ταξινόμηση (Ορισμός) Δοθέντων των στοιχείων α 1, α 2, α n η ταξινόμηση ορίζεται ως μετάθεση της θέσης των στοιχείων ώστε να τοποθετηθούν σε μια σειρά α κ1, α κ2, α κn έτσι ώστε: Αν δοθεί συνάρτηση διάταξης (ordering function) F να ισχύει : F(α κ1) F(α κ2) F(α κn). Ταξινόμηση ευθείας ανταλλαγής-φυσαλίδας Η ταξινόμηση φυσαλίδας είναι η πιο απλή και πιο αργή μέθοδος ταξινόμησης. Γλώσσες προγραμματισμού Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Γλώσσα Μηχανής Eίναι μια ακολουθία δυαδικών (0 και 1) ψηφίων που αποτελούν εντολές προς τον υπολογιστή για στοιχειώδεις λειτουργίες. ~ 6 ~

Συμβολικές γλώσσες (χαμηλού επιπέδου) Fortran Cobol Algol Πλεονεκτήματα: Ταχύτατη εκτέλεση των εντολών. Δεν απαιτείται μεταφραστικό πρόγραμμα. Μειονεκτήματα: Το γράψιμο του προγράμματος είναι μία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία. Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ. Το πρόγραμμα «τρέχει» μόνο στο συγκεκριμένο τύπο του Η/Υ Αποτελούνται από συμβολικά ονόματα τα οποία αντιστοιχούν σε εντολές της γλώσσας μηχανής Πλεονεκτήματα: Ταχύτατη εκτέλεση των εντολών. Η μορφή του προγράμματος είναι καλύτερα κατανοητή από τον άνθρωπο σε σχέση με τη γλώσσα μηχανής. Μειονεκτήματα: Απαιτείται η χρήση ενός μεταφραστικού προγράμματος ώστε οι συμβολικές εντολές να μετατραπούν στις αντίστοιχες δυαδικές. Το ειδικό αυτό πρόγραμμα ονομάζεται συμβολομεταφραστής (assembler). Το γράψιμο του προγράμματος εξακολουθεί να είναι μία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία. Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ. Το πρόγραμμα «τρέχει» μόνο στο συγκεκριμένο τύπο του Η/Υ Επίλυση μαθηματικών και επιστημονικών προβλημάτων Ανάπτυξη εμπορικών και διαχειριστικών εφαρμογών Δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται με συγκεκριμένες εφαρμογές PL/1 Προσπάθησε ανεπιτυχώς να καλύψει όλους τους τομείς προγραμματισμού LISP Συναρτησιακή γλώσσα Χειρισμός λιστών από σύμβολα Γλώσσα τεχνητής νοημοσύνης PROLOG Μη διαδικασιακή γλώσσα Γλώσσα τεχνητής νοημοσύνης Logo Εισαγωγή στον προγραμματισμό μαθητών μικρής ηλικίας Basic Για εκπαίδευση αρχαρίων Η δημοφιλέστερη γλώσσα Οι εκδόσεις Quick Basic και Visual Basic σαν πρότυπο ανάπτυξης εφαρμογών σε Η/Υ Pascal Βασίστηκε πάνω στην Algol. Κατάλληλη για εκπαίδευση και δημιουργία ισχυρών προγραμμάτων γενικής χρήσης. Κατάλληλη για δημιουργία δομημένων προγραμμάτων. H βάση για την ανάπτυξη ισχυρότερων γλωσσών όπως η ADA και η Modula-2. C Κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά έχει ταυτόχρονα και δυνατότητες γλωσσών χαμηλού επιπέδου Οδήγησε στη ανάπτυξη της γλώσσας C++ που είναι μια γλώσσα αντικειμενοστραφούς προγραμματισμού JAVA Αντικειμενοστραφής γλώσσα Κατάλληλη για εφαρμογές που εκτελούνται σε κατανεμημένα περιβάλλοντα δηλ. σε διαφορετικούς υπολογιστές που συνδέονται στο Διαδίκτυο SQL Γλώσσα 4 ης γενιάς Ο χρήστης έχει τη δυνατότητα να υποβάλει ερωτήσεις στο σύστημα και να ανακτά πληροφορίες από βάση δεδομένων ~ 7 ~

* Μια γλώσσα προγραμματισμού που να είναι αντικειμενικά καλύτερη από τις άλλες δεν υπάρχει και ούτε πρόκειται να υπάρξει Προγραμματισμός οδηγούμενος από το γεγονός Εννοούμε την δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος (πχ κλικ του ποντικιού). Οπτικός προγραμματισμός Είναι η δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον μιας εφαρμογής (πχ τα παράθυρα, τα μενού επιλογών, τα πλαίσια διαλόγου κλπ). Πλεονεκτήματα των γλωσσών υψηλού επιπέδου. Φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης των προβλημάτων. Η ανεξαρτησία από τον τύπο του υπολογιστή. Τα προγράμματα μπορούν να μεταφερθούν σε οποιονδήποτε υπολογιστή με ελάχιστες ή καθόλου μετατροπές. Η δυνατότητα της μεταφερσιμότητας των προγραμμάτων είναι σημαντικό προσόν. Η ευκολία της εκμάθησης και εκπαίδευσης ως απόρροια των προηγουμένων. Η διόρθωση λαθών και η συντήρηση προγραμμάτων είναι πολύ ευκολότερη. Συνολικά οι γλώσσες υψηλού επιπέδου ελάττωσαν σημαντικά το χρόνο και το κόστος παραγωγής νέων προγραμμάτων Στοιχεία γλωσσών προγραμματισμού. Το αλφάβητο: Είναι το σύνολο των στοιχείων που αποτελεί την γλώσσα. Το λεξιλόγιο: Το σύνολο των λέξεων που είναι δεκτές από την γλώσσα Η γραμματική: Τυπικό: το σύνολο των κανόνων που καθορίζουν αν μία λέξη είναι αποδεκτή. Συντακτικό: το σύνολο των κανόνων που καθορίζει αν η διάταξη και η σύνδεση των λέξεων σε μία πρόταση είναι σωστή. Η σημασιολογία: το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων, άρα και το νόημα των προτάσεων που δημιουργούνται (πχ το γελαστό τραπέζι υποκλίθηκε). Στις γλώσσες προγραμματισμού ο δημιουργός τους αποφασίζει για την σημασιολογία των λέξεων τη Διαφορές φυσικών τεχνητών γλωσσών Οι φυσικές γλώσσες εξελίσσονται συνεχώς και δημιουργούνται νέες λέξεις, ενώ οι τεχνητές γλώσσες χαρακτηρίζονται από στασιμότητα Οι φυσικές γλώσσες χρησιμοποιούνται για την επικοινωνία μεταξύ των ανθρώπων, ενώ οι τεχνητές γλώσσες φια την επικοινωνία ανθρώπου-υπολογιστή Η τεχνική της ιεραρχικής σχεδίασης προγράμματος Η τεχνική της ιεραρχικής σχεδίασης (ή αλλιώς τεχνική από επάνω προς τα κάτω ή top-down), χρησιμοποιεί την στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα τα οποία είναι ευκολότερο να επιλυθούν Υλοποιείται με τον τμηματικό προγραμματισμό Δομημένος προγραμματισμός Στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών: της δομής ακολουθίας της δομής επιλογής. της δομής επανάληψης. Γιατί η εντολή GOTO κρίνεται ακατάλληλη Η χρήση της εντολής αλλάζει την ροή ενός προγράμματος. Η αλλαγή αυτή της ροής κάνει τα προγράμματα δύσκολα στην παρακολούθηση την κατανόηση και την συντήρηση. Πλεονεκτήματα δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων. Άμεση μεταφορά των αλγορίθμων σε προγράμματα. ~ 8 ~

Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους. Ευκολότερη διόρθωση και συντήρηση. ~ 9 ~

Προγραμματιστικά περιβάλλοντα ή Πηγαίο Πρόγραμμα ή Αντικείμενο Πρόγραμμα Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου (σαν το Word - Wordpad κλπ.) με τη βοήθεια του οποίου γίνεται η συγγραφή του πηγαίου προγράμματος. Τα λάθη σε ένα πρόγραμμα διακρίνονται σε λογικά και συντακτικά. Τα λογικά λάθη εντοπίζονται κατά την εκτέλεση του προγράμματος. Τα συντακτικά λάθη εντοπίζονται από τον μεταγλωττιστή ή τον διερμηνευτή Ομοιότητες Διαφορές διερμηνευτή-μεταγλωττιστή Ομοιότητες: Και οι δύο μεταφράζουν το πηγαίο πρόγραμμα (υψηλού επιπέδου) σε γλώσσα μηχανής. Και οι δύο ανιχνεύουν τα συντακτικά λάθη. Διαφορές: Ο μεταγλωττιστής μεταγλωττίζει όλο το πρόγραμμα και με την βοήθεια του συνδέτη φορτωτή παράγεται το εκτελέσιμο ενώ ο διερμηνευτής εκτελεί μία μία τις εντολές και δεν χρειάζεται συνδέτηφορτωτή Σύγχρονα προγραμματιστικά περιβάλλοντα Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν όλα τα προγράμματα και τα εργαλεία που απαιτούνται για τη συγγραφή, την εκτέλεση και τη διόρθωση ενός προγράμματος ~ 10 ~

Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Συναρτήσεις της ΓΛΩΣΣΑΣ HM(x), ΣΥΝ(x), ΕΦ(x), ΛΟΓ(x), Ε(x), Τ_Ρ (x), A_M(x), A_T(x) Κεφάλαιο 9: Πίνακες Πλεονεκτήματα Μειονεκτήματα της χρήσης πινάκων Πλεονέκτημα Βολικός τρόπος για τη διαχείριση πολλών δεδομένων του ίδιου τύπου Μειονεκτήματα: Οι πίνακες απαιτούν μνήμη και Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος: Τυπικές επεξεργασίες πινάκων Υπολογισμός αθροισμάτων στοιχείων του πίνακα. Εύρεση μεγίστου-ελαχίστου. Ταξινόμηση των στοιχείων του πίνακα. Αναζήτηση ενός στοιχείου του πίνακα. Συγχώνευση δύο πινάκων. Κεφάλαιο 10: Υποπρογράμματα Τμηματικός προγραμματισμός (ορισμός) Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα (προγραμμάτων Υποπρόγραμμα (ορισμός) Ονομάζεται ένα τμήμα προγράμματος που επιτελεί ένα αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα (subprogram). Βασικές ιδιότητες των υποπρογραμμάτων Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο. Πλεονεκτήματα του τμηματικού προγραμματισμού Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος Διευκολύνει την κατανόηση και διόρθωση του προγράμματος. Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος. Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού. Παράμετρος (ορισμός): Μια παράμετρος είναι μια μεταβλητή που επιτρέπει το πέρασμά της τιμής της από ένα τμήμα προγράμματος σε ένα άλλο. Διαφορές Διαδικασιών και Συναρτήσεων Η διαδικασία μπορεί να εκτελέσει όλες τις λειτουργίες ενός προγράμματος, ενώ η συνάρτηση που υπολογίζει και επιστρέφει μόνο μια τιμή ~ 11 ~

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

Αν συνθήκη-1 τότε Εντολές-1 Αλλιώς_αν συνθήκη-2 τότε Εντολές-2 Αλλιώς Εντολές-ν Τέλος_αν Εμφωλευμένα αν Ονομάζονται δύο ή περισσότερες εντολές Αν που περιέχονται η μία μέσα στην άλλη. Η χρήση εμφωλευμένων αν οδηγεί συνήθως σε πολύπλοκες δομές που αυξάνουν την πιθανότητα λάθους και κάνουν το πρόγραμμα δυσνόητο. Δομή επανάληψης με τη συνθήκη στην αρχή Οι εντολές εκτελούνται όσο η συνθήκη είναι αληθής Όσο συνθήκη επανάλαβε Εντολές Τελος_επανάληψης Δομή επανάληψης με τη συνθήκη στην αρχή Οι εντολές εκτελούνται μέχρι να γίνει η συνθήκη είναι αληθής Αρχή_επανάληψης Εντολές Μέχρις_οτου συνθήκη Δομή επανάληψης ορισμένων φορών Οι εντολές εκτελούνται για όλες τις τιμές της μεταβλητής από την τιμή1 μέχρι την τιμή2 αυξανόμενες κατά την τιμή3. Για μεταβλητή από τιμή1 μέχρι τιμή2 με βήμα τιμή3 Εντολές Τελος_επανάληψης Εμφωλευμένοι βρόχοι Ονομάζονται δύο ή περισσότεροι βρόχοι που βρίσκονται ο ένας μέσα στον άλλο. Στην χρήση τους πρέπει να ακολουθούνται αυστηρά τρεις κανόνες: Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό, έτσι ο βρόχος που ξεκινάει τελευταίος ολοκληρώνεται πρώτος. Η είσοδος σε ένα βρόχο υποχρεωτικά γίνεται από την αρχή του. Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής Καλή Επιτυχία ~ 13 ~