Λάθος θέμα στις εξετάσεις ;;

Ξεκίνησε από Sergio, 20 Ιαν 2011, 04:31:10 ΜΜ

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

ntzios kostas

Ένα παράδειγμα είναι: Να γίνει αλγόριθμος ο οποίος θα διαβάζει ακέραιους θετικούς αριθμούς και θα εμφανίζει το άθροισμά τους, κάνοντας παράλληλα έλεγχο εγκυρότητας ότι είναι ακέραιοι. Θα τερματίζει όταν δοθεί αρνητικός.




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

P.Tsiotakis

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

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

ntzios kostas



Παράθεση από: ptsiotakis στις 21 Ιαν 2011, 11:16:39 ΠΜ
ναι Κώστα, έχεις δίκιο για το έλεγχο εγκυρότητας (οτι θα γίνει σε εμφωλευμένο βρόχο με τη μεταβλητή-μετρητή να αποτελεί πιθανώς μετρητή και του εξωτερικού βρόχου), όμως ο έλεγχος εγκυρότητας δεδομένων είναι κάτι άλλο κατά τη γνώμη μου, είναι μια παρένθεση-ένα κουτάκι που κάνει κάτι συγκεκριμένο.
Εγώ μιλάω για γενικότερα προβλήματα.

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

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

Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσότερων βρόχων που ο ένας βρίσκεται στο εσωτερικό του άλλου.

Η φράση λέει για το όταν μία μεταβλητή χρησιμοποιείται ως μετρητής δεν.... Μία μεταβλητή μπορώ να τη χρησιμοποιώ ως μετρητή των επαναλήψεών μου είτε χρησιμοποιώ την για είτε την όσο ή την μέχρις_ότου. Άρα για μένα η φράση δεν αναφέρεται στη δομή Για αλλά στους μετρητές.

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

Sergio

Τελικά νομίζω ότι είναι αυτό που λέει ο Κώστας. Όντως, η λέξη κλειδί στη φράση είναι η λέξη "ως μετρητής"

Είτε χρησιμοποιήσουμε ΓΙΑ, είτε ΟΣΟ, είτε ΜΕΧΡΙΣ_ΟΤΟΥ, εάν χρησιμοποιηθεί ως μετρητής επαναλήψεων (εκτελέσεων του βρόχου) η ίδια μεταβλητή τόσο στον εξωτερικό όσο και στον εσωτερικό βρόχο, τότε κάθε επανάληψη του εσωτερικού βρόχου θα εκλαμβάνεται και ως επανάληψη για το εξωτερικό..

Για παράδειγμα:

Ενώ στο:

Σ <- 0
εξ <- 0
εσ <- 0
Αρχή_επανάληψης
  εξ <- εξ + 1
  Διάβασε χ
  Όσο χ > 0 επανάλαβε
    εσ <- εσ + 1
    Σ <- Σ + Χ
    χ< - χ - 1
  Τέλος_επανάληψης
Μέχρις_ότου Σ > 1000

 
το εξ μετρά σωστά τις επαναλήψεiς του εξωτερικού και το εσ εκείνες του εσωτερικού βρόχου, αν γραφόταν ως:

Σ <- 0
π <- 0
Αρχή_επανάληψης
  π <- π + 1
  Διάβασε χ
  Όσο χ > 0 επανάλαβε
    π <- π + 1
    Σ <- Σ + Χ
    χ< - χ - 1
  Τέλος_επανάληψης
Μέχρις_ότου Σ > 1000


ο μετρητής π δε μετρά πλέον ούτε τις επαναλήψεις του εξωτερικού, ούτε του εσωτερικού..

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


Φοβάμαι ότι η παρανόηση (τουλάχιστον η δική μου) οφειλόταν στο γεγονός ότι εσφαλμένα έχουμε συνηθίσει να αναφερόμαστε στη μεταβλητή του ΓΙΑ ως μετρητή, κάτι που δεν είναι αληθές εκτός από την περίπτωση της ΓΙΑ με αρχική τιμή το 1 και βήμα επίσης 1.  Σε οποιαδήποτε άλλη περίπτωση, ΔΕΝ λειτουργεί ως μετρητής.. αλλά απλά ως η μεταβλητή που ελέγχει την επανάληψη, όπως σωστά αναφέρεται και στο βιβλίο. 

Η παρανόηση αυτή οδήγησε στην επόμενη, ότι η επίμαχη φράση αναφέρεται στη μεταβλητή που συμμετέχει στη συνθήκη (συνέχειας ή τερματισμού) του βρόχου (για ΟΣΟ ή ΜΕΧΡΙΣ_ΟΤΟΥ αντίστοιχα).  Για αυτή τη μεταβλητή όντως δεν υπάρχει κάποιος περιορισμός. Μπορεί να συμμετέχει και στον εξωτερικό και στον εσωτερικό βρόχο.  Δε μπορεί όμως να είναι μετρητής !!  Αν είναι μετρητής, τότε συμμετέχοντας και στους δύο, τελικά δε μετράει κανέναν από τους δύο οπότε .. δεν είναι μετρητής !! ;D

Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

petrosp13

Γνώμη μου είναι ότι και σε αυτή την περίπτωση διυλίζουμε μια φράση η οποία γράφτηκε (ή καλύτερα αντιγράφτηκε από κάπου αυτούσια) τυχαία, σε λάθος σημείο, σε μη οργανωμένη ενότητα του βιβλίου και η οποία τελικά δεν εκπληρώνει τον διδακτικό της στόχο
Όλοι ξέρουμε τι εννοεί, ας μην αρκούμαστε στην φράση του βιβλίου
Η μόνη περίπτωση να ζητηθεί κάτι τέτοιο είναι σε ερωτήσεις Σ-Λ όπως αυτή, ή σε ερώτηση ανάπτυξης (όπως και έγινε στα εσπερινά λύκεια), όπου ζητάται (αν είναι δυνατόν) η φωτογραφική αποτύπωση του
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Sergio

#20
Δε νομίζω Πέτρο.

ntzios, ptsiotakis, sdoukakis προβληματίστηκαν επίσης και μάλιστα κατέθεσαν και αποκκλίνουσες απόψεις

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

Νομίζω πως η συζήτηση που έγινε ήταν αρκετά γόνιμη
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Σπύρος Δουκάκης

Για i από 1 μέχρι 3
	i ← -2
	Όσο i ≤ 5 επανάλαβε
		Εμφάνισε i
		i ← i + 1
	Τέλος_επανάληψης 
Τέλος_επανάληψης


Σε ένα τέτοιο τμήμα εντολών ζητώ από τους μαθητές να εντοπίσουν τα λάθη
Για βοηθήστε λίγο. Βάσει της οδηγίας, αυτό το τμήμα δεν μπορεί να γραφεί και άρα δεν έχει νόημα να συζητάμε να βρεθούν λάθη... :-\

Είναι κάτι σαν το
Διάβασε x
y <- x mod 2

που δεν μπορεί να γραφεί για τους γνωστούς λόγους;
Και το φετινό θέμα που ζητούσε να γραφεί η έκφραση
Ο ακέραιος x είναι θετικός αριθμός πολλαπλάσιο του 3.

i ← -2
Όσο i ≤ 5 επανάλαβε
	Για i από  1 μέχρι 3
		Εμφάνισε i
	Τέλος_επανάληψης 
	i ← i + 1
Τέλος_επανάληψης


Σωστός!

Παράθεση από: Sergio στις 21 Ιαν 2011, 10:35:20 ΠΜ
Η διευκρύνιση που ήρθε πέρισυ από το ΠΙ και αφορούσε στον "χρόνιο" προβληματισμό των συναδέλφων σχετικά με τη ΓΙΑ, αφορούσε στο τελευταίο σχόλιο της παραγράφου 8.3 του ΤΕΤΡΑΔΙΟΥ μαθητή το οποίο αναφέρεται σε ".. εντολές που αλλάζουν την αρχική τιμή, την τελική τιμή, το βήμα ή τη μεταβλητή που ελέγχει την επανάληψη μέσα σε ένα βρόχοΓΙΑ.."

Στο παράδειγμα που δίνεται παραπάνω, υπάρχουν "εντολές που αλλάζουν τη μεταβλητή που ελέγχει την επανάληψη μέσα σε ένα βρόχιο ΓΙΑ"..

Νομίζω λοιπόν ότι το συγκεκριμένο παράδειγμα είναι λάθος

i ← -2
Όσο i ≤ 5 επανάλαβε
	i ← i + 1
	Όσο i ≤ 10 επανάλαβε 
	    Εμφάνισε i
	    i ← i + 3
	Τέλος_επανάληψης
Τέλος_επανάληψης


Ωραίο!

Παράθεση από: ntzios kostas στις 21 Ιαν 2011, 10:06:09 ΠΜ
Αυτή η απαίτηση έχει να κάνει με την εντολή GOTO. Δεν μπορείς(δεν πρέπει) να οδηγήσεις την εκτέλεση σε εντολή που βρίσκεται μέσα σε βρόχο.

εντολή1
πήγαινε εντολή3
για κ από 1 μέχρι 10
......εντολή2
......εντολή3
τέλος_επανάληψης

Άρα καταλήγουμε ότι η αρχική πρόταση είναι σωστή αφού μιλά για μετρητή γιατί αν αλλάζει σε οποιεσδήποτε εμφωλευμένες εντολές επανάληψης ο μετρητής δεν είναι πλέον μετρητής! 8)

Sergio

Παράθεση από: sdoukakis στις 22 Ιαν 2011, 12:05:19 ΠΜ
Για i από 1 μέχρι 3
	i ← -2
	Όσο i ≤ 5 επανάλαβε
		Εμφάνισε i
		i ← i + 1
	Τέλος_επανάληψης 
Τέλος_επανάληψης


Σε ένα τέτοιο τμήμα εντολών ζητώ από τους μαθητές να εντοπίσουν τα λάθη
Για βοηθήστε λίγο. Βάσει της οδηγίας, αυτό το τμήμα δεν μπορεί να γραφεί και άρα δεν έχει νόημα να συζητάμε να βρεθούν λάθη... :-\

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

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

Όμως από διδακτικής πλευράς νομίζω ότι είναι καλή ερώτηση. Φαντάζομαι πως, ως απάντηση περιμένεις μόνο το:
ΛΑΘΟΣ: περιλαμβάνει εντολές που αλλάζουν τη μεταβλητή που ελέγχει την επανάληψη μέσα στο βρόχο ΓΙΑ..
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Sergio

Παράθεση από: sdoukakis στις 22 Ιαν 2011, 12:05:19 ΠΜ
Είναι κάτι σαν το
Διάβασε x
y <- x mod 2

που δεν μπορεί να γραφεί για τους γνωστούς λόγους;

Το y <- x mod 2 δε μπορεί να γραφεί παρά μόνο εάν ο x είναι ακέραιος. Επομένως, το αν μπορεί να γραφεί ή όχι εξαρτάται από τον τύπο της μεταβλητής x. Εάν είναι ακέραια, είναι ΣΩΣΤΟ. Σε οποιαδήποτε άλλη περίπτωση, είναι ΛΑΘΟΣ.




Παράθεση από: sdoukakis στις 22 Ιαν 2011, 12:05:19 ΠΜ
Και το φετινό θέμα που ζητούσε να γραφεί η έκφραση
Ο ακέραιος x είναι θετικός αριθμός πολλαπλάσιο του 3.

Εδώ δε βλέπω κάποιο πρόβλημα.. Εγώ αντιλαμβάνομαι πως το θέμα προσδιορίζει ότι ο x είναι ακέραιος και ζητά να ελεγχθεί αν είναι θετικό πολλαπλάσιο του 3. Επομένως:

x > 0 και x mod 3 = 0

Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Sergio

Παράθεση από: sdoukakis στις 22 Ιαν 2011, 12:05:19 ΠΜ
Άρα καταλήγουμε ότι η αρχική πρόταση είναι σωστή αφού μιλά για μετρητή γιατί αν αλλάζει σε οποιεσδήποτε εμφωλευμένες εντολές επανάληψης ο μετρητής δεν είναι πλέον μετρητής! 8)

Εγώ εκεί έχω καταλήξει μετά τη συζήτηση και ιδιαίτερα μετά τα σχόλια του Κώστα. Νομίζω ότι «είδε» το προφανές που εγώ δεν έβλεπα.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Σπύρος Δουκάκης

Το mod όμως μπορεί να χρησιμοποιηθεί μόνο σε θετικούς και άρα αν είναι αρνητικό πως θα ελεγχθεί ότι είναι πολλαπλάσιο του 3 (μην ασχοληθούμε με το θέμα της αποτίμησης της συνθήκης...) και το πάω και ανάποδα για να μιλήσω για πολλαπλάσια με mod θα πρέπει να είναι θετικός;

Θυμίζω και την διευκρίνιση:

Παράθεση από: ΠΙασκήσεις ή προβλήματα που δίνονται στους μαθητές για επεξεργασία και απαιτείται η χρήση της MOD πρέπει πάντοτε να αναφέρονται σε θετικούς ακέραιους αριθμούς.

Μήπως κάπου χάνω κάτι;

Παράθεση από: Sergio στις 22 Ιαν 2011, 11:18:14 ΠΜ
Εδώ δε βλέπω κάποιο πρόβλημα.. Εγώ αντιλαμβάνομαι πως το θέμα προσδιορίζει ότι ο x είναι ακέραιος και ζητά να ελεγχθεί αν είναι θετικό πολλαπλάσιο του 3. Επομένως:
x > 0 και x mod 3 = 0


Σπύρος Δουκάκης

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

Παράθεση από: Sergio στις 22 Ιαν 2011, 11:03:05 ΠΜ
Κάθε άλλο.. Νομίζω ότι ακριβώς επειδή δεν πρέπει να αλλάζει η τιμή της μεταβλητής ελέγχου, έχει νόημα να ζητάμε να βρεθούν λάθη.

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

Όμως από διδακτικής πλευράς νομίζω ότι είναι καλή ερώτηση. Φαντάζομαι πως, ως απάντηση περιμένεις μόνο το:
ΛΑΘΟΣ: περιλαμβάνει εντολές που αλλάζουν τη μεταβλητή που ελέγχει την επανάληψη μέσα στο βρόχο ΓΙΑ..

Νίκος Αδαμόπουλος

Παράθεση από: Sergio στις 22 Ιαν 2011, 11:18:14 ΠΜ
Εδώ δε βλέπω κάποιο πρόβλημα.. Εγώ αντιλαμβάνομαι πως το θέμα προσδιορίζει ότι ο x είναι ακέραιος και ζητά να ελεγχθεί αν είναι θετικό πολλαπλάσιο του 3. Επομένως:

x > 0 και x mod 3 = 0



https://alkisg.mysch.gr/steki/index.php?topic=2916.msg26742#msg26742

Παράθεση από: Νίκος Αδαμόπουλος στις 22 Μαΐου 2010, 10:09:25 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 22 Μαΐου 2010, 09:36:48 ΜΜ
7. Στο Α3-4, για να γραφεί λογική έκφραση για το: "Ο ακέραιος χ είναι θετικός αριθμός πολλαπλάσιο του 3", με προβληματίζει το πώς στην ίδια έκφραση θα υπάρχει το ενδεχόμενο αρνητικού αριθμού ο οποίος θα εμπλέκεται και με το MOD.
... εννοώ το εξής:

Υποθέτω ότι η ζητούμενη έκφραση είναι η:  x>0 KAI x MOD 3=0 ...

Αν το x είναι αρνητικός τι γίνεται; Θυμίζω το: http://dide.ilei.sch.gr/keplinet/education/docs/aepp_div_mod.pdf όπου αναφέρει: "Επομένως, ασκήσεις ή προβλήματα που δίνονται στους μαθητές για επεξεργασία και απαιτείται η χρήση της MOD πρέπει πάντοτε να αναφέρονται σε θετικούς ακέραιους αριθμούς."

Μήπως με αυτό έχουμε νομιμοποίηση (όπως με τους ημιυπαίθριους και τα αυθαίρετα  ;) ) των λογικών εκφράσεων μερικής αποτίμησης; Αν ναι, μου φαίνεται ότι έτσι ανοίγει ο Ασκός του Αιόλου...   >:D

Sergio

Παράθεση από: sdoukakis στις 22 Ιαν 2011, 05:04:40 ΜΜ
Παράθεση από: Sergio στις 22 Ιαν 2011, 11:03:05 ΠΜ
Παράθεση από: sdoukakis στις 22 Ιαν 2011, 12:05:19 ΠΜ
Για i από 1 μέχρι 3
	i ← -2
	Όσο i ≤ 5 επανάλαβε
		Εμφάνισε i
		i ← i + 1
	Τέλος_επανάληψης 
Τέλος_επανάληψης

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

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

Όμως από διδακτικής πλευράς νομίζω ότι είναι καλή ερώτηση. Φαντάζομαι πως, ως απάντηση περιμένεις μόνο το:
ΛΑΘΟΣ: περιλαμβάνει εντολές που αλλάζουν τη μεταβλητή που ελέγχει την επανάληψη μέσα στο βρόχο ΓΙΑ..
Αυτή που λες είναι καλύτερη απάντηση. Όμως, δεν θα τους αφαιρούσα μόρια αν έλεγαν δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσοτέρων βρόχων... που ο ένας βρίσκεται στο εσωετρικό του άλλου...

Σωστά, αφού το i χρησιμοποιείται ως μετρητής και στους δύο βρόχους.. (αν και στον εσωτερικό, με αρχική τιμή -2, δεν είναι ακριβώς μετρητής..)

Δε θα έπρεπε όμως να δώσουν την ίδια απάντηση για την περίπτωση του κώδικα:
Για i από 1 μέχρι 30 με_βήμα 4
	i ← 0
	Όσο i ≤ 50 επανάλαβε
		Εμφάνισε i
		i ← i + 2
	Τέλος_επανάληψης 
Τέλος_επανάληψης

Εδώ δε χρησιμοποιείται ως μετρητής, αλλά καθαρά ως μεταβλητή ελέγχου.  Πα'όλα αυτά, μεταβάλει την τιμή της μεταβλητής ελέγχου της ΓΙΑ οπότε είναι λάθος.

Τέλος, ο κώδικας:
ι ← 5
Αρχή_επανάληψης
	Όσο i ≤ 50 επανάλαβε
		Εμφάνισε i
		i ← i + 2
	Τέλος_επανάληψης 
        i ← i + 4
Μέχρις_ότου ι > 100


Δεν έχει κανένα απολύτως πρόβλημα, αφού η μεταβλητή i δε χρησιμοποιείται ως μετρητής..
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Sergio

Παράθεση από: Νίκος Αδαμόπουλος στις 22 Ιαν 2011, 05:38:20 ΜΜ... εννοώ το εξής:

Υποθέτω ότι η ζητούμενη έκφραση είναι η:  x>0 KAI x MOD 3=0 ...

Αν το x είναι αρνητικός τι γίνεται; Θυμίζω το: http://dide.ilei.sch.gr/keplinet/education/docs/aepp_div_mod.pdf όπου αναφέρει: "Επομένως, ασκήσεις ή προβλήματα που δίνονται στους μαθητές για επεξεργασία και απαιτείται η χρήση της MOD πρέπει πάντοτε να αναφέρονται σε θετικούς ακέραιους αριθμούς."

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

Έχω συχνά στο παρελθόν συζητήσει με άλλους φίλους στο στέκι το θέμα:
Συζήτηση για τους τελεστές DIV και MOD
Σχετικά με το div και το mod (1/2)
Σχετικά με το div και το mod (2/2)
Τελεστές div, mod: Χαρακτηριστικά και ιεραρχία

Εν ολίγοις, η άποψή μου ήταν (και δεν έχω πειστεί για το αντίθετο), ότι στο διδακτικό πλαίσιο του μαθήματος, οι λεπτομέρειες υλοποίησης των τελεστών div και mod από τις γλώσσες προγραμματισμού ούτε μας αφορούν ούτε και έπρεπε να μας «διχάζουν».   Εντούτοις, το θέμα έφτασε (καλώς.. ας πούμε) στο ΠΙ το οποίο απάντησε με ένα κείμενο που τεκμηρίωνε επαρκώς την επιστημονική βάση που οδηγεί σε διαφορετικές υλοποιήσεις των τελεστών αυτών από τις γλώσσες, παραμελώντας όμως την παιδαγωγική βάση, μη ερμηνεύοντας δηλαδή ορθά το πολυσυζητημένο διδακτικό συμβόλαιο το οποίο διακηρύσσει ότι οι μαθητές δεν έχουν λόγο να μυηθούν σε λεπτομέρειες (πόσο μάλλον αντιφάσεις) καθαρά προγραμματιστικής υφής παρά να αναπτύξουν την αλγοριθμική σκέψη και, μέσα από την ενασχόληση με τον προγραμματισμό, να «..καλλιεργήσουν και να εθιστούν στην αυστηρότητα και σαφήνεια της έκφρασης και της διατύπωσης..», εξασκούμενοι στη διαδικασία μετατροπής του αλγόριθμου σε πρόγραμμα με τη βοήθεια ενός περιβάλλοντος ψευδογλώσσας (ΓΛΩΣΣΑ), όπως αναφέρει και ο Τζιμογιάννης στο σχετικό του άρθρο Προς ένα Παιδαγωγικό Πλαίσιο Διδασκαλίας του Προγραμματισμού στη Δευτεροβάθμια Εκπαίδευση.

Οι μαθητές δικαιούνται να γνωρίζουν από τα μαθηματικά τη λειτουργία των τελεστών αυτών και δεν υπάρχει κανένας απολύτως λόγος να αλλάξουν αυτή τη γνώση σε αυτό το στάδιο. Κάποιοι, που όντως τη γνωρίζουν, εκφράζουν την προφανή απορία, «..γιατί δεν κάνει ο υπολογιστή div και mod με αρνητικούς ;;..»  Ασφαλώς, η απάντηση μπορεί να τους δοθεί μέσα από το κείμενο της διευκρίνισης του ΠΙ, όμως με τον ένα ή τον άλλο τρόπο, τραβάμε την προσοχή τους σε ένα θέμα το οποίο, στο πλαίσιο του διδακτικού συμβολαίου, οφείλαμε να έχουμε αποσιωπήσει.

Εν πάση περιπτώση, το «κακό» έγινε.. Κατά τη γνώμη μου ήταν απροσεξία του ΠΙ να στείλει αυτή τη διευκρίνιση αντί της «ισχύει ότι ορίζεται στο βιβλίο των μαθηματικών κατεύθυνσης της Β' Λυκείου» που ούτε θα προβλημάτιζε τους μαθητές ούτε θα αλλίωνε τη φιλοσοφία του διδακτικού συμβολαίου.  Όμως την έστειλε, οπότε πλέον αποτελεί μέρος του διδακτικού συμβολαίου. Θεωρώ ότι το «βιάζει» και του δημιουργεί περιττούς (και για κάποιους αυθαίρετους) περιορισμούς, αλλά πλέον «ο κύβος ερρίφθει».

Και το αξιοσημείωτο είναι πως, το όποιο πρόβλημα δημιουργείται με τους αρνητικούς αριθμούς, αφορά μόνο σε μη τέλειες διαιρέσεις.  Θέλω να πω ότι, είναι προφανές πως -10 div 5 = -2 καθώς και ότι -10 mod 5 = 0.  «Πρόβλημα» δημιουργείται με το -10 div 3 και με το -10 mod 3.  Ενώ στα μαθηματικά υπάρχει μοναδική απάντηση (-10 div 3 = -4 και -10 mod 3 = +2), στις γλώσσες προγραμματισμού, όχι.  Οπότε, ενώ οι τέλειες διαιρέσεις (όπως αυτή του θέματος των εξετάσεων) δεν θα δημιουργούσαν κανένα πρόβλημα, μετά την οδηγία του ΠΙ, πρέπει αναγκαστικά να θεωρήσουμε ότι το συγκεκριμένο ερώτημα δεν έπρεπε να έχει δοθεί στις εξετάσεις.. Ίσως θα αρκούσε από την πλευρά του ΠΙ να μιλήσει μόνο για τις μη τέλειες διαιρέσεις, όμως και πάλι ανωμαλία θα δημιουργούσε.   

Πιστεύω ότι θα ήταν προτιμότερη μια «συμβιβαστική» διευκρίνιση που θα διατυπωνόταν κάπως «.. ο υπολογισμός του πηλίκου και του υπολοίπου της ακεραίας διαίρεσης, δίνεται στο βιβλίο των μαθηματικών Θετικής και τεχνολογικής κατεύθυνσης, στην παράγραφο 4.2: Ευκλείδεια διαίρεση, σελ. 140-145, τόσο για θετικούς όσο και για αρνητικούς αριθμούς.  Στο πλαίσιο του μαθήματος ΑΕΠΠ οι μαθητές οφείλουν να ερμηνεύουν τη λειτουργία των τελεστών div και mod με τον τρόπο που δίνεται στα μαθηματικά.  Επειδή όμως ενδέχεται κάποιοι μαθητές να μην έχουν διδαχθεί επαρκώς τη συγκεκριμένη ύλη και επειδή αυτή συνιστά αντικείμενο που διαφεύγει του σκοπού του μαθήματος της ΑΕΠΠ, καλόν είναι να αποφεύγεται η εξέτασή τους σε χρήση των τελεστών αυτών με αρνητικούς αριθμούς σε μη τέλειες διαιρέσεις..»

Όμως τι να λέμε τώρα, η διευκρίνιση είναι πλέον γεγονός, ανήκει στην ιστορία και αυτή θα την κρίνει (και έχει ήδη αρχίσει να την κρίνει)
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)