Ερωτήσεις

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

2. Να γράψω αλγόριθμο ή πρόγραμμα;
Πρέπει να διακρίνετε αν σας ζητείται να αναπτύξετε αλγόριθμο ή πρόγραμμα. Η εκφώνηση ενός θέματος θα είναι: " ... Να γράψετε αλγόριθμο ή πρόγραμμα το οποίο ... ". Αν η εκφώνηση σας δίνει τη δυνατότητα να επιλέξετε, λοιπόν, μεταξύ αλγορίθμου ή προγράμματος, τότε κατά τη γνώμη μας είναι προτιμότερο να αναπτύξετε αλγόριθμο και όχι πρόγραμμα. Είναι φανερό ότι η ανάπτυξη ενός προγράμματος πρέπει να γίνει αυστηρά και με βάση τους κανόνες της γλώσσας που θα χρησιμοποιήσετε. Από την άλλη πλευρά, αλγόριθμο μπορείτε να γράψετε με μία από τις τέσσερις μορφές του (ελεύθερο κείμενο, φυσική γλώσσα με βήματα, διαγραμματικές τεχνικές ή κωδικοποίηση).

3. Ποια είναι η διαφορά μεταξύ της συγγραφής αλγορίθμου σε ψευδογλώσσα από τη συγγραφή προγράμματος στη ΓΛΩΣΣΑ;
Όταν γράφουμε ένα πρόγραμμα στη ΓΛΩΣΣΑ τότε:
i. Οι εντολές της ΓΛΩΣΣΑΣ είναι πάντα με κεφαλαία, ενώ οι μεταβλητές είναι με πεζά ή κεφαλαία.
ii. Στη ΓΛΩΣΣΑ πρέπει να υπάρχουν δηλώσεις τύπων δεδομένων των μεταβλητών που χρησιμοποιούνται. Αυτό οφείλεται στο ότι στην αρχή της εκτέλεσης του προγράμματος, δεσμεύεται συγκεκριμένος αριθμός θέσεων (bytes) στην κύρια μνήμη για την προσωρινή αποθήκευση των μεταβλητών. Η κύρια μνήμη έχει περιορισμένη χωρητικότητα, γεγονός που πρέπει να λαμβάνεται υπόψη κατά τη δήλωση των τύπων δεδομένων των μεταβλητών. Οι δηλώσεις αυτές πρέπει να γίνονται κατά τέτοιο τρόπο ώστε να μην σπαταλάτε άσκοπα χώρος στη μνήμη. Στο επίπεδο της αλγοριθμικής ψευδογλώσσας, δεν είναι απαραίτητες οι δηλώσεις τύπων δεδομένων των μεταβλητών που χρησιμοποιούνται.
iii. Κάθε πρόγραμμα αρχίζει με τη λέξη ΠΡΟΓΡΑΜΜΑ σε αντίθεση με τον αλγόριθμο που άρχιζε με τη λέξη Αλγόριθμος.
iv. Στο πρόγραμμα, μετά τις δηλώσεις των μεταβλητών υπάρχει η λέξη ΑΡΧΗ για να δηλώνει την αρχή των εκτελέσιμων εντολών. Όλες οι εντολές περιλαμβάνονται υποχρεωτικά ανάμεσα στις λέξεις ΑΡΧΗ και ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ όπου με το ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ δηλώνεται ο τερματισμός του προγράμματος.
v. Ως τελεστής εκχώρησης χρησιμοποιείται το σύμβολο <-, προκειμένου να διαφοροποιείται από το ίσον (=). Στη ΓΛΩΣΣΑ, δεν μπορεί να χρησιμοποιηθεί ως τελεστής εκχώρησης το βέλος ( ), που χρησιμοποιήθηκε στους αλγορίθμους, αφού το προγραμματιστικό περιβάλλον δεν διαθέτει αυτό το σύμβολο.
vi. Κάθε εντολή θα πρέπει να γράφεται σε ξεχωριστή γραμμή. Αν μια εντολή πρέπει να συνεχιστεί και στην επόμενη γραμμή, τότε ο πρώτος χαρακτήρας αυτής της γραμμής πρέπει να είναι ο χαρακτήρας &.
vii. Η ΓΛΩΣΣΑ περιέχει έτοιμες γνωστές συναρτήσεις από τα μαθηματικά οι οποίες χρησιμοποιούνται στα προγράμματα.
viii. Η ΓΛΩΣΣΑ υποστηρίζει για την εισαγωγή δεδομένων από το πληκτρολόγιο την εντολή ΔΙΑΒΑΣΕ και για την εμφάνιση των αποτελεσμάτων την εντολή ΓΡΑΨΕ.
Όταν γράφουμε ένα πρόγραμμα σε μία γλώσσα προγραμματισμού τότε:
Πρέπει να ακολουθήσουμε αυστηρά τους κανόνες της γλώσσας που χρησιμοποιούμε.

4. Τι είναι τα Δεδομένα και τα Αποτελέσματα και πότε χρησιμοποιούνται;
Κάθε αλγόριθμος χρειάζεται στοιχεία εισόδου, τα οποία ονομάζονται δεδομένα. 'Ετσι, όταν γράφουμε αλγόριθμο σε ψευδογλώσσα και ανάλογα με την εκφώνηση του προβλήματος, διακρίνουμε δύο τρόπους εισαγωγής των δεδομένων:
i. Αν η εκφώνηση προσδιορίζει "Να γράψετε αλγόριθμο ο οποίος θα διαβάζει τους αριθμούς α, β και θα υπολογίζει και θα εμφανίζει το άθροισμά τους", τότε πρέπει να χρησιμοποιηθεί η εντολή Διάβασε για την εισαγωγή των δεδομένων (βλέπε Αλγόριθμος Άθροισμα1).
ii. Αν η εκφώνηση προσδιορίζει "Δίνονται οι αριθμοί α, β. Να γράψετε αλγόριθμο ο οποίος θα υπολογίζει και θα γράφει το άθροισμά τους", τότε πρέπει να χρησιμοποιηθεί η δηλωτική εντολή Δεδομένα για την εισαγωγή των δεδομένων (βλέπε Αλγόριθμος Άθροισμα2).
Κάθε αλγόριθμος παράγει στοιχεία εξόδου, τα οποία ονομάζονται αποτελέσματα. Ο αλγόριθμος δεν είναι εκτελέσιμος από υπολογιστή. Για αυτό το λόγο, τα αποτελέσματα του αλγορίθμου δεν παρουσιάζονται σε κάποια μονάδα εξόδου. Επειδή όμως, η κατασκευή ενός αλγορίθμου αποσκοπεί στη μετέπειτα μεταφορά του σε κάποιο προγραμματιστικό περιβάλλον, συνηθίζουμε να θεωρούμε ότι τα αποτελέσματα θα παρουσιαστούν είτε στην οθόνη, είτε στον εκτυπωτή. Ανάλογα, λοιπόν με την εκφώνηση του προβλήματος, διακρίνουμε δύο τρόπους παρουσίασης των αποτελεσμάτων:
i. Αν η εκφώνηση προσδιορίζει "Να γράψετε αλγόριθμο ο οποίος θα διαβάζει τους αριθμούς α, β και θα υπολογίζει και θα εμφανίζει το άθροισμά τους", τότε πρέπει να χρησιμοποιηθεί η εντολή Εμφάνισε για την παρουσίαση των αποτελεσμάτων στην οθόνη (βλέπε Αλγόριθμος Άθροισμα3).
Ισοδύναμα, αν στην εκφώνηση χρησιμοποιηθεί η λέξη "... τυπώνει ή εκτυπώνει το άθροισμά τους", τότε πρέπει να χρησιμοποιηθεί η εντολή Εκτύπωσε ή Γράψε για την παρουσίαση των αποτελεσμάτων στον εκτυπωτή (βλέπε Αλγόριθμος Άθροισμα1, Αλγόριθμος Άθροισμα2).
Τονίζουμε ότι οι εντολές Εμφάνισε, Εκτύπωσε και Γράψε είναι ισοδύναμες.
ii.Αν η εκφώνηση προσδιορίζει "Να γράψετε αλγόριθμο ο οποίος θα διαβάζει τους αριθμούς α, β και θα υπολογίζει το άθροισμά τους", τότε πρέπει να χρησιμοποιηθεί η δηλωτική εντολή Αποτελέσματα για την παρουσίαση των αποτελεσμάτων (βλέπε Αλγόριθμος Άθροισμα4).

Αλγόριθμος Άθροισμα1
   Διάβασε α
   Διάβασε β
   Σ α + β
   Εκτύπωσε Σ
Τέλος Άθροισμα1

Αλγόριθμος Άθροισμα2
Δεδομένα // α, β //
   Σ α + β
   Γράψε Σ
Τέλος Άθροισμα2

Αλγόριθμος Άθροισμα3
   Διάβασε α
   Διάβασε β
   Σ α + β
   Εμφάνισε Σ
Τέλος Άθροισμα3

Αλγόριθμος Άθροισμα4
   Διάβασε α
   Διάβασε β
   Σ α + β
Αποτελέσματα // Σ //
Τέλος Άθροισμα4

5. Πώς συντάσσετε ένας αλγόριθμος;
Ένας αλγόριθμος σε ψευδογλώσσα ξεκινάει πάντα με τη λέξη Αλγόριθμος και ακολουθείται από το όνομα του αλγορίθμου.
Παράδειγμα: Αλγόριθμος Ταμειακή_Μηχανή
Αν δεν σας έρχεται στο μυαλό εύκολα κάποιο όνομα για τον Αλγόριθμο στις εξετάσεις χρησιμοποιείστε ως όνομα το θέμα. Έτσι, αν γράφετε το θέμα 3 γράψτε Αλγόριθμος Θέμα_3. Προσοχή στο όνομα! Είναι καλό να αποφεύγεται η χρήση του ονόματος του αλγορίθμου και ως όνομα κάποιας μεταβλητής ή σταθεράς. Ο αλγόριθμος κλείνει με την εντολή Τέλος.
Παράδειγμα Τέλος Ταμειακή_Μηχανή.

6. Πώς συντάσσετε ένα πρόγραμμα;
Το πρόγραμμα ξεκινάει με τη λέξη ΠΡΟΓΡΑΜΜΑ.
Παράδειγμα: ΠΡΟΓΡΑΜΜΑ Ταμειακή_Μηχανή
και κλείνει με την εντολή ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ.
Παράδειγμα: ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ταμειακή_Μηχανή
Ακολουθούν οι δηλώσεις των σταθερών (αν υπάρχουν) και στη συνέχεια οι δηλώσεις των μεταβλητών.
Ακολουθεί η δηλωτική εντολή ΑΡΧΗ και στη συνέχεια γράφονται οι εκτελέσιμες εντολές του προγράμματος.
Παράδειγμα:

ΠΡΟΓΡΑΜΜΑ βιβλίο
ΣΤΑΘΕΡΕΣ
  ΦΠΑ = 0.04
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ποσότητα
  ΠΡΑΓΜΑΤΙΚΕΣ: Τιμή
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώστε ποσότητα'
  ΔΙΑΒΑΣΕ Ποσότητα
  ΓΡΑΨΕ 'Δώστε τιμή βιβλίου'
  ΔΙΑΒΑΣΕ Τιμή
  Τιμή <- Τιμή + ΦΠΑ * Τιμή
  Τιμή <- Τιμή * Ποσότητα
  ΓΡΑΨΕ 'Η τελική τιμή είναι', Τιμή
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ βιβλίο