ΔΙΕΡΜΗΝΕΥΤΗΣ ΓΛΩΣΣΑΣ

ΑΝΤΙΘΕΤΟΙ ΣΥΓΚΡΙΤΙΚΟΙ ΤΕΛΕΣΤΕΣ

= (ίσο) <> (διάφορο)
< (μικρότερο) >= (μεγαλύτερο-ίσο)
> (μεγαλύτερο) <= (μικρότερο-ίσο)
<= (μικρότερο-ίσο) > (μεγαλύτερο)
>= (μεγαλύτερο-ίσο) < (μικρότερο)

______________________________________________________________

Πρωτοβάθμια εξίσωση

(λέγεται πρωτοβάθμια γιατί ο άγνωστος χ είναι υψωμένος εις την μονάδα)

γενική μορφή:  αχ+β=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 και τότε η ροή του προγράμματος θα συνεχίσει μετά το τέλος_επανάληψης

______________________________________________________________

ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΟΣΟ (ΑΝΑΛΥΤΙΚΑ)

Η εντολή ΟΣΟ

Η εντολή ΟΣΟ είναι η πιο ισχυρή εντολή επανάληψης. Χρησιμοποιείται συνήθως όταν δεν ξέρουμε τον αριθμό των επαναλήψεων, αλλά οι επαναλήψεις εξαρτώνται από κάποια συνθήκη. Την προτιμούμε από την ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ όταν είναι πιθανό να μη γίνει καμία επανάληψη, γιατί στην ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ γίνεται πάντα τουλάχιστον μία.

Παρατήρηση

Η ΟΣΟ δεν περιλαμβάνει μετρητή όπως η ΓΙΑ. Αν θέλετε να βάλετε μετρητή στην ΟΣΟ, θυμηθείτε τα τρία βήματα του μετρητή:

  1. Αρχικοποίηση πριν την ΟΣΟ (π.χ. i <- 1)
  2. Μεταβολή πριν το ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ (π.χ. i <- i + 1)

Στο παρακάτω πρόγραμμα παρατηρείτε τα εξής

Υπάρχει ο μετρητής i ο οποίος αρχικοποιείται πριν την ΟΣΟ με το 1

Μεσα στην επανάληψη ο μετρητής i αυξάνει κατά 1 οπότε όταν τελειώσει η επανάληψη το i θα μας δώσει τον αριθμό των επαναλήψεων που θα γίνουν.

Υπάρχει η μεταβλητή S η οποία αρχικοποιείται με το 0 πριν την επανάληψη και μέσα στην επανάληψη αυξάνεται κατά α . Άρα στο τέλος της επανάληψης το S θα μας υπολογίσει το άθροισμα των θετικών αριθμών που θα δώσει ο χρήστης

Παρατηρήστε επίσης ότι το προγραμμα διαβάζει το α μία φορά πριν την “ΟΣΟ” για να μπορέσει να γίνει ο έλεγχος της συνθήκης α>0 και άλλη μία φορά μέσα στην “ΟΣΟ” για να μπορέσει να ξαναγίνει ο έλεγχος με διαφορετικό α όταν η επανάληψη θα πάει πάλι απ’ την αρχή.

<- 1
<- 0
Διάβασε α
ΟΣΟ α > 0 ΕΠΑΝΑΛΑΒΕ
<- S + α
<- i + 1
Διάβασε α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

______________________________________________________________

ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΜΕΧΡΙΣ_ΟΤΟΥ (ΑΝΑΛΥΤΙΚΑ)

Η εντολή ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ χρησιμοποιείται όταν δεν υπάρχει συγκεκριμένος αριθμός επαναλήψεων, αλλά οι επαναλήψεις εξαρτώνται από κάποια συνθήκη. Την προτιμούμε από την ΟΣΟ όταν θέλουμε να γίνει τουλάχιστον μία επανάληψη. Είναι η αντίστοιχη της repeat – until της Pascal και της do – while στην Basic και στη C.

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 
ΔΙΑΒΑΣΕ βαθμός
ΜΕΧΡΙΣ_ΟΤΟΥ βαθμός >= 0 ΚΑΙ βαθμός <= 20

Παρατήρηση

Η ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ δεν περιλαμβάνει μετρητή όπως η ΓΙΑ. Αν θέλετε να βάλετε μετρητή στην ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ, θυμηθείτε τα τρία βήματα του μετρητή:

  1. Αρχικοποίηση πριν την ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ (π.χ. ι <- 1)
  2. Μεταβολή πριν το ΜΕΧΡΙΣ_ΟΤΟΥ (π.χ. ι <- ι + 1)
  3. Συνθήκη τέλους στη ΜΕΧΡΙΣ_ΟΤΟΥ (π.χ. ΜΕΧΡΙΣ_ΟΤΟΥ ι = 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