ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Εκπαιδευτικό Σενάριο για την Διδασκαλία των Δομών Επανάληψης Παπαδημητρίου Ηλίας Σιψά Γρηγορία Καλαμάτα 20/06/2013
Εκπαιδευτικό Σενάριο Για Την Διδασκαλία Των Δομών Επανάληψης 1. Εισαγωγή Το μάθημα «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» Το μάθημα «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» αποτελεί το βασικό μάθημα της Γ τάξης του κύκλου Πληροφορικής και Υπηρεσιών της Τεχνολογικής Κατεύθυνσης του Γενικού Λυκείου. Ο γενικός σκοπός του μαθήματος είναι να αναπτύξουν οι μαθητές αναλυτική και συνθετική σκέψη, να αποκτήσουν ικανότητες μεθοδολογικού χαρακτήρα και να μπορούν να επιλύουν απλά προβλήματα σε προγραμματιστικό περιβάλλον (ΥΠΕΠΘ-ΠΙ, 1997). Συνεπώς, το συγκεκριμένο μάθημα έχει ως πρωταρχικό στόχο την ανάπτυξη δεξιοτήτων και ικανοτήτων σχετικών με την αλγοριθμική και την ορθολογική χρήση των δεξιοτήτων αυτών στην καθημερινή ζωή. Πολλές βασικές έννοιες αλγοριθμικής (αλλά και προγραμματισμού), όπως συνθήκες ελέγχου, λογικές προτάσεις και συμπεράσματα, κ.α., συνιστούν αναπόσπαστο τμήμα των γενικών γνώσεων και δεξιοτήτων που πρέπει να αποκτήσει ο μαθητής στο πλαίσιο της γενικής του παιδείας, οι οποίες - στην πλειονότητά τους - δεν προσεγγίζονται από άλλα γνωστικά αντικείμενα (Πολίτης & Κόμης, 1999). Δομές επανάληψης και διδακτικά προβλήματα Κατά τη σύνταξη μιας δομής επανάληψης προσδιορίζονται οι λειτουργίες που πρέπει να επαναληφθούν καθώς και η συνθήκη που θα προσδιορίζει την συνέχιση ή μη της επαναληπτικής διαδικασίας (Rogalski & Samurçay, 1990). Δύο είναι οι δυνατοί τρόποι έκφρασης μιας επαναληπτικής διαδικασίας της οποίας ο αριθμός επαναλήψεων δεν είναι εξ αρχής γνωστός: Επαναληπτικός βρόχος / συνθήκη ελέγχου Συνθήκη ελέγχου / επαναληπτικός βρόχος ΟΙ δύο αυτοί τρόποι δεν παρουσιάζουν τα ίδια διδακτικά προβλήματα από την πλευρά των μαθητών (Τζιμογιάννης & Γεωργίου, 1999). Ο τρόπος «προγραμματιστικής έκφρασης» των 1
μαθητών επηρεάζεται από τις αναπαραστάσεις που έχουν σχετικά με την επανάληψη. Ο τύπος της επαναληπτικής δομής που ταιριάζει καλύτερα στις αρχικές ιδέες των μαθητών είναι ο Επανάλαβε Όσο, ενώ αντίθετα ο τύπος Όσο Επανάλαβε, εμφανίζει περισσότερα προβλήματα κατανόησης γιατί ακολουθεί αντίθετη πορεία συλλογισμού από αυτήν που έχουν συνηθίσει οι μαθητές (Κόμης, 2001). Οι τρεις διαφορετικές μέθοδοι υλοποίησης της επανάληψης, όπως αυτές αναφέρονται στο βιβλίο του μαθητή (ΟΣΟ, ΓΙΑ, ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ), απαιτούν διαφορετικό σχεδιασμό του αλγορίθμου για τον ίδιο στόχο. Οι μαθητές πρέπει να γνωρίζουν τις διαφορές και κυρίως τις διαφορετικές δυνατότητες της κάθε μεθόδου, ώστε να είναι σε θέση να επιλέξουν την κατάλληλη μέθοδο για το συγκεκριμένο πρόβλημα που αντιμετωπίζουν και να μην επιλέγουν χωρίς κριτήρια. Σύμφωνα με τον Κόμη (2005), ο τύπος της επαναληπτικής δομής που είναι πιο κοντά στα νοητικά μοντέλα των μαθητών είναι η «Αρχή επανάληψης... μέχρις_ότου». Απαιτεί την ανάπτυξη και διαμόρφωση του σώματος των εντολών που θα επαναλαμβάνονται και ακολουθεί ο προσδιορισμός της συνθήκης ελέγχου/τερματισμού. Σε συντακτικό επίπεδο η «Για» είναι πιο απλή γιατί είναι πιο συμπυκνωμένη, πιο εύκολα αναγνωρίζεται ο αριθμός των επαναλήψεων και δεν απαιτεί προσδιορισμό της αρχικής κατάστασης της μεταβλητής ελέγχου ούτε ανανέωση της τιμής της. Η «Όσο» είναι πιο γενική, αποτελεί ένα καθολικό εργαλείο για την επίλυση προβλημάτων επανάληψης. Είναι δυσκολότερη στη σύλληψη, καθώς απαιτεί πρώτα τον προσδιορισμό της συνθήκης ελέγχου/τερματισμού και ακολουθεί η διαμόρφωση του σώματος των εντολών που θα επαναλαμβάνονται. Έχουμε παρατηρήσει ότι αν οι μαθητές συνηθίσουν να δουλεύουν πρώτα με «Για» και «Αρχή επανάληψης» και μετά με «Όσο» (ή ακόμη και ταυτόχρονα και με τις τρεις) είναι πιο δύσκολη η κατανόηση και εφαρμογή της «Όσο» και γι αυτό την αποφεύγουν ακόμη κι όταν χρειάζεται. Γι αυτό το λόγο προτείνουμε πρώτα τη διδακτική προσέγγιση της δομής επανάληψης «Όσο» και την επαρκή εξάσκηση των μαθητών πριν την εισαγωγή τους στις υπόλοιπες (πιο απλές συγκριτικά) επαναληπτικές δομές. Οι δυσκολίες των μαθητών στις επαναληπτικές δομές εστιάζονται στην αναγνώριση της αρχικής τιμής της μεταβλητής ελέγχου, στην αναγνώριση της εντολής που χρησιμοποιείται για την ανανέωση της τιμής της μεταβλητής ελέγχου, στον προσδιορισμό των λειτουργικών χαρακτηριστικών της επαναληπτικής δομής «Όσο». Ιδιαίτερα προβλήματα παρουσιάζονται με την «Όσο», όταν η αρχικοποίηση και η ανανέωση της τιμής της μεταβλητής ελέγχου γίνεται μέσω μιας εντολής ανάγνωσης, όταν παραλείπεται η εντολή αρχικοποίησης της τιμής της 2
μεταβλητής ελέγχου, όταν παραλείπεται η εντολή ανανέωσης της τιμής της μεταβλητής ελέγχου και όταν στον καθορισμό της συνθήκης ελέγχου εμπλέκονται περισσότερες από μία μεταβλητές (Γρηγοριάδου, Γόγουλου, Γουλή, 2004). Χρησιμοποιούμενα Μέσα Για την υλοποίηση του διδακτικού σεναρίου θα γίνει χρήση του εκπαιδευτικού λογισμικού «Ο Διερμηνευτής της ΓΛΩΣΣΑΣ». Ο διερμηνευτής της ΓΛΩΣΣΑΣ αποτελεί ένα ολοκληρωμένο περιβάλλον ανάπτυξης προγραμμάτων στη ΓΛΩΣΣΑ προγραμματισμού που ορίζεται στο βιβλίο του μαθήματος «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον» της Γ Γενικού Λυκείου. Εκτιμώμενη Διάρκεια Διδακτικού Σεναρίου Προβλέπεται να διαρκέσει συνολικά 6 διδακτικές ώρες. 2. Σκοποί και Στόχοι Διδακτικού Σεναρίου Για τη διδασκαλία της ενότητας της δομής επανάληψης στον προγραμματισμό, μπορούμε να θέσουμε τους παρακάτω στόχους: Γενικός διδακτικός στόχος Να εξοικειωθούν οι μαθητές με τις επαναληπτικές δομές όσον αφορά τα χαρακτηριστικά τους, το είδος των επαναλήψεων που υλοποιούν, την ένταξη τους στους αλγόριθμους, τη σύνταξη τους και τη χρήση τους στο προγραμματιστικό περιβάλλον. Ειδικοί διδακτικοί στόχοι-προσδοκώμενα αποτελέσματα Οι μαθητές θα πρέπει να είναι σε θέση: α) επίπεδο γνώσεων και δεξιοτήτων (γνωστικές δεξιότητες). Θα πραγματοποιηθεί µέσω της επεξεργασίας θεωρητικών ζητημάτων, πληροφοριών, δεδομένων, πρακτικών ασκήσεων: 1. να αναγνωρίζουν την ανάγκη της δοµής επανάληψης στον προγραμματισμό 2. να περιγράφουν τη λειτουργία των τριών εντολών της δομής επανάληψης 3. να εµπεδώσουν την έννοια του βρόχου 4. να απαριθµούν τα συστατικά στοιχεία µιας δοµής επανάληψης (συνθήκη επανάληψης, σώµα επανάληψης, συνθήκη τερματισμού). 5. να δημιουργούν διάγραμμα ροής για έναν αλγόριθμο 3
6. να διακρίνουν τις διαφορές των εντολών επανάληψης 7. να συντάσσουν προγράμματα χρησιμοποιώντας και τις τρεις δομές επανάληψης 8. να διακρίνουν αν είναι εφικτή η χρήση μιας δομής επανάληψης για τη λύση ενός προβλήματος 9. να μετατρέπουν την ΟΣΟ στη ΜΕΧΡΙΣ_ΟΤΟΥ και αντίστροφα 10. να μετατρέπουν την ΟΣΟ στη ΓΙΑ και αντίστροφα 11. να μετατρέπουν τη ΓΙΑ στις άλλες δύο δομές επανάληψης και αντίστροφα όπου αυτό είναι εφικτό β) επίπεδο των στάσεων. Θα επιτευχθεί µέσω των βιωματικών τεχνικών εκπαίδευσης που διασυνδέουν τη θεωρητική προσέγγιση µε την πράξη: να παροτρύνονται για περαιτέρω σκέψη και προβληματισμό. Ειδικότερα: 1. όταν τους δίνεται η περιγραφή ενός προβλήματος (συνθήκη) να αναγνωρίζουν αν για τη λύση του πρέπει να χρησιμοποιηθεί επαναληπτική εντολή (συμπεριφορά), 2. όταν τους δίνεται η περιγραφή ενός προβλήματος που απαιτεί τη χρήση επαναληπτικής δομής και τους ζητείται η ανάπτυξη προγράμματος για την επίλυσή του (συνθήκη) να χρησιμοποιούν (συμπεριφορά) ορθά (βαθμός επάρκειας) την επαναληπτική εντολή στο πρόγραμμα που θα δημιουργήσουν, 3. όταν τους δίνεται η περιγραφή ενός προβλήματος που απαιτεί τη χρήση επαναληπτικής δομής (συνθήκη) να επιλέγουν (συμπεριφορά) την καταλληλότερη από τις τρεις επαναληπτικές εντολές (βαθμός επάρκειας), 4. όταν τους δίνεται πρόγραμμα που περιέχει λογικά και συντακτικά λάθη που σχετίζονται με την επαναληπτική εντολή (συνθήκη) να εντοπίζουν (συμπεριφορά) τουλάχιστον ένα λογικό και ένα συντακτικό λάθος (βαθμός επάρκειας). 4
3. Διδακτική Προσέγγιση Η διδακτική πρόταση αφορά στη διδασκαλία της δομής επανάληψης στα πλαίσια του μαθήματος Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον της Γ Τάξης Γενικών Λυκείων Τεχνολογικής κατεύθυνσης.. Οι μαθητές έχουν ήδη διδαχθεί τόσο τη δομή ακολουθίας, όσο και τη δομή επιλογής σε όλες τις μορφές της. Λαμβάνοντας υπόψη τον διαθέσιμο χρόνο, η διδακτική πρόταση προβλέπεται να εφαρμοστεί σε τρία δίωρα (Πίνακας 1). Χρόνος Στόχοι Περιγραφή Παραδοτέο Αναγκαιότητα Δομών Επανάληψης 1 ο Δίωρο Συμπλήρωση φύλλου εργασίας 1 α1,α2, α3,α4, Παρουσίαση των τριών δομών επανάληψης α5 & β1 Μελέτη Δραστηριοτήτων 1,2,3,4,5,6,7 &8 Φύλλο εργασίας 1 2 ο Δίωρο α7, α8 β2, β3 & β4 Μελέτη Δραστηριοτήτων 1,2,3,4,5,6 &7 Συμπλήρωση φύλλου εργασίας 2 Φύλλο εργασίας 2 3 ο Δίωρο α6,α9,α10 & α11 Μελέτη Δραστηριοτήτων 1,2,3,4,5 & 6 Συμπλήρωση φύλλου εργασίας 3 Φύλλο εργασίας 3 Πίνακας 1 Χρονοπρογραμματισμός της διδακτικής προσέγγισης σε 3 δίωρα Για την υποστήριξη της διδακτικής πρότασης αναπτύχθηκε εκπαιδευτικό υλικό σε ηλεκτρονική μορφή (βλέπε Πίνακα 2) που περιλαμβάνει: την εκφώνηση της συνθετικής εργασίας, τέσσερις μελέτες περίπτωσης και δυο προβλήματα. Επίσης σχεδιάστηκαν τρία φύλλα εργασίας τα οποία δόθηκαν στους μαθητές σε έντυπη μορφή. Το εκπαιδευτικό υλικό διατίθεται στην ιστοσελίδα http://hermes.di.uoa.gr/loops. Η παροχή του υλικού σε ηλεκτρονική μορφή επιλέχθηκε αφενός για τη διευκόλυνση της πλοήγησης των μαθητών σε αυτό λόγω της έκτασής του και αφετέρου για να είναι συνεχώς διαθέσιμο σε όλη τη διάρκεια εφαρμογής της διδακτικής πρότασης. Αντίθετα επιλέχθηκε η έντυπη μορφή για τα δύο φύλλα εργασίας προκειμένου να διευκολυνθούν οι μαθητές στην καταγραφή των απαντήσεών τους δεδομένης της εξοικείωσής τους με τα έντυπα μέσα. 5
Στην εφαρμογή της διδακτικής πρότασης απαιτείται μια διαφορετική δραστηριοποίηση του καθηγητή στην τάξη σε σχέση με μια παραδοσιακή διδασκαλία. Η κύρια ενασχόλησή του είναι να ανταποκρίνεται στις απορίες/ανάγκες των μαθητών που ενδέχεται να προκύψουν κατά τη διάρκεια της διαδικασίας. Γενικά ο ρόλος του είναι περισσότερο του βοηθού/συμβούλου παρά του εισηγητή. 6
Φύλλο Εργασίας 1 1. Μάθημα: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαια 2 ο & 8 ο : Δομές Επανάληψης Εισαγωγή στις δομές Επανάληψης 2. Τάξη: Γ Γενικού Λυκείου (Τεχνολογική Κατεύθυνση) 3. Εκπαιδευτικές ανάγκες: Οι μαθητές δεν μπορούν μέχρι στιγμής να αντιμετωπίσουν προβλήματα που περιέχουν επαναληπτικές δομές, γι αυτό χρειάζεται να εισαχθεί η ιδέα της επανάληψης στον προγραμματισμό. 4. Γνωστικό υπόβαθρο των μαθητών: Γνωρίζουν μόνο την ακολουθιακή δομή και τη δομή επιλογής, καθώς και τις εντολές εισαγωγής δεδομένων και εξαγωγής αποτελεσμάτων. Στο σημείο αυτό πρέπει να έχουμε υπόψη μας ότι, σύμφωνα με τον Κόμη (2005), ο τύπος της επαναληπτικής δομής που είναι πιο κοντά στα νοητικά μοντέλα των μαθητών είναι η «Αρχή επανάληψης... μέχρις_ότου». Απαιτεί την ανάπτυξη και διαμόρφωση του σώματος των εντολών που θα επαναλαμβάνονται και ακολουθεί ο προσδιορισμός της συνθήκης ελέγχου/τερματισμού. Σε συντακτικό επίπεδο η «Για» είναι πιο απλή γιατί είναι πιο συμπυκνωμένη, πιο εύκολα αναγνωρίζεται ο αριθμός των επαναλήψεων και δεν απαιτεί προσδιορισμό της αρχικής κατάστασης της μεταβλητής ελέγχου ούτε ανανέωση της τιμής της. Η «Όσο» είναι πιο γενική, αποτελεί ένα καθολικό εργαλείο για την επίλυση προβλημάτων επανάληψης. Είναι δυσκολότερη στη σύλληψη, καθώς απαιτεί πρώτα τον προσδιορισμό της συνθήκης ελέγχου/τερματισμού και ακολουθεί η διαμόρφωση του σώματος των εντολών που θα επαναλαμβάνονται. 5. Γενικός Διδακτικός στόχος: Η κατανόηση της έννοιας της επανάληψης ως αναγκαιότητα που προκύπτει από το πρόβλημα, και η σύνταξη απλών τμημάτων κώδικα με χρήση των τριών δομών επανάληψης. 6. Χρονοπρογραμματισμός της διδασκαλίας ΔΙΑΡΚΕΙΑ: 2 διδακτικές ώρες (45 + 45 λεπτά) 7. Εποπτικά και διδακτικά μέσα: Πίνακας, ηλεκτρονικοί υπολογιστές, λογισμικό (Γλωσσομάθεια, Αλγοριθμική) φύλλα εργασίας και φύλλο αξιολόγησης 7
8. Διαδικασία και Πλαίσιο χρησιμοποίησης των Διδακτικών Τεχνικών / Προσεγγίσεων 1 η Διδακτική Ώρα Σύνδεση με προηγούμενες γνώσεις Ζητάμε από τους μαθητές με βάση τις μέχρι τώρα γνώσεις (προηγούμενες δομές) να υλοποιήσουν αλγόριθμο που απαιτεί την επαναλαμβανόμενη εκτέλεση μιας ή περισσότερων ενεργειών. 3 κλιμακούμενα παραδείγματα. (βλ. Δραστηριότητα 1) Στη συνέχεια οι μαθητές χωρισμένοι σε ομάδες των 2 ατόμων, δίνουν εισόδους σε 3 προγράμματα των οποίων δεν βλέπουν τον κώδικα (μαύρο κουτί) και παίρνουν τα αποτελέσματα, τα οποία και καταγράφουν, απαντώντας σε ερωτήσεις που τους οδηγούν να παρατηρούν τη συμπεριφορά των προγραμμάτων και να κάνουν υποθέσεις για τη λειτουργία τους. (βλ. Δραστηριότητα 2) Η διδακτική προσέγγιση συνεχίζεται με ένα απλό παράδειγμα της επαναληπτικής δομής «Όσο» στο λογισμικό Διερμηνευτής της Γλώσσας όπως φαίνεται στο σχήμα 1. (βλ. Δραστηριότητα 3) Εκτελούμε το πρόγραμμα βήμα βήμα ώστε οι μαθητές να αντιληφθούν όσο γίνεται καλύτερα το δυναμικό χαρακτήρα της επανάληψης. Αφού γίνει η περιγραφή του μηχανισμού και επισημανθούν στις βασικές συνιστώσες της δομής (μεταβλητή ελέγχου, αρχικοποίηση της, συνθήκη, σώμα εντολών, ανανέωση της μεταβλητής ελέγχου βήμα) προχωράμε στην μετατροπή του προγράμματος από τους μαθητές, για την εμφάνιση διαφορετικού πλήθους μηνυμάτων (π.χ. 20, 50, 100 κλπ.). Υποβάλλοντας κατάλληλες ερωτήσεις στους μαθητές μπορούμε να υπενθυμίζουμε το κριτήριο της περατότητας που είχε προσεγγιστεί θεωρητικά και να συζητήσουμε τώρα για την αναγκαιότητα του, τις περιπτώσεις που δεν ικανοποιείται και πως το εξασφαλίζουμε. Κατόπιν επαναλαμβάνουμε το ίδιο παράδειγμα και για τις άλλες δύο δομές επανάληψης. Η πρώτη διδακτική ώρα ολοκληρώνεται με τους μαθητές να εκπονούν τις δραστηριότητες 4 και 5. 2 η Διδακτική Ώρα Στη συνέχεια θέτουμε νέο πρόβλημα που να απαιτεί επανάληψη με μετρητή: για παράδειγμα υπολογισμός αθροίσματος Σ=1+2+3+ +100. (βλ. Δραστηριότητα 6). Αναλύουμε τις έννοιες του μετρητή, την αρχικοποίηση, το όριό του κλπ., τη λειτουργία του αθροιστή και του πολλαπλασιαστή καθώς και το ρόλο των ουδέτερων στοιχείων των αντίστοιχων πράξεων. Ζητάμε από τους μαθητές να κατασκευάσουν διάγραμμα ροής και εν συνεχεία το αντίστοιχο πρόγραμμα, το οποίο και τελικά παρουσιάζεται και εκτελείται στο σύνολο της τάξης. Στο στάδιο αυτό οι μαθητές έχουν αποκτήσει κάποια γνώση για την έννοια της επανάληψης και τώρα η 8
επιδίωξή μας είναι να τους δώσουμε τη δυνατότητα να ελέγξουν την ευρύτητα και τα όρια εφαρμογής των ιδεών και των γνώσεων που χρησιμοποιήθηκαν στο συγκεκριμένο πρόβλημα. Το παράδειγμα ή τα παραδείγματα μας πρέπει στο τελικό στάδιο να δίνουν γενικές πληροφορίες για ένα σύνολο προβλημάτων και να μην περιορίζεται στο συγκεκριμένο πλαίσιο στο οποίο παρουσιάστηκαν. Με σκοπό λοιπόν την προώθηση της κριτικής γενίκευσης των γνώσεων που απέκτησαν, επιδιώκουμε την εξάσκηση τους στη χρήση και εφαρμογή των ιδεών τους σε μια ποικιλία προβλημάτων. Ένας τρόπος για να το επιτύχουμε είναι οι ερωτήσεις πρόβλεψης, για παράδειγμα τι θα γίνει αν ξεχάσω το την ανανέωση του μετρητή, αν δε βάλω το Σ Σ + i, αν βάλω το ΓΡΑΨΕ μέσα στην επανάληψη, αν δεν είναι γνωστό το όριο του μετρητή κλπ.). Ακολουθεί μια σύνοψη από μαθητές και εκπαιδευτικό των συμπερασμάτων που προέκυψαν και των κανόνων που αφορούν περιορισμούς για την αρχική και τελική τιμή, για το βήμα, καθώς και για τον αριθμό των επαναλήψεων Δραστηριότητα 1: α) Στηριγμένοι/νες στις μέχρι τώρα γνώσεις σας, κατασκευάστε αλγόριθμο που να εμφανίζει το μήνυμα «Γεια χαρά, παιδιά!!!» β) Αμέσως μετά κατασκευάστε τον αλγόριθμο που θα τυπώνει το ίδιο μήνυμα 4 φορές και γ) κατόπιν τον αλγόριθμο που θα το τυπώνει 100 φορές. Ποια δυσκολία υπάρχει; Τι νομίζετε ότι φταίει γι αυτό; Δραστηριότητα 2: α) Στο περιβάλλον της Αλγοριθμικής εκτελέστε το αρχείο που σας δίνεται, θέτοντας κάθε φορά ως εισόδους τις παρακάτω τιμές για τις μεταβλητές αρχ_τιμή, τελ_τιμή και βήμα. Σε κάθε περίπτωση συμπληρώστε τον πίνακα και απαντήστε με τη σειρά στις ερωτήσεις. Αρχ_τιμή Τελ_τιμή Βήμα Πόσες φορές εμφανίζεται το μήνυμα 1 7 1 1 10 1 3 8 1-1 4 1 Ερώτηση1: Ποια πιστεύετε ότι είναι η λειτουργία αυτών των προγραμμάτων; 9
Δραστηριότητα 3 Εκτελέστε τον αλγόριθμο με τίτλο «Εμφάνιση_Μηνύματος». Σχήμα 1 Ερώτηση 2: Να περιγράψετε την λειτουργία του.. Άσκηση 1: Να τροποποιήσετε κατάλληλα τον αλγόριθμο ώστε να εμφανίζει α) 20 β) 50 και γ) 100 μηνύματα. Άσκηση 2: Να γράψετε τον παραπάνω αλγόριθμο χρησιμοποιώντας τις άλλες δύο δομές επανάληψης δηλαδή την Αρχή_Επανάληψης. Μέχρις_Ότου και την ΓΙΑ. Δραστηριότητα 4: Να γράψετε αλγόριθμο ο οποίος θα εμφανίζει στην οθόνη τους άρτιους αριθμούς από το 2 μέχρι το 100 χρησιμοποιώντας την δομή επανάληψης ΓΙΑ. 10
Δραστηριότητα 5: Να κάνετε το ίδιο χρησιμοποιώντας την δομή ΌΣΟ ΕΠΑΝΑΛΑΒΕ και την δομή ΜΕΧΡΙΣ_ΌΤΟΥ. Δραστηριότητα 6: Χρησιμοποιώντας τον «Διερμηνευτή της Γλώσσας» ανοίξτε τον αλγόριθμο «Άθροισμα_1» και στη συνέχεια εκτελέστε τον. Μπορείτε να συμπεράνετε τι ακριβώς υπολογίζει; Σχήμα 2 Στιγμιότυπο εκτέλεσης προγράμματος από τον Διερμηνευτή της Γλώσσας, με επαναληπτική δομή και παράλληλη παρουσίαση διαγράμματος ροής. Ερώτηση 3 : α) Τι θα συμβεί αν παραλείψουμε την εντολή Σ 0;.. β) Τι θα συμβεί αν παραλείψουμε την εντολή Ι Ι+1.. Δραστηριότητα 7: Χρησιμοποιώντας τον «Διερμηνευτή της Γλώσσας» ανοίξτε τους αλγόριθμους «Άθροισμα_2» και «Άθροισμα_3» και στη συνέχεια εκτελέστε τους. Να περιγράψετε συνοπτικά την λειτουργία τους. 11
... Δραστηριότητα 8: Να κατασκευαστούν τα διαγράμματα ροής των παραπάνω τριών αλγορίθμων. 12
Τεστ για αξιολόγηση Α) Στο παρακάτω τμήμα αλγορίθμου συμπληρώστε τα κενά, ώστε η επανάληψη να εκτελεστεί α) 1 φορά, β) καμία φορά γ )επ άπειρον και δ) 4 φορές (εδώ δώστε 2 εναλλακτικές λύσεις) Για κ από 3 μέχρι με_βήμα Εντολές Τέλος_επανάληψης Β) Να γράψετε αλγόριθμο που θα διαβάζει τα ονόματα και τις απουσίες των 30 παιδιών της τάξης σας και θα τυπώνει μόνο τα ονόματα των παιδιών που δεν ξεπερνούν τις 50 απουσίες. 13. Ανάθεση εργασιών για το σπίτι Α) Συμπληρώστε τα κενά που λείπουν στις παρακάτω προτάσεις: 1) Στην εντολή Για, όταν η αρχική τιμή της μεταβλητής ελέγχου είναι μεγαλύτερη από την τελική, τότε το βήμα πρέπει να είναι. 2) Όταν ένα σύνολο από εντολές πρέπει να εκτελεστεί πολλές φορές, τότε χρησιμοποιείται δομή.. 3) Στην εντολή «για» όταν το βήμα είναι μηδέν τότε ο βρόχος εκτελείται.. φορές. Β) Χαρακτηρίστε με Σ (σωστό) ή Λ (λάθος) τις παρακάτω προτάσεις. 1) Εντός μιας δομής επανάληψης δεν μπορεί να περιέχεται δομή επιλογής. 2) Σε μια εντολή «για», πρέπει υποχρεωτικά να αναφέρεται η τιμή του βήματος. 3) Η εντολή «για» μπορεί να μην εκτελεστεί καμιά φορά. Γ) Υποθέτοντας ότι α=3 και β=8, δείξτε τι θα εμφανιστεί κατά την εκτέλεση του παρακάτω τμήματος αλγορίθμου. Πόσες φορές θα εκτελεστεί η επανάληψη; Διάβασε α, β Για χ από α μέχρι β με_βήμα 2 κ (χ + 1) div 2 λ ( α mod β) * κ Γράψε κ, λ 13
Τέλος_επανάληψης Γράψε κ, λ, χ, β Δ) Να συμπληρώσετε τα κενά στο παρακάτω τμήμα αλγορίθμου, ώστε να εμφανίζονται οι τιμές -1, 2, -3, 4, -5, 6, -7, 8. Για ι από μέχρι Αν.. τότε Αλλιώς Γράψε.. Γράψε Τέλος_αν Τέλος_επανάληψης Ε) Να γραφεί αλγόριθμος που θα διαβάζει τους 4 βαθμούς ενός μαθητή στα 4 μαθήματα κατεύθυνσης, καθώς και το όνομά του και θα υπολογίζει και θα τυπώνει τον μέσο όρο του, και το όνομά του. Η διαδικασία θα επαναλαμβάνεται για τους 30 μαθητές μιας τάξης. ΣΤ) Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τους βαθμούς 30 μαθητών ενός τμήματος και θα υπολογίζει και θα εμφανίζει πόσοι προάγονται και πόσοι απορρίπτονται. 14
Φύλλο Εργασίας 2 1. Μάθημα: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαια 2 ο & 8 ο : Δομές Επανάληψης Εισαγωγή στις δομές Επανάληψης 2. Τάξη: Γ Γενικού Λυκείου (Τεχνολογική Κατεύθυνση) 3. Εκπαιδευτικές ανάγκες: Οι μαθητές μπορούν μέχρι στιγμής να αντιμετωπίσουν απλά προβλήματα που περιέχουν επαναληπτικές δομές, και ειδικότερα προβλήματα τα οποία περιλαμβάνουν ένα γνωστό πλήθος επαναλήψεων. 4. Γενικός Διδακτικός στόχος: Η κατανόηση της έννοιας της επανάληψης στις περιπτώσεις κατά τις οποίες δεν είναι γνωστό εκ των προτέρων το πλήθος του αριθμού των επαναλήψεων 5. Χρονοπρογραμματισμός της διδασκαλίας ΔΙΑΡΚΕΙΑ: 2 διδακτικές ώρες (45 + 45 λεπτά) 6. Εποπτικά και διδακτικά μέσα: Πίνακας, ηλεκτρονικοί υπολογιστές, λογισμικό (Γλωσσομάθεια, Αλγοριθμική) φύλλα εργασίας και φύλλο αξιολόγησης 7. Διαδικασία και Πλαίσιο χρησιμοποίησης των Διδακτικών Τεχνικών / Προσεγγίσεων 3 η Διδακτική Ώρα Σύνδεση με προηγούμενες γνώσεις Ζητάμε από τους μαθητές με βάση τις γνώσεις που απέκτησαν από το προηγούμενο δίωρο (προηγούμενες δομές) να τους εκτελέσουν τους αλγόριθμους της δραστηριότητας 1. Στη συνέχεια οι μαθητές χωρισμένοι σε ομάδες των 2 ατόμων, δίνουν εισόδους σε ένα πρόγραμμα και παίρνουν τα αποτελέσματα, τα οποία και καταγράφουν, απαντώντας σε ερωτήσεις που τους οδηγούν να παρατηρούν τη συμπεριφορά του προγράμματος και να κάνουν υποθέσεις για τη λειτουργία του. (βλ. Δραστηριότητα 2) 15
Η διδακτική προσέγγιση συνεχίζεται με ένα απλό πρόβλημα και την υλοποίηση της λύσης του στο λογισμικό Διερμηνευτής της Γλώσσας όπως φαίνεται στο σχήμα 1. (βλ. Δραστηριότητα 3) Εκτελούμε το πρόγραμμα βήμα βήμα ώστε οι μαθητές να αντιληφθούν όσο γίνεται καλύτερα το δυναμικό χαρακτήρα της επανάληψης. Αφού γίνει η περιγραφή του μηχανισμού και επισημανθούν στις βασικές συνιστώσες της δομής (μεταβλητή ελέγχου, αρχικοποίηση της, συνθήκη, σώμα εντολών, ανανέωση της μεταβλητής ελέγχου βήμα) προχωράμε στην μετατροπή του προγράμματος σε διάγραμμα ροής Υποβάλλοντας κατάλληλες ερωτήσεις στους μαθητές μπορούμε να υπενθυμίζουμε το κριτήριο της περατότητας που είχε προσεγγιστεί θεωρητικά και να συζητήσουμε τώρα για την αναγκαιότητα του, τις περιπτώσεις που δεν ικανοποιείται και πως το εξασφαλίζουμε. Κατόπιν επαναλαμβάνουμε το ίδιο παράδειγμα και για την δομή επανάληψης Μέχρις_Ότου. Η πρώτη διδακτική ώρα ολοκληρώνεται με τους μαθητές να εκπονούν τις δραστηριότητες 4 και 5. 4 η Διδακτική Ώρα Στη συνέχεια θέτουμε νέο πρόβλημα στο οποίο πάλι δεν γνωρίζουμε τον ακριβή αριθμό των επαναλήψεων. (βλ. Δραστηριότητα 6). Πρόκειται για ένα πρόβλημα εύρεσης του μεγίστου από κάποιους αριθμούς Ζητάμε από τους μαθητές να κατασκευάσουν διάγραμμα ροής και εν συνεχεία το αντίστοιχο πρόγραμμα, το οποίο και τελικά παρουσιάζεται και εκτελείται στο σύνολο της τάξης. Στο στάδιο αυτό οι μαθητές έχουν αποκτήσει κάποια γνώση για την έννοια της επανάληψης με άγνωστο αριθμό επαναλήψεων και τώρα η επιδίωξή μας είναι να τους δώσουμε τη δυνατότητα να ελέγξουν την ευρύτητα και τα όρια εφαρμογής των ιδεών και των γνώσεων που χρησιμοποιήθηκαν στο συγκεκριμένο πρόβλημα. Το παράδειγμα ή τα παραδείγματα μας πρέπει στο τελικό στάδιο να δίνουν γενικές πληροφορίες για ένα σύνολο προβλημάτων και να μην περιορίζεται στο συγκεκριμένο πλαίσιο στο οποίο παρουσιάστηκαν. Με σκοπό λοιπόν την προώθηση της κριτικής γενίκευσης των γνώσεων που απέκτησαν, επιδιώκουμε την εξάσκηση τους στη χρήση και εφαρμογή των ιδεών τους σε μια ποικιλία προβλημάτων. Ακολουθεί μια σύνοψη από μαθητές και εκπαιδευτικό των συμπερασμάτων που προέκυψαν και των κανόνων που αφορούν τις δομές επανάληψης με άγνωστο αριθμό επαναλήψεων. 16
Δραστηριότητα 1: Να εκτελέσετε τους παρακάτω αλγορίθμους και να κατασκευάσετε τους αντίστοιχους πίνακες τιμών. Αλγόριθμος Αριθμοί_1 ΠΑ 0 ΠΠ 0 Για Ι Από 1 Μέχρι 10 Διάβασε Χ Αν Χ MOD 2 =0 Τότε ΠΑ ΠΑ+1 Αλλιώς ΠΠ ΠΠ+1 Τέλος_Αν Τέλος_Επανάληψης Εμφάνισε ΠΑ,ΠΠ Τέλος Αριθμοί_1 Αλγόριθμος Αριθμοί_2 ΠΑ 0 ΠΠ 0 Διάβασε Χ Όσο Χ>0 Επανάλαβε Αν Χ MOD 2 =0 Τότε ΠΑ ΠΑ+1 Αλλιώς ΠΠ ΠΠ+1 Τέλος_Αν Διάβασε Χ Τέλος_Επανάληψης Εμφάνισε ΠΑ,ΠΠ Τέλος Αριθμοί_2 Πίνακας Τιμών 17
Ερώτηση 1: Τι παρατηρείτε από την εκτέλεση των δύο αλγορίθμων;. Ερώτηση 2: Για ποιές τιμές της μεταβλητής Χ τερματίζεται η επαναληπτική διαδικασία στον δεύτερο αλγόριθμο; Ερώτηση 3: Τι θα συμβεί αν στον δεύτερο αλγόριθμο παραλείψουμε α) την εντολή Διάβασε Χ πριν από το Όσο και β) την εντολή Διάβασε Χ μέσα στο σώμα της επανάληψης; Δραστηριότητα 2: Να εκτελέσετε τον παρακάτω αλγόριθμο στην εφαρμογή του «Διερμηνευτή της Γλώσσας» Ερώτηση 4: Να περιγράψετε την λειτουργία του αλγορίθμου 18
Δραστηριότητα 3: Να ξαναγράψετε τον προηγούμενο αλγόριθμο χρησιμοποιώντας την δομή επανάληψη Μέχρις_Ότου. Δραστηριότητα 4: Να κατασκευάσετε τα διαγράμματα ροής των δυο παραπάνω αλγορίθμων. Μπορείτε να εντοπίσετε μερικές διαφορές. Δραστηριότητα 5: Να ξαναγράψετε τον προηγούμενο αλγόριθμο χρησιμοποιώντας την δομή επανάληψη Μέχρις_Ότου. Δραστηριότητα 6: Να κατασκευάσετε έναν αλγόριθμο ο οποίος θα διαβάζει τα ονόματα και τους βαθμούς των μαθητών ενός τμήματος. Η διαδικασία εισαγωγής των δεδομένων θα τερματίζεται όταν σαν όνομα θα εισαχθεί ο χαρακτήρας του κενού. Ο αλγόριθμος θα εμφανίζει τον μεγαλύτερο βαθμό που δόθηκε ( να θεωρήσετε ότι είναι μόνο ένας) καθώς και το όνομα του μαθητή με τον μεγαλύτερο βαθμό... 19
Δραστηριότητα 7: Να σχολιάσετε συνοπτικά την λειτουργία του αλγορίθμου που μόλις κατασκευάσατε... Τεστ για αξιολόγηση 1. Το τελεφερίκ της Πάρνηθας έχει 10 θέσεις και όριο βάρους 850 κιλά. Να γραφεί αλγόριθμος ο οποίος επαναληπτικά θα διαβάζει το βάρος του εισερχόμενου ατόμου και θα ελέγχει αν θα του επιτραπεί η είσοδος (οπότε δεν εισέρχεται κανείς άλλος). Ο αλγόριθμος θα εμφανίζει το συνολικό βάρος και τον αριθμό των επιβατών. 2. Να γράψετε τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγορίθμου. Αλγόριθμος Αριθμοί Α 1 Β 1 Ν 0 Μ 2 Όσο Β < 6 επανάλαβε Χ Α + Β Αν Χ mod 2 = 0 τότε Ν Ν+1 Αλλιώς Μ Μ+1 Τέλος_αν Α Β Β Χ Εμφάνισε Ν, Μ, Β Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί 20
Ανάθεση εργασιών για το σπίτι Α) Χαρακτηρίστε με Σ (σωστό) ή Λ (λάθος) τις παρακάτω προτάσεις. 1. Στην δομή «Μέχρις_ότου», υπάρχει περίπτωση η ομάδα εντολών του βρόχου να μην εκτελεστεί καμία φορά 2. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής επανάληψης "Για" 3. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής επανάληψης "Όσο" 4. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής επανάληψης "Μέχρις_ότου" 5. Η δομή "Μέχρις_ότου" τερματίζεται όταν η συνθήκη είναι αληθής 6. Εντός μιας δομής επανάληψης δεν μπορεί να περιέχεται δομή επιλογής 7. Στην δομή επανάληψης "Μέχρις_ότου" οι μεταβλητές που συμμετέχουν στην συνθήκη πρέπει να αρχικοποιούνται πριν το βρόχο 8. Στην δομή επανάληψης "Όσο" οι μεταβλητές που συμμετέχουν στην συνθήκη πρέπει να πάρουν τιμή πριν το βρόχο Β) 1.Να αναπτύξετε αλγόριθμο που θα προσομοιώνει το παιχνίδι «Μάντεψε τον αριθμό», στο οποίο, με δεδομένο έναν αριθμό-κωδικό, διαβάζονται επαναληπτικά αριθμοί μέχρι να εντοπιστεί ο κωδικός. Σε κάθε προσπάθεια πρέπει να εμφανίζεται αν ο αριθμός που διαβάστηκε είναι μεγαλύτερος ή μικρότερος από τον κωδικό. Στο τέλος, ο αλγόριθμος θα πρέπει να εμφανίζει το πλήθος των προσπαθειών μέχρι να βρεθεί ο κωδικός. 2.Να αναπτύξετε τον αλγόριθμο που εκτελεί η ταμειακή μηχανή του εμπορικού καταστήματος του κυρίου Αρβίλογλου: Αρχικά διαβάζει το χρηματικό ποσό που διαθέτει ο πελάτης και στη συνέχεια, επαναληπτικά, διαβάζει την τιμή των προϊόντων που περιέχονται στην παραγγελία. Η επανάληψη σταματάει όταν ξεπεραστεί το διαθέσιμο από τον πελάτη χρηματικό ποσό. Ο αλγόριθμος θα πρέπει να εκτυπώνει τα χρήματα που περίσσεψαν στον πελάτη και το πλήθος των προϊόντων που αγόρασε 3.Για κάθε μαθητή δίνονται τα στοιχεία: ονοματεπώνυμο, προφορικός και γραπτός βαθμός ενός μαθήματος Να γράψετε αλγόριθμο, ο οποίος θα εκτελεί τις ακόλουθες λειτουργίες: α. Διαβάζει 21
τα στοιχεία πολλών μαθητών και σταματά όταν δοθεί ως ονοματεπώνυμο το κενό. β. Ελέγχει αν ο προφορικός και ο γραπτός βαθμός είναι από 0 μέχρι και 20. γ. Υπολογίζει τον τελικό βαθμό του μαθήματος, ο οποίος είναι το άθροισμα του 30% του προφορικού βαθμού και του 70% του γραπτού βαθμού. Επίσης, τυπώνει το ονοματεπώνυμο του μαθητή και τον τελικό βαθμό του μαθήματος. δ. Υπολογίζει και τυπώνει το ποσοστό των μαθητών που έχουν βαθμό μεγαλύτερο του 18. 22
Φύλλο Εργασίας 3 1. Μάθημα: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαια 2 ο & 8 ο : Δομές Επανάληψης Μετατροπές Λογικά διαγράμματα 2. Τάξη: Γ Γενικού Λυκείου (Τεχνολογική Κατεύθυνση) 3. Εκπαιδευτικές ανάγκες: Οι μαθητές μπορούν μέχρι στιγμής να αντιμετωπίσουν προβλήματα που περιέχουν επαναληπτικές δομές, και ειδικότερα προβλήματα τα οποία περιλαμβάνουν τόσο ένα γνωστό πλήθος επαναλήψεων όσο και έναν άγνωστό αριθμό επαναλήψεων. Γενικός Διδακτικός στόχος: Σκοπός της δραστηριότητας είναι οι μαθητές να μάθουν να μετατρέπουν μια δομή επανάληψης σε άλλη όπου αυτό είναι εφικτό. Ταυτόχρονα θα πρέπει να μπορούν να μετατρέπουν ένα διάγραμμα ροής σε ψευδοκώδικα και το αντίστροφο. Κατά τη μετατροπή των εντολών της δομής επανάληψης οι μαθητές συναντούν αρκετές δυσκολίες. Οι περισσότερες ανάγονται στη συνθήκη τερματισμού των εντολών. Οι μαθητές δυσκολεύονται να αντιληφθούν πότε τερματίζει ένας βρόγχος. Ειδικότερα, τα συνηθέστερα λάθη εντοπίζονται στον αρχικό έλεγχο της συνθήκης ΟΣΟ και στον έλεγχο που γίνεται στο τέλος στην εντολή ΜΕΧΡΙΣ_ΟΤΟΥ, διασφαλίζοντας τουλάχιστον μία εκτέλεση του μπλοκ εντολών στη δεύτερη περίπτωση. Ιδιαίτερες δυσκολίες αντιμετωπίζονται στη μετατροπή της ΟΣΟ και της ΜΕΧΡΙΣ_ΟΤΟΥ στην εντολή ΓΙΑ ορίζοντας λανθασμένη συνθήκη τερματισμού. Οι δυσκολίες γίνονται πολύ πιο έντονες όταν γίνεται εμφωλευμένη χρήση εντολών της δομής επανάληψης και ζητείται η μετατροπή τους. 4. Χρονοπρογραμματισμός της διδασκαλίας ΔΙΑΡΚΕΙΑ: 2 διδακτικές ώρες (45 + 45 λεπτά) 5. Εποπτικά και διδακτικά μέσα: Πίνακας, ηλεκτρονικοί υπολογιστές, λογισμικό (Γλωσσομάθεια, Αλγοριθμική) φύλλα εργασίας και φύλλο αξιολόγησης 6. Διαδικασία και Πλαίσιο χρησιμοποίησης των Διδακτικών Τεχνικών / Προσεγγίσεων Κατά τη μετατροπή των εντολών της δομής επανάληψης οι μαθητές συναντούν αρκετές 23
δυσκολίες. Οι περισσότερες ανάγονται στη συνθήκη τερματισμού των εντολών. Οι μαθητές δυσκολεύονται να αντιληφθούν πότε τερματίζει ένας βρόγχος. Ειδικότερα, τα συνηθέστερα λάθη εντοπίζονται στον αρχικό έλεγχο της συνθήκης ΟΣΟ και στον έλεγχο που γίνεται στο τέλος στην εντολή ΜΕΧΡΙΣ_ΟΤΟΥ, διασφαλίζοντας τουλάχιστον μία εκτέλεση του μπλοκ εντολών στη δεύτερη περίπτωση. Ιδιαίτερες δυσκολίες αντιμετωπίζονται στη μετατροπή της ΟΣΟ και της ΜΕΧΡΙΣ_ΟΤΟΥ στην εντολή ΓΙΑ ορίζοντας λανθασμένη συνθήκη τερματισμού. Οι δυσκολίες γίνονται πολύ πιο έντονες όταν γίνεται εμφωλευμένη χρήση εντολών της δομής επανάληψης και ζητείται η μετατροπή τους. Το σενάριο θα υλοποιηθεί στο εργαστήριο Πληροφορικής κάνοντας χρήση των λογισμικών «Γλώσσα» ή «Δημιουργός Διαγραμμάτων Ροής». Το περιβάλλον «Γλώσσα» ενδείκνυται καθώς έχει απλή διεπιφάνεια χρήστη και απλό συντάκτη που διευκολύνει τη συγγραφή κώδικα. Επιτρέπει τη βηματική εκτέλεση προγραμμάτων και αλγορίθμων και επισημαίνει τα λάθη που εμφανίζονται με περιγραφικό και κατανοητό τρόπο. Μπορεί να δράσει συμπληρωματικά με το μάθημα και να υποβοηθήσει τη διεξαγωγή του σεναρίου. 4 η Διδακτική Ώρα Δραστηριότητα 1 Μετατροπή από τη Δομή Επανάληψης ΟΣΟ στη ΜΕΧΡΙΣ_ΟΤΟΥ και τη ΓΙΑ (όταν είναι εφικτό) Δίνεται ο αλγόριθμος: 1.1.Να περιγράψετε λεκτικά τη λειτουργία του αλγόριθμου 1.2.Να γίνει το διάγραμμα ροής του αλγόριθμου 1.3.Να μετατρέψετε τη δομή επανάληψης ΟΣΟ στην Μέχρις_ΟΤΟΥ 1.4.Να μετατρέψετε τη δομή επανάληψης ΟΣΟ στη ΓΙΑ (αν είναι εφικτό) Συγκρίνετε τις λύσεις σας με τις προτεινόμενες απαντήσεις, εντοπίστε τις διαφορές με τις δικές 24
σας απαντήσεις και αξιολογήστε τα λάθη σας. Δραστηριότητα 2 Μετατροπή από τη Δομή Επανάληψης ΓΙΑ στην ΟΣΟ και τη ΜΕΧΡΙΣ_ΟΤΟΥ Δίνεται ο αλγόριθμος: 2.1 Να περιγράψετε τη λειτουργία του αλγόριθμου 2.2.Να γίνει το διάγραμμα ροής του αλγορίθμου 2.3.Να μετατρέψετε τη δομή επανάληψης ΓΙΑ στην ΟΣΟ 2.4.Να μετατρέψετε τη δομή επανάληψης ΓΙΑ στην ΜΕΧΡΙΣ_ΟΤΟΥ (αν είναι εφικτό) Συγκρίνετε τις λύσεις σας με τις προτεινόμενες απαντήσεις, εντοπίστε τις διαφορές με τις δικές σας απαντήσεις και αξιολογήστε τα λάθη σας. Δραστηριότητα 3 Μετατροπή από τη Δομή Επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ στην ΟΣΟ και τη ΓΙΑ Δίνεται ο αλγόριθμος: 25
3.1.Να περιγράψετε λεκτικά τη λειτουργία του αλγόριθμου 3.2.Να γίνει το διάγραμμα ροής του αλγορίθμου 3.3.Να μετατρέψετε τη δομή επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ στην ΟΣΟ 3.4.Να μετατρέψετε τη δομή επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ στην ΓΙΑ Συγκρίνετε τις λύσεις σας με τις προτεινόμενες απαντήσεις, εντοπίστε τις διαφορές με τις δικές σας απαντήσεις και αξιολογήστε τα λάθη σας. Δραστηριότητα 4 A. Να διαπιστωθεί ποια από τα παρακάτω τμήματα αλγορίθμων είναι ισοδύναμα: 1. 2. 3. Χ 1 Χ 2 Χ 2 Ψ 3 Ψ 11 Ψ 11 Όσο Ψ > 0 επανάλαβε Όσο Ψ > 8 επανάλαβε Όσο Ψ > 4 επανάλαβε Ψ Ψ 1 Ψ Ψ 1 Ψ Ψ 1 Χ 2 + Χ Χ 2 + Χ Χ 3 + Χ Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης Γράψε Χ Γράψε Χ Γράψε Χ 4. 5. 6. Χ 2 Χ 3 Χ 2 Ψ 2 Ψ 6 Ψ -3 Όσο Ψ >= 0 επανάλαβε Όσο Ψ > 0 επανάλαβε Όσο Ψ<=-1 επανάλαβε Ψ Ψ 1 Ψ Ψ 2 Ψ Ψ + 1 Χ 2 + Χ Χ 1 + Χ Χ 2 + Χ Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης Γράψε Χ Γράψε Χ Γράψε Χ 26
Β. Ποια από τα παρακάτω τμήματα αλγορίθμων δίνουν το ίδιο αποτέλεσμα; 1. 2. 3. Χ 2 Χ 2 Χ 2 Ψ -3 Για ψ από 3 μέχρι 1 Ψ -3 Όσο Ψ <= 0 επανάλαβε Χ Ψ + Χ Όσο Ψ <=0 επανάλαβε Ψ Ψ + 1 Τέλος_επανάληψης Ψ Ψ + 1 Χ Ψ + Χ Γράψε Χ Χ Ψ + Χ Τέλος_επανάληψης Τέλος_επανάληψης Γράψε Χ Γράψε Χ 4. 5. 6. Χ 2 Χ 2 Χ 2 Ψ -3 Για ψ από 3 μέχρι 0 Ψ -3 Όσο Ψ <= 0 επανάλαβε Χ Ψ + Χ Όσο Ψ<= 0 επανάλαβε Ψ Ψ + 1 Τέλος_επανάληψης Ψ Ψ + 1 Χ Ψ + Χ + 1 Γράψε Χ Χ Ψ + Χ 1 Τέλος_επανάληψης Τέλος_επανάληψης Γράψε Χ Γράψε Χ 6 η Διδακτική Ώρα Δραστηριότητα 5 Δίνεται το παρακάτω διάγραμμα ροής 27
1. Γράψτε το πρόγραμμα που αντιστοιχεί στο παραπάνω λογικό διάγραμμα. 2. Κάντε τον πίνακα τιμών και την οθόνη που εμφανίζεται κατά την εκτέλεση του προγράμματος. 3. Περιγράψτε τι κάνει το πρόγραμμα. Δραστηριότητα 6 Δίνεται το παρακάτω διάγραμμα ροής 1. Να γραφτεί το αντίστοιχο πρόγραμμα. 2. Να δοθεί ο πίνακας τιμών και η οθόνη που εμφανίζεται κατά την εκτέλεση του παραπάνω προγράμματος, αν σαν αρχικές τιμές δοθούν Α=15 και Β=20. Δραστηριότητα 6 Να σχεδιαστεί το αντίστοιχο διάγραμμα ροής για τον παρακάτω αλγόριθμο. Αλγόριθμος Θέμα διάβασε x διάβασε y Αν x > 0 τότε Αρχή_επανάληψης εμφάνισε y διάβασε y 28
μέχρις_ότου y <= 0 αλλιώς αρχή_επανάληψης εμφάνισε y διάβασε y μέχρις_ότου y > 0 τέλος_αν Τέλος Θέμα Τεστ για αξιολόγηση Τα παρακάτω προβλήματα να υλοποιηθούν αν είναι εφικτό με όλες τις δομές επανάληψης. Αν δεν είναι εφικτό αιτιολογήστε την απάντηση σας. Α. Να υλοποιήσετε αλγόριθμο που θα εμφανίζει τους περιττούς αριθμούς από το 1 έως το 1000. Β. Να γίνει αλγόριθμος που θα υπολογίζει το πλήθος των όρων που μπορούν να προστεθούν στην παρακάτω παράσταση έτσι ώστε το άθροισμα να μην ξεπεράσει το 2000. S = 1 + 6 + 16 + 31 + 51 + 76 +... Γ. Ένας κωδικός πρόσβασης αποτελείται από 3 ψηφία ΧΥΖ, όπου γνωρίζουμε ότι το Χ είναι περιττός αριθμός και το Ζ άρτιος. Να γίνει αλγόριθμος που να μας εμφανίζει όλους τους πιθανούς κωδικούς. Δ. Να γίνει αλγόριθμος που θα διαβάζει τους βαθμούς ενός μαθητή σε κάθε μάθημα και θα υπολογίζει σε πόσα μαθήματα έχει πετύχει άριστα (>18). Ο αλγόριθμος να τερματίζεται όταν δοθεί ως είσοδος ένας αρνητικός αριθμός ή ένας αριθμός μεγαλύτερος του 20. (Να γίνει έλεγχος ορθότητας δεδομένων). 29
Ανάθεση εργασιών για το σπίτι 1 Να γράψετε ισοδύναμα τμήματα αλγορίθμων χρησιμοποιώντας τη δομή Όσο επανάλαβε: Α) ιάβασε Χ Αρχή_επανάληψης Χ Χ + 1 Μέχρις_ότου Χ = -14 Β) Χ -18 Αρχή_επανάληψης Χ Χ + 1 Μέχρις_ότου Χ = -2 Γ) Χ 4 Για κ από 10 μέχρι 22 με_βήμα 4 Χ Χ + 2 Τέλος_επανάληψης ) Χ 3 Για κ από 5 μέχρι 10 με_βήμα 1 Χ Χ + 2 Τέλος_επανάληψης 30
2. Να γράψετε ισοδύναμα τμήματα αλγορίθμων χρησιμοποιώντας τη δομή Για από μέχρι: Α) ιάβασε Χ Αρχή_επανάληψης Κ Κ * Χ Χ Χ + 1 Μέχρις_ότου Χ < 3 Β) Χ 9 Αρχή_επανάληψης Κ Κ * Χ Χ Χ + 1 Μέχρις_ότου Χ > 20 Γ) Χ -15 Ψ 13 Όσο Ψ <= 10 επανάλαβε Κ Χ * 4 4 Ψ Ψ + 8 Λ Κ ( Ψ + 1) /8 Τέλος_επανάληψης ) Χ 6 Ψ 8 Όσο Ψ <> 0 επανάλαβε Χ Χ + 1 Α 2 * Χ -1 Ψ Α * Ψ+ 4 Τέλος_επανάληψης 3 Χαρακτηρίστε με Σ (σωστό) ή Λ (λάθος) τις παρακάτω προτάσεις. 1. Kάθε βρόχος "Για" μπορεί να μετατραπεί σε "Όσο" 2. Κάθε βρόχος "Όσο" μπορεί να μετατραπεί σε "Για" 3. Κάθε βρόχος "Όσο" μπορεί να μετατραπεί σε "Μέχρις_ότου" 4. Με χρήση της εντολής Όσο...επανάλαβε επιτυγχάνεται η επανάληψη μίας διαδικασίας με βάση κάποια συνθήκη 5. Με την εντολή "Αρχή_επανάληψης Μέχρις_ότου " υπάρχει ένας βρόχος που εκτελείται τουλάχιστον μία φορά 6. Η εντολή "Για i από.. μέχρι.. βήμα.." πρέπει να περιλαμβάνει για βήμα πάντοτε ένα θετικό αριθμό 7. Στη δομή επανάληψης Για το βήμα δεν μπορεί να είναι μηδέν 31
Βιβλιογραφία 1. Αλέξη, Α., Παπανικολάου, Κ.Α., Γρηγοριάδου, Μ. Πρόταση Διδασκαλίας που Συνδυάζει Συνθετικές Εργασίες και Μελέτη Περιπτώσεων Εφαρμογή στη Σχεδίαση Προσαρμοστικών Εκπαιδευτικών Συστημάτων, 3ο Πανελλήνιο Συνέδριο με τίτλο Διδακτική της Πληροφορικής, Κόρινθος, 7-9 Οκτωβρίου 2005. 2. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, ΥΠΕΠΘ, Παιδαγωγικό Ινστιτούτο, Αθήνα. 3. Βακάλη Α., Γιαννόπουλος Η., Ιωαννίδης Χ., Κοίλιας Χ., Μάλαμας Κ., Μανωλόπουλος Ι. & Πολίτης Π. (1999). 4. Γεωργίου, Β. & Τζιμογιάννης, Α. (1998). Η Διδασκαλία τον Προγραμματισμού Η/Υ στη Δευτεροβάθμια Εκπαίδευση ως Διαδικασία Ανάπτυξης Πνευματικών Δεξιοτήτων. Μια Πρόταση Βασισμένη στη Δημιουργία Βάσης Ασκήσεων Γνωστής Δυσκολίας. Στο Τζιμογιάννης Α. (επιμ.), Πρακτικά εργασιών 1ης Πανηπειρωτικής Ημερίδας «Πληροφορική και Εκπαίδευση», Σύλλογος Καθηγητών Πληροφορικής Ηπείρου, σελ. 125-133, Ιωάννινα. 5. Γόγουλου, Α. (2002). Μαθησιακές δυσκολίες σε βασικές προγραμματιστικές έννοιες και διδακτικές προσεγγίσεις σε εισαγωγικά μαθήματα προγραμματισμού, Διπλωματική εργασία που εκπονήθηκε στα πλαίσια ολοκλήρωσης του Μεταπτυχιακού Προγράμματος Σπουδών, Τμήμα Πληροφορικής & Τηλεπικοινωνιών, Πανεπιστήμιο Αθηνών. 6. Κόμης, Β. (2001). Διδακτική της Πληροφορικής, Τόμος Α, Πάτρα: Ομάδα εκτέλεσης έργου ΕΑΠ/1997-2001, σελ. 121-123. 7. Κόμης B., Διδακτική της Πληροφορικής, Εκδόσεις Ελληνικό Ανοικτό Πανεπιστήμιο, Πάτρα 2001. 8. Πολίτης Π., Κόμης B., Η Πληροφορική ως βασικό μάθημα της Γ' τάξης Τεχνολογικής Κατεύθυνσης του Ενιαίου Λυκείου: αλγοριθμική έναντι προγραμματιστικής προσέγγισης, Βάση, Τεύχος 2. 9. Rogalski, J. & Samurçay, R. (1990) Acquisition of programming knowledge and skills. In J-M. Hoc, T.R.G. Green, D.J. Gilmore and R. Samurçay (Eds.) Psychology of Programming, pp 157-174. London: Academic Press. 10. Τζιμογιάννης, A., & Κόμης,. (1999). Επίλυση προβλημάτων σε προγραμματιστικό περιβάλλον: η οικοδόμηση της δομής ελέγχου από τους μαθητές του Ενιαίου υκείου, στο Α. Κόλλιας, Α. Μαργετουσάκη και Π. Μιχαηλίδης (επιμ.). Πρακτικά του ου συνεδρίου «Διδακτική των αθηματικών Πληροφορική στην Εκπαίδευση», Ρέθυμνο. 11. ΥΠΕΠΘ, Παιδαγωγικό Ινστιτούτο (1998), Η Πληροφορική στο σχολείο, Αθήνα. 32