Κεφ 9- πρόγραμμα ΚΙΝΗΜΑΤΟΓΡΑΦΟΙ

Ξεκίνησε από KP, 08 Φεβ 2006, 04:01:02 ΜΜ

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

KP

Καλησπέρα μια ακόμα φορά,
θα ήθελα την γνώμη σας οσον αφορά το παράδειγμα 4, της σελίδας 195.
Για να βρει το μέγιστο άθροισμα γραμμών (μέγιστες εισπράξεις), δεν χρησιμοποιεί ένα πίνακα όπου θα καταχωρούνται τα αθροίσματα γραμμών (όπως στο αντίστοιχο παράδειγμα του κεφ.3), αλλά υπολογίζει κάθε φορά το άθροισμα για την τρέχουσα στήλη και το συγκρίνει με τον μέχρι τώρα μέγιστο. Για το λόγο αυτό αρχικοποιεί τον μέγιστο με Μέγιστο<-0.
Στην περίπτωση των εισπράξεων είναι ΟΚ, γιατί οι εισπράξεις είναι θετικός αριθμός, αλλά αν είχαμε πίνακα όπου οι αριθμοί θα μπορούσαν να είναι άρνητικοί, η αρχικοποίηση του μέγιστου με 0, θα ήταν εσφαλμένη. Διορθώστε με αν κάνω λάθος.
Επίσης, θα ήθελα την συμβουλή σας αν είναι ως μεθοδολόγία προτιμώμενη η χρήση ενός επιπλέον πίνακα όπου θα αποθηκεύονται οι μέγιστοι πχ κάθε στήλης ή η χρήση μιας μεταβλητής και η άμεση σύγκριση με τον μέγιστο. Προσωπικά προτιμώ την πρώτη προσέγγιση, αλλά θα ήθελα και την γνώμη των συναδέλφων.
Εάν έχει γίνει ήδη αναφορά στο θέμα αυτό, θα ήθελα να με παραπέμψετε στο αντίστοιχο θέμα και συγγνώμη αν επαναλαμβάνομαι.
Σας ευχαριστώ θερμά και καλό κουράγιο
Κ.Ρ.

evry

Για το αρνητικό που λες έχεις δίκιο.
Όσον αφορά το θέμα του αν θα ορίσω πίνακα ή όχι η ιδέα είναι ότι ορίζουμε πίνακα όταν μας ζητείται ή όταν αυτό που θέλουμε να υπολογίσουμε απαιτεί να "θυμόμαστε" και προηγούμενες τιμές. Για παράδειγμα η διαδικασία της ταξινόμησης.
   Στην περίπτωση του μεγίστου δεν είναι απαραίτητο να ορίσουμε πίνακα αλλά δεν είναι και λάθος. Αυτό είναι και ένα δύσκολο σημείο για τους μαθητές. Πολλοί δεν μπορούν να διακρίνουν πότε χρειάζεται να ορίσεις πίνακα και πότε δεν είσαι υποχρεωμένος.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis


Στο τέλος του κεφαλαίου 9, καταγράφει και μειονεκτήματα από τη χρήση πινάκων και κάνει αυτήν την συζήτηση για το πότε απαιτείται η χρήση πίνακα και πότε όχι. Καλό είναι τα παιδιά να μπορούν να παίρνουν αυτές τις αποφάσεις και να μην χρησιμοποιούν πίνακα επείδή κάποια άσκηση βρίσκεται στο θέμα 4 !!

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

Θα ήταν ωραίο, κάποια στιγμή να μπει υποερώτημα του τύπου "για την επίλυση της άσκησης μπορεί να αποφευχθεί η χρήση δεδομένων δεδομένων ή όχι; Αιτιολογείστε την απάντησή σας"

Με εκτίμηση,

Φίλιππος

Κάτι σαν το παρακάτω ας πούμε;

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ
Γ΄ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ
ΔΕΥΤΕΡΑ 4 ΙΟΥΛΙΟΥ 2005
.
.
ΘΕΜΑ 2ο
Δίνεται το παρακάτω πρόγραμμα το οποίο διαβάζει τις
θερμοκρασίες διαφόρων ημερών του μήνα, έστω 30, και
υπολογίζει τη μέση θερμοκρασία του μήνα.
.
.
α) Να γραφεί αντίστοιχο πρόγραμμα (που να κάνει τους
ίδιους υπολογισμούς) χωρίς τη χρήση πίνακα.
Μονάδες 10

Vangelis

Φίλιππε είναι λάθος επιστημονικά να δηλώνει η άσκηση τι δεν πρέπει να χρησιμοποιησει ο μαθητής, αντίθετα συνήθως δηλώνεται ότι κάθε λύση επιστημονικά σωστή είναι αποδεκτή.   Ο Παναγιώτης κινείται στην σωστή κατεύθυνση γιατί ζητά δικαιολόγηση μιας επιλογής που είναι διαφορετικό πράγμα.  Στο παράδειγμα της συζήτησης αν υπάρχει περίπτωση ύπαρξης αρνητικών αριθμών καλύτερα να χρησιμοποιηθεί επιπλέον πίνακας.   Κάποτε χρησιμοποιούσαμε  εκφράσεις του τύπου ΜΑΧ <-- -9999999.  Τελικά πιστεύω ότι η χρήση μιας απλής μεταβλητής  που συγκρίνεται με το Μέγιστο είναι  εξ ίσου πολύπλοκη  με τη δημιουργία επιπλέον πίνακα.  

Βαγγέλης

andreas

Δεν είναι λάθος να αρχικοποιήσουμε  το max με μια αυθαίτερη τιμή. ΑΛΛΑ στην επιλογή αυτής της τιμής πρέπει να είμαστε ΠΟΛΥ ΠΡΟΣΕΚΤΙΚΟΙ !!!  Η παραπάνω μεθοδολογία κρύβει παγίδες. Θα πρέπει να είμαστε βέβαιοι για το εύρος των τιμών π.χ. Να βρεθεί ο μέγιστος 50 βαθμών της εκατονταβάθμιας κλίμακας.( β ανήκει στο κλειστό [0,100] )  Τότε   αρχικοποιούμε ως εξής :
max <--   -1.  Ενώ για  min ( ελάχιστο ) :
min <-- 101
Προσωπικά ( και αυτό προτείνω) προτιμώ την μεθοδολογία : Διαβάζω τον 1ο , αρχικοποιώ το max και στη συνέχεια διαβάζω τους 2ο, 3ο, ..., 50ο  ή εναλλακτικά  διαβάζω τους  50  με μία  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 50  και μέσα στη ΓΙΑ   ΑΝ Ι=1 αρχικοποιώ το max  ΑΛΛΙΩΣ ( δηλ. Ι <>1)  ελέγχω αν  β> max.

Ανδρέας

Φίλιππος

Βαγγέλη,

αυτό που ανέφερα είναι πραγματικό, περισυνό θέμα.  Δεν το προτείνω εγώ στα πλαίσια της συζήτησης.

Ζητήθηκε πέρισυ στις επαναληπτικές.

str

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

Δεδομένα //Α,n,m//
! για μέγιστο άθροισμα γραμμής
Για i από 1 μέχρι n
  sum<--0
  Για j από 1 μέχρι m
       sum<--sum+A[i,j]
  Τέλος_επανάληψης
!την πρώτη γραμμή τη θέτεις οπωσδήποτε ως max
!Από εκεί και ύστερα πρέπει να ελέγχεις
   Αν i=1 τότε
           max <-- sum
           line<--1
   αλλιώς
           Αν sum>max τότε
                   max<--sum
                   line<--i
           Τέλος_αν
   Τέλος_αν
Τέλος_επανάληψης

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

Ποια είναι η γνώμη σας?

ΥΓ γράφω για πρώτη φορα και απλά δίνω τα θερμά συγχαρητήρια για την προσπάθεια και για την αγάπη στο μάθημα.... :)

evry

Συμφωνώ απόλυτα με αυτά που λες αλλά σίγουρα δεν μπορείς να δείξεις στους μαθητές κατ'ευθείαν την παρακάτω λύση. Το καλύτερο κατά τη γνώμη μου θα ήταν να λύσεις την άσκηση με μια μέγιστη τιμή φρουρό MAXINT ας πούμε και στη συνέχεια να τους εξηγήσεις με ένα παράδειγμα γιατί αυτό δεν είναι καλό και μετά να τροποποιήσεις τον αλγόριθμο ώστε να προκύψει το παρακάτω.
   Αν και είναι πιο σωστό πιστεύω ότι πολύ λίγοι μαθητές θα καταλάβαιναν πραγματικά τη σκοπιμότητα που έχει.
   Φυσικά αν μπορούμε να χρησιμοποιήσουμε πίνακες πιστεύω ότι είναι η καλύτερη λύση και από θέμα διδακτικής προσέγγισης. Κάνεις ένα ωραίο σχήμα στον πίνακα και δείχνεις ότι το άθροισμα κάθε γραμμής μεταφέρεται σε έναν νέο πίνακα αλλά και από θέμα απόδοσης. Στην περίπτωση αυτή γλιτώνεις τις συγκρίσεις i=1 αν και το τελευταίο δε μας ενδιαφέρει.


Παράθεση από: str στις 14 Φεβ 2006, 03:23:28 ΜΜ
Η ταπεινή μου άποψη είναι ότι το να θέτεις αυθαίρετα μία τιμή ως max ή min είναι η χειρότερη τακτική και αποτρέπω πάντα τους μαθητές από το να την ακολουθούν.
Συμφωνώ επίσης πως το να χρησιμοποιείς ξεχωριστό πίνακα δεν είναι η καλύτερη τακτική.
Ως εκ τούτου καταλήγω στην εξής προσέγγιση

Δεδομένα //Α,n,m//
! για μέγιστο άθροισμα γραμμής
Για i από 1 μέχρι n
   sum<--0
   Για j από 1 μέχρι m
        sum<--sum+A[i,j]
   Τέλος_επανάληψης
!την πρώτη γραμμή τη θέτεις οπωσδήποτε ως max
!Από εκεί και ύστερα πρέπει να ελέγχεις
    Αν i=1 τότε
            max <-- sum
            line<--1
    αλλιώς
            Αν sum>max τότε
                    max<--sum
                    line<--i
            Τέλος_αν
    Τέλος_αν
Τέλος_επανάληψης

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

Ποια είναι η γνώμη σας?

ΥΓ γράφω για πρώτη φορα και απλά δίνω τα θερμά συγχαρητήρια για την προσπάθεια και για την αγάπη στο μάθημα.... :)

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr