Παρασκευή, 20 Απριλίου 2018

Πίνακας Συχνοτήτων Πραγματικών Αριθμών

Βαθμός Δυσκολίας:
5/5
Εκφώνηση Ασκησης: 

 

Να γραφεί αλγόριθμος ο οποίος να διαβάζει τους βαθμούς 100 μαθητών (οι βαθμοί είναι μεταξύ 1-20) και να να τους αποθηκεύει στον πίνακα Β[100]. Στη συνέχεια

α) να δημιουργεί πίνακα με τη συχνότητα του κάθε βαθμού που παρατηρείται όταν οι βαθμοί είναι πραγματικού τύπου,

β) να εμφανίζει αυτό τον πίνακα.

 

Επιμέλεια: mstamos.gr

Λύση Άσκησης: 
 
Αλγόριθμος Πίνακας_Συχνοτήτων_Πραγματικών_Αριθμών
 
!Ερώτημα α
Για ι από 1 μέχρι 100
  Εμφάνισε "Δώσε βαθμό"
  Διάβασε Β[ι] 
 
! Ελέγχουμε ώστε ο αριθμός να είναι ακέραιος
 
  Όσο Β[ι] <> Α_Μ(Β[ι]) επανάλαβε
    Εμφάνισε "Ο αρίθμός που έδωσες δεν είναι ακέραιος ξαναδώσε!"
    Διάβασε Β[ι] 
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
!Ερώτημα β
 
!Ταξινομούμε τον πίνακα Β κατά αύξουσα σειρά.
 
Για ι από 2 μέχρι 100
  Για j από 100 μέχρι ι με_βήμα -1
    Αν Β[j] < Β[j - 1] τότε
      temp ← Β[j] 
      Β[j] ← Β[j - 1] 
      Β[j - 1] ← temp
    Τέλος_αν
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
!Η μεθοδολογία μας για την εύρεση του πλήθους εμφάνισης κάθε αριθμού θα είναι η εξής. Θα συγκρίνω διαδοχικά ανά δύο τα στοιχεία του πίνακα Β. Κάθε φορά που το στοιχείο που βρίσκομαι είναι διαφορετικό από το επόμενο τότε θα αποθηκεύω στο πίνακα ΒΑΘΜ τον βαθμό που ελέγχω, στον πίνακα ΣΥΧΝ_ΑΡ το πλήθος του αριθμού και καθώς επίσης θα αρχικοποιώ το πλήθος στην τιμή 1. Αν οι αριθμοί είναι ίση τότε θα αυξάνω το πλήθος κατά μία μονάδα.
 
ζ ← 1
πλ ← 1
Για ι από 1 μέχρι 99
  Αν Β[ι] <> Β[ι + 1] τότε
    ΒΑΘΜ[ζ] ← Β[ι] 
    ΣΥΧΝ_ΑΡ[ζ] ← πλ
    πλ ← 1
    ζ ← ζ + 1
  αλλιώς
    πλ ← πλ + 1
  Τέλος_αν
Τέλος_επανάληψης
 
! Το τελευταίο στοιχείο με τη συγκεκριμένη μεθοδολογία δεν ελέγχεται οπότε θα πρέπει να το καταχωρίσω εγώ.
 
ΒΑΘΜ[ζ] ← Β[ι] 
ΣΥΧΝ_ΑΡ[ζ] ← πλ
 
! Εμφανίζουμε τον πίνακα συχνοτήτων.
 
Για ι από 1 μέχρι ζ
  Εμφάνισε "Ο αριθμός ", ΒΑΘΜ[ι], " εμφανίζεται ", ΣΥΧΝ_ΑΡ[ι], " φορές."
Τέλος_επανάληψης
 
Τέλος Πίνακας_Συχνοτήτων_Πραγματικών_Αριθμών