Βοηθεια

Ξεκίνησε από aleremain, 11 Δεκ 2007, 12:21:15 ΠΜ

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

aleremain

Να γραφει αλγορι8μος που να διαβαζει ενα αρι8μο απο το πληκτρολογιο και 8α εμφανιζει χ>0,χ=0,χ<0
Θα ρωτα τον χρηστη αν επι8υμει να εισαγει κι αλλο αριθμο, η διαδικασια θα επαλαμβανεται μεχρι ο χρηστης να απαντησει αρνητικα!

Μπορω να χω Βοη8εια σε αυτο τον αλγοριθμο?
Ευχαριστω

P.Tsiotakis

Αλγόριθμος Άσκηση
Αρχή_επανάληψης
   Διάβασε χ
   Αν χ < 0 τότε
      Εμφάνισε "αρνητικός"
  Αλλιώς_αν χ = 0 τότε
     Εμφάνισε "μηδέν"
   Αλλιώς
     Εμφάνισε "θετικός"
   Τέλος_αν
   Εμφάνισε" Επιθυμείτε να συνεχίσετε (Ναι / Όχι) ;"
   Διάβασε απάντηση
Μέχρις_ότου απάντηση = " Όχι"
Τέλος ʼσκηση

aleremain

Eυχαριστω πολυ μεγαλε!

dionissis

Ο παραπάνω αλγόριθμος έχει λάθος γιατί αν εγώ δώσω την τιμή “ΧΧΧ” στην απάντηση, θα θεωρήσει ότι απάντησα “Ναι” και θα ξαναδιαβάσει νέο  χ.

Για να είναι σωστός θα πρέπει το Διάβασε απάντηση να μπει μέσα σε μία Μέχρις_ότου.

Αρχή_επανάληψης
  …..
  Εμφάνισε " Επιθυμείτε να συνεχίσετε (Ναι / Όχι) ;"
  Αρχή_επαναλήψης
   Διάβασε απάντηση
  Μέχρις_ότου απάντηση = “Ναι” ή απάντηση = “Όχι”
Μεχρις_ότου απάντηση = “Όχι”

P.Tsiotakis

η εκφώνηση έλεγε να τερματιστεί η επανάληψη σε αρνητική απάντηση (όταν δοθεί όχι).

που είναι το λάθος λοιπόν;

andreas_p

Αν δώσει 'ΧΧΧ' 

Πώς θα δώσει  ΧΧΧ ;   αφού κάνει έλεγχο εγκυρότητας δεδομένων.

Υ.Γ.  Γιατί να θεωρήσει ότι είναι ΝΑΙ ;

Ανδρέας

andreas_p

Άκυρο.

Αν δώσει   'ΧΧΧ'  η συνθήκη

απάντηση = " Όχι"

είναι ΨΕΥΔΗΣ

και πάει για νέα επανάληψη.


Ανδρέας

andreas_p

Και γιατί να θεωρήσει ότι η απάντηση είναι ΝΑΙ  ;

Ανδρέας

P.Tsiotakis

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

που είναι το λάθος λοιπόν;

bagelis

Έχουμε ήδη συμφωνήσει νομίζω ότι κάνουμε έλεγχο εγκυρότητας μόνο όταν ζητείται και όχι πάντα. Εφόσον λοιπόν στην αρχική εκφώνηση δεν αναφέρεται κάτι για έλεγχο δεν χρειάζεται να κάνουμε και θεωρούμε ότι ο χρήστης εισάγει μόνο σωστά δεδομένα. Άρα η αρχική λύση του ptsiotaki είναι σωστή...

dionissis



εγώ πάντως πιστεύω ότι όταν ρωτάς κάποιον και εμφανίζεις πριν το ΔΙΑΒΑΣΕ μήνυμα με Ναι / Όχι πρέπει να κάνεις και έλεγχο ορθής εκχώρησης στην απάντηση, ώστε να είναι μία από τις δύο και ας μην μας το ζητάνε. Θεωρώ ότι είναι λάθος να δώσω οτιδήποτε άλλο εκτός από Όχι και να το θεωρεί ο αλγόριθμος Ναι. Αυτή είναι η άποψη για τον συγκεκριμένο πρόβλημα και όχι να κάνουμε πάντοτε έλεγχο ορθής εκχώρησης χωρίς να μας το ζητάνε.

Διονύσης Θεοδοσίου.

P.Tsiotakis

Διονύση, σε παραπέμπω και στη σελίδα 177 του σχολικού βιβλίου.

Δεν φτιάχνουμε προγράμματα, αλγορίθμους σε σχολικό μάθημα φτιάχνουμε...

dionissis

Μπορεί να διαφωνούμε και δεν μπορώ ούτε να σε πείσω, ούτε να με πείσεις. Συμφωνώ στο ότι από την εκφώνηση δεν χρειάζεται ο έλεγχος ορθής εκχώρησης στην εκφώνηση, αλλά πιστεύω ότι η διαφορά είναι στο μήνυμα πριν το διάβασμα όπου στη σελ 177 του σχολικού βιβλίου είναι 'νέα μέτρηση ?', ενώ στο δικό σου 'Ναι/Όχι', οπότε δεν θεωρώ πλεονασμό τον έλεγχο ορθής εκχώρησης στην απάντηση.


Με εκτίμηση Διονύσης

bagelis

Έστω ότι είσαι καθηγητής που διορθώνει σε γραπτά πανελλαδικών αυτή την άσκηση...
Αν δεν κάνει έλεγχο εγκυρότητας ο μαθητής θα του κόψεις μονάδες????

andreas_p