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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΟΣΟ...ΕΠΑΝΑΛΑ => Μήνυμα ξεκίνησε από: elenitaaaaa στις 23 Οκτ 2011, 11:52:04 ΠΜ

Τίτλος: απορια σε άσκηση με min max
Αποστολή από: elenitaaaaa στις 23 Οκτ 2011, 11:52:04 ΠΜ
βρηκα καπου αυτην την ασκηση με την παρακατω λυση. θεωρω οτι εχει λαθος. πειτε μου κ εσεις τη γνωμη σας.
εκτος απο τη εντολη ι<-ι+1 που την θεωρω περριτη, πιστευω οτι μετα την εντολη ΟΣΟ δεν μπορουμε να βαλουμε το διαβασε χ κ μετα κανουμε αυτα π ζηταει η ασκηση στο χ που δοθηκε χωρις να εχει γινει ελεγχος της τιμης.  η πιο σωστη απαντηση γι αυτην την ασκηση ποια ειναι?

Να γίνει πρόγραμμα που να διαβάζει ένα άγνωστο πλήθος αριθμών μέχρι να εισάγουμε τον αριθμό -1 και να υπολογίζει το μέγιστο και τον ελάχιστο τους.

Λύση:
ΠΡΟΓΡΑΜΜΑ πχ
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: x, max, min
  ΑΚΕΡΑΙΕΣ: i
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον πρώτο αριθμό'
  ΔΙΑΒΑΣΕ x
  i <- 0
  max <- x
  min <- x
  ΟΣΟ x <> -1 ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ 'Δώσε τον επόμενο αριθμό'
    ΔΙΑΒΑΣΕ x
    ΑΝ x > max ΤΟΤΕ
      max <- x
    ΤΕΛΟΣ_ΑΝ
    ΑΝ x < min ΤΟΤΕ
      min <- x
    ΤΕΛΟΣ_ΑΝ
    i <- i + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Ο μεγαλύτερος είναι ο  ', max
  ΓΡΑΨΕ 'Ο μικρότερος είναι ο ', min
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ



επισης σε μια ασκηση οταν μας : να εισαγονται τιμες μεχρι να δοθει το 0 και να πουμε ποσες τιμες δοθηκαν, εννοει ΜΕ ή ΧΩΡΙΣ το 0???
ευχαριστω
Τίτλος: Απ: απορια σε άσκηση με min max
Αποστολή από: petrosp13 στις 23 Οκτ 2011, 03:46:42 ΜΜ
Ένα και μόνο λάθος στα γρήγορα

Αν δοθεί εντός επανάληψης η τιμή -1 και οι προηγούμενες τιμές είναι μικρότερες ή μεγαλύτερες της, τότε αυτή θα θεωρηθεί η μικρότερη ή μεγαλύτερη (δηλαδή θα ληφθεί κανονικά υπόψιν)
Οι δυο πρώτες εντολές της επανάληψης πρέπει να πάνε τελευταίες
Τίτλος: Απ: απορια σε άσκηση με min max
Αποστολή από: dkonetas στις 24 Οκτ 2011, 01:36:50 ΠΜ
Παράθεση από: petrosp13 στις 23 Οκτ 2011, 03:46:42 ΜΜ
Ένα και μόνο λάθος στα γρήγορα

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

Μία άλλη εκδοχή είναι ότι ήθελε ο λύτης αλλά παρέλειψε να έχει ένα πιό φιλικό μήνυμα πριν το ΔΙΑΒΑΣΕ της μορφής ΓΡΑΨΕ 'Δώσε τον' , i, 'o  αριθμό'
Τίτλος: Απ: απορια σε άσκηση με min max
Αποστολή από: Καρκαμάνης Γεώργιος στις 24 Οκτ 2011, 10:49:29 ΠΜ
Σύμφωνα με το βιβλιο, η τιμή φρουρός (στην περίπτωση εδώ το -1) δεν πρέπει να είναι λογικά σωστή και να μην αναφέρετε σε κανονικά δεδομένα. Με άλλα λόγια δεν πρέπει να χρησιμοποιείται πουθενά αλλού παραμόνο για τον τερματισμό της επανάληψης.

Ετσι στην άσκηση πρέπει το max ή min να μην λαμβάνουν την τιμή -1 ποτέ ούτε στο τέλος της επανάληψης
Τίτλος: Απ: απορια σε άσκηση με min max
Αποστολή από: meteo_xampos στις 25 Οκτ 2011, 10:18:23 ΠΜ
Καλημέρα σας!!!
Το i πιστεύω ότι το έβαλε να αυξάνεται εντός της επανάληψης, ούτως ώστε αν δόθηκε έστω και ένας έγκυρος αριθμός (δηλαδή αν δε
δόθηκε αμέσως η τιμή -1) να εμφανίσει το min και max. Θα έπρεπε να είχε έλεγχο μετά το Τέλος_επανάληψης...
Αν i<>0 τότε
  Εμφάνισε min, max
Τέλος_Αν

Επίσης, εντός της επανάληψης, μετά την εντολή Διάβασε x, θα έπρεπε να κάνει έλεγχο, αν το x είναι διαφορετικό του -1, και σε
περίπτωση που είναι να κάνει τις συγκρίσεις που απαιτούνται...
Τίτλος: Απ: απορια σε άσκηση με min max
Αποστολή από: elenitaaaaa στις 25 Οκτ 2011, 04:27:05 ΜΜ
θεωρω πιο σωστο  οταν στην ΟΣΟ η συνθηκη εχει να κανει με ελεγχο τιμης που δοθηκε απο τον χρηση, η εντολη διαβασε να ειναι η τελευταια του βροχου.