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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: theoni στις 24 Μάι 2016, 06:59:13 πμ

Τίτλος: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: theoni στις 24 Μάι 2016, 06:59:13 πμ
Καλήμερα μήπως κάποιος θα μπορούσε να μου λύσει την παρακάτω απορία???
Δίνεται η εξής εκφώνηση να ξαναγράψετε το τμήμα αυτό χρησιμοποιώντας την εντολή για αντι της όσο
Σ<--0
χ<--5
Οσο χ<26 επαναλαβε
   Χ<-χ+7
    Σ<--Σ+χ
Τελος επαναληψης
ΕμφανισεΣ


Η απάντηση που δίνεται είναι η εξης:
Σ<--0
Για χ απο 5 μεχρι 19 με βημα 7
     Σ<--Σ+χ
Τελος επαναληψης
 Εχω την εξής απορία αν η ασκηση δεν μας λεει ισοδυναμη μετατροπη θα κανουμε μονο τις βασικες αλλαγες στον τροπο γραφεις μεταξυ των δυο δομων επαναληψης????
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Laertis στις 24 Μάι 2016, 11:27:22 πμ
Κατ 'αρχάς η απάντηση που παραθέτεις έχει σοβαρότατα λάθη. Δεν είναι σωστή η μετατροπή το Οσο σε Για ( το χ μέχρι το 19 που κολλάει; Το Σ υπολογίζει άλλο άθροισμα κ.ο.κ)

Οι μετατροπές σε άλλες δομές έχουν νόημα όταν είναι ισοδύναμες, παράγουν δηλαδή τα ίδια αποτελέσματα στην έξοδο για την ίδια είσοδο. Δεν μπορώ να σκεφτώ κάποιο λόγο να ζητηθεί μη ισοδύναμη μετατροπή.
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Λαμπράκης Μανώλης στις 24 Μάι 2016, 12:00:44 μμ
Καλημέρα σε όλους

Το "τρικ" της μετατροπής είναι αυτό που μπήκε στην περσινή μετατροπή... δηλαδή στο όσο μπορούμε να αλλάξουμε πρώτα τοβ μετρητή και μετά να τον χρησιμοποίσουμε ενώ στο για όχι, οπότε πρέπει να βρούμε πως θα κάνουμε την αλλαγή...το όσο προσθέτει 5+7, για αυτό υποετω βάζει τις τιμές αυτές..ομως αυτό τι για θα προσθέσει 5+12+19 συμφωνώ και εγώ είναι αν το βλέπω σωστά τελείως λάθος..έχω την εντύπωση έτσι εξηγείται η φιλοσοφία της άσκησης
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: theoni στις 24 Μάι 2016, 02:22:38 μμ
Οκ αυτο ήθελα να εξακρίβωσω οτι οι μετατροπες μόνο ισοδυναμες εχούν νοημα να ύπαρχουν....όποτε η συγκεκριμένη για να ηταν σωστη θα επρεπε να ηταν



Σ<--0
Για χ απο 12 μεχρι  26 με βημα 7
     Σ<--Σ+χ
Τελος επαναληψης
   
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: theoni στις 24 Μάι 2016, 02:23:41 μμ
Και συγνωμη στην οσο η συνθηκη ειναι χ<26 εφαγα ενα 2
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Λαμπράκης Μανώλης στις 24 Μάι 2016, 02:41:24 μμ
αυτό αλλάζει τα πράγματα  ;D :D .....  σε σχέση με τις τιμές που έχουν πιο πολύ νόημα τώρα....ουσιάστικά πάει τις τιμές του ΓΙΑ "μία τιμή πάνω" (σε σχήση με το βήμα) για να συμβαδίζουν με τις τιμές που θα προσθέσεις στο Όσο, γιατί είπαμε στο για δεν μπορώ να αλλάξω βήμα μέσα στην δομή, οπότε αλλάζω τις τιμές
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: theoni στις 24 Μάι 2016, 04:46:35 μμ
Αρα η λύση που έδωσα είναι σωστή????
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Λαμπράκης Μανώλης στις 24 Μάι 2016, 07:00:52 μμ
αν δεν κάνω κάποιο λάθος είναι σωστή, το όσο κάνει επαναλήψεις στις τιμές 5,12,19 και σταματάει στην 26, και στο άθροισμα προσθέτει "τις επόμενες τιμές", δηλαδή 12+19+26 ... το ίδιο κάνει και το Για που έχεις γράψει ..
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Vagnes στις 24 Μάι 2016, 08:25:22 μμ
Επίσης σωστή είναι και αυτή κατα τη γνώμη μου... Αν οχι διορθώστε με..

Σ<--0
Για χ απο 5 μεχρι  25 με βημα 7
     Σ<--Σ+(χ+7)
Τελος επαναληψης
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Λαμπράκης Μανώλης στις 24 Μάι 2016, 08:34:31 μμ
συνάδελφε και εγώ αυτή τη λύση θα έκανα να πω την αλήθεια ... το για λαμβάνει τις τιμές του όσο, μειώνουμε κατά 1 το 25 για να μην κάνει επανάληψη στο 26  και σε κάθε επανάληψη εμφανίζουμε τον "επόμενο" αριθμό με βάση το βήμα
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: gpapargi στις 25 Μάι 2016, 01:13:53 μμ
Με τα θέματα μετατροπών εγώ έχω γενικά ένα πρόβλημα και το έχω ξαναγράψει και αναλύσει στο παρελθόν:
Θα πρέπει να ξεκαθαρίσουμε τι εννοούμε όταν λέμε μετατροπή από τη μια εντολή στην άλλη.
1) Εννοούμε να έχουν την ίδια έξοδο αν δεχτούν την ίδια είσοδο;
2) Εννοούμε να έχουν στο τέλος και τις ίδιες τιμές στις μεταβλητές;
3) Εννοούμε να έχουν και τον ίδιο αριθμό βημάτων;
4) Εννοούμε να κάνουν τα ίδια ακριβώς βήματα και  με την ίδια ακριβώς σειρά;

Για μένα μόνο το 4 είναι σωστό. Όλα τα άλλα θα οδηγήσουν σε ασυνέπειες από μέρους μας.
Δίνω ένα παράδειγμα για να γίνει σαφές τι εννοώ:
Έστω ότι θέλω να βρω το άθροισμα των στηλών ενός δισδιάστατου πίνακα α[30,15] και να το αποθηκεύω σε κατάλληλο μονοδιάστατο S[15] που έχει ήδη αρχικοποιηθεί με μηδενικά. Γράφω 2 κώδικες. Ο ένας σαρώνει κατά γραμμή και ο άλλος κατά στήλη.
! σάρωση κατά γραμμή
Για γ από 1 μέχρι 30
  Για σ από 1 μέχρι 15
    S[σ]<--S[σ]+α[γ,σ]
  Τέλος_επανάληψης
Τέλος_επανάληψης

! σάρωση κατά στήλη
Για σ από 1 μέχρι 15
  Για γ από 1 μέχρι 30
    S[σ]<--S[σ]+α[γ,σ]
  Τέλος_επανάληψης
Τέλος_επανάληψης

Ας πούμε ότι μετατρέπω έναν από τους 2 σε κάποια άλλη εντολή εκτός της Για. Έχω ίδια έξοδο για την ίδια είσοδο. Έχω και τις ίδιες τιμές στις μεταβλητές στο τέλος. Έχω και ίδιο αριθμό βημάτων. Αλλά δεν έχω ίδια βήματα και με την ίδια σειρά. Οι δύο αλγόριθμοι κάνουν άλλα πράγματα.
Αυτό εννοώ όταν λέω ότι οι ερμηνείες 1 ως 3 οδηγούν σε ασυνέπειες.
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Λαμπράκης Μανώλης στις 25 Μάι 2016, 01:49:58 μμ
Καλημέρα σε όλους..
όντως είναι κάπως γενικός ο ορισμός της μετατροπής μεταξύ δομών επανάληψης..στο συγκεκριμένο παράδειγμα ας πούμε, το για δεν μπορεί  πρώτα να αλλάξει τιμή στη μεταβλητή και μετά να την χρησιμοποιήσει, οπότε το κάνει έμμεσα..θεωρείς συνάδελφε πως δεν έχει νόημα γενικά αυτή η μετατροπη; Με τις λύσεις διαφωνείς;
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: gpapargi στις 25 Μάι 2016, 02:06:49 μμ
Καλημέρα σε όλους..
όντως είναι κάπως γενικός ο ορισμός της μετατροπής μεταξύ δομών επανάληψης..στο συγκεκριμένο παράδειγμα ας πούμε, το για δεν μπορεί  πρώτα να αλλάξει τιμή στη μεταβλητή και μετά να την χρησιμοποιήσει, οπότε το κάνει έμμεσα..θεωρείς συνάδελφε πως δεν έχει νόημα γενικά αυτή η μετατροπη; Με τις λύσεις διαφωνείς;
Βασικά διαφωνώ με το πρόβλημα :)
Κατά τη γνώμη μου ο ορισμός 4 είναι ο μόνος που δεν οδηγεί σε ασυνέπειες (τις οποίες προσπάθησα να δείξω με το παράδειγμα που έδωσα). Στη συγκεκριμένη άσκηση δίνουμε μια Όσο με αλλαγή του μετρητή στην αρχή και όχι στο τέλος όπως το κάνει η Για. Επίσης στη συνθήκη της Όσο ο συγκριτικός τελεστής είναι < και όχι <= όπως στη Για. Άρα με τον ορισμό 4 η άσκηση δεν είναι σωστή.
Δηλαδή για να μιλάμε για τέτοιες ασκήσεις θα πρέπει πρώτα να εξηγήσουμε με συνεπή τρόπο τι εννοούμε όταν λέμε "μετατροπή". Διαφορετικά ο καθένας θα θεωρεί σωστό κάτι που ο άλλος το θεωρεί λάθος. πχ έβλεπες πέρυσι να σου λέει κάποιος  η λύση αυτή δίνει ίδια έξοδο αλλά δεν αφήνει τις ίδιες τιμές στις μεταβλητές. Προφανώς ο πρώτος έδινε σαν ορισμό τον 1 και ο άλλος τον 2.
Η συζήτηση θα πρέπει να ξεκινήσει από τον ορισμό. Να θέσουμε πρώτα "καλώς" το πρόβλημα και μετά να το λύσουμε. Διαφορετικά ο καθένας λύνει ότι θέλει.
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Laertis στις 25 Μάι 2016, 02:20:31 μμ
Βασικά διαφωνώ με το πρόβλημα :)
Κατά τη γνώμη μου ο ορισμός 4 είναι ο μόνος που δεν οδηγεί σε ασυνέπειες (τις οποίες προσπάθησα να δείξω με το παράδειγμα που έδωσα). Στη συγκεκριμένη άσκηση δίνουμε μια Όσο με αλλαγή του μετρητή στην αρχή και όχι στο τέλος όπως το κάνει η Για. Επίσης στη συνθήκη της Όσο ο συγκριτικός τελεστής είναι < και όχι <= όπως στη Για. Άρα με τον ορισμό 4 η άσκηση δεν είναι σωστή.
Δηλαδή για να μιλάμε για τέτοιες ασκήσεις θα πρέπει πρώτα να εξηγήσουμε με συνεπή τρόπο τι εννοούμε όταν λέμε "μετατροπή". Διαφορετικά ο καθένας θα θεωρεί σωστό κάτι που ο άλλος το θεωρεί λάθος. πχ έβλεπες πέρυσι να σου λέει κάποιος  η λύση αυτή δίνει ίδια έξοδο αλλά δεν αφήνει τις ίδιες τιμές στις μεταβλητές. Προφανώς ο πρώτος έδινε σαν ορισμό τον 1 και ο άλλος το
Η συζήτηση θα πρέπει να ξεκινήσει από τον ορισμό. Να θέσουμε πρώτα "καλώς" το πρόβλημα και μετά να το λύσουμε. Διαφορετικά ο καθένας λύνει ότι θέλει.

Ο ορισμός της μετατροπής σε ισοδύναμο αλγόριθμο, ακολουθώντας τη μέχρι τώρα πρακτική των θεμάτων, ακολουθεί όλα τα άλλα εκτός απο το 4. Τον ορισμό 4 τον έβαλες εσύ Γιώργο για να θολώσεις τα νερά  ;D
Τι σημαίνει "κάνουν τα ίδια ακριβώς βήματα και  με την ίδια ακριβώς σειρά;' . Ο όρος της λέξης μετατροπή όντως είναι το πρόβλημα, κι εγώ αντιλαμβάνομαι τη μετατροπή ως τα 1,2 και 3 χωρίς υποχρεωτικά το 4. Ίσως μας βοηθήσει η λέξη "ισοδύναμος" που δε σημαίνει κατ 'αναγκη αυτό που λές. Άσε που είναι και εξαιρετικά επίκαιρος (ισοδύναμα μέτρα κλπ)
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: gpapargi στις 25 Μάι 2016, 02:42:38 μμ
Ναι ουσιαστικά διαφωνώ με τη λογική των θεμάτων  >:D  :)
Για να δεις τι μπορεί να πάει στραβά με τα 1,2,3 χωρίς το 4 δες το παράδειγμα που αναφέρω στο αρχικό μου μήνυμα σε αυτό το θέμα. Πες πως σου δίνει τον πρώτο κώδικα εύρεσης αθροίσματος στηλών και ζητάει μετατροπή σε Όσο. Και κάποιος απαντάει με τον δεύτερο χρησιμοποιώντας όμως Όσο αντί για Για. Δεν παραβίασε τα 1,2,3 αλλά δεν μπορούμε να πούμε ότι έκανε τη μετατροπή γιατί ο κώδικάς του κάνει άλλα πράγματα από τα αρχικά.
Θέλουμε δηλαδή ένα ορισμό της μετατροπής (ή της ισοδυναμίας).
Για μένα σωστό είναι να μιλάμε για μετατροπή του ίδιου αλγορίθμου (ίδιων βημάτων)   με τη ζητούμενη εντολή (άλλη κωδικοποίηση δηλαδή).
Τίτλος: Απ: Απορία σε μετατρόπες απο μια δομή επανάληψης σε μια άλλη
Αποστολή από: Laertis στις 25 Μάι 2016, 03:06:29 μμ
Παραθέτω τις εκφωνήσεις των θεμάτων των εξετασεων που ζητούν αυτό που συζητάμε :

Θ1β.Να μετατρέψετε την παραπάνω δομή σε ισοδύναμη δομή επανάληψης Όσο ... επανάλαβε.   (2001)
Θ1γ. Να μετατραπεί σε ισοδύναμο με χρήση της δομής Όσο … Επανάλαβε (2005)
Θ2γ. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με το παρακάτω τμήμα ……………  χρησιμοποιώντας αντί της εντολής Όσο την εντολή Για (2009)
Α4. ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με αποκλειστική χρήση της δομής επανάληψης «Όσο ... επανάλαβε». (2012)
A4β. Να γράψετε στο τετράδιό σας το τμήμα αλγορίθμου ΙΙ με συμπληρωμένα τα κενά, ώστε να παράγει το ίδιο αποτέλεσμα με το τμήμα αλγορίθμου Ι. (2015)

Είναι σαφής η διαφοροποίηση των εκφωνήσεων με την απάλειψη της λέξης μετατροπή απο το 2009 και μετά. Παρόλα αυτά ζητείται το ίδιο πράγμα. Λόγω όμως χρήσης της ορολογίας "μετατροπη" για 9 συναπτά έτη, έγινε και η καθιέρωση του όρου. Οπότε λέγοντας μετατροπή σχεδόν όλοι θεωρούμε το ίδιο, εκτός του Παπαργύρη που θέλει να σπέρνει καινά δαιμόνια.  ;D