Στη συνθήκη της ΟΣΟ μπορω να έχω στοιχείο του πίνακα ή βγαίνω εκτός πίνακα;

Ξεκίνησε από iomil, 06 Απρ 2015, 11:13:13 ΠΜ

« προηγούμενο - επόμενο »

iomil

Γεια σας!

Θα ήθελα να ρωτήσω αν μπορώ να γράψω κάτι τέτοιο:
ΔΙΑΒΑΣΕ χ
i <-- 1
ΟΣΟ i <=10 και Α <> χ ΕΠΑΝΑΛΑΒΕ
     .......
     i <-- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

κάτι τέτοιο είναι σωστό ή βγαίνει ο υπολογιστής εκτός πίνακα στην περίπτωση που το χ δεν υπάρχει μέσα στον πίνακα; Δηλαδή ο υπολογιστής για i = 11 θα δει ότι η συνθήκη i <= 10 είναι ψευδής και θα σταματήσει ή θα ελέγξει και τη συνθήκη Α[11] <> χ οπότε και θα βγει εκτός πίνακα;

evry

Το πρόβλημα δεν είναι αλγοριθμικό αλλά προγραμματιστικό. Έχει να κάνει με το πως η κάθε γλώσσα υλοποιεί την αποτίμηση των λογικών εκφράσεων, αν δηλαδή μιλάμε για ολική η μερική αποτίμηση, (βλέπε short-circuit evaluation).
Κανονικά σε ψευδογλώσσα δεν πρέπει να μας απασχολεί, δεν έχει νόημα. Σε ΓΛΩΣΣΑ θα έλεγα ότι δεν μπορούμε να το δεχθούμε, αφού εκεί μάλλον έχουμε πλήρη αποτίμηση.
Πάντως θεωρώ ότι το να κοπεί βαθμός από κάτι τέτοιο είναι υπερβολικό.

Αν θες μια συμβουλή θα σου έλεγα να μην το κάνεις, ούτε σε ψευδογλώσσα και να χρησιμοποιείς λογική μεταβλητή, γιατί υπάρχουν βαθμολογητές που ίσως να σου κόψουν για αυτό, άσχετα αν δεν πρέπει.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

iomil


tdrivas

Μπορείς όμως αυτό:

ΔΙΑΒΑΣΕ χ
i<--0
Αρχή_επανάληψης
   ι<--ι+1
Μέχρις_ότου ι=10 ή Α[ι] = χ
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies
https://github.com/tdrivas