Το πρόβλημα του μέσου όρου αριθμών

Να γράψετε αλγόριθμο σε ψευδοκώδικα ο οποίος:

  1. Να διαβάζει έναν ακέραιο αριθμό >0
  2. Η παραπάνω διαδικασία να επαναλαμβάνεται έως ότου δοθεί αριθμός ≤0
  3. Μετά το τέλος της διαδικασίας να εμφανίζεται ο μέσος όρος των αριθμών που διαβάστηκαν

Για την επίλυση του προβλήματος θα χρησιμοποιήσουμε δύο μεταβλητές: Μια μεταβλητή συσσωρευτή για το άθροισμα (=συσσώρευση) των αριθμών και μία μεταβλητή μετρητή για την καταμέτρηση του πλήθους των αριθμών.

Για τον υπολογισμό του μέσου όρου θα πρέπει να δώσουμε ιδιαίτερη προσοχή γιατί… απαιτείται διαίρεση. Το λέμε και το τονίζουμε γιατί η πράξη της διαίρεσης ενδέχεται να οδηγήσει τον αλγόριθμο και κατ’ επέκταση το πρόγραμμά μας σε ένα τραγικό σφάλμα. Διαίρεση με το 0.

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

Απόσπασμα από το βιβλίο ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ των Α. Βακάλη, Η. Γιαννόπουλος, Ν. Ιωαννίδης, Χ. Κοίλιας, Κ. Μάλαμας, Ι. Μανωλόπουλος, Π. Πολίτης

Ψευδοκώδικας

Αρχή
  Άθροισμα = 0
  Πλήθος = 0

  Διάβασε τα δεδομένα: Αριθμός
  Εφόσον Αριθμός > 0 Επανέλαβε
  Αρχή
    Πλήθος = Πλήθος + 1
    Άθροισμα = Άθροισμα + Αριθμός
    Διάβασε τα δεδομένα: Αριθμός
  Τέλος

  Αν Πλήθος > 0 Τότε
  Αρχή
    ΜΟ = Άθροισμα / Πλήθος
    Εμφάνισε ΜΟ
  Τέλος
  Αλλιώς
    Εμφάνισε ‘Δε δόθηκε κανένας αριθμός’
Τέλος
Advertisements

Posted on 01/11/2011, in Δομημένος Προγραμματισμός, Ψευδοκώδικας and tagged , , , , . Bookmark the permalink. Σχολιάστε.

Σχολιάστε

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s

Αρέσει σε %d bloggers: