Γενικό Λύκειο > Εντολή ΟΣΟ...ΕΠΑΝΑΛΑ

απορια σε άσκηση με min max

(1/2) > >>

elenitaaaaa:
βρηκα καπου αυτην την ασκηση με την παρακατω λυση. θεωρω οτι εχει λαθος. πειτε μου κ εσεις τη γνωμη σας.
εκτος απο τη εντολη ι<-ι+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???
ευχαριστω

petrosp13:
Ένα και μόνο λάθος στα γρήγορα

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

dkonetas:

--- Παράθεση από: petrosp13 στις 23 Οκτ 2011, 03:46:42 μμ ---Ένα και μόνο λάθος στα γρήγορα

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

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

Μία άλλη εκδοχή είναι ότι ήθελε ο λύτης αλλά παρέλειψε να έχει ένα πιό φιλικό μήνυμα πριν το ΔΙΑΒΑΣΕ της μορφής ΓΡΑΨΕ 'Δώσε τον' , i, 'o  αριθμό'

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

Ετσι στην άσκηση πρέπει το max ή min να μην λαμβάνουν την τιμή -1 ποτέ ούτε στο τέλος της επανάληψης

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

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

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση