Eπειδή υπάρχει ένα άμεσoς παραλληλισμός μεταξύ pointers και arrays στη C
Από αυτό κρατάω το γεγονός πως είναι θέμα δεικτών!
Απο εδώ
Νίκο, αν δεν κάνω λάθος στην python η δομή επανάληψης while εξετάζει τη συνθἠκη μόνο στην αρχή και εκτελείται φυσικά όσο είναι αληθής.
π.χ.
flag=True
while flag:
print('ok')
flag=false
else:
print(' The loop is over')
Δημήτρη, δηλαδή στην Python υπάρχουν μόνο 2 δομές επανάληψης; Η for που τα κάνει όλα και η while που διαθέτει τιμή φρουρό;
Η Do...While στη C απλά χρησιμοποιείται όταν είμαι σίγουρος πως έχω μια δορά επανάληψη. (Η repeat...until στην Pascal δε θυμάμαι αν τερματίζει με Αληθής)
Από εδώ
Δεν μπορώ να καταλάβω γιατί πρέπει να έχουμε 4-5 διαφορετικές δομές επανάληψης. Σε τι εξυπηρετεί?
Μια δομή επανάληψης είναι αρκετή, π.χ. στη C++ αν χρησιμοποιήσεις τη for δεν υπάρχει λόγος να χρησιμοποιήσεις άλλη δομή.
Επίσης μπορείς να χρησιμοποιείς το break όταν χρειάζεται και αυτό δεν είναι κακή πρακτική.
Σχετικά με την python το else εκτελείται όταν τερματίσει η επανάληψη επειδή η συνθήκη θα γίνει false και όχι αν βγούμε από την επανάληψη με break. Σε αυτή την περίπτωση δεν εκτελείται (σημαντική λεπτομέρεια).
Νομίζω ότι μια for και μια while είναι υπεραρκετές ως δομές επανάληψης, δεν χρειάζεται κάποια άλλη.
συμφωνώ με όλα. Για παράδειγμα ο κώδικας για την ταξινόμηση φυσαλίδας με συνάρτηση στην C όπως φαίνεται στην συνημμένη εικόνα. (ανεβάζω και όλο το pdf , έχει και άλλους τρόππους ταξινόμησης).
Σχετικά με το παρακάτω
Μια ωραία εξήγηση από τον Dijkstra είναι η παρακάτω:
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
όπως και αυτό
http://www.quora.com/Why-do-array-indices-start-with-0-zero-in-many-programming-languages
Δηλαδή μια εξήγηση που θα μπορούσε να δοθεί σε μαθητή με χρήση των παραπάνω παραδειγμάτων είναι ότι η έναρξη του δείκτη από 0 είναι πολύ πιο χρηστική.
Δεν μπορώ να πώ οτι σε ασκήσεις με παραλληλία πινάκων, θέσεις min και max και άλλα παρόμοια θα μπορούσαμε να μεταδώσουμε εύκολα σε μαθητές. Σαν να το βλέπω μπροστά μου. "Κύρις αυτό το pos - 1 τί είναι;"

Άποψή μου πάντα.
Υπάρχει περίπτωση να υλοποιηθεί δομή for με τιμή φρουρό κατα παρόμοιο τρόπο όπως στην συνημμένη εικόνα σε κάποια άλλη γλώσσα προγραμματισμού;
Κύριοι σας ευχαριστώ για τις απαντήσεις.
Υ.γ. Συμφωνώ με την άποψη να υπάρχουν μόνο 2 δομές επανάληψης για όλες τις περιπτώσεις.