Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: landreou στις 09 Δεκ 2013, 01:57:18 ΜΜ

Τίτλος: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: landreou στις 09 Δεκ 2013, 01:57:18 ΜΜ
Γεια σε όλους τους φίλους του φόρουμ .
Θα ήθελα α διαλευκάνω το ζήτημα "ΕΚΦΡΑΣΕΙΣ"  με ορισμούς, διαφορες και παραδείγματα.
Επίσης για την τιμή φρουρό έναν ορισμό.
Σας ευχαριστώ .
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: dora στις 09 Δεκ 2013, 04:12:44 ΜΜ
Πώς; ???
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: manosteach στις 09 Δεκ 2013, 05:49:20 ΜΜ
Εκφράσεις= Πράξεις (Αριθμητικές & Λογικές )
πχ: Αριθμητική έκφραση  5+κ*α
    :Λογική α>β, Δ>0 ΚΑΙ Κ<>Δ


Όταν λές τιμή φρουρό, τι ακριβώς εννοείς;;;;
Εννοείς τις λογικές μεταβλητές;;;;;
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: ikariofil στις 09 Δεκ 2013, 09:03:45 ΜΜ
κεφάλαιο 8, σελ 175 , Παρατηρήσεις
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: petrosp13 στις 10 Δεκ 2013, 11:49:51 ΠΜ
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: George Eco στις 22 Αυγ 2019, 10:32:48 ΠΜ
Παράθεση από: petrosp13 στις 10 Δεκ 2013, 11:49:51 ΠΜ
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων

Διαφωνώ, αλλά πολύ κοντά και πρακτικά συνήθως εκεί το συναντάμε όντως. Αλλά πιστσεύω πιο σωστό θα ήταν

Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη κάποιας δομής επανάληψης, όταν αυτή δε λήγει με άλλο τρόπο.

Ενότητα 8.2.1 Παράδειγμα 2 Παρατηρήσεις. Η σελίδα διαφέρει ανά έκδοση.

Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: vageo στις 17 Ιουλ 2020, 01:50:00 ΜΜ
1. Δηλαδή η τιμή φρουρός ως τιμή εισόδου εισάγεται ΜΟΝΟ με εντολή ΔΙΑΒΑΣΕ;

2. Μπορώ να γράψω ένα υποπρόγραμμα με το οποίο να ετοιμάζω μια τιμή που όταν θα την δεχθεί το κύριο πρόγραμμα τότε  " ... με την οποία ο χρήστης να σηματοδοτεί την λήξη κάποιας δομής επανάληψης, όταν αυτή δε λήγει με άλλο τρόπο. ...";

3. Η μορφή, ΓΙΑ μεταβλητή ΑΠΟ τ1 ΜΕΧΡΙ τ2 ΜΕ_ΒΗΜΑ β , της δομής επανάληψης είναι αδύνατον να τερματίσει με τιμή φρουρό; (εξυπακούεται ότι δεν πρέπει-μπορώ να μεταβάλλω τις τιμές τ1, τ2, και β μέσα στις εντολές της δομής)
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: michaeljohn στις 17 Ιουλ 2020, 03:47:49 ΜΜ
Παράθεση από: petrosp13 στις 10 Δεκ 2013, 11:49:51 ΠΜ
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων
<<<<<<!!!
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: bugman στις 17 Ιουλ 2020, 05:08:43 ΜΜ
Ο Φρουρός χρησιμοποιείται ασφαλώς σε επαναλήψεις. Αλλά όχι ειδικά σε εισαγωγή στοιχείων. Για παράδειγμα τα αλφαριθμητικά στη C έχουν τελευταίο σύμβολο το μηδέν. Για να δούμε το μήκος ενός αλφαριθμητικού πρέπει να διατρέξουμε από την αρχή του αλφαριθμητικού (που τη γνωρίζουμε) μέχρι να βρούμε το μηδέν. Ο φρουρός δηλώνει το τέλος, και χρειάζεται εκεί που δεν έχουμε άλλο τρόπο να γνωρίζουμε πότε τελειώνει κάτι που έχει μεταβλητό μήκος.
Τώρα αν χρησιμοποιηθεί για την εισαγωγή στοιχείων τότε ο φρουρός είναι ένα από τα πιθανά δεδομένα της εισαγωγής. Ένας απλός και σε όλους γνωστός φρουρός είναι το Enter του πληκτρολογίου, σε μια κονσόλα εντολών. Στην κονσόλα δεν υπάρχει τρόπος να ξέρει το σύστημα πότε η εντολή που γράφουμε είναι έτοιμη, διαβάζοντας το τι γράφουμε, την έννοια αυτού. Περιμένει να πατήσουμε το Enter για οτιδήποτε γράψουμε. Αν είναι λάθος αυτό που γράψαμε θα μας το αναφέρει!
Ο χαρακτήρας Enter είναι το  νούμερο δεκατρία σε οποιοδήποτε υπολογιστή με οποιοδήποτε λειτουργικό...Λέγεται Carriage Return ή CR, από το μοχλό αλλαγής γραμμής στις γραφομηχανές!
Επιστροφή φορέα (https://el.wikipedia.org/wiki/%CE%95%CF%80%CE%B9%CF%83%CF%84%CF%81%CE%BF%CF%86%CE%AE_%CF%86%CE%BF%CF%81%CE%AD%CE%B1)

\\ Εντολή Χαρακτήρες\\ Enter = 13 \\ Πλήκτρο=0\\

Διάβασμα Πλήκτρο
Όσο Πλήκτρο<>Enter Επανέλαβε
Εντολή<-Εντολή+Χαρακτήρας(Πλήκτρο)
Διάβασμα Πλήκτρο
Τέλος Επανάληψης
! Εδώ έχουμε μαζέψει την εντολή.
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: vageo στις 19 Ιουλ 2020, 10:08:47 ΠΜ
Μήπως πρέπει να περιορισθούμε στο τι συμβαίνει στη ΓΛΩΣΣΑ διότι " Dεν έχω C καρdιά μου ", και επομένως πάντα θα πρέπει να απαντήσουμε στο ερώτημα " πού το γράφει στο βιβλίο;"
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: George Eco στις 21 Ιουλ 2020, 12:08:09 ΠΜ
Παράθεση από: vageo στις 17 Ιουλ 2020, 01:50:00 ΜΜ
1. Δηλαδή η τιμή φρουρός ως τιμή εισόδου εισάγεται ΜΟΝΟ με εντολή ΔΙΑΒΑΣΕ;

2. Μπορώ να γράψω ένα υποπρόγραμμα με το οποίο να ετοιμάζω μια τιμή που όταν θα την δεχθεί το κύριο πρόγραμμα τότε  " ... με την οποία ο χρήστης να σηματοδοτεί την λήξη κάποιας δομής επανάληψης, όταν αυτή δε λήγει με άλλο τρόπο. ...";

3. Η μορφή, ΓΙΑ μεταβλητή ΑΠΟ τ1 ΜΕΧΡΙ τ2 ΜΕ_ΒΗΜΑ β , της δομής επανάληψης είναι αδύνατον να τερματίσει με τιμή φρουρό; (εξυπακούεται ότι δεν πρέπει-μπορώ να μεταβάλλω τις τιμές τ1, τ2, και β μέσα στις εντολές της δομής)

1] Συνήθως τη χρησιμοποιούμε σε υλοποιήσεις άγνωστου πλήθους επαναλήψεων. Για παράδειγμα, ένα πρόγραμμα δέχεται τελικούς βαθμούς μαθητών, μέχρι να λάβει τη τιμή -1 (τιμή φρουρός) η οποία είναι αδιανόητη ως βαθμολογία και την ορίζουμε ως τη τιμή λήξης της δομής επανάληψης.
Τιμή φρουρός εδώ μπορεί να είναι και το -10. Αυθαίρετα διαλέγω μία. Θα μπορούσε η εκφώνηση να λέει μέχρι να πάρει αρνητικό αριθμό ως τιμή.

Κάποιος μπορεί να βάλει ως πρώτο αριθμό έναν αρνητικό.
Άλλος μπορεί να βάλει δέκα σωστούς βαθμούς και μετά τη τιμή φρουρό.
Άλλος χρήστης τρέχοντας το πρόγραμμα, μπορεί να εισάγει 300 βαθμολογίες και να βάλει μετά τιμή φρουρό.

ΑΓΝΩΣΤΟ το πλήθος των επαναλήψεων λοιπόν.

3] Στα πλαίσια του μαθήματος η ΓΙΑ χρησιμοποιείται για γνωστό πλήθος βημάτων. Οπότε κι ουδεμία σχέση έχει με τη τιμή φρουρό.

2] Μπορώ να γράψω ένα υποπρόγραμμα με το οποίο να ετοιμάζω μια τιμή φρουρό;
Τι εννοείς;
Συνάρτηση που να επιστρέφει τιμή φρουρό ας πούμε υπό συνθήκη, αλλιώς σωστή τιμή;
Συνάρτηση που να επιστρέφει τιμή σε έλεγχο βρόχου;
Τι θα δέχεται ως ορίσματα η συνάρτηση όμως;
Θα δέχεται τιμές από το χρήστη σε κάθε επανάληψη; Σε αυτή τη περίπτωση απλά κάνεις σχεδόν το ίδιο που λέμε, με ενδιάμεση στάση... ένα υποπρόγραμμα. Τμηματοποιείς ένα πρόγραμμα με άγνωστο πλήθος επαναλήψεων κι αυτό είναι οκ.

Δηλαδή αν έχω:
Κώδικας [Επιλογή]

ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
ΜΕΧΡΙΣ_ΟΤΟΥ β = ΦΡΟΥ(α)

ΣΥΝΑΡΤΗΣΗ ΦΡΟΥ(χ): ΠΡΑΓΜΑΤΙΚΗ
  ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ
  ΦΡΟΥ <- χ * 2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

...τότε πολύ απλά υπολογίζεται μία τιμή φρουρός με άγνωστο πλήθος επαναλήψεων. Μέχρι να δώσει β ακριβώς διπλάσιο του α. Άγνωστο πλήθος (τα διαβάζει σε κάθε επανάληψη τα α,β ε!)

Αν δέχεται όμως τιμές από το ίδιο το πρόγραμμα της ΓΛΩΣΣΑΣ, είναι γνωστό το πλήθος των επαναλήψεων, έτσι δεν είναι;
Τι έχεις κατά νου; Τι εννοείς;
Ένα ΣΥΓΚΕΚΡΙΜΕΝΟ παράδειγμα θα βοηθούσε να απαντούσα εδώ με μεγαλύτερη σιγουριά αν έχουμε τιμή φρουρό ή όχι.
Γενικά, είναι πολύ μα πολύ δύσκολο να σου επιβεβαιώσω ή να σου αποκλείσω κάτι.

Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: vageo στις 23 Ιουλ 2020, 12:26:03 ΠΜ
Το πρόγραμμα που έγραψες με 2 μικρές αλλαγές:

Κώδικας [Επιλογή]

ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
    Σ <- ΦΡΟΥ(α)
ΜΕΧΡΙΣ ΟΤΟΥ Σ = 10

ΣΥΝΑΡΤΗΣΗ ΦΡΟΥ(χ): ΠΡΑΓΜΑΤΙΚΗ
  ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ
  ΦΡΟΥ <- χ * 2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


Για το παραπάνω πρόγραμμα, υπάρχει τιμή φρουρός; ΑΝ ΝΑΙ τότε ποια είναι (ΜΟΝΟ ΜΙΑ ΤΙΜΗ). Να δικαιολογήσετε την απάντησή σας και στις δύο περιπτώσεις (ΝΑΙ ή ΌΧΙ).

1. Υπάρχει τιμή φρουρός και είναι η τιμή 5 διότι αυτή πρέπει να πληκτρολογηθεί κατά την εκτέλεση της εντολής ΔΙΑΒΑΣΕ ... , ώστε στη συνέχεια να εξέλθει του βρόχου η δομή.
2. Υπάρχει τιμή φρουρός και είναι η τιμή 10 διότι με αυτή την τιμή η συνθήκη που ελέγχει την επανάληψη καθίσταται αληθής και η δομή εξέρχεται του βρόχου επανάληψης.
3. Δεν υπάρχει τιμή φρουρός διότι για να είναι τέτοια πρέπει αυτό που θα πληκτρολογηθεί να καθιστά την συνθήκη αληθή και να έχει σαν συνέπεια την έξοδο από την επανάληψη.

Κατά την γνώμη μου και σύμφωνα με το βιβλίο το σωστό είναι το (3.), διότι πρέπει η τιμή να είναι μία και αυτή που εισάγεται με πληκτρολόγηση, διαφορετικά κάθε τιμή που διακόπτει επανάληψη κινδυνεύει να χαρακτηρισθεί τιμή φρουρός.
Επίσης νομίζω ότι πρέπει να αναφερόμαστε σε μία τιμή και όχι σε περιοχή τιμών διότι ο έλεγχος της συνθήκης κάθε φορά γίνεται για μία συγκεκριμένη τιμή και για αυτή την τιμή είναι αληθής ή ψευδής.
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: George Eco στις 23 Ιουλ 2020, 08:40:26 ΜΜ
Παράθεση από: vageo στις 23 Ιουλ 2020, 12:26:03 ΠΜ
Το πρόγραμμα που έγραψες με 2 μικρές αλλαγές:

Κώδικας [Επιλογή]

ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
    Σ <- ΦΡΟΥ(α)
ΜΕΧΡΙΣ_ΟΤΟΥ Σ = 10

ΣΥΝΑΡΤΗΣΗ ΦΡΟΥ(χ): ΠΡΑΓΜΑΤΙΚΗ
  ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ
  ΦΡΟΥ <- χ * 2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


Για το παραπάνω πρόγραμμα, υπάρχει τιμή φρουρός; ΑΝ ΝΑΙ τότε ποια είναι (ΜΟΝΟ ΜΙΑ ΤΙΜΗ). Να δικαιολογήσετε την απάντησή σας και στις δύο περιπτώσεις (ΝΑΙ ή ΌΧΙ).

1. Υπάρχει τιμή φρουρός και είναι η τιμή 5 διότι αυτή πρέπει να πληκτρολογηθεί κατά την εκτέλεση της εντολής ΔΙΑΒΑΣΕ ... , ώστε στη συνέχεια να εξέλθει του βρόχου η δομή.
2. Υπάρχει τιμή φρουρός και είναι η τιμή 10 διότι με αυτή την τιμή η συνθήκη που ελέγχει την επανάληψη καθίσταται αληθής και η δομή εξέρχεται του βρόχου επανάληψης.
3. Δεν υπάρχει τιμή φρουρός διότι για να είναι τέτοια πρέπει αυτό που θα πληκτρολογηθεί να καθιστά την συνθήκη αληθή και να έχει σαν συνέπεια την έξοδο από την επανάληψη.

Κατά την γνώμη μου και σύμφωνα με το βιβλίο το σωστό είναι το (3.), διότι πρέπει η τιμή να είναι μία και αυτή που εισάγεται με πληκτρολόγηση, διαφορετικά κάθε τιμή που διακόπτει επανάληψη κινδυνεύει να χαρακτηρισθεί τιμή φρουρός.
Επίσης νομίζω ότι πρέπει να αναφερόμαστε σε μία τιμή και όχι σε περιοχή τιμών διότι ο έλεγχος της συνθήκης κάθε φορά γίνεται για μία συγκεκριμένη τιμή και για αυτή την τιμή είναι αληθής ή ψευδής.


Ενδιαφέρον σημείο αυτό που θίγεις. Αλλά τιμή φρουρός μπορεί να είναι αυθαίρετα οποιαδήποτε τιμή μπορεί να σπάσει την επαναληπτικότητα ενός βρόχου. Δε σε νοιάζει αν είναι μία η δυνατή τιμή ή πολλές. Σε νοιάζει να υπάρχει όμως τουλάχιστο μία, αλλιώς το κριτήριο περατότητας σπάει.
Λες "κινδυνεύουν" να ονομαστούν όλες τιμές φρουροί. Να ξεκαθαρίσω, μιλάμε για τιμές του α, που παίρνουμε σε κάθε ΔΙΑΒΑΣΕ α,β εδώ.
Τώρα εδώ η τιμή φρουρός στο εν λόγω παράδειγμα είναι μία.

Αν είχαμε όμως ΜΕΧΡΙΣ_ΟΤΟΥ Σ >= 0 (έχω φάει μια κάτω παύλα στα προηγούμενα εδώ...) θα είχαμε  οποιαδήποτε δυνατή τιμή πάνω από 5 ως ικανή να είναι τιμή Φρουρός.

Αν δε σου αρέσει έτσι μπορείς να το προγραμματίσεις αλλιώς.
Αλλά αν σου πέσει εκφώνηση που να ζητά  ΜΕΧΡΙΣ_ΟΤΟΥ Σ >= 0 δε μπορείς να κάνεις αλλιώς.

Τώρα, αν θες ΔΙΑΚΡΙΤΟ πλήθος (συνήθως μία) τιμής φρουρό, θα απαιτείται κι έλεγχος εγκυρότητας από την άσκηση φαντάζομαι, οπότε και θα εξαλείφεις από εκεί άλλες πιθανές τιμές.

Παράδειγμα:
Θα δέχεσαι βαθμολογίες.
Αποδεκτές βαθμολογίες είναι ακέραιες από 0 μέχρι 20 και η τιμή -1 που θα τερματίζει την εισαγωγή. BOOM! Ξεκάθαρη τιμή φρουρός το -1.





Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: vageo στις 27 Ιουλ 2020, 08:22:45 ΜΜ
Από ότι καταλαβαίνω από αυτό: " ... Να ξεκαθαρίσω, μιλάμε για τιμές του α, που παίρνουμε σε κάθε ΔΙΑΒΑΣΕ α,β εδώ. ... "
μάλλον έχεις την άποψη (ή μήπως όχι), ότι η τιμή φρουρός πρέπει να εισαχθεί από το χρήστη με εντολή ΔΙΑΒΑΣΕ ... έστω και έμμεσα (στο παραπάνω παράδειγμα, ενώ πληκτρολογώ το 5, η τιμή για την οποία σπάει η επανάληψη είναι η 10.

Επιμένω (μπορεί να κάνω και λάθος), σε μία τιμή ως τιμή φρουρός, διότι όταν αποτιμάται η απαραίτητη λογική έκφραση που ελέγχει μια οποιαδήποτε επανάληψη, εκείνη τη στιγμή, όλες οι υπάρχουσες μεταβλητές (ή ονοματισμένες σταθερές ή συναρτήσεις ή παράμετροι), έχουν συγκεκριμένη τιμή βάσει της οποίας στη συνέχεια η λογική έκφραση αποκτά με τη σειρά της και αυτή κάποια τιμή (ή μόνο αληθής ή μόνο ψευδής).
Για αυτή τη συγκεκριμένη τιμή προκύπτει το σπάσιμο του επαναληπτικού βρόχου.

Στο τελευταίο παράδειγμα προφανώς όπως τίθεται, η τιμή -1 είναι τέτοια, επίσης η τιμή -2 είναι επίσης τιμή φρουρός κ.τ.λ. αλλά εδώ υπάρχουν και άλλες σκέψεις:

Όταν οι αποδεικτές τιμές ανήκουν σε κάποιο διάστημα (κλειστό ή ανοιχτό ή ένωση) τιμών (όπως στο παράδειγμα με τη βαθμολογία), τότε Η ΕΚΦΩΝΗΣΗ είναι καλύτερα να ζητάει έλεγχο εγκυρότητας.
Ενώ όταν αποδεκτές τιμές είναι όλες τότε μία τιμή πρέπει να κάνει το break και σε αυτή την περίπτωση Η ΕΚΦΩΝΗΣΗ να ζητάει τιμή φρουρό.

Και επειδή αναφέρθηκε στη συζήτηση και ο έλεγχος εγκυρότητας να θέσω:

ΘΕΜΑ Α
Α2. α) Να περιγράψετε ποια/ες είναι η/οι διαφορά/ες ανάμεσα στον έλεγχο εγκυρότητας και στην τιμή φρουρό;
      β) Να δώσετε ένα παράδειγμα για τα παραπάνω.
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: George Eco στις 27 Ιουλ 2020, 09:04:06 ΜΜ
Παράθεση από: vageo στις 27 Ιουλ 2020, 08:22:45 ΜΜ
Από ότι καταλαβαίνω ....
μάλλον έχεις την άποψη (ή μήπως όχι), ότι η τιμή φρουρός πρέπει να εισαχθεί από το χρήστη με εντολή ΔΙΑΒΑΣΕ ... έστω και έμμεσα (στο παραπάνω παράδειγμα, ενώ πληκτρολογώ το 5, η τιμή για την οποία σπάει η επανάληψη είναι η 10.

Ναι. Αυτό νομίζω.
Αν το πρόγραμμα τρέξει και κάνει διαδικασίες που σου είναι άγνωστο πόσες είναι, αλλά κάθε φορά είναι ίσες με ν, τότε είναι γνωστό το πλήθος επαναλήψεων. Είναι ν επαναλήψεις. Μπορεί να μη το έχουμε υπολογίσει εμείς και να μη ξέρουμε εμείς πόσα είναι τα βήματα, αλλά είναι πάντοτε ν. Οπότε πρόβλημά μας αν δεν υπολογίσαμε πόσα είναι τα ΣΤΑΘΕΡΑ βήματα ν. Είναι ΓΝΩΣΤΟΣ ο αριθμός επαναλήψεων, οπότε δεν έχει θέση σε αυτή τη περίπτωση η τιμή φρουρός εδώ.

Τώρα για να μεταβάλλεται το ν έχεις δύο περιπτώσεις...
Α] Δέχεσαι κάποια τιμή από το χρήστη, που άμεσα ή έμμεσα δίνει τιμή φρουρό στη μεταβλητή που υπάρχει στον έλεγχο του βρόχου.
Β] Με κάποιο τρόπο ορίζεις τυχαίες τιμές να δημιουργούνται από το πρόγραμμα, δυνατότητα που ΔΕΝ υπάρχει στη ΓΛΩΣΣΑ κι άρα είναι πέρα από τα πλαίσια του μαθήματος. Ελπίζω μιλάμε στα πλαίσια του μαθήματος εδώ.


Παράθεση από: vageo στις 27 Ιουλ 2020, 08:22:45 ΜΜ
Όταν οι αποδεικτές τιμές ανήκουν σε κάποιο διάστημα (κλειστό ή ανοιχτό ή ένωση) τιμών (όπως στο παράδειγμα με τη βαθμολογία), τότε Η ΕΚΦΩΝΗΣΗ είναι καλύτερα να ζητάει έλεγχο εγκυρότητας.
Ενώ όταν αποδεκτές τιμές είναι όλες τότε μία τιμή πρέπει να κάνει το break και σε αυτή την περίπτωση Η ΕΚΦΩΝΗΣΗ να ζητάει τιμή φρουρό.

Δε νομίζω πως διαφωνώ σε κάτι. Αν καταλαβαίνω, σου κάθεται άσχημα πως τιμή φρουρός μπορεί να είναι σε ένα διάστημα ( πλην άπειρο, 0) πες, μια οποιαδήποτε τιμή από το διάστημα αυθαίρετα. Ναι οκ, θα μου άρεσε η εκφώνηση να είχε πιο συγκεκτιμένη τιμή φρουρό, αλλά αν γουστάρει κανεις μπορεί να σου πει πως όλες οι αρνητικές τιμές είναι τιμές φρουροί.

ΚΑΤΑΝΟΩ ΑΠΟΛΥΤΑ το τι σε βασανίζει...
Σε ένα πρόγραμμα μπορούμε να έχουμε άπειρες δυνατές τιμές φρουρούς.
Σωστό ή Λάθος;
Αυτό είναι το ερώτημά σου και δε μπορώ να σου απαντήσω με 100% σιγουριά κάτι από τα δύο. Αλλά έχω 99% τάση προς το ΣΩΣΤΟ.
Ειλικρινά δε θυμάμαι. Αλλά αν υπάρχει έστω μία άσκηση ή ακόμα καλύτερα θέμα Πανελληνίων, που να απαιτεί διάστημα τιμών ως φρουρό, δηλαδή άπειρες δυνατές τιμές φρουρούς, τότε απαντάς στην ερώτησή σου.
Αν το σκάψεις και βρεις κάτι πες μας!



Να περιγράψετε ποια/ες είναι η/οι διαφορά/ες ανάμεσα στον έλεγχο εγκυρότητας και στην τιμή φρουρό;
???  ???  ???
Ο έλεγχος εγκυρότητας φροντίζει να εξαναγκάσει το χρήστη να εισάγει ορθές τιμές προτού προχωρήσει το πρόγραμμα παρακάτω.
Η τιμή φρουρός φροντίζει να σπάει ένας κατά κάθε άλλη περίπτωση ατέρμων βρόχος, έτσι ώστε να διατηρείται το κριτήριο της περατότητας.
Γιατί να το ρωτήσουμε έτσι αυτό στα παιδάκια; Δε διαφωνώ, αλλά οκ, μου φαίνεται παράξενη.  :D
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: vageo στις 28 Ιουλ 2020, 10:10:39 ΜΜ
Βεβαίως θα μπορούσε να πει κανείς ότι ο έλεγχος εγκυρότητας και η επανάληψη με τιμή φρουρό κάνουν διαφορετικές δουλειές αλλά αν κάποιος το έβλεπε γενικά:

Ο έλεγχος εγκυρότητας κάνει επανάληψη όταν εισάγονται -ανεπιθύμητες- τιμές ενώ για την επιθυμητή τιμή εξέρχεται του βρόχου.

Αντιθέτως στην τιμή φρουρός γίνεται επανάληψη όταν εισάγονται -επιθυμητές- τιμές και για την ανεπιθύμητη τιμή γίνεται  έξοδος.
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: George Eco στις 29 Ιουλ 2020, 04:54:56 ΠΜ
Παράθεση από: vageo στις 28 Ιουλ 2020, 10:10:39 ΜΜ
Βεβαίως θα μπορούσε να πει κανείς ότι ο έλεγχος εγκυρότητας και η επανάληψη με τιμή φρουρό κάνουν διαφορετικές δουλειές αλλά αν κάποιος το έβλεπε γενικά:

Ο έλεγχος εγκυρότητας κάνει επανάληψη όταν εισάγονται -ανεπιθύμητες- τιμές ενώ για την επιθυμητή τιμή εξέρχεται του βρόχου.

Αντιθέτως στην τιμή φρουρός γίνεται επανάληψη όταν εισάγονται -επιθυμητές- τιμές και για την ανεπιθύμητη τιμή γίνεται  έξοδος.

Δεν είναι ανεπιθύμητη η τιμή φρουρός απαραιτήτως. Για την ακρίβεια πιστεύω πως είναιεπιθυμητή, ώστε να δώσει τέλος στο βρόχο.
Πρόγραμμα θα δέχεται ονοματεπώνυμα και μπλα μπλα μπλα, μέχρι να δώσει ο χρήστης ονοματεπώνυμο 'ΤΕΛΟΣ' χωρίς τα εισαγωγικά.
Η ΤΕΛΟΣ είναι κι επιθυμητή, αποδεκτή τιμή και φρουρός. . Απλώς χρησιμοποιείται για να σταματήσει το βρόχο.


Ο έλεγχος εγκυρότητας φροντίζει να εξαναγκάσει το χρήστη να εισάγει ορθές τιμές προτού προχωρήσει το πρόγραμμα παρακάτω.

Η ΤΕΛΟΣ περνάει άνετα έλεγχο εγκυρότητας...
...κι είναι τιμή φρουρός....


Η τιμή φρουρός φροντίζει να σπάει ένας κατά κάθε άλλη περίπτωση ατέρμων βρόχος, έτσι ώστε να διατηρείται το κριτήριο της περατότητας.
Τίτλος: Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
Αποστολή από: tall στις 03 Οκτ 2020, 06:43:48 ΠΜ
Μπορεί το σχολικό βιβλίο να είναι σε πολλά σημεία κακογραμμένο, αλλά για την τιμή φρουρό η διατύπωση και η εξήγηση που δίνει πιστεύω ότι είναι αρκετά εύστοχη. Παραθέτω από το 8ο κεφάλαιο:

"Η χρήση τιμών για τον τερματισμό μίας επαναληπτικής διαδικασίας, όπως στο παράδειγμα η αυθαίρετη επιλογή του 0, είναι συνήθης στον προγραμματισμό.Η τιμή αυτή ορίζεται από τον προγραμματιστή και αποτελεί μια σύμβαση για το τέλος του προγράμματος. Η τιμή αυτή είναι τέτοια, ώστε να μην είναι λογικά σωστή για το πρόβλημα, για παράδειγμα η τιμή 0 αποκλείεται από τις μετρήσεις σύμφωνα με την εκφώνηση του παραδείγματος. Η τιμή αυτή συχνά αποκαλείται "τιμή φρουρός"."

Και για τους μαθητές με μεράκι και κλίση προς τον προγραμματισμό τους προτείνω να αναζητήσουν στο internet τον όρο Sentinel-controlled loops