Να χρησιμοποιήσουμε πίνακες ή όχι; Τι κόβεται;

Ξεκίνησε από meteo_xampos, 18 Απρ 2010, 01:10:21 ΜΜ

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

meteo_xampos

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

Ενας επιχειρηματιας αποφασισε να διαθεσει ενα σημαντικο ποσο για φιλανθρωπικους σκοπους αγοραζοντας πακετα ρυζι.Να γινει αλγοριθμος που:

   1. θα διαβαζει το ποσο που θελει να διαθεσει ο επιχειρηματιας,
   2. θα διαβαζει επαναληπτικα τη μαρκα και την τιμη του καθε πακετου,
   3. θα εμφανιζει τη μαρκα του πιο ακριβου πακετου,
   4. θα εμφανιζει την τιμη του πιο φθημου πακετου,
   5. θα υπολογιζει και και θα εμφανιζει ποσα πακετα πυζι κοστισαν πανω απο 2euro,
   6. θα εμφανιζει ποσα πακετα ρυζι αγορασε συνολικα ο επιχειρηματιας και
   7. θα εμφανιζει μηνυμα <<Εξαντλησε ολο το ποσο>> αν δεν περισσεψαν καθολου χρηματα.

...και την έλυσε ως εξής...

ΑΛΓΟΡΙΘΜΟΣ μπεεεεεεεεεεεεεε
ΓΡΑΨΕ 'Πληκτρολογήστε το ποσό που θέλετε να ξοδέψετε.'
ΔΙΑΒΑΣΕ χ
ι <-- 0
π <-- 0
π2 <-- 0
ΟΣΟ χ> 0 ΕΠΑΝΑΛΑΒΕ
     ι <-- ι + 1
     ΓΡΑΨΕ 'Δώσε τη τιμή του', ι,'ου πακέτου.'
     ΔΙΑΒΑΣΕ ΜΠΕ[2, ι]
     ΑΝ χ-ΜΠΕ[2, ι]>=0 ΤΟΤΕ
         π <-- π+1 ΓΡΑΨΕ 'Δώσε τη μάρκα του', ι,'ου πακέτου.'
         ΔΙΑΒΑΣΕ ΜΠΕ[1,ι]
         ΑΝ ΜΠΕ[2,ι]>2 ΤΟΤΕ
             π2 <-- π2 + 1
        ΤΕΛΟΣ_ΑΝ
        χ <-- χ - ΜΠΕ[2,ι]
     ΑΛΛΙΩΣ
         ΓΡΑΨΕ 'Δε μπορείτε να αγοράσετε αυτό το πακέτο -- Η αγορά τελείωσε'
         χ <-- -1
     ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ χ = 0 ΤΟΤΕ
    ΓΡΑΨΕ '«Εξαντλήθηκε όλο το ποσό»'
ΤΕΛΟΣ_ΑΝ
μεγ <-- 1
ελ <-- ΜΠΕ[2,1]
ΓΙΑ κ ΑΠΟ 2 ΜΕΧΡΙ ι
  ΑΝ ΜΠΕ[2,κ] > ΜΠΕ[2,μεγ] ΤΟΤΕ
     μεγ <-- κ
  ΤΕΛΟΣ_ΑΝ
  ΑΝ ΜΠΕ[2,κ] < ελ ΤΟΤΕ
           ελ <-- ΜΠΕ[2,κ]
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Μάρκα ακριβότερου πακέτου:', ΜΠΕ[1,μεγ]
ΓΡΑΨΕ 'Τιμή φθηνότερου πακέτου:', ελ
ΓΡΑΨΕ 'Αγοράσατε συνολικά', π,' πακέτα ρύζι, από τα οποία ', π2,' κοστίζουν πάνω από 2€.'
ΤΕΛΟΣ μπεεεεεεεεεεεεεε

Ο αλγόριθμος είναι μια χαρά... Όμως τι γίνεται με το μέγεθος του πίνακα; Αν δοθεί τέτοια λύση σε ένα
τέτοιο θέμα, θα κοπεί καμμία μονάδα από τον καθηγητή που θα διορθώνει, βασιζόμενος στο γεγονός ότι
δεν ξέρουμε το μέγεθος του πίνακα;

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

ntzios kostas

Η λύση αυτή είναι σίγουρα λάθος, αφού χρησιμοποιεί πίνακα σε μία άσκηση που ο αριθμός των δεδομένων δεν είναι γνωστό. Σίγουρα θα έχανε μόρια δεν ξέρω πόσα, αλλά πιστεύω αρκετά.

Από εκεί και πέρα πιστεύω έχει κι' 'αλλο λάθος με το ι. Πρέπει οι επαναλήψεις να πάνε μέχρι το ι-1.

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

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

meteo_xampos

Σωστός Κώστα... Μέχρι ι-1... Κι εγώ την ίδια άποψη με εσένα έχω...

Αλεξόπουλος Ανδρέας

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

P.Tsiotakis

Του απάντησα και γω στο ischool πως είναι λάθος