Άσκηση στο τετράδιο μαθητή!

Ξεκίνησε από maria.k., 20 Μαΐου 2011, 08:29:04 ΜΜ

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

maria.k.

Σήμερα έπεσε στο μάτι μου η δραστηριότητα ΔΤ1 από το
κεφάλαιο 6  (σελίδα 58)του τετραδίου μαθητή.
Στην άσκηση αυτή μετατρέπεται ενα τμήμα αλγορίθμου με GOTO σε
αντίστοιχο τμήμα δομημένου προγραμματισμού...

Μια λύση που σκέφτομαι είναι η εξής:

ΟΣΟ συνθήκη 1 και ΟΧΙ (συνθήκη 3) ΕΠΑΝΑΛΑΒΕ
      ΕΝΤΟΛΗ 2
      ΕΝΤΟΛΗ 5
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΕΝΤΟΛΗ 4


Αλλά όσο την κοιτάω, τόσο λάθος μου φαίνεται...
Γιατί η ΕΝΤΟΛΗ 2 πρέπει να εκτελείται μόνο στην περίπτωση που ισχύει η συνθήκη 2, ανεξάρτητα από το
αν ισχύει η συνθήκη 3....
Αλλά... δεν μου έρχεται κάποια λύση στο μυαλό....
Μήπως μπορεί κανείς να βοηθήσει???

maria.k.

Για να γίνω πιο σαφής αναρτώ και την εκφώνηση:

ΑΡΧΗ
   ΟΣΟ συνθήκη 1 ΕΠΑΝΑΛΑΒΕ
       ΕΝΤΟΛΗ 2
      ΑΝ  συνθήκη 3 ΤΟΤΕ
         ΕΝΤΟΛΗ 4
         ΠΗΓΑΙΝΕ ΣΤΟ ΤΕΛΟΣ   ! Σημείο 1
      ΑΛΛΙΩΣ
         ΕΝΤΟΛΗ 5
      ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ


Και μόλις τώρα βρήκα το παρακάτω .pdf που προτείνει σαν λύση την ακόλουθη:

1) Στο σημείο 1 απλά να γίνεται η συνθήκη 1 ψευδής!!!

Όμως τότε δεν πηγαίνει στο ΤΕΛΟΣ!!!!!!!!!!!!!!!
Πηγαίνει ξανά στην ΟΣΟ, όπου η αντίστοιχη συνθήκη είναι ψευδής και τότε πηγαίνει στο ΤΕΛΟΣ!!!!!!!!!!!!

Άσκηση "ταμάμ" για τις φετινές εξετάσεις!!!!!!!!!!!!!!!!


maria.k.


gpapargi

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

Stefevan

gpapargi εννοείς την άσκηση με τα βήματα που ήταν το παράδειγμα στο πλαίσιο με την goto στο σχολικό??

spantoulis

Το ότι πηγαίνει στο ΟΣΟ και μετά στο ΤΕΛΟΣ δεν είναι πρόβλημα. Αφού τη συνθήκη στο ΟΣΟ θα τη βρεί έτσι και αλλιώς ψευδή.
Εξάλλου αυτό που θέλουμε βασικά είναι να τελειώσει ο κώδικας. Τώρα αν πριν  πάει στο τέλος κάνει έλεγχο και μιας συνθήκης δεν είναι σημαντικό. Ίσως να θέλει λίγο φτιάξιμο η εκφώνηση αλλά νομίζω πως τα πράγματα είναι ξεκάθαρα.
Η χρήση υπολογιστών ΔΕΝ είναι πληροφορική

maria.k.

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

P.Tsiotakis

τη λύση αυτή δίνει και η συγγραφική ομάδα στο βιβλίο καθηγητή
http://pi-schools.sch.gr/download/lessons/computers/lykeio/books/anap_bk/Kef6.zip


Παράθεση από: m.k. στις 20 Μαΐου 2011, 08:38:14 ΜΜ
ΑΡΧΗ
   ΟΣΟ συνθήκη 1 ΕΠΑΝΑΛΑΒΕ
       ΕΝΤΟΛΗ 2
      ΑΝ  συνθήκη 3 ΤΟΤΕ
         ΕΝΤΟΛΗ 4
         ΠΗΓΑΙΝΕ ΣΤΟ ΤΕΛΟΣ   ! Σημείο 1
      ΑΛΛΙΩΣ
         ΕΝΤΟΛΗ 5
      ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ
Και μόλις τώρα βρήκα το παρακάτω .pdf που προτείνει σαν λύση την ακόλουθη:
1) Στο σημείο 1 απλά να γίνεται η συνθήκη 1 ψευδής!!!

όμως η λύση που προτείνει ο Γιώργος (με τη χρήση λογικής μεταβλητής) είναι σαφώς καλύτερη και πιο συνεπής. Αναδεικνύει και τη φύση και χρήση των λογικών μεταβλητών

ntzios kostas

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

P.Tsiotakis

οκ Κώστα έχεις δίκιο
όμως και να υπήρχε άλλη μια γραμμή πριν το Όσο π.χ. ως εντολή1
δε θα άλλαζε κάτι

ntzios kostas

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