Έχω την εντύπωση ότι συζητάμε για δύο διαφορετικά πράγματα.. Το αρχικό σου ερώτημα είχε να κάνει με δομημένο αλγόριθμο (κάθε δομή είχε ένα σημείο εισόδου και ένα σημείο εξόδου) οπότε δε βλέπω γιατί πρέπει να μπλέξουμε την goto στη συζήτηση. Το ερώτημα που έθεσες ήταν, αν κατάλαβα καλά, εάν επιτρέπεται η "αντιστροφή της πολικότητας" μιας δομής ελέγχου σε ένα δομημένο διάγραμμα. Η δημιουργία αδόμητων αλγόριθμων είναι ένα άλλο, πολύ ενδιαφέρον, θέμα που όμως δε νομίζω ότι αφορά στην αρχική σου ερώτηση. Κατάλαβα καλά;
Όσον αφορά λοιπόν στην πολικότητα (πού είναι το ΝΑΙ και πού το ΟΧΙ) μιας δομής ελέγχου, είτε πρόκειται για επιλογή είτε για επανάληψη, δε βλέπω να υφίσταται κάποιο πρόβλημα σε επίπεδο διαγραμματικής αναπαράστασης. Εξαρτάται από το πώς θα "συλλάβει" τη συνθήκη το υποκείμενο (μαθητής, προγραμματιστής, οποιοσδήποτε καλείται να λύσει το πρόβλημα)
Σε αυτό το σημείο, η διαγραμματική αναπαράσταση επιτρέπει μεγαλύτερη ελευθερία από την κωδικοποίηση, τουλάχιστον όσον αφορά στην ψευδογλώσσα (αλλά και στη ΓΛΩΣΣΑ) που διδάσκεται στο πλαίσιο του μαθήματος. Άλλες γλώσσες, όπως σωστά ανέφερε και ο Νίκος, επιτρέπουν βρόχο με έλεγχο στην αρχή, είτε με συνθήκη συνέχειας είτε με συνθήκη τερματισμού. Όμοια, επιτρέπουν βρόχο με έλεγχο στο τέλος, είτε με συνθήκη συνέχειας είτε με συνθήκη τερματισμού. Όμως το ζητούμενο δεν είναι τι προσφέρουν οι γλώσσες, αλλά εάν υπάρχει παιδαγωγικό όφελος στη δημιουργία δομημένων διαγραμμάτων ροής τα οποία όμως δεν ακολουθούν τους περιορισμούς της ψευδογλώσσας.
Πιστεύω πως υπάρχει σημαντικό όφελος από την εξάσκηση των μαθητών με τέτοια δομημένα διαγράμματα. Η ελευθερία της έκφρασης - σε σωστά καθορισμένο πλαίσιο - πρέπει να είναι ένα από τα ζητούμενα της διδακτικής μας προσέγγισης απ τη στιγμή που η ανάπτυξη της δημιουργικότητας και της φαντασίας στο σχεδιασμό είναι ένας από τους γενικούς σκοπούς του μαθήματος.
Γι αυτό το λόγο, προσωπικά τα ενθαρρύνω (ή τουλάχιστον δεν τα αποθαρρύνω) σε επίπεδο διαγραμματικής αναπαράστασης. Όταν, στη συνέχεια, χρειαστεί να κάνουν κωδικοποίηση, θα πρέπει:
1. να επιλέξουν την κατάλληλη εντολή
2. να βεβαιωθούν ότι η συνθήκη ακολουθεί τη σημασιολογία που της δίνεται από τη γλώσσα που χρησιμοποιούν
Έτσι:
- απλή επιλογή με τις ενέργειες στο ΝΑΙ, θα κωδικοποιηθεί ως ΑΝ (ΣΥΝΘΗΚΗ) ΤΟΤΕ..
- απλή επιλογή με τις ενέργειες στο ΟΧΙ, θα κωδικοποιηθεί ως ΑΝ ΟΧΙ (ΣΥΝΘΗΚΗ) ΤΟΤΕ..
- βρόχος με έλεγχο στην αρχή και είσοδο με το ΝΑΙ, θα κωδικοποιηθεί ως ΟΣΟ (ΣΥΝΘΗΚΗ) ΕΠΑΝΑΛΑΒΕ..
- βρόχος με έλεγχο στην αρχή και είσοδο με το ΟΧΙ, θα κωδικοποιηθεί ως ΟΣΟ ΟΧΙ (ΣΥΝΘΗΚΗ) ΕΠΑΝΑΛΑΒΕ..
- βρόχος με έλεγχο στο τέλος και έξοδο με το ΝΑΙ, θα κωδικοποιηθεί ως ΜΕΧΡΙΣ_ΟΤΟΥ (ΣΥΝΘΗΚΗ)..
- βρόχος με έλεγχο στο τέλος και έξοδο με το ΟΧΙ, θα κωδικοποιηθεί ως ΜΕΧΡΙΣ_ΟΤΟΥ ΟΧΙ (ΣΥΝΘΗΚΗ)..
Πραγματικά δε βλέπω γιατί πρέπει να μας προβληματίζει κάτι τέτοιο.