Συζήτηση για το 3ο θέμα

Ξεκίνησε από tomtoub, 31 Μαΐου 2007, 04:30:50 ΜΜ

« προηγούμενο - επόμενο »

michalis

αν καποιος δεν εβαζε την επαναληψη να τερματιζει αν η τιμή του γραμματοσημου ήταν μεγαλύτερη απο το υπολοιπο (εμφανιζει μηνυμα για αυτό) αλλα μόνο αν τελειώσει το υπόλοιπο, πόσο θα του κόψουνε?

kara26

#16
Πολλά συγχαρητήρια σε όλους για την καλή δουλειά που γίνεται στο Site. Είναι το πρώτο μου post (ελπίζω όχι τελευταίο) και θέλω να σχολιάσω κάτι σχετικά με το 3ο θέμα. Νομίζω πως η πιο ενδεδειγμένη λύση θα ήταν να γίνει με χρήση λογικής μεταβλητής και αυτό διότι οι λύσεις που έχουν μέχρι στιγμής διατυπωθεί στην τελευταία επανάληψη πρέπει να δώσουμε μια τελευταία «εικονική» δυάδα τιμών εισόδου για να βγούμε από την επανάληψη.

Π.χ. Αν δοθούν διαδοχικά για τιμή γραμματοσήμου  300 και μετά 1200, έπειτα πρέπει να δοθεί και νέα τιμή για διακοπή. Γι’ αυτό λοιπόν προτείνω


Αλγόριθμος Γραμματόσημα
Χρήματα <-- 1500
Αγορά <-- 0
ΠΕ<--0
ΠΞ<--0
Παύση <-- ΨΕΥΔΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ Τιμή, Προ
    ΑΝ Χρήματα >= Τιμή ΤΟΤΕ
          Χρήματα <-- Χρήματα - Τιμή
          Αγορά <-- Αγορά+ Τιμή
          ΑΝ Χρήματα = 0 ΤΟΤΕ
               Παύση <-- ΑΛΗΘΗΣ
          ΤΕΛΟΣ_ΑΝ
          ΑΝ Προ = 'ΕΛ' ΤΟΤΕ
              ΠΕ <-- ΠΕ + 1
          ΑΛΛΙΩΣ
              ΠΞ <-- ΠΞ + 1
          ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ
      Παύση <-- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ Παύση=ΑΛΗΘΗΣ
  ΓΡΑΨΕ  'ΤΕΛΟΣ ΑΓΟΡΩΝ'
  ΓΡΑΨΕ 'ΑΓΟΡΕΣ',Αγορά
  ΓΡΑΨΕ 'ΕΛΛΗΝΙΚΑ ΓΡΑΜΜΑΤΟΣΗΜΑ ',ΠΕ
  ΓΡΑΨΕ 'ΞΕΝΑ ΓΡΑΜΜΑΤΟΣΗΜΑ ',ΠΞ
  ΑΝ Χρήματα>0 ΤΟΤΕ
         Περίσσευμα <-- 1500- Αγορά
         ΓΡΑΨΕ 'ΠΕΡΡΙΣΕΥΜΑ ',Περίσσευμα
  ΑΛΛΙΩΣ
        ΓΡΑΨΕ  'ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ'
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ Γραμματόσημα

Καλημέρα σε όλους
Υ.Γ : Αν έχει γραφτεί και απο άλλον αυτή η εκδοχή ζητώ προκαταβολικά συγγνώμη

ΧΑΡΗΣ

arisbasil

Το 3ο θέμα μου θυμίζει τη λογική και τη φιλοσοφία της άσκησης ΔΣ3 σελ.25 από το τετράδιο εργασιών   :angel:

EleniK

Εμενα μου θύμισε το θέμα με το μαθητη που θέλει να αγοράσει υπολογιστικό συστημα (παλιότερο Πανελληνίων, νομίζω 2002) που επισης ζητούσε αν περισσευαν χρηματα και πόσα
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

ppol

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

Υπάρχει μια σημαντική διαφορά ανάμεσα στις 2 ασκήσεις:

Στην ΔΣ3 (όπως και στο φετινό θέμα), κάθε τιμή δίνεται από το πληκτρολόγιο (Διάβασε) συνεπώς αν υπερβαίνει το διαθέσιμο ποσό δε θα (πρέπει να) εκτελεστεί επανάληψη (γι' αυτό θα προτιμήσουμε Όσο ή Αρχή_επανάληψης με εμφωλευμένη Αν).
Εναλλακτικά, αν και όχι τόσο κομψό, αν ξεπεράσουμε το όριο (με Αρχή_επανάληψης ) θα μπορούσαμε να επιστρέψουμε την τελευταία μας αγορά (γενικότερα να επαναφέρουμε τις τιμές των μεταβλητών) μετά το Μέχρις_ότου (Αν ...)

Στην παλαιότερη άσκηση πανελλαδικών έχουμε μεγαλύτερη "ελευθερία κινήσεων" : το αρχικό ποσό που δίνεται στον μαθητή είναι γνωστό από την εκφώνηση (οπότε το εκχωρούμε σε μία μεταβλητή) και εμφανώς όχι αρκετό για να αγοράσει τον υπολογιστή, οπότε εκτός από την Όσο μπορούμε να χρησιμοποιήσουμε την Αρχή_επανάληψης αφού η επανάληψη θα εκτελεστεί τουλάχιστο μία φορά. Το ίδιο ισχύει και για είσοδο από το πληκτρολόγιο. Θέλουμε να ξεπεράσουμε το κόστος του υπολογιστή.

Οι ασκήσεις θα έμοιαζαν περισσότερο αν η εκφώνηση ζητούσε να σταματήσουν οι γονείς να δίνουν λεφτά μία βδομάδα πριν οι οικονομίες του υπερβούν το απαιτούμενο ποσό και στην περίπτωση που αυτό δεν έχει συγκεντρωθεί πόσα πρέπει να δώσουν οι παππούδες  :laugh:


dozb

Λοιπόν, να παραθέσω κι εγώ τη λύση μιας μαθήτριάς μου :

ποσό ← 0
π1 ← 0
π2 ← 0
υπόλοιπο  ← 1500
Οσο υπόλοιπο > 0 επανάλαβε
     Διάβασε τιμη, προέλευση
     Αν τιμή <= υπόλοιπο Τότε
           ποσό ← ποσό + τιμή
           υπόλοιπο ← 1500 - ποσό
           Αν προέλευση = "E" Τότε
               π1 ← π1 + 1
           Aλλιώς
               π2 ← π2 + 1
           Tέλος_Αν
     Αλλιώς
           Γράψε "Τέλος Αγορών"
           υπόλοιπο ← 0
     Τέλος_Αν
Τέλος_Επανάληψης
Γράψε ποσό
Γράψε π1,π2
Αν υπόλοιπο <>  0 Τότε
      Γράψε υπόλοιπο
Αλλιώς
      Γραψε "Εξαντλήθηκε ολο το ποσο"
Τέλος_Αν


Τι λέτε; Πόσο θα κόβατε; (Ελπίζω όχι όλο το β3)

Ευχαριστω ...


Sergio

Εάν διάβασα σωστά τη λύση της μαθήτριας, το μόνο λάθος είναι ότι καταλήγει με υπόλοιπο=0 σε ΚΑΘΕ περίπτωση.

Λογικά πρέπει να χάσει το μισό β3 (2 μονάδες)
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

dozb

Πράγματι...
Μια που δε χρησιμοποίησε λογική μεταβλητή για να τερματισει την επαναληψη, αλλά το υπόλοιπο.... ξέχασε ότι μηδένιζει το υπόλοιπο σε καθε περιπτωση κι ελέγχει μια μεταβλητη που ειναι ετσι κι αλλιώς 0...

Αν απλά είχε παρεμβαλει και την εντολή:

Υπόλοιπο ← 1500 - ποσό

ακριβως πριν τον έλεγχο.. θα ήταν σωστη...
2 μόρια λες ε; ... Ελπίζω... ελπίζω κι εγω τοσο.. Τραβηγμενο δεν ειναι να της το κόψουν όλο;

Ευχαριστω... !!