ΔΙΕΡΜΗΝΕΥΤΗΣ ΓΛΩΣΣΑΣ
ΑΝΤΙΘΕΤΟΙ ΣΥΓΚΡΙΤΙΚΟΙ ΤΕΛΕΣΤΕΣ
= (ίσο) | <> (διάφορο) |
< (μικρότερο) | >= (μεγαλύτερο-ίσο) |
> (μεγαλύτερο) | <= (μικρότερο-ίσο) |
<= (μικρότερο-ίσο) | > (μεγαλύτερο) |
>= (μεγαλύτερο-ίσο) | < (μικρότερο) |
______________________________________________________________
Πρωτοβάθμια εξίσωση
(λέγεται πρωτοβάθμια γιατί ο άγνωστος χ είναι υψωμένος εις την μονάδα)
γενική μορφή: αχ+β=0
α,β σταθεροί όροι
χ άγνωστος
γενική λύση : χ = -β/α
Περιπτώσεις:
- αν α<>0 τότε μοναδική λύση χ=-β/α
- αν α=0 τότε
- αν και το β=0 τότε εξίσωση ΑΟΡΙΣΤΗ (άπειρες λύσεις)
- αν το β<>0 τότε εξίσωση ΑΔΥΝΑΤΗ (καμία λύση)
Παραδέιγματα:
α=0, β=-5 0χ-5=0 => χ=5/0 εξίσωση ΑΔΥΝΑΤΗ (καμία λύση)
α=0, β=0 0χ+0=0 => χ=0/0 εξίσωση ΑΟΡΙΣΤΗ (άπειρες λύσεις)
α=3, β=-12 3χ-12=0 =>χ=12/3 => χ=4 μοναδική λύση
______________________________________________________________
ΔΟΜΗ-ΑΝ (ΑΝΑΛΥΤΙΚΑ)
Η απλούστερη δομή-Αν είναι η παρακάτω. Στην δομή αυτή εκτελούνται οι εντολές που εμπεριέχονται μόνο αν ισχύει η συνθήκη. Εάν δεν ισχύει, τότε το πρόγραμμα συνεχίζει από το Τέλος_αν και κάτω χωρίς να εκτελεστούν οι εντολές.
Αν <συνθήκη> τότε
Εντολές
Τέλος_αν
………………………………………………………………………………………
Η αμέσως λίγο πιο σύνθετη δομή-Αν είναι η παρακάτω. Στην δομή αυτή εκτελείται η ομάδα εντολών-1 που εμπεριέχονται πριν το αλλιώς μόνο αν ισχύει η συνθήκη. Εάν δεν ισχύει, τότε εκτελείται η ομάδα εντολών-2 και το πρόγραμμα συνεχίζει από το Τέλος_αν και κάτω.
Αν <συνθήκη> τότε
ομάδα εντολών-1
αλλιώς
ομάδα εντολών-2
Τέλος_αν
………………………………………………………………………………………
Η συνθετότερη δομή-Αν είναι η παρακάτω. Στην δομή αυτή εκτελείται η κάθε ομάδα εντολών ανάλογα με το ποιά συνθήκη ισχύει. Εάν δεν ισχύει, καμία συνθήκη τότε εκτελείται η ομάδα εντολών-4 και το πρόγραμμα συνεχίζει από το Τέλος_αν και κάτω.
Αν <συνθήκη-1> τότε
ομάδα εντολών-1
αλλιώς_αν <συνθήκη-2> τότε
ομάδα εντολών-2
αλλιώς_αν <συνθήκη-3> τότε
ομάδα εντολών-3
αλλιώς
ομάδα εντολών-4
Τέλος_αν
______________________________________________________________
ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΓΙΑ (ΑΝΑΛΥΤΙΚΑ)
Η δομή επανάληψης (ΓΙΑ) χρησιμοποιείται όταν γνωρίζουμε εξαρχής τον αριθμό των επαναλήψεων που θέλουμε να κάνει το πρόγραμμα
Γενική μορφή
Για i από κ μέχρι λ με_βήμα μ
εντολές
τέλος_επανάληψης
το i είναι ένας μετρητής που ξεκινάει από τον αριθμό κ και καταλήγει στον λ+1 αυξάνοντας σε κάθε νέα επανάληψη κατά μ
όταν το μ=1 τότε δεν βάζουμε καθόλου το “με_βήμα”. Θεωρείται ότι είναι το βήμα είναι 1.
παράδειγμα:
Για i από 1 μέχρι 10
εντολές
τέλος_επανάληψης
- ο μετρητής i αρχίζει από το 1
- η ροή του προγράμματος μπαίνει μέσα στην επανάληψη και εκτελούνται οι εντολές
- κάθε φορά που η ροή του προγράμματος φτάνει στο τέλος_επανάληψης ο μετρητής i αυξάνει κατά 1
- στην συνέχεια η ροή του προγράμματος γυρνά στην εντολή Για …… και τότε γίνεται αυτόματα έλεγχος του μετρητή i έαν έχει ξεπεράσει την τιμή 10.
- εάν όχι, η ροή του προγράμματος μπαίνει μέσα στην επανάληψη και εκτελούνται και πάλι οι εντολές, εντός της επανάληψης.
- η επανάληψη θα σταματήσει όταν ο μετρητής i πάρει την τιμή 11 και τότε η ροή του προγράμματος θα συνεχίσει μετά το τέλος_επανάληψης
______________________________________________________________
ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΟΣΟ (ΑΝΑΛΥΤΙΚΑ)
Η εντολή ΟΣΟ
Η εντολή ΟΣΟ είναι η πιο ισχυρή εντολή επανάληψης. Χρησιμοποιείται συνήθως όταν δεν ξέρουμε τον αριθμό των επαναλήψεων, αλλά οι επαναλήψεις εξαρτώνται από κάποια συνθήκη. Την προτιμούμε από την ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ όταν είναι πιθανό να μη γίνει καμία επανάληψη, γιατί στην ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ γίνεται πάντα τουλάχιστον μία.
Παρατήρηση
Η ΟΣΟ δεν περιλαμβάνει μετρητή όπως η ΓΙΑ. Αν θέλετε να βάλετε μετρητή στην ΟΣΟ, θυμηθείτε τα τρία βήματα του μετρητή:
- Αρχικοποίηση πριν την ΟΣΟ (π.χ. i <- 1)
- Μεταβολή πριν το ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ (π.χ. i <- i + 1)
Στο παρακάτω πρόγραμμα παρατηρείτε τα εξής
Υπάρχει ο μετρητής i ο οποίος αρχικοποιείται πριν την ΟΣΟ με το 1
Μεσα στην επανάληψη ο μετρητής i αυξάνει κατά 1 οπότε όταν τελειώσει η επανάληψη το i θα μας δώσει τον αριθμό των επαναλήψεων που θα γίνουν.
Υπάρχει η μεταβλητή S η οποία αρχικοποιείται με το 0 πριν την επανάληψη και μέσα στην επανάληψη αυξάνεται κατά α . Άρα στο τέλος της επανάληψης το S θα μας υπολογίσει το άθροισμα των θετικών αριθμών που θα δώσει ο χρήστης
Παρατηρήστε επίσης ότι το προγραμμα διαβάζει το α μία φορά πριν την “ΟΣΟ” για να μπορέσει να γίνει ο έλεγχος της συνθήκης α>0 και άλλη μία φορά μέσα στην “ΟΣΟ” για να μπορέσει να ξαναγίνει ο έλεγχος με διαφορετικό α όταν η επανάληψη θα πάει πάλι απ’ την αρχή.
i <- 1
S <- 0
Διάβασε α
ΟΣΟ α > 0 ΕΠΑΝΑΛΑΒΕ
S <- S + α
i <- i + 1
Διάβασε α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
______________________________________________________________
ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΜΕΧΡΙΣ_ΟΤΟΥ (ΑΝΑΛΥΤΙΚΑ)
Η εντολή ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ χρησιμοποιείται όταν δεν υπάρχει συγκεκριμένος αριθμός επαναλήψεων, αλλά οι επαναλήψεις εξαρτώνται από κάποια συνθήκη. Την προτιμούμε από την ΟΣΟ όταν θέλουμε να γίνει τουλάχιστον μία επανάληψη. Είναι η αντίστοιχη της repeat – until της Pascal και της do – while στην Basic και στη C.
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ βαθμός
ΜΕΧΡΙΣ_ΟΤΟΥ βαθμός >= 0 ΚΑΙ βαθμός <= 20
Παρατήρηση
Η ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ δεν περιλαμβάνει μετρητή όπως η ΓΙΑ. Αν θέλετε να βάλετε μετρητή στην ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ, θυμηθείτε τα τρία βήματα του μετρητή:
- Αρχικοποίηση πριν την ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ (π.χ. ι <- 1)
- Μεταβολή πριν το ΜΕΧΡΙΣ_ΟΤΟΥ (π.χ. ι <- ι + 1)
- Συνθήκη τέλους στη ΜΕΧΡΙΣ_ΟΤΟΥ (π.χ. ΜΕΧΡΙΣ_ΟΤΟΥ ι = 10)
Άλλο παράδειγμα
i <- 1
S <- 0
Αρχή_επανάληψης
Διάβασε α
S <- S + α
i <- i + 1
Μέχρις_ότου α<=0
Στο παραπάνω πρόγραμμα παρατηρείτε τα εξής
Υπάρχει ο μετρητής i ο οποίος αρχικοποιείται πριν την επανάληψη με το 1
Μεσα στην επανάληψη ο μετρητής i αυξάνει κατά 1 οπότε όταν τελειώσει η επανάληψη το i θα μας δώσει τον αριθμό των επαναλήψεων που θα γίνουν.
Υπάρχει η μεταβλητή S η οποία αρχικοποιείται με το 0 πριν την επανάληψη και μέσα στην επανάληψη αυξάνεται κατά α . Άρα στο τέλος της επανάληψης το S θα μας υπολογίσει το άθροισμα των θετικών αριθμών που θα δώσει ο χρήστης
Παρατηρήστε επίσης ότι το πρόγραμμα διαβάζει το α μόνο μία φορά και μέσα στην επανάληψη. Δεν χρειάζεται να διαβάσει το α και πριν την επανάληψη όπως γίνεται στην “ΟΣΟ” γιατί εδω η συνθήκη ελέγχου βρίσκεται στο τέλος της επανάληψης και όχι στην αρχή.
Οπότε κάθε φορά που ξανα-ξεκινά η επανάληψη το α είναι διαφορετικό.
Τέλος όπως φαίνεται και στο πρόγραμμα η επανάληψη σταματά όταν δοθεί το μηδέν ή αρνητικός αριθμός.
______________________________________________________________
ΑΘΡΟΙΣΜΑ ΣΥΓΚΕΚΡΙΜΕΝΟΥ ΠΛΗΘΟΥΣ ΑΡΙΘΜΩΝ
Αλγόριθμος test
S<-0
Για i από 1 μέχρι 10
Εμφάνισε "δωσε αριθμό"
Διάβασε a
S<-S+a
Τέλος_επανάληψης
Εμφάνισε "Το άθροισμα είναι: ",S
Τέλος test
- Στο παραπάνω πρόγραμμα ο χρήστης δίνει 10 τυχαίους αριθμούς στην μεταβλητή “a” μέσω της επανάληψης “Για”
- Το πρόγραμμα χρησιμοποιεί την μεταβλήτή “S” για να υπολογιίσει το άθροισμα
- Η μεταβλητή “S” πρέπει να μηδενιστεί-αρχικοποιηθεί πριν την επανάληψη
- Μες την επανάληψη, στην μεταβλητή “S” προστίθεται ότι είχε πριν + τον νέο αριθμό που δίνει ο χρήστης με την βοήθεια της εντολής “Δάβασε”
______________________________________________________________
ΑΘΡΟΙΣΜΑ ΤΥΧΑΙΟΥ ΠΛΗΘΟΥΣ ΑΡΙΘΜΩΝ ΜΕ “ΟΣΟ”
Αλγόριθμος test
S ← 0
Εμφάνισε "Δώσε αριθμό"
Διάβασε a
Όσο a ≠ 0 επανάλαβε
S ← S + a
Εμφάνισε "δωσε αριθμό"
Διάβασε a
Τέλος_επανάληψης
Εμφάνισε "Το άθροισμα είναι: ", S
Τέλος test
______________________________________________________________
ΜΙΚΡΟΤΕΡΟΣ ΣΥΓΚΕΚΡΙΜΕΝΟΥ ΠΛΗΘΟΥΣ ΑΡΙΘΜΩΝ
Αλγόριθμος test
Εμφάνισε "Δώσε αριθμό"
Διάβασε a
min ← a
Για i από 2 μέχρι 10
Εμφάνισε "Δώσε αριθμό"
Διάβασε a
Αν a < min τότε
min ← a
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "O μικρότερος είναι ο: ", min
Τέλος test
______________________________________________________________
ΓΛΩΣΣΑ (ΕΙΣΑΓΩΓΗ ΑΡΙΘΜΩΝ ΣΕ ΛΙΣΤΑ-ΠΙΝΑΚΑ)
Αλγόριθμος test
Για i από 1 μέχρι 5
Εμφάνισε "ΔΩΣΕ ΑΡΙΘΜΟ"
Διάβασε Α[i]
Τέλος_επανάληψης
Τέλος test
______________________________________________________________
ΓΛΩΣΣΑ (ΕΜΦΑΝΙΣΗ ΑΡΙΘΜΩΝ ΛΙΣΤΑΣ-ΠΙΝΑΚΑ)
Αλγόριθμος test
Για i από 1 μέχρι 5
Εμφάνισε Α[i]
Τέλος_επανάληψης
Τέλος test
______________________________________________________________
ΓΛΩΣΣΑ (ΑΘΡΟΙΣΜΑ ΑΡΙΘΜΩΝ ΛΙΣΤΑΣ-ΠΙΝΑΚΑ)
Εννοείται ότι πρώτα θα πρέπει να γεμίσουμε με αριθμός την λίστα ή τον πίνακα για να δουλέψει το παρακάτω πρόγραμμα.
Αλγόριθμος test
S ← 0
Για i από 1 μέχρι 5
S ← S + A[i]
Τέλος_επανάληψης
Εμφάνισε "ΤΟ ΑΘΡΟΙΣΜΑ ΕΙΝΑΙ: ", S
Τέλος test
______________________________________________________________
ΓΛΩΣΣΑ (ΕΥΡΕΣΗ ΑΡΙΘΜΟΥ ΣΕ ΛΙΣΤΑ-ΠΙΝΑΚΑ)
Αλγόριθμος test
Εμφάνισε "ποιόν αριθμό ψάχνεις;"
Διάβασε k
Για i από 1 μέχρι 5
Αν k = A[i] τότε
Εμφάνισε "βρήκα τον ", k, " στην θέση ", i
Τέλος_αν
Τέλος_επανάληψης
Τέλος test