Γεια σας!
Θα ήθελα να ρωτήσω αν μπορώ να γράψω κάτι τέτοιο:
ΔΙΑΒΑΣΕ χ
i <-- 1
ΟΣΟ i <=10 και Α <> χ ΕΠΑΝΑΛΑΒΕ
.......
i <-- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
κάτι τέτοιο είναι σωστό ή βγαίνει ο υπολογιστής εκτός πίνακα στην περίπτωση που το χ δεν υπάρχει μέσα στον πίνακα; Δηλαδή ο υπολογιστής για i = 11 θα δει ότι η συνθήκη i <= 10 είναι ψευδής και θα σταματήσει ή θα ελέγξει και τη συνθήκη Α[11] <> χ οπότε και θα βγει εκτός πίνακα;
Το πρόβλημα δεν είναι αλγοριθμικό αλλά προγραμματιστικό. Έχει να κάνει με το πως η κάθε γλώσσα υλοποιεί την αποτίμηση των λογικών εκφράσεων, αν δηλαδή μιλάμε για ολική η μερική αποτίμηση, (βλέπε short-circuit evaluation).
Κανονικά σε ψευδογλώσσα δεν πρέπει να μας απασχολεί, δεν έχει νόημα. Σε ΓΛΩΣΣΑ θα έλεγα ότι δεν μπορούμε να το δεχθούμε, αφού εκεί μάλλον έχουμε πλήρη αποτίμηση.
Πάντως θεωρώ ότι το να κοπεί βαθμός από κάτι τέτοιο είναι υπερβολικό.
Αν θες μια συμβουλή θα σου έλεγα να μην το κάνεις, ούτε σε ψευδογλώσσα και να χρησιμοποιείς λογική μεταβλητή, γιατί υπάρχουν βαθμολογητές που ίσως να σου κόψουν για αυτό, άσχετα αν δεν πρέπει.
Σ' ευχαριστώ πάρα πολύ!
Ταχύτατος και σαφέστατος!!!
Μπορείς όμως αυτό:
ΔΙΑΒΑΣΕ χ
i<--0
Αρχή_επανάληψης
ι<--ι+1
Μέχρις_ότου ι=10 ή Α[ι] = χ