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

Γενικό Λύκειο => Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον => Δομή επιλογής => Μήνυμα ξεκίνησε από: denia_k στις 25 Οκτ 2012, 09:32:03 μμ

Τίτλος: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: denia_k στις 25 Οκτ 2012, 09:32:03 μμ
αλγόριθμος Θέμα_3
διάβασε Τ
διάβασε Υ
αν Τ = "Δ" τότε
Α ← 1
αλλιώς_αν Τ = "Ε" τότε
Α ←  2
αλλιώς_αν Τ = "Φ" τότε
Α  ← 3
τέλος_αν
αν Υ >= Α τότε
L ←  Υ - Α
αλλιώς_αν Υ = 0 τότε
εμφάνισε Α
αλλιώς_αν Υ < Α τότε
π  ← Α - Υ
Υ  ← 0
εμφάνισε π
τέλος_αν
τέλος Θέμα_3

Η ερώτησή μου είναι η εξής: H εντολή L ←  Υ - Α που δεν έχει γραφτεί ως Υ←  Υ-Α, είναι λανθασμένη;
 
Τίτλος: Απ: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: Νίκος Αδαμόπουλος στις 25 Οκτ 2012, 09:57:56 μμ
Τι εκφράζει το L; Από τη στιγμή που λίγο παρακάτω έχεις Υ<-0 για να δείξεις ότι το υπόλοιπο της κάρτας μηδενίζεται, θα έπρεπε να έχεις Υ<- Υ-Α  για να δείξεις ότι το υπόλοιπο της κάρτας μειώνεται.

Και επίσης για να δείξεις ότι το (νέο) υπόλοιπο αποτελεί (και) έξοδο του αλγορίθμου, ενώ δεν ζητείται να εμφανιστεί, θα έπρεπε να έχεις ως προτελευταία εντολή του αλγορίθμου το εξής:

Αποτελέσματα // Υ //
Τίτλος: Απ: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: denia_k στις 25 Οκτ 2012, 10:11:18 μμ
Πού ορίζεται όμως ότι η έξοδος του αλγορίθμου είναι το Υ; Στην περίπτωση μάλιστα του αλλιώς_αν Υ < Α, έξοδος είναι το π. Και στην περίπτωση που Υ = 0 τότε έξοδος είναι το Α.  :-\
Τίτλος: Απ: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: Νίκος Αδαμόπουλος στις 25 Οκτ 2012, 11:38:19 μμ
Πού ορίζεται όμως ότι η έξοδος του αλγορίθμου είναι το Υ; Στην περίπτωση μάλιστα του αλλιώς_αν Υ < Α, έξοδος είναι το π. Και στην περίπτωση που Υ = 0 τότε έξοδος είναι το Α.  :-\

To π και το Α που αναφέρεις αποτελούν βέβαια έξοδο, αλλά εμφανίζονται με την εντολή Εμφάνισε οπότε δεν χρειάζεται να γίνει κάτι άλλο. Το Υ επίσης αποτελεί έξοδο αφού πρόκειται για το νέο υπόλοιπο  που πρέπει να μπει στην κάρτα, όμως αφού δεν εμφανίζεται τουλάχιστον θα πρέπει να δηλωθεί στο τέλος ότι αποτελεί έξοδο. Αν το Υ δεν μπει σε Εμφάνισε ούτε σε Αποτελέσματα, τότε για ποιο λόγο να υπάρχουν οι εντολές που εκχωρούν στο Υ κάτι, αφού έτσι κι αλλιώς το Υ δεν χρησιμοποιείται πουθενά παρακάτω στον αλγόριθμο...;
Τίτλος: Απ: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: denia_k στις 26 Οκτ 2012, 12:11:27 πμ
Το κατάλαβα το σκεπτικό σου Νίκο! Η λογική αυτή λοιπόν ισχύει και γενικά; Για παράδειγμα στις ασκήσεις που υπολογίζεται κάτι, αλλά δεν τυπώνεται θα πρέπει εμείς να το δηλώνουμε με // Αποτελέσματα; //, ακόμα κι αν ο αλγόριθμος έχει ήδη κάποια έξοδο;
Τίτλος: Απ: Θέμα με διόδια (Ιούνιος 2002)
Αποστολή από: Νίκος Αδαμόπουλος στις 26 Οκτ 2012, 12:54:57 πμ
Το κατάλαβα το σκεπτικό σου Νίκο! Η λογική αυτή λοιπόν ισχύει και γενικά; Για παράδειγμα στις ασκήσεις που υπολογίζεται κάτι, αλλά δεν τυπώνεται θα πρέπει εμείς να το δηλώνουμε με // Αποτελέσματα; //, ακόμα κι αν ο αλγόριθμος έχει ήδη κάποια έξοδο;

Ναι, εφόσον αποτελεί ζητούμενο της άσκησης.