Αποστολέας Θέμα: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"  (Αναγνώστηκε 4528 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Γεια σε όλους τους φίλους του φόρουμ .
Θα ήθελα α διαλευκάνω το ζήτημα "ΕΚΦΡΑΣΕΙΣ"  με ορισμούς, διαφορες και παραδείγματα.
Επίσης για την τιμή φρουρό έναν ορισμό.
Σας ευχαριστώ .

dora

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 107
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #1 στις: 09 Δεκ 2013, 04:12:44 μμ »
Πώς; ???

manosteach

  • Βετεράνος
  • ****
  • Μηνύματα: 89
    • ΔΩΡΕΑΝ ONLINE ΜΑΘΗΜΑΤΑ ΑΕΠΠ & ECDL
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #2 στις: 09 Δεκ 2013, 05:49:20 μμ »
Εκφράσεις= Πράξεις (Αριθμητικές & Λογικές )
πχ: Αριθμητική έκφραση  5+κ*α
    :Λογική α>β, Δ>0 ΚΑΙ Κ<>Δ


Όταν λές τιμή φρουρό, τι ακριβώς εννοείς;;;;
Εννοείς τις λογικές μεταβλητές;;;;;
Δωρεάν online μαθήματα μέσω internet.
http://www.manosteach.com

ikariofil

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 128
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #3 στις: 09 Δεκ 2013, 09:03:45 μμ »
κεφάλαιο 8, σελ 175 , Παρατηρήσεις

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2313
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #4 στις: 10 Δεκ 2013, 11:49:51 πμ »
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 329
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #5 στις: 22 Αύγ 2019, 10:32:48 πμ »
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων

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

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

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


vageo

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

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

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

michaeljohn

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 131
  • "Είναι παιδιά πολλών ανθρώπων τα λόγια μας"
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #7 στις: 17 Ιούλ 2020, 03:47:49 μμ »
Τιμή φρουρός ονομάζεται η τιμή εισόδου με την οποία ο χρήστης σηματοδοτεί την λήξη της εισαγωγής των δεδομένων
<<<<<<!!!

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 530
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #8 στις: 17 Ιούλ 2020, 05:08:43 μμ »
Ο Φρουρός χρησιμοποιείται ασφαλώς σε επαναλήψεις. Αλλά όχι ειδικά σε εισαγωγή στοιχείων. Για παράδειγμα τα αλφαριθμητικά στη C έχουν τελευταίο σύμβολο το μηδέν. Για να δούμε το μήκος ενός αλφαριθμητικού πρέπει να διατρέξουμε από την αρχή του αλφαριθμητικού (που τη γνωρίζουμε) μέχρι να βρούμε το μηδέν. Ο φρουρός δηλώνει το τέλος, και χρειάζεται εκεί που δεν έχουμε άλλο τρόπο να γνωρίζουμε πότε τελειώνει κάτι που έχει μεταβλητό μήκος.
Τώρα αν χρησιμοποιηθεί για την εισαγωγή στοιχείων τότε ο φρουρός είναι ένα από τα πιθανά δεδομένα της εισαγωγής. Ένας απλός και σε όλους γνωστός φρουρός είναι το Enter του πληκτρολογίου, σε μια κονσόλα εντολών. Στην κονσόλα δεν υπάρχει τρόπος να ξέρει το σύστημα πότε η εντολή που γράφουμε είναι έτοιμη, διαβάζοντας το τι γράφουμε, την έννοια αυτού. Περιμένει να πατήσουμε το Enter για οτιδήποτε γράψουμε. Αν είναι λάθος αυτό που γράψαμε θα μας το αναφέρει!
Ο χαρακτήρας Enter είναι το  νούμερο δεκατρία σε οποιοδήποτε υπολογιστή με οποιοδήποτε λειτουργικό...Λέγεται Carriage Return ή CR, από το μοχλό αλλαγής γραμμής στις γραφομηχανές!
Επιστροφή φορέα

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

Διάβασμα Πλήκτρο
Όσο Πλήκτρο<>Enter Επανέλαβε
Εντολή<-Εντολή+Χαρακτήρας(Πλήκτρο)
Διάβασμα Πλήκτρο
Τέλος Επανάληψης
! Εδώ έχουμε μαζέψει την εντολή.

vageo

  • Θαμώνας
  • ***
  • Μηνύματα: 26
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #9 στις: 19 Ιούλ 2020, 10:08:47 πμ »
Μήπως πρέπει να περιορισθούμε στο τι συμβαίνει στη ΓΛΩΣΣΑ διότι " Dεν έχω C καρdιά μου ", και επομένως πάντα θα πρέπει να απαντήσουμε στο ερώτημα " πού το γράφει στο βιβλίο;"

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 329
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #10 στις: 21 Ιούλ 2020, 12:08:09 πμ »
1. Δηλαδή η τιμή φρουρός ως τιμή εισόδου εισάγεται ΜΟΝΟ με εντολή ΔΙΑΒΑΣΕ;

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

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

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

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

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

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

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

Δηλαδή αν έχω:
Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
ΜΕΧΡΙΣ_ΟΤΟΥ β = ΦΡΟΥ(α)

ΣΥΝΑΡΤΗΣΗ ΦΡΟΥ(χ): ΠΡΑΓΜΑΤΙΚΗ
  ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ
  ΦΡΟΥ <- χ * 2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
...τότε πολύ απλά υπολογίζεται μία τιμή φρουρός με άγνωστο πλήθος επαναλήψεων. Μέχρι να δώσει β ακριβώς διπλάσιο του α. Άγνωστο πλήθος (τα διαβάζει σε κάθε επανάληψη τα α,β ε!)

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

« Τελευταία τροποποίηση: 23 Ιούλ 2020, 08:41:41 μμ από George Eco »

vageo

  • Θαμώνας
  • ***
  • Μηνύματα: 26
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #11 στις: 23 Ιούλ 2020, 12:26:03 πμ »
Το πρόγραμμα που έγραψες με 2 μικρές αλλαγές:

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
    Σ <- ΦΡΟΥ(α)
ΜΕΧΡΙΣ ΟΤΟΥ Σ = 10

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

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

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

Κατά την γνώμη μου και σύμφωνα με το βιβλίο το σωστό είναι το (3.), διότι πρέπει η τιμή να είναι μία και αυτή που εισάγεται με πληκτρολόγηση, διαφορετικά κάθε τιμή που διακόπτει επανάληψη κινδυνεύει να χαρακτηρισθεί τιμή φρουρός.
Επίσης νομίζω ότι πρέπει να αναφερόμαστε σε μία τιμή και όχι σε περιοχή τιμών διότι ο έλεγχος της συνθήκης κάθε φορά γίνεται για μία συγκεκριμένη τιμή και για αυτή την τιμή είναι αληθής ή ψευδής.
« Τελευταία τροποποίηση: 23 Ιούλ 2020, 12:39:10 πμ από vageo »

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 329
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #12 στις: 23 Ιούλ 2020, 08:40:26 μμ »
Το πρόγραμμα που έγραψες με 2 μικρές αλλαγές:

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ α,β
    γ <- α+β
    Σ <- ΦΡΟΥ(α)
ΜΕΧΡΙΣ_ΟΤΟΥ Σ = 10

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

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

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

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


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

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

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

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

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






vageo

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

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

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

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

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

ΘΕΜΑ Α
Α2. α) Να περιγράψετε ποια/ες είναι η/οι διαφορά/ες ανάμεσα στον έλεγχο εγκυρότητας και στην τιμή φρουρό;
      β) Να δώσετε ένα παράδειγμα για τα παραπάνω.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 329
Απ: ΤΑ ΕΙΔΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΠΑΡΑΔΕΙΓΜΑΤΑ και "Ο ΦΡΟΥΡΟΣ"
« Απάντηση #14 στις: 27 Ιούλ 2020, 09:04:06 μμ »
Από ότι καταλαβαίνω ....
μάλλον έχεις την άποψη (ή μήπως όχι), ότι η τιμή φρουρός πρέπει να εισαχθεί από το χρήστη με εντολή ΔΙΑΒΑΣΕ ... έστω και έμμεσα (στο παραπάνω παράδειγμα, ενώ πληκτρολογώ το 5, η τιμή για την οποία σπάει η επανάληψη είναι η 10.

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

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


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

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

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



Να περιγράψετε ποια/ες είναι η/οι διαφορά/ες ανάμεσα στον έλεγχο εγκυρότητας και στην τιμή φρουρό;
 ???  ???  ???
Ο έλεγχος εγκυρότητας φροντίζει να εξαναγκάσει το χρήστη να εισάγει ορθές τιμές προτού προχωρήσει το πρόγραμμα παρακάτω.
Η τιμή φρουρός φροντίζει να σπάει ένας κατά κάθε άλλη περίπτωση ατέρμων βρόχος, έτσι ώστε να διατηρείται το κριτήριο της περατότητας.
Γιατί να το ρωτήσουμε έτσι αυτό στα παιδάκια; Δε διαφωνώ, αλλά οκ, μου φαίνεται παράξενη.  :D