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

Γενικό Λύκειο => Γ΄ Λυκείου => Μονοδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: Cloud_Strife στις 24 Απρ 2010, 06:54:58 ΜΜ

Τίτλος: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 24 Απρ 2010, 06:54:58 ΜΜ
Μπορείτε να με βοηθήσετε με την παρακάτω άσκηση;

Ορίστε η εκφώνηση:
(http://i40.tinypic.com/1fzkzp.png)

Και εδώ η λύση της που έγραψα:
(http://i40.tinypic.com/55h0qu.png)

Προσπάθησα όσο καλύτερα μπορούσα για να φαίνεται καλά... Παρόλα αυτά την εχω σωστή?
Ακόμη, πως θα μπορούσε να λυθεί το viii με χρήση πίνακα?
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: andreas_p στις 24 Απρ 2010, 07:23:11 ΜΜ
1)
  max <- 0  ! ??????  Αν ΟΛΕΣ οι ακέραιες τιμές (που θα δοθούν) είναι αρνητικές ;;;

  Το αυτό και για το max2 !!!!!!!!!!!!!!

2)

Διάβασε ΑΡ
Αν ΑΡ <>0  και  ΑΡ <> 9999 τότε
...
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 24 Απρ 2010, 07:31:40 ΜΜ
Παράθεση από: andreas_p στις 24 Απρ 2010, 07:23:11 ΜΜ
1)
  max <- 0  ! ??????  Αν ΟΛΕΣ οι ακέραιες τιμές (που θα δοθούν) είναι αρνητικές ;;;

2)

Διάβασε ΑΡ
Αν ΑΡ <>0  και  ΑΡ <> 9999 τότε
...
1) Πιστεύω ότι οι αριθμοί θα είναι θετικοί (0, +∞). Αλλιώς δεν μπορείς να αρχικοποιήσεις σε μια απίθανα ελάχιστη τιμή αφού τότε το διάστημα θα είναι (-∞,+∞). Και μπερδεύει το πράγμα...

2) ΚΑΙ, σωστά. Έγινε διόρθωση στην παραπάνω λύση...
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 24 Απρ 2010, 07:33:36 ΜΜ
Στο ερώτημα viii, με τον τρόπο που υπολογίζεις το μ.ο., όταν το i πάρει την τιμή 11 θα γίνει διαίρεση με το 0, οπότε αυτό θέλει προσοχή. Βασικά πρέπει στον παρανομαστή να βάλεις (i-11+1).

Επίσης νομίζω ότι η Όσο είναι πιο κατάλληλη δομή επανάληψης απ τη στιγμή που αποφεύγεις την αρχική συνθήκη.

Την είδα λίγο βιαστικά. Αν προσέξω κάτι άλλο θα σου πω.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 24 Απρ 2010, 07:44:28 ΜΜ
Παράθεση από: tom στις 24 Απρ 2010, 07:33:36 ΜΜ
Στο ερώτημα viii, με τον τρόπο που υπολογίζεις το μ.ο., όταν το i πάρει την τιμή 11 θα γίνει διαίρεση με το 0, οπότε αυτό θέλει προσοχή. Βασικά πρέπει στον παρανομαστή να βάλεις (i-11+1).

Επίσης νομίζω ότι η Όσο είναι πιο κατάλληλη δομή επανάληψης απ τη στιγμή που αποφεύγεις την αρχική συνθήκη.

Την είδα λίγο βιαστικά. Αν προσέξω κάτι άλλο θα σου πω.
Ευχαριστώ για την παρατήρηση και τις συμβουλές... Το διόρθωσα!
Πάντως πιστεύω ότι το ερώτημα i είναι λίγο ασαφές. Τι λέτε? Αντιφάσκει με το iii, αφού max δεν μπορείς να αρχικοποιήσεις... Σε τέτοιες περιπτώσεις τι μπορούμε να κάνουμε?
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 24 Απρ 2010, 07:52:02 ΜΜ
Παράθεση από: Cloud_Strife στις 24 Απρ 2010, 07:44:28 ΜΜ
Ευχαριστώ για την παρατήρηση και τις συμβουλές... Το διόρθωσα!
Πάντως πιστεύω ότι το ερώτημα i είναι λίγο ασαφές. Τι λέτε? Αντιφάσκει με το iii, αφού max δεν μπορείς να αρχικοποιήσεις... Σε τέτοιες περιπτώσεις τι μπορούμε να κάνουμε?

Δε νομίζω να είναι αντιφατικό. Τα 0 και 9999 είναι κάποιες αυθαίρετες τιμές ελέγχου. Το πρόβλημα με το 0 μπορεί να το ξεπεράσεις ως εξής:

Να ορίσεις ως μέγιστη τιμή την πρώτη που θα δοθεί. Να άλλος ένα λόγος που είναι πιο κατάλληλη η Όσο.

Κώδικας [Επιλογή]
Διάβασε ΑΡ
max<-ΑΡ
Όσο ΑΡ <> 0 και ΑΡ <> 9999 επανάλαβε


   Διάβασε ΑΡ
Τέλος_επανάληψης


Υ.Γ. Σε σχέση με την προηγούμενη επισήμανση που έκανα ισχύει:

Για κάθε ακολουθία αριθμών n,n+1,n+2,...,m όπου m>n, πλήθος όρων: m-n+1

π.χ.   για τους αριθμούς 14,15,16,17,18, πλήθος όρων: 18-14+1=5.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 24 Απρ 2010, 08:05:43 ΜΜ
Παράθεση από: tom στις 24 Απρ 2010, 07:52:02 ΜΜ
Δε νομίζω να είναι αντιφατικό. Τα 0 και 9999 είναι κάποιες αυθαίρετες τιμές ελέγχου. Το πρόβλημα με το 0 μπορεί να το ξεπεράσεις ως εξής:

Να ορίσεις ως μέγιστη τιμή την πρώτη που θα δοθεί. Να άλλος ένα λόγος που είναι πιο κατάλληλη η Όσο.

Κώδικας [Επιλογή]
Διάβασε ΑΡ
max<-ΑΡ
Όσο ΑΡ <> 0 και ΑΡ <> 9999 επανάλαβε


   Διάβασε ΑΡ
Τέλος_επανάληψης


Υ.Γ. Σε σχέση με την προηγούμενη επισήμανση που έκανα ισχύει:

Για κάθε ακολουθία αριθμών n,n+1,n+2,...,m όπου m>n, πλήθος όρων: m-n+1

π.χ.   για τους αριθμούς 14,15,16,17,18, πλήθος όρων: 18-14+1=5.
Λοιπόν, σωστή η απάντηση. Λοιπόν για να μην αλλάζω την λύση ολοκληρη έχουμε:
max<--0
max2<--0

...
i<--i+1
Αν i=1 τότε
   max<--AP
   max2<--AP
Τέλος_αν
...

Και τώρα πιστεύω πως είναι οκ. Όντως τελικά με την "'Οσο-επανάλαβε" θα την έλυνα πιο εύκολα, και πιο κατανοητά για τον εξεταστή...
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 24 Απρ 2010, 08:16:42 ΜΜ
Παράθεση από: Cloud_Strife στις 24 Απρ 2010, 08:05:43 ΜΜ
Λοιπόν, σωστή η απάντηση. Λοιπόν για να μην αλλάζω την λύση ολοκληρη έχουμε:
max<--0
max2<--0

...
i<--i+1
Αν i=1 τότε
   max<--AP
   max2<--AP
Τέλος_αν
...
Και τώρα πιστεύω πως είναι οκ. Όντως τελικά με την "'Οσο-επανάλαβε" θα την έλυνα πιο εύκολα, και πιο κατανοητά για τον εξεταστή...
Ναι σωστό είναι άλλα μπερδεμένο.

Εγώ χρησιμοποιώ την Αρχή_επανάληψης μόνο όταν:

α) Απαιτείται έλεγχος εγκυρότητας δεδομένων
β) Υπάρχει μενού επιλογών
γ) Υπάρχει διαδικασία που εκτελείται υποχρεωτιικά μια φορά και ακολουθεί ερώτηση προς τον χρήστη, για τη συνέχεια ή μη της διαδικασίας.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 24 Απρ 2010, 08:29:51 ΜΜ
Στο ερώτημα iv) μήπως θα έπρεπε να είναι έτσι:
Κώδικας [Επιλογή]
...
Αν i>=32 και i<=88 τότε
   Αν ΑΡ>max2 τότε
       max2<-ΑΡ
       θ<-i
   Τέλος_αν
Τέλος_αν
...


Επίσης ο αλγόριθμός σου δεν έχει έξοδο! :o

Όταν μια άσκηση λέει "Να υπολογίζει" εννοεί και να εμφανίζει... ;)

Πάντως αυτή η άσκηση θα λύνονταν πιο εύκολα με πίνακες. Δεν καταλαβαίνω γιατί το απαγορεύει...

Καλό θα ήταν να "τρέξεις" τον αλγόριθμό σου στο διερμηνευτή της ψευδογλώσσας για να δεις μήπως υπάρχουν και άλλα λαθάκια.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 24 Απρ 2010, 11:04:21 ΜΜ
Παράθεση από: tom στις 24 Απρ 2010, 08:29:51 ΜΜ
Στο ερώτημα iv) μήπως θα έπρεπε να είναι έτσι:
Κώδικας [Επιλογή]
...
Αν i>=32 και i<=88 τότε
   Αν ΑΡ>max2 τότε
       max2<-ΑΡ
       θ<-i
   Τέλος_αν
Τέλος_αν
...


Επίσης ο αλγόριθμός σου δεν έχει έξοδο! :o

Όταν μια άσκηση λέει "Να υπολογίζει" εννοεί και να εμφανίζει... ;)

Πάντως αυτή η άσκηση θα λύνονταν πιο εύκολα με πίνακες. Δεν καταλαβαίνω γιατί το απαγορεύει...

Καλό θα ήταν να "τρέξεις" τον αλγόριθμό σου στο διερμηνευτή της ψευδογλώσσας για να δεις μήπως υπάρχουν και άλλα λαθάκια.
Λολ... Στο iv ξέχασα την εμφωλευμένη αν... Αχ... Ευχαριστώ. Θα το κοιταξω...
Απλά μας περιορίζει ο καθηγητής τη χρήση πινάκων για να "θυμηθούμε" και τις απλές δομές επανάληψης!
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: andreas_p στις 24 Απρ 2010, 11:50:50 ΜΜ
Αν i=1 τότε
   max<--AP
   max2<--AP ! Όχι εδώ
Τέλος_αν 
...  !    μπορείς να το βρεις ...
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: bagelis στις 29 Απρ 2010, 02:21:15 ΠΜ
Παράθεση από: tom στις 24 Απρ 2010, 08:29:51 ΜΜ

Πάντως αυτή η άσκηση θα λύνονταν πιο εύκολα με πίνακες. Δεν καταλαβαίνω γιατί το απαγορεύει...

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


Παράθεση από: tom στις 24 Απρ 2010, 08:29:51 ΜΜ
Όταν μια άσκηση λέει "Να υπολογίζει" εννοεί και να εμφανίζει...
όταν μία άσκηση λέει "Να υπολογίζει" τότε αυστηρά πρέπει να βάζουμε Αποτελέσματα // ... //,  προσωπικά όμως δεν θα έκοβα ποτέ από μαθητή για κάτι τέτοιο...
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 29 Απρ 2010, 08:53:11 ΠΜ
Παράθεση από: bagelis στις 29 Απρ 2010, 02:21:15 ΠΜ
Αν και κάπου έχει ξαναγίνει αυτή η κουβέντα, δεν νομίζω ότι μπορεί η συγκεκριμένη άσκηση να λυθεί με πίνακες μιας και το μέγεθος δεν είναι εκ των προτέρων γνωστό.
Εντάξει, ναι έχω παρακολουθήσει και γω 1-2 τέτοιες συζητήσεις. Απλά είμαι σε αυτούς που πιστεύουν ότι η ψευδωγλώσσα είναι η πρώτη επαφή με την αλγοριθμική σκέψη και αντιμετώπιση ενός προβλήματος και δε θα ήθελα τα παιδιά να έχουν τέτοιους περιορισμούς. Στη ΓΛΩΣΣΑ αλλάζει το πράγμα. Τέλος πάντων.

Παράθεση από: bagelis στις 29 Απρ 2010, 02:21:15 ΠΜ
όταν μία άσκηση λέει "Να υπολογίζει" τότε αυστηρά πρέπει να βάζουμε Αποτελέσματα // ... //,  προσωπικά όμως δεν θα έκοβα ποτέ από μαθητή για κάτι τέτοιο...

Αυτό που είπα στο φίλο είναι ότι με κάποιο τρόπο ο αλγόριθμος πρέπει να έχει έξοδο. Τώρα στη συγκεκριμένη περίπτωση είτε ο μαθητής χρησιμοποιήσει την εντολή Αποτελέσματα // ... // είτε την εντολή Εμφάνισε ούτε εμένα με πειράζει, οπότε ούτε εγώ θα κόψω.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 02 Μαΐου 2010, 05:11:51 ΜΜ
Παράθεση από: tom στις 29 Απρ 2010, 08:53:11 ΠΜ
Εντάξει, ναι έχω παρακολουθήσει και γω 1-2 τέτοιες συζητήσεις. Απλά είμαι σε αυτούς που πιστεύουν ότι η ψευδωγλώσσα είναι η πρώτη επαφή με την αλγοριθμική σκέψη και αντιμετώπιση ενός προβλήματος και δε θα ήθελα τα παιδιά να έχουν τέτοιους περιορισμούς. Στη ΓΛΩΣΣΑ αλλάζει το πράγμα. Τέλος πάντων.

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

Ακόμη, σε ΓΛΩΣΣΑ δεν μπορεί να γραφεί η άσκηση αυτή με πίνακες διότι, το μέγεθος του πίνακα δεν είναι εκ των προτέρων γνωστό... Όπως και να έχει είναι μια θεωρητικη-αλγοριθμική άσκηση!
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: tom στις 02 Μαΐου 2010, 05:19:26 ΜΜ
Παράθεση από: Cloud_Strife στις 02 Μαΐου 2010, 05:11:51 ΜΜ
Σίγουρα απαιτείται έξοδος για να μην παραβιάζετε το κριτήριο της αποτελεσματικότητας, ...
Εννοείς το κριτήριο της εξόδου.
Τίτλος: Απ: Άσκηση με συνθήκη τερματισμού και άλλα...
Αποστολή από: Cloud_Strife στις 02 Μαΐου 2010, 05:27:54 ΜΜ
Παράθεση από: tom στις 02 Μαΐου 2010, 05:19:26 ΜΜ
Εννοείς το κριτήριο της εξόδου.
Σωστά, αυτό εννούσα. Λάθος μου.