Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επιλογής => Μήνυμα ξεκίνησε από: the_greek_soldier στις 27 Απρ 2011, 08:31:32 ΜΜ

Τίτλος: GOTO statement.....
Αποστολή από: the_greek_soldier στις 27 Απρ 2011, 08:31:32 ΜΜ
ΘΑ ΗΘΕΛΑ ΝΑ ΚΑΝΩ ΜΙΑ ΕΡΩΤΗΣΗ.....ΠΟΙΟ ΑΠΟ ΤΑ ΔΥΟ ΤΜΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΥ ΕΙΝΑΙ ΣΩΣΤΟ;;;;

1)  αν αριθμος>0 τοτε goto 1       
     αν αριθμος=0 τοτε goto 2
          γραψε "αρνητικος"
     goto 4
     1:γραψε "θετικος"
     goto 4
     2:γραψε "μηδεν"
     goto 4
     4:εντολη 5

2) αν αριθμος>0 τοτε goto 1       
     αν αριθμος=0 τοτε goto 2
          γραψε "αρνητικος"
     goto 4
     1:γραψε "θετικος"
     goto 4
     2:γραψε "μηδεν"
     4:εντολη 5
   
ΜΕ ΛΙΓΑ ΛΟΓΙΑ ΤΟ GOTO ΠΡΙΝ ΤΗΝ (4) ΧΡΕΙΑΖΕΤΑΙ;;;;
Τίτλος: Απ: GOTO statement.....
Αποστολή από: Vangelis στις 27 Απρ 2011, 10:45:13 ΜΜ
Δεν χρειάζεται αλλα δεν χρειάζεται να μαθαίνεις με ακρίβεια πως δουλεύεςι η goto.  (Για παράδειγμα και οι δύο λύσεις τις ίδιες μονάδες θα πάρουν.)
Έτσι και μπλέξουμε στις γενικές εξετάσεις με "μαύρα πρόβατα" καήκαμε ... θα γίνει ο δεύτερος εμφύλιος των πληροφορικών.
Έχει μάθει πλέον ο "Τσομπάνης"  ....   και αποφεύγει τις κακοτοπιές.
Τίτλος: Απ: GOTO statement.....
Αποστολή από: the_greek_soldier στις 28 Απρ 2011, 10:37:10 ΜΜ
ΤΟΤΕ ΓΙΑΤΙ ΝΑ ΤΗΝ ΧΡΗΣΙΜΟΠΟΙΕΙΣ;;;;;; ΤΟ ΣΧΟΛΙΚΟ ΓΙΑΤΙ ΤΗΝ ΕΧΕΙ ΑΦΟΥ ΕΙΝΑΙ ΠΕΡΙΤΤΗ;;;;
Τίτλος: Απ: GOTO statement.....
Αποστολή από: P.Tsiotakis στις 28 Απρ 2011, 10:55:44 ΜΜ
Ο πιο απλός τρόπος να απαλλαγεις απο την εντολή αυτή είναι να μετατρεψεις σε διάγραμμα ροης την αδομητη κωδικοποίηση και στη συνεχεια απο το διάγραμμα να σχηματισεις τη δομημένη κωδικοποίηση...
Τίτλος: Απ: GOTO statement.....
Αποστολή από: the_greek_soldier στις 29 Απρ 2011, 04:33:07 ΜΜ
ΤΟ ΞΕΡΩ ΠΩΣ ΜΠΟΡΩ ΝΑ ΑΠΑΛΛΑΓΩ ΑΛΛΑ ΤΟ ΘΕΜΑ ΕΙΝΑΙ Η ΣΥΓΚΕΚΡΙΜΕΝΗ ΕΝΤΟΛΗ ΠΟΥ ΛΕΩ ΧΡΕΙΑΖΕΤΑΙ;;;;;
Τίτλος: Απ: GOTO statement.....
Αποστολή από: denix στις 29 Απρ 2011, 06:13:05 ΜΜ
Η εσοχή που βάζεις στην τρίτη γραμμή (τα κενά δηλαδή) πριν την εντολή γραψε "αρνητικός", χρειάζεται;
Τίτλος: Απ: GOTO statement.....
Αποστολή από: Gnirut στις 29 Απρ 2011, 07:10:52 ΜΜ
Παράθεση από: the_greek_soldier στις 29 Απρ 2011, 04:33:07 ΜΜ
ΤΟ ΞΕΡΩ ΠΩΣ ΜΠΟΡΩ ΝΑ ΑΠΑΛΛΑΓΩ ΑΛΛΑ ΤΟ ΘΕΜΑ ΕΙΝΑΙ Η ΣΥΓΚΕΚΡΙΜΕΝΗ ΕΝΤΟΛΗ ΠΟΥ ΛΕΩ ΧΡΕΙΑΖΕΤΑΙ;;;;;

Δεν είναι απαραίτητη. Και τα δύο κομμάτια κώδικα που έχεις εκτελούνται το ίδιο. Το δεύτερο απλά θα εκτελεστεί θεωρητικώς απειροελάχιστα πιο γρήγορα επειδή δεν θα εκτελεστεί το περιττό jump που προσθέτει η τελευταία goto. Λέω θεωρητικώς γιατι οι περισσότεροι compilers πλέον είναι optimized, καταλαβαίνουν ότι το τελευταίο goto δεν αλλάζει τη ροή εκτέλεσης και το πετάνε αυτομάτως έξω.

Τέλος όσον αφορά την διδιασκαλία της goto δεν παθαίνουν τίποτα τα παιδιά να την μάθουν και να την έχουν υπ'όψιν τους. Ας μην ξεχνάμε π.χ. ότι στο linux ο κώδικας του kernel περιέχει ουκ ολίγα goto.
Τίτλος: Απ: GOTO statement.....
Αποστολή από: P.Tsiotakis στις 29 Απρ 2011, 09:03:37 ΜΜ
Στο μάθημά μας η χρήση της GOTO έχει νόημα (προσωπικά έτσι την έβλεπα πάντα), στην προσπάθεια που καταβάλλουμε να κατανοήσουν οι μαθητές την αξία του δομημένου κώδικα = της δομημένης επίλυσης προβλήματος = της επίλυσης προβλήματος με χρήση λογικών διαδοχικών βημάτων (χωρίς άλματα)
Τίτλος: Απ: GOTO statement.....
Αποστολή από: P.Tsiotakis στις 29 Απρ 2011, 09:06:42 ΜΜ
στο πρώτο τμήμα αλγορίθμου η τελευταία GOTO φαίνεται να μη χρειάζεται
αν αυτό ρωτάς
Τίτλος: Απ: GOTO statement.....
Αποστολή από: the_greek_soldier στις 30 Απρ 2011, 06:29:54 ΜΜ
ΟΚ ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΟΛΟΥΣ ΠΑΙΔΙΑ ΠΟΥ ΜΟΥ ΛΥΣΑΤΕ ΤΗΝ ΑΠΟΡΙΑ...... ΝΑ ΣΤΕ ΚΑΛΑ.......