Ατέρμων Βρόχος

Ξεκίνησε από Kost_kp, 10 Μαρ 2026, 01:56:46 ΜΜ

« προηγούμενο - επόμενο »

Kost_kp

Θα ήθελα να ρωτήσω, ο ατέρμων Βρόχος είναι λογικό λάθος ή αντικανονικός τερματισμός; Σε κάποια βιβλία βρίσκω ότι είναι λογικό και σε κάποια άλλα αντικανονικός τερματισμός. Αν πέσει αυτό τι απαντάμε;

masouvag@yahoo.gr

Λάθος κατά την εκτέλεση 

Λαμπράκης Μανώλης

Καλησπέρα

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

George Eco

Καλά λέει ο Μανώλης. 
Ο ατέρμων βρόχος πάει κόντρα στον ορισμό του αλγορίθμου (περατότητα) έτσι κι αλλιώς.
Επίσης ατέρμων βρόχος μπορεί να οδηγήσει σε αντικανονικό τερματισμό ανάλογα τη γλώσσα προγραμματισμού και το τι γίνεται, μπορεί και όχι. Μπορεί να μη τερματίζει ποτέ του. Είναι λοιπόν λογικό σφάλμα; Μπορείς να το πεις αν δε τερματίζει αντικανονικά. Οπότε το πράγμα μπλέκει.Γίνεται πάρα πολύ τεχνικό για τα πλαίσια του μαθήματος και για αυτό το λόγο πρέπει να αποφεύγεται.

evry

Αν έγω επιδιώκω να έχω ατέρμων βρόχο, αν αυτός είναι ο σκοπός μου τότε δεν είναι λογικό λάθος.
Επίσης αφού δεν τερματίζει ποτέ δεν έχουμε αντικανονικό τερματισμό ούτε και λάθος εκτέλεσης.
Άρα που είναι το λάθος;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

petrosp13

Συμφωνώ με τον Ευρυπίδη
Ο ατέρμων βρόχος παραβιάζει την περατότητα, αλλά προγραμματιστικό λάθος δεν είναι όταν γίνεται με πρόθεση μη τερματισμού
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

lala

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

evry

Η λογική δεν είναι σωστή. Τι θα πει στο βιβλίο σελ. Χ λέει αυτό? Θεωρούμε τους εαυτούς μας επιστήμονες με άποψη ή απλά διεκπεραιωτές μιας διαδικασίας? 
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Παράθεση από: petrosp13 στις 10 Μαρ 2026, 11:25:50 ΜΜΣυμφωνώ με τον Ευρυπίδη
Κάτσε να το πάρω printscreen πριν το διαγράψεις.
Αλλά κάτσε τώρα που το βλέπω δεν συμφωνείς με μένα αλλά με κάποιον Ευρυπίδη (με υ) εγώ είμαι με ι.  :D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

George Eco

Παράθεση από: evry στις 12 Μαρ 2026, 04:08:13 ΜΜΗ λογική δεν είναι σωστή. Τι θα πει στο βιβλίο σελ. Χ λέει αυτό? Θεωρούμε τους εαυτούς μας επιστήμονες με άποψη ή απλά διεκπεραιωτές μιας διαδικασίας?

Πολλοί συνάδελφοι ρωτάνε με το άγχος των Πανελληνίων κατά νου.

gpapargi

Ατέρμων βρόχος είναι όταν ο βρόχος δεν έχει τέρμα δηλαδή δεν τερματίζει. Από τον ορισμό το κριτήριο της περατότητας (που προκύπτει από τον ορισμό του αλγορίθμου, αν δεν τερματίζει δεν είναι αλγόριθμος. 
Το πρόγραμμά δεν έχει αυτόν τον περιορισμό. Μπορεί και να μην τερματίζει και αυτό να γίνεται επίτηδες όπως πχ ένας mail server (το process όχι το μηχάνημα) τρέχει 24Χ7 και είναι σε listening mode περιμένοντας αιτήματα. Δεν υπάρχει κάτι λάθος σε αυτό. 
Λογικό λάθος είναι αν υπάρχει λάθος στη λογική της λύσης μας δηλαδή ο κώδικας κάνει κάτι διαφορετικό από αυτό που νομίζουμε ότι κάνει. Αν κάποιος σκοπίμως έχει φτιάξει κάτι που δεν τερματίζει τότε δεν υπάρχει λογικό λάθος.

Τέλος, όπως λέει και Ευριπίδης (και πολλοί άλλοι χρόνια τώρα), τι πάει να πει "το λέει το βιβλίο"; Δε μάθαμε πληροφορική από το βιβλίο. Μπορεί να έχει και λάθη... και όπως έχουμε δει έχει αρκετά.  Εμείς τα γράφουμε τα βιβλία αφού δούμε ποιο είναι το σωστό. Το επιχείρημα μετράει. Το forum δε δεσμεύεται από τις πανελλήνιες. Λειτουργεί πρωτίστως με επιστημονικά κριτήρια.

Τώρα, όσο αφορά τις πανελλήνιες, αν πέσει κάτι τέτοιο θα είναι προβληματικό θέμα. Ο ατέρμων βρόχος σίγουρα δεν είναι αντικανονικός τερματισμός, αλλά ούτε απαραίτητα λογικό λάθος. 

Γιώργος Παπαργύρης

lala

#11
Παράθεση από: evry στις 12 Μαρ 2026, 04:08:13 ΜΜΗ λογική δεν είναι σωστή. Τι θα πει στο βιβλίο σελ. Χ λέει αυτό? Θεωρούμε τους εαυτούς μας επιστήμονες με άποψη ή απλά διεκπεραιωτές μιας διαδικασίας?

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

petrosp13

Παράθεση από: evry στις 12 Μαρ 2026, 04:09:26 ΜΜΚάτσε να το πάρω printscreen πριν το διαγράψεις.
Αλλά κάτσε τώρα που το βλέπω δεν συμφωνείς με μένα αλλά με κάποιον Ευρυπίδη (με υ) εγώ είμαι με ι.  :D
Τι λε ρε, 20 χρόνια εδώ μέσα δεν συμφωνούμε ποτέ;;;  ;D ;D


lala
Νομίζω ότι όλοι συμφωνούμε σε αυτό που λες και έχουμε καταλήξει ότι πρέπει να αποφεύγονται τέτοιου είδους κακοτοπιές στα θέματα πανελλαδικών
Το μάθημα μας έχει περάσει τις "παιδικές αρρώστιες" του και έχουν περάσει αρκετά χρόνια που να χρειάστηκε να συζητήσουμε αναλυτικά κάποιο θέμα και τελικά να καταλήξουμε ότι δεν συμφωνούμε και κακώς δόθηκε

Για παράδειγμα, αυτή την εβδομάδα έκανα 1-2 θέματα εξετάσεων με ερώτηση παραβίασης κριτηρίων αλγορίθμου
Και αναφέρω πάντα στα παιδιά ότι 99,9% μιλάμε για Καθοριστικότητα (π.χ. παρονομαστές) και Περατότητα (ατέρμων βρόχος), γιατί στα υπόλοιπα δεν έχουμε συμφωνήσει ούτε εμείς πότε παραβιάζονται και (ευτυχώς) δεν έχει ζητηθεί κάτι τέτοιο

Κάτι αντίστοιχο είναι και ο τύπος λάθος για έναν ατέρμονα βρόχο. Θα πω στα παιδιά ότι το βιβλίο αναφέρει για λογικό λάθος (και άρα έτσι πρέπει να το απαντήσουν) αλλά θα τους πω τον εύλογο αντίλογο που υπάρχει

Ο φυσαλίδα είναι ο πιο αργός αλγόριθμος ταξινόμησης όπως αναφέρει το βιβλίο;;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

pgrontas

#13
Νομίζω ότι τα μπλέξαμε τα πράγματα.

Αρχικά κακώς εμπλέκεται το κριτήριο της περατότητας (στον ορισμό του αλγορίθμου) με τα λογικά λάθη. Η περατότητα τέθηκε από τον Knuth, για να αποφευχθούν τα παράδοξα που εισάγονται με το πρόβλημα του τερματισμού για να μπορούν να αναλυθούν οι αλγόριθμοι π.χ. σε πολυπλοκότητα. Πώς θα μετρήσεις την πολυπλοκότητα κάποιου αλγόριθμου αν δεν τερματίζει, εφόσον μάλιστα δεν μπορείς να αποφανθείς αλγοριθμικά πως τερματίζει;
Οπότε λοιπόν για να μην μπεί σε τέτοια συζήτηση όρισε ότι αλγόριθμος είναι ό,τι τερματίζει.
Δεν σημαίνει όμως ότι οποιαδήποτε διεργασία τρέχει σε κάποιον υπολογιστή θα έχει αυτά τα χαρακτηριστικά. Όπως λέει και το (παλιό) βιβλίο, υπάρχουν οι υπολογιστικές διαδικασίες οι οποίες ναι μεν δεν είναι αλγόριθμοι, αλλά δεν είναι άχρηστες. Εδώ εμπίπτουν οι daemons και οι λοιπές διεργασίες που δεν σταματούν.  Επίσης για τον Knuth, όλοι οι αλγόριθμοι με τους οποίος ασχολείται έχουν αποδειχθεί ορθοί (άρα δεν περιέχουν λάθη).

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

Παράθεση από: lala στις 11 Μαρ 2026, 12:39:04 ΜΜΣύμφωνα με το σχολικό βιβλίο (συμπληρωματικό εκπαιδευτικό υλικό) όταν παραβιάζεται η περατότητα έχουμε λογικό λάθος.  (σελ 130).

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

Παράθεση από: Λαμπράκης Μανώλης στις 10 Μαρ 2026, 04:11:44 ΜΜΚαλησπέρα

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

ΠαράθεσηΝα επισημανθεί ότι υπάρχουν λάθη που έχουν αμφίσημη κατηγοριοποίηση αναλόγως του προγραμματιστικού περιβάλλοντος υλοποίησης.

Νομίζω ότι το σημείο αυτό αφορά τα λάθη που βρίσκονται μεταξύ σύνταξης και σημασιολογίας και άλλοι μεταγλωττιστές ελέγχουν ενώ άλλοι όχι.  Να σημειωθεί ότι το παρελθόν δείχνει ότι στις πανελλήνιες έχουν μπλέξει με αυτό τις προηγούμενες χρονιές αναιρώντας την υπόθεση ότι κάτι τέτοιο δεν θα συμβεί όπως π.χ. με το ΣΛ του 2023  'Η έκφραση A MOD 5 είναι συντακτικά σωστή στη ΓΛΩΣΣΑ, όταν το Α είναι πραγματική μεταβλητή'.

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

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

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

ΥΓ:
Ο Ευριπίδης φταίει που γράφουμε λάθος το ονομά του επειδή το evry σε οδηγεί στο να γράψεις υ  ;D ;D ;D ;D




Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

evry

Παράθεση από: lala στις 13 Μαρ 2026, 10:25:44 ΠΜΌταν προετοιμάζουμε υποψηφίους για πανελλαδικές οφείλουμε ως επιστήμονες να ακολουθήσουμε πιστά τις οδηγίες και τα βιβλία στα οποία εξετάζονται (ακόμα και αν έχουν λάθη). ο διορθωτής του τετραδίου θα διορθώσει βάσει οδηγιών που θα προκύψουν από τα συγκεκριμένα βιβλία στη σελίδα χ.
Ο επιστημόνας λοιπόν λέτε ότι διδάσκει στους μαθητές επιστημονικά λάθη? Τότε τι σόι επιστήμονας είναι? Διαβάστε πάλι αυτό που γράψατε και θα δείτε ότι λέτε κάτι παράδοξο
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr