Ειναι δυνατον να συντάξουμε την δομη επιλογης ΑΝ .. ΤΟΤΕ .. ΑλΛΙΩΣ_ΑΝ χρησιμοποιωντας στην τελευταια επιλογη μονο ΑΛΛΙΩΣ_ΑΝ και οχι ΑΛΛΙΩΣ οπως λεει το βιβλιο ?
ΤΟ "ΑΛΛΙΩΣ_ΑΝ" ΠΡΕΠΕΙ ΝΑ ΑΚΟΛΟΥΘΕΙΤΑΙ ΑΠΟ ΛΟΓΙΚΗ ΣΥΝΘΗΚΗ.
ΤΟ "ΑΛΛΙΩΣ" ΔΕΝ ΑΚΟΛΟΥΘΕΙΤΑΙ ΑΠΟ ΣΥΝΘΗΚΗ Κ ΕΚΤΕΛΕΙΤΑΙ ΟΤΑΝ ΔΕΝ ΙΣΧΥΕΙ ΚΑΜΙΑ ΑΠΟ ΤΙΣ ΣΥΝΘΗΚΕΣ ΠΟΥ ΠΡΟΗΓΟΥΝΤΑΙ.
ΕΞΑΡΤΑΤΑΙ ΑΠΟ ΤΗΝ ΕΚΦΩΝΗΣΗ Κ ΤΟ ΠΩΣ ΘΑ ΣΧΕΔΙΑΣΕΙ ΚΑΠΟΙΟΣ ΤΗΝ ΛΥΣΗ.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΔΕΝ ΥΠΑΡΧΕΙ ΠΡΟΒΛΗΜΑ ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ ΤΟ "ΑΛΛΙΩΣ" Κ Η ΠΟΛΛΑΠΛΗ ΕΠΙΛΟΓΗ ΚΛΕΙΝΕΙ ΜΕ
ΑΛΛΙΩΣ_ΑΝ <ΛΟΓ_ΣΥΝΘΗΚΗ> ΤΟΤΕ
...
ΤΕΛΟΣ_ΑΝ
ΑΠΛΑ ΕΤΣΙ ΥΠΑΡΧΕΙ ΚΙΝΔΥΝΟΣ Ο ΑΛΓΟΡΙΘΜΟΣ ΝΑ ΜΗΝ ΕΙΝΑΙ ΑΠΟΤΕΛΕΣΜΑΤΙΚΟΣ!
χρειάζεται προσοχή όντως, μπορεί πάντως στην πολλαπλή επιλογή βα μην υπάρχει αλλιώς...
ΑΝ ΥΠΟΘΕΣΟΥΜΕ ΟΤΙ ΜΠΟΡΕΙ ΝΑ ΣΤΑΘΕΙ ΛΟΓΙΚΑ Η ΧΡΗΣΗ ΤΟΥ , ΤΟΤΕ ΥΠΑΡΧΕΙ ΠΕΡΙΠΤΩΣΗ ΚΑΠΟΙΟΣ ΔΙΟΡΘΩΤΗΣ ΝΑ ΑΦΑΙΡΕΣΕΙ ΜΟΝΑΔΕΣ ΑΠΟ ΤΟ ΓΡΑΠΤΟ ΤΟΥ ΜΑΘΗΤΗ ...?
Το αλλιώς είναι προαιρετικό. Παντού. Και στην σύνθετη και στην πολλαπλά επιλογή. Αλλίμονο αν δεν ήτανε.
Είναι σα να έχεις μια σύνθετη επιλογή ( Αν..τότε..αλλιώς) και να έχεις το κομμάτι της "Αλλιώς" άδειο λόγω του ότι σε αυτή την περίπτωση (του αλλιώς) δε θέλεις να γίνει τίποτα. Αντί να το βάλεις και να είναι άδειο
δεν το βάζεις καθόλου. Το διάγραμμα ροής είναι ιδανικό για να δείξει ότι μια απλή επιλογή (Αν τότε) είναι ουσιαστικά μια σύνθετη επιλογή (Αν τότε αλλιώς) με άδειο το αλλιώς ;)
Δε δικαιούται κανείς να σου κόψει βαθμό. Αν σου κόψει είναι φάουλ.
Ήξερα πέρυσι κάποιον που έκοβε βαθμό στην πολλαπλή χωρίς αλλιώς γιατί κάνει... ΕΝΑΝ ...ολόκληρο περιττό έλεγχο. :D
Ήμαρτον. Μετά από μια ανάγνωση του παρακάτω θέματος καταλαβαίνει κανείς ότι έχοντας καταπιεί αμάσητες τόσες χοντράδες είναι αστείο το να κόβεις βαθμούς για μια περιττή συνθήκη.
https://alkisg.mysch.gr/steki/index.php?topic=988.0
Γνώμη μου είναι πως δεν είναι λάθος αν δεν περιέχεται το αλλιώς, αν και το βιβλίο δεν αναφέρει πουθενά πως μπορεί να γίνει. Βέβαια δεν αναφέρει και πουθενά πως είναι λάθος, άρα ένας διορθωτής δεν δικαιολογείται να κόψει βαθμούς γι'αυτό.
Σε αντίθεση με το αν πρέπει να κόψει για περιττό έλεγχο, πιστεύω πως μπορεί να κόψει, μια που το βιβλίο το αναφέρει καθαρά πως είναι λάθος!
Γράφεις
"Σε αντίθεση με το αν πρέπει να κόψει για περιττό έλεγχο, πιστεύω πως μπορεί να κόψει, μια που το βιβλίο το αναφέρει καθαρά πως είναι λάθος! "
Έστω το πρόβλημα της εύρεσης μεγίστου και ελαχίστου πολλών αριθμών και οι ενδεχόμενες υλοποιήσεις του
εντός βρόχου
1η λύση
Αν Χ>max τοτε
max<-x
Τελος_αν
Αν Χ<min τοτε
min<-x
Τελος_αν
2η λύση
Αν Χ>max τοτε
max<-x
Αλλιως_αν Χ<min τοτε
min<-x
Τελος_αν
Η δεύτερη λύση γλιττώνει τον υπολογιστή από ορισμένους περιττούς ελέγχους σε σχέση με τον ελάχιστο. Είναι δυνατόν να κοπούν μονάδες αν δοθεί η πρώτη ?
Θέλω να πω πως είναι πολύ σχετικό το τι είναι περιττό και τι όχι και καλό είναι να μην εξαντλείται η αυστηρότητά μας όσον αφορά ζητήματα αποδοτικότητας αλγορίθμων
Τάκη, είναι προφανές ότι δεν κόβονται μονάδες στην 1η λύση, αλλά οι 2 λύσεις δεν είναι εντελώς ισοδύναμες. Εξαρτάται απο την αρχικοποίηση των max και min. Αν είναι αυθαίρετη αρχικοποίηση η 2η λύση δεν βγάζει πάντα σωστό αποτέλεσμα.
Υπάρχουν τόσα σημεία για να κοπούν μονάδες που δε νομίζω ότι πρέπει να στεκόμαστε στους περιττούς ελέγχους που δεν αλλιώνουν τον αλγόριθμο.
Η κρίση μας θα πρέπει να βασίζεται σε επιστημονικά επιχειρήματα και όχι στην κατά γράμμα ερμηνεία του σχολικού βιβλίου. Δε μάθαμε πληροφορική από το σχολικό βιβλίο. οι πρώτοι που θα το έλεγαν αυτό είναι οι ίδιοι οι συγγραφείς του βιβλίου.
Για μένα, αν θέλουμε να μιλάμε για κόψιμο βαθμών σε περίπτωση περιττών ελέγχων θα πρέπει στη βάση μιας τέτοιας κουβέντας να είναι η έννοια της αλγοριθμικής τάξης. Δεν είναι δυνατό να βρίσκουν ορισμένοι το μέγιστο με πλήρη ταξινόμηση και να εκτυπώνουν την τρίτη στήλη πίνακα 2 διαστάσεων με διπλό βρόχο και να μην κόβουμε βαθμούς. Και την ίδια στιγμή να μιλάμε για κόψιμο βαθμών στην ασήμαντη περιττή συνθήκη της αλλιώς_αν. Δυιλίζουμε τον κώνωπα και καταπίνουμε την κάμηλο. Οποισδήποτε καταλαβαίνει πληροφορική καταλαβαίνει και το ότι κρίνουμε με 2 μέτρα και 2 σταθμά.
Laertis συμφωνώ πως στην αυθαίρετη αρχικοποίηση εκτός πεδίου ορισμού των αριθμών, αν είναι σε αύξουσα ταξινόμηση οι αριθμοί δεν προκύπτει σωστό αποτέλεσμα. Θεώρησα αρχικοποίηση με τον πρώτο των δοθέντων.
Γιώργο Παπαργύρη με βρίσκει σύμφωνο η προσέγγιση αλγοριθμικής τάξης. Όσον αφορά τη λύση της ταξινόμησης για εύρεση μεγίστου τη θεωρώ μη παραδεκτή, αλλά τη χρήση του αλγορίθμου της bubblesort για εύρεση Μ από τους Ν μεγαλύτερους με μετατροπή του ορίου του εξωτερικού βρόχου από Ν σε Μ τη θεωρώ ιδανική λύση.
Βέβαια μια λύση με αλλιως_αν και περιττούς ελέγχους της μορφής
αν χ>0 τοτε
...
αλλιώς_αν χ<=0 και χ>-4 τοτε
..
παρόλο που δεν παραβιάζει την τάξη, τη θεωρώ μη παραδεκτή, διότι υποδηλώνει τη μη κατανόηση της εντολής
Το θέμα των περιττών συνθηκών στις εντολές επιλογής με έχει απασχολήσει και διαφωνώ με το βιβλίο. Έχω γράψει την άποψή μου στο παρακάτω link
https://alkisg.mysch.gr/steki/index.php?topic=674.msg3827#msg3827
Παράθεση από: koniordos στις 08 Οκτ 2007, 12:19:44 ΜΜ
παρόλο που δεν παραβιάζει την τάξη, τη θεωρώ μη παραδεκτή, διότι υποδηλώνει τη μη κατανόηση της εντολής
Υποδηλώνει
ίσως, μη κατανόηση της εντολής
Ίσως επίσης να υποδηλώνει ανασφάλεια απλά
έχω ακούσει από μαθητές: "το ήξερα ότι δεν χρειαζόταν αλλά το έβαλα γιατί δεν είναι λάθος έτσι και αλλιώς" (νόμιζαν ότι θα κάνουν καλή εντύπωση;)
Όπως και να έχει όμως ο αλγόριθμος δουλεύει και βγάζει σωστό αποτέλεσμα, άρα πως μπορείς να κόψεις μονάδες;