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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: George Eco στις 20 Μαΐου 2023, 04:28:45 ΜΜ

Τίτλος: ΘΕΜΑ Τράπεζας θεμάτων 30175
Αποστολή από: George Eco στις 20 Μαΐου 2023, 04:28:45 ΜΜ
30175

ΘΕΜΑ 4

Να αναπτύξετε ένα πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

4.1 Να περιέχει κατάλληλο τμήμα δηλώσεων.
Μονάδες 4

4.2 Να διαβάζει μη αρνητικούς ακέραιους αριθμούς με έλεγχο εγκυρότητας. Το
πρόγραμμα να τερματίζεται όταν εισαχθεί ο αριθμός 0.
Μονάδες 9

4.3 Να υπολογίζει και εμφανίζει το πλήθος των αριθμών που εισάχθηκαν και ήταν
μεγαλύτεροι από το ημιάθροισμα όλων των προηγουμένων.
Μονάδες 12


Ως εδώ καλά. Θα έπρεπε να λέει πως η εισαγωγή δεδομένων θα τερματίζεται κι όχι το πρόγραμμα αλλά ας το προσπεράσω.

Δείτε τη προτεινόμενη λύση....
Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Δ_5
! Δ1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: a, sum, count
ΑΡΧΗ
  sum <- 0
  count <- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ a
  ΜΕΧΡΙΣ_ΟΤΟΥ a >= 0
  ΟΣΟ a <> 0 ΕΠΑΝΑΛΑΒΕ
! Δ3
    ΑΝ a > sum/2 ΤΟΤΕ
      count <- count + 1
    ΤΕΛΟΣ_ΑΝ
    sum <- sum + a
! Δ2
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ a
    ΜΕΧΡΙΣ_ΟΤΟΥ a >= 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  count <- count - 1                !Για να μην συμπεριληφθεί και το 1ο στοιχείο
  ΓΡΑΨΕ count
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ



Τα σχόλια δικά σας.
Ενδεικτικά παραθέτω τη δική μου λύση, προς διευκόλυνση όλων.


Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Α_30175
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αρ, πλ, αθ
  ΠΡΑΓΜΑΤΙΚΕΣ: ημι
ΑΡΧΗ

  αθ <- 0
  πλ <- 0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ αρ
    ΜΕΧΡΙΣ_ΟΤΟΥ αρ >= 0

    ΑΝ αρ <> 0 ΤΟΤΕ
      αθ <- αθ + αρ
      ημι <- αθ/ 2
      ΑΝ αρ > ημι ΤΟΤΕ
        πλ <- πλ + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ αρ = 0
 
ΑΝ πλ > 0 ΤΟΤΕ 
   πλ <- πλ - 1
ΤΕΛΟΣ_ΑΝ
 
  ΓΡΑΨΕ πλ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Το ερώτημα είναι το εξής.
Υπάρχει διασφάλιση ποιότητας θεμάτων στη τράπεζα;
Γιατί αυτό που βλέπω εγώ απαντά με ΟΧΙ.
Βρίσκω συνεχώς προβλήματα κι αρχίζω κι αναρωρτιέμαι σοβαρά τώρα,γιατί θα πρέπει να χρησιμοποιούμε ένα τέτοιο pool από θέματα αμφισβητούμενης ποιότητας. Κάτι πρέπει να γίνει. Τουλάχιστο πλέον για του χρόνου, γιατί φέτος... δε θα γίνει τίποτα.

Τίτλος: Απ: ΘΕΜΑ Τράπεζας θεμάτων 30175
Αποστολή από: ssimaiof στις 20 Μαΐου 2023, 06:27:48 ΜΜ
Παράθεση από: George Eco στις 20 Μαΐου 2023, 04:28:45 ΜΜ4.3 Να υπολογίζει και εμφανίζει το πλήθος των αριθμών που εισάχθηκαν και ήταν
μεγαλύτεροι από το ημιάθροισμα όλων των προηγουμένων.
Νομίζω ότι είναι απολύτως σαφές στο "ΠΡΟΗΓΟΥΜΕΝΩΝ".
Άρα στη λύση σου πρέπει πρώτα να γίνει ο έλεγχος, η μέτρηση και μετά το άθροισμα.
Εκεί που θέλει διευκρίνηση είναι στο "ΟΛΩΝ". Στο "ΟΛΩΝ" περιλαμβάνεται το κενό σύνολο ή όχι; Δηλαδή εάν εννοεί ότι επειδή ο πρώτος έγκυρος αριθμός δεν έχει προηγούμενους πρέπει να εξαιρεθεί από την μέτρηση. Δεν φαίνεται πουθενά από την εκφώνηση. Ίσα ίσα που αν δοθεί κατευθείαν το μηδέν θα πρέπει να εμφανίσει -1;
Σε γραπτό μαθητών μου θα δεχόμουν ως σωστή λύση που δεν θα περιλάμβανε την εξαίρεση.
Μια λίγο διαφορετική λύση:

Κώδικας [Επιλογή]


ΠΡΟΓΡΑΜΜΑ Δ_5
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: a, sum, count
ΑΡΧΗ
  sum <- 0
  count <- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ a
    ΑΝ a > 0 ΤΟΤΕ
      ΑΝ a > sum/2 ΤΟΤΕ
        count <- count + 1
      ΤΕΛΟΣ_ΑΝ
      sum <- sum + a
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ a = 0
  ΓΡΑΨΕ count
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Τίτλος: Απ: ΘΕΜΑ Τράπεζας θεμάτων 30175
Αποστολή από: Melakos Thanasis στις 20 Μαΐου 2023, 08:29:43 ΜΜ
Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Δ_5
! Δ1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: a, sum, count
ΑΡΧΗ
  sum <- 0
  count <- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώστε έναν αριθμό ή 0 για τέλος  '
    ΔΙΑΒΑΣΕ a
  ΜΕΧΡΙΣ_ΟΤΟΥ a >= 0
  ΟΣΟ a <> 0 ΕΠΑΝΑΛΑΒΕ
! Δ3
    ΑΝ a > sum/2 ΤΟΤΕ
      count <- count + 1
    ΤΕΛΟΣ_ΑΝ
    sum <- sum + a
! Δ2
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΓΡΑΨΕ 'Δώστε έναν αριθμό ή 0 για τέλος  '
      ΔΙΑΒΑΣΕ a
    ΜΕΧΡΙΣ_ΟΤΟΥ a >= 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  count <- count - 1!Για να μην συμπεριληφθεί και το 1ο στοιχείο
  ΑΝ count = 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Δεν υπήρξε κανένας αριθμός που να πληροί τα κριτήρια που θέσατε'
  ΑΛΛΙΩΣ_ΑΝ count = 1 ΤΟΤΕ
    ΓΡΑΨΕ 'Ένας αριθμός πληροί τα κριτήρια που θέσατε'
  ΑΛΛΙΩΣ_ΑΝ count > 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Το πλήθος των αριθμών που πληρούν τα κριτήρια που θέσατε είναι: ', count
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Δεν δώσατε κανένα αριθμό για επεξεργασία'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τι λέτε γι αυτό?
Τίτλος: Απ: ΘΕΜΑ Τράπεζας θεμάτων 30175
Αποστολή από: George Eco στις 21 Μαΐου 2023, 08:07:13 ΜΜ
Μια χαρά τα λες ssimaiof! Δεν είναι σε αυτό η ένστασή μου. Είναι σαφές όντως.
Αν τερματιστεί το πρόγραμμα ΔΕ θα εμφανίσει αποτέλεσμα συνάδελφε. Είναι διατυπωμένο λάθος.