Να γραφει αλγορι8μος που να διαβαζει ενα αρι8μο απο το πληκτρολογιο και 8α εμφανιζει χ>0,χ=0,χ<0
Θα ρωτα τον χρηστη αν επι8υμει να εισαγει κι αλλο αριθμο, η διαδικασια θα επαλαμβανεται μεχρι ο χρηστης να απαντησει αρνητικα!
Μπορω να χω Βοη8εια σε αυτο τον αλγοριθμο?
Ευχαριστω
Αλγόριθμος Άσκηση
Αρχή_επανάληψης
Διάβασε χ
Αν χ < 0 τότε
Εμφάνισε "αρνητικός"
Αλλιώς_αν χ = 0 τότε
Εμφάνισε "μηδέν"
Αλλιώς
Εμφάνισε "θετικός"
Τέλος_αν
Εμφάνισε" Επιθυμείτε να συνεχίσετε (Ναι / Όχι) ;"
Διάβασε απάντηση
Μέχρις_ότου απάντηση = " Όχι"
Τέλος ʼσκηση
Eυχαριστω πολυ μεγαλε!
Ο παραπάνω αλγόριθμος έχει λάθος γιατί αν εγώ δώσω την τιμή ΧΧΧ στην απάντηση, θα θεωρήσει ότι απάντησα Ναι και θα ξαναδιαβάσει νέο χ.
Για να είναι σωστός θα πρέπει το Διάβασε απάντηση να μπει μέσα σε μία Μέχρις_ότου.
Αρχή_επανάληψης
..
Εμφάνισε " Επιθυμείτε να συνεχίσετε (Ναι / Όχι) ;"
Αρχή_επαναλήψης
Διάβασε απάντηση
Μέχρις_ότου απάντηση = Ναι ή απάντηση = Όχι
Μεχρις_ότου απάντηση = Όχι
η εκφώνηση έλεγε να τερματιστεί η επανάληψη σε αρνητική απάντηση (όταν δοθεί όχι).
που είναι το λάθος λοιπόν;
Αν δώσει 'ΧΧΧ'
Πώς θα δώσει ΧΧΧ ; αφού κάνει έλεγχο εγκυρότητας δεδομένων.
Υ.Γ. Γιατί να θεωρήσει ότι είναι ΝΑΙ ;
Ανδρέας
Άκυρο.
Αν δώσει 'ΧΧΧ' η συνθήκη
απάντηση = " Όχι"
είναι ΨΕΥΔΗΣ
και πάει για νέα επανάληψη.
Ανδρέας
Και γιατί να θεωρήσει ότι η απάντηση είναι ΝΑΙ ;
Ανδρέας
η εκφώνηση έλεγε να τερματιστεί η επανάληψη σε αρνητική απάντηση (όταν δοθεί απάντηση όχι). σε άλλη περίπτωση συνεχίζεται..
που είναι το λάθος λοιπόν;
Έχουμε ήδη συμφωνήσει νομίζω ότι κάνουμε έλεγχο εγκυρότητας μόνο όταν ζητείται και όχι πάντα. Εφόσον λοιπόν στην αρχική εκφώνηση δεν αναφέρεται κάτι για έλεγχο δεν χρειάζεται να κάνουμε και θεωρούμε ότι ο χρήστης εισάγει μόνο σωστά δεδομένα. Άρα η αρχική λύση του ptsiotaki είναι σωστή...
εγώ πάντως πιστεύω ότι όταν ρωτάς κάποιον και εμφανίζεις πριν το ΔΙΑΒΑΣΕ μήνυμα με Ναι / Όχι πρέπει να κάνεις και έλεγχο ορθής εκχώρησης στην απάντηση, ώστε να είναι μία από τις δύο και ας μην μας το ζητάνε. Θεωρώ ότι είναι λάθος να δώσω οτιδήποτε άλλο εκτός από Όχι και να το θεωρεί ο αλγόριθμος Ναι. Αυτή είναι η άποψη για τον συγκεκριμένο πρόβλημα και όχι να κάνουμε πάντοτε έλεγχο ορθής εκχώρησης χωρίς να μας το ζητάνε.
Διονύσης Θεοδοσίου.
Διονύση, σε παραπέμπω και στη σελίδα 177 του σχολικού βιβλίου.
Δεν φτιάχνουμε προγράμματα, αλγορίθμους σε σχολικό μάθημα φτιάχνουμε...
Μπορεί να διαφωνούμε και δεν μπορώ ούτε να σε πείσω, ούτε να με πείσεις. Συμφωνώ στο ότι από την εκφώνηση δεν χρειάζεται ο έλεγχος ορθής εκχώρησης στην εκφώνηση, αλλά πιστεύω ότι η διαφορά είναι στο μήνυμα πριν το διάβασμα όπου στη σελ 177 του σχολικού βιβλίου είναι 'νέα μέτρηση ?', ενώ στο δικό σου 'Ναι/Όχι', οπότε δεν θεωρώ πλεονασμό τον έλεγχο ορθής εκχώρησης στην απάντηση.
Με εκτίμηση Διονύσης
Έστω ότι είσαι καθηγητής που διορθώνει σε γραπτά πανελλαδικών αυτή την άσκηση...
Αν δεν κάνει έλεγχο εγκυρότητας ο μαθητής θα του κόψεις μονάδες????
OXI.
Ανδρέας
Επαναλαμβάνω ότι δε χρειάζεται έλεγχος ορθής εκχώρησης από την εκφώνηση (και στις πανελλαδικές θα θεωρηθεί σωστό, όπως και πολλά άλλα που δεν ήταν σωστά πχ μετατροπή ΓΙΑ σε ΟΣΟ χωρίς έλεγχο για το αν το βήμα ήταν αρνητικό), αλλά θεωρώ λογικό ότι για να ξαναδιαβάσει αριθμό θα πρέπει η απάντηση να είναι 'Ναι' και ότι είναι από τις περιπτώσεις που δεν ζητείται, αλλά πιθανόν (για μένα) να χρειάζεται έλεγχος ορθής εκχώρησης. Δεν μου αρέσει η λύση που θα θεωρεί 'Ναι' οτιδήποτε δεν είναι 'Όχι'.
Ευχαριστώ και πάλι
Διονύσης