Μια και το γενικεύουμε.
ΜΕΓΕΘΟΣ <- 32768
!Έστω ο πίνακας δεδομένα,μεγέθους ΜΕΓΕΘΟΣ,ο οποίος περιέχει τυχαία μη προσημασμένους ακέραιους απο 0 έως 256
sort(δεδομένα) !bubblesort ας πούμε για να είμαστε και στα πλαίσια του μαθήματος
άθροισμα<-0
Για i από 1 έως 100000
Για j από 1 έως ΜΕΓΕΘΟΣ
Αν(δεδομένα[j] >=128)
άθροισμα <-άθροισμα + δεδομένα[i]
Τέλος_αν
Τ_Ε
Τ_Ε
Θα έκοβες σε αυτόν που δεν έκανε sort;Δεν βλέπω να υπάρχει κάποια ουσία παρόλο που απόδοση του χωρίς sorting θα είναι πολύ χειρότερη.
Θα έκοβες γενικά επειδή δεν υλοποίησε αυτό;
Για i από 1 έως ΜΕΓΕΘΟΣ
Αν(δεδομένα[i] >=128)
άθροισμα <-άθροισμα + δεδομένα[i]*100000
Τέλος_αν
Τ_Ε
Πρέπει να υπάρχει και κάποια ισορροπία.Προφανώς στην πρώτη σύγκριση δεν θα έκοβες τίποτα,παρόλο που προγραμματιστικά είναι καλύτερο με sort.Γιατί την έγραψα;Γιατί παρουσιάζεται συχνά το επιχείρημα,πώς είναι καλό οι μαθητές να προσεγγίζουν "καλές προγραμμαστικές τεχνικές".Αυτό είναι ένα τέτοιο παράδειγμα,αλλά ξεφεύγει απο τα όρια του τι αντιμετωπίζουν.Το"προγραμματιστικό" αφόρα αρκετά πράγματα πέρα απο την πολυπλοκότητα,οπότε και πιστευώ πώς θα ήταν πιο ορθό να αναφερόμαστε σε αλγοριθμικές επιλογές.
Στη δεύτερη σύγκριση είναι πιο λογικό να κοπεί κάτι,δεδόμενου πώς ο δεύτερος αλγόριθμος είναι 100k φορές πιο γρήγορος.(Αγνοώντας το ενδεχόμενο overflow στα πλαίσια του μαθήματος).Αλλά δεν έχει νόημα να κόψεις,αφού δεν πιστεύω πώς υπάρχει απαίτηση ένας μαθητής να είναι σε θέση να σκεφτεί μια τέτοια βελτιστοποίηση.
Συμφωνώ μαζί σου όμως,πώς κάτι σαν την εύρεση μεγίστου/ελαχίστου θα έπρεπε να χάνει κάποια μόρια.Μιλάμε για κάτι προφανές,που δεν θέλει και ιδιαίτερη εντρύφηση στο όλο μάθημα.Τουλάχιστον οι καθηγητές να τους αποτρέπουν να γράφουν κάτι τέτοιο.