Αποστολέας Θέμα: Στη συνθήκη της ΟΣΟ μπορω να έχω στοιχείο του πίνακα ή βγαίνω εκτός πίνακα;  (Αναγνώστηκε 743 φορές)

iomil

  • Θαμώνας
  • ***
  • Μηνύματα: 23
Γεια σας!

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

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

evry

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

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

iomil

  • Θαμώνας
  • ***
  • Μηνύματα: 23
Σ' ευχαριστώ πάρα πολύ!
Ταχύτατος και σαφέστατος!!!

tdrivas

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 607
  • κάποτε έκαιγαν βιβλία,τώρα καίνε μυαλά...
Μπορείς όμως αυτό:

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