Εισαγωγή στην επανάληψη

Σχετικά έγγραφα
Εισαγωγή στην επανάληψη

Κεφάλαιο 10: Η επανάληψη

Η εντολή «επανέλαβε Χ»

Σχετική κίνηση αντικειμένων

αντίστοιχο γεγονός. Όταν όντως το κουμπί

Τιμή Τιμή. σκορ. ζωές

Ορισμός του χρώματος όρισε το χρώμα πένας σε [06_π03.sb] άλλαξε χρώμα πένας κατά. άλλαξε χρώμα πένας κατά άλλαξε χρώμα πένας κατά [06_π04.

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

Προγραμματισμός. Το περιβάλλον του scratch

Εφαρμογή δημιουργίας σεναρίων Sctatch

Κεφάλαιο 6: Ζωγραφική

Ας κάνουμε μια γάτα να περπατάει στο Scratch 2.0

Αγώνες αυτοκινήτου Παιχνίδι για 2 παίκτες

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

Scratch 2.0 Προκλήσεις

Ποιές εντολές του Scratch πρέπει να ξέρω;

1ο Φύλλο Εργασίας. της παλέτας Ήχος. Πώς μπορούμε να εισάγουμε και να αναπαράγουμε έναν ήχο;

Παλέτα Όψεις. Πως κάνουμε ένα αντικείμενο να μιλάει ή να σκέφτεται;

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Εντολές κίνησης και στροφής στο προγραμματιστικό περιβάλλον Scratch. ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

18.ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1 Δραστηριότητα 1

Αντικείμενα, συμπεριφορές, γεγονότα

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Παραδείγματα μεταβλητών

Ο Μπούκλας παίζει και μουσική όταν στην πράσινη σημαία γί νει κλικ. αίξε ήχο _ χρι τέλους περίμενε για _ χρόνους. περίμενε για δευτερόλεπτα.

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2. Στη δραστηριότητα αυτή θα μάθεις να δημιουργείς τις δικές σου εντολές.

Καροτοκυνηγός. Αντικείμενα

ήγαινε στο x : y : κατέβασε πένα σήκωσε πένα

Η Δραστηριότητα 1 του Φύλλου Εργασίας 1 έχει ως στόχο την εξοικείωση με το περιβάλλον του scratch και πιο συγκεκριμένα με τις μορφές και τα σκηνικά.

Slalom Race Computer Game on Scratch

Κεφάλαιο 9: Αλληλεπίδραση

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

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

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH.

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

αντιστοιχίζεται με την εντολή περίμενε 0.5 (120/60=2 χτύποι ανά δευτερόλεπτο). Στην

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

Ενότητα 2: Εντολές Επανάληψης

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

α) Πώς παίρνουμε αποφάσεις στην καθημερινή μας ζωή; Συμπληρώσετε τον παρακάτω πίνακα: τότε

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Κεφάλαιο 1.Εντολές κίνησης

Επεξήγηση των εντολών που θα ΕΝΤΟΛΕΣ χρησιμοποιηθούν παρακάτω στα παραδείγματα < ενδυμασία1>

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους.

Αναπαραγωγή με αρχεία ήχου

3 ο εργαστήριο Scratch for NinjaCoders

Φτιάξε ένα απλό παιχνίδι

Πώς το λένε Computer game στο Scratch

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Breakdance Computer Game σε Scratch.

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Lego WeDo - Αεροπλάνο

Διαγραφή και Εισαγωγή χαρακτήρα

Δημιουργώντας τα δικά μας αντικείμενα

Εξοικείωση με το NXT-G

Φύλλο Εργασίας 6 Η επικοινωνία αντικειμένων στο Scratch - Συναυλία

Scratch Δημοτικό 2 : Εισαγωγή στις βασικές εντολές και λειτουργίες της Scratch

Tank Rescue Computer Game σε Scratch

Κεφάλαιο 5: Κίνηση. 5.1 Σχετική κίνηση αντικειμένων

Στη συνέχεια χρησιμοποιούμε τις εντολές πες... και αλλαγή σε ενδυμασία... από την παλέτα

Μαθήματα Scratch -Δραστηριότητα 1 Παλέτα Κίνηση

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

Ο Προγραμματισμός στην Πράξη

2 ο Εργαστήριο Αλληλεπίδραση και Animation

Ας μετονομάσουμε τη γάτα που εμφανίζεται μόλις ανοίγουμε το Scratch. Επιλέγουμε το εικονίδιο Μορφή1 που βρίσκεται στη λίστα αντικειμένων.

Φύλλο εργασίας 3 Προγραμματίζω το ρομπότ μου

Δομή Επανάληψης. 3. Επανέλαβε την κίνηση του αυτοκινήτου ώσπου αυτό να ακουμπήσει στο κόκκινο χρώμα.

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΔΟΜΕΣ. Γενική μορφή της επανάληψης επανάλαβε φορές [... ενέργειες...]

Τι θα απαντούσατε αλήθεια στην ίδια ερώτηση για την περίπτωση της επόμενης εικόνας;

ΣΗΜΕΙΩΣΕΙΣ. στη γλώσσα προγραμματισμού. Γκέτσιος Βασίλειος

Οδηγός ξεκινήματος. έκδοση 2.0.

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Παλέτα Κίνηση. Για να μετακινήσουμε ένα αντικείμενο χρησιμοποιούμε την εντολή ΚΙΝΗΣΟΥ

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

Προγραμματισμός με Logo στο MicroWorlds Pro

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

Ε Ι Σ Α Γ Ω Γ Ι Κ Ε Σ Σ Η Μ Ε Ι Ω Σ Ε Ι Σ για το scratch 2

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

ΠΑΡΑΡΤΗΜΑ IV. ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ IV Ασκήσεις για το Robolab

Το διαστημόπλοιο. Γνωστικό Αντικείμενο: Φυσική (Δυναμική σε μία διάσταση - Δυναμική στο επίπεδο) Τάξη: Α Λυκείου

Βασικές Εντολές MicroWorlds Pro.

9. Συστολικές Συστοιχίες Επεξεργαστών

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Οδηγός για Αρχάριους. έκδοση 1.4.

επανάληψης» υπάρχουν;

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Ταυτότητα εκπαιδευτικού σεναρίου

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Μάθημα 4ο. Προγράμματα

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Transcript:

Εισαγωγή στην επανάληψη Στο κεφάλαιο αυτό ήρθε η ώρα να μελετήσουμε την επανάληψη στον προγραμματισμό λίγο πιο διεξοδικά! Έχετε ήδη χρησιμοποιήσει, χωρίς πολλές επεξηγήσεις, σε προηγούμενα κεφάλαια τις εντολές για πάντα και επανέλαβε Χ.. Πρέπει πλέον να κατανοήσετε τη γενικότερη χρησιμότητα της επανάληψης στον προγραμματισμό ώστε να είστε σε θέση να την εφαρμόζεται σε σύνθετα παραδείγματα. Τι εννοούμε όταν λέμε επανάληψη γενικά; Ας δούμε ορισμένα παραδείγματα από την καθημερινότητά μας. Σκεφτείτε το περιεχόμενο της επόμενης εικόνας: Η αδιάκοπη εναλλαγή των τεσσάρων εποχών αποτελεί ένα ξεκάθαρο παράδειγμα επανάληψης στην ζωή μας! Η σειρά Άνοιξη Καλοκαίρι Φθινόπωρο Χειμώνας επαναλαμβάνεται...για πάντα! Επίσης, χαρακτηριστικό παράδειγμα επανάληψης είναι ένας αγώνας αυτοκινήτων. Σε αυτή την περίπτωση, η επανάληψη πρέπει κάποια στιγμή να σταματήσει. Οι οδηγοί δεν μπορούν να τρέχουν για πάντα, κυνηγώντας ο ένας τον άλλον! Έπειτα από ένα συγκεκριμένο αριθμό γύρων, ο αγώνας φτάνει σε ένα τέλος. Οι οδηγοί ακολουθούν πιστά τη διαδρομή τους και να την επαναλαμβάνουν τόσες φορές όσες έχει οριστεί από την αρχή του αγώνα. Όπως ξέρουμε από το μάθημα της Βιολογίας, η καρδιά μας είναι ο μοναδικός μυς του ανθρώπινου σώματος ο οποίος δεν χρειάζεται να πάρει εντολή από τον εγκέφαλο για να λειτουργήσει. Η καρδιά λειτουργεί ασταμάτητα σε μια συνεχή επανάληψη. Τέλος, όπως βλέπουμε στο ρολόι μας, ο δείκτης των δευτερολέπτων του ρολογιού μας πραγματοποιεί 60 κινήσεις κάθε λεπτό, ενώ ο δείκτης των λεπτών πραγματοποιεί 60 κινήσεις κάθε μια ώρα. Υπάρχουν, άραγε, περιπτώσεις που εμφανίζεται κάποιο είδος επανάληψης στον προγραμματισμό; Μα, φυσικά!! Σκεφτείτε ένα παιχνίδι στρατηγικής όπου χρειάζεται να αναπαραστήσουμε στρατιώτες σε κάποιο πεδίο μάχης. Είναι δυνατόν ο σχεδιαστής του παιχνιδιού να δημιουργεί έναν-έναν όλους αυτούς τους στρατιώτες; Προφανώς όχι. Σχεδιάζει ένα μοντέλο του στρατιώτη, το οποίο επαναλαμβάνει αρκετές φορές στην οθόνη μας. Χωρίς την χρήση της επανάληψης, ο προγραμματιστής θα έπρεπε να γράψει πολλές εκατοντάδες φορές την ίδια εντολή, για να πετύχει το αποτέλεσμα της επόμενης εικόνας! Θυμηθείτε ότι όταν θέλαμε να αναπαράγουμε μια νότα για 10 φορές, έπρεπε να γράψουμε 10 φορές την αντίστοιχη εντολή ενώ όταν θέλαμε να εμφανίσουμε το χαρακτήρα μας να περπατάει επαναλάβαμε πολλές φορές τον ίδιο συνδυασμό εντολών (κινήσου βήματα και επόμενη ενδυμασία). Όταν προγραμματίζουμε τη συμπεριφορά ενός αντικειμένου, πολλές φορές θέλουμε να το κάνουμε να επαναλαμβάνει κάποια στοιχεία της συμπεριφοράς του για ορισμένο ή όχι αριθμό φορών. Από τα προηγούμενα παραδείγματα προκύπτουν και τα δύο είδη επανάληψης που θα εξετάσουμε σε αυτό το κεφάλαιο: την επανάληψη που διαρκεί για όλη τη διάρκεια εκτέλεσης του έργου και την επανάληψη που συμβαίνει για συγκεκριμένο αριθμό φορών. Όλες οι γλώσσες προγραμματισμού δίνουν εντολές που επιτρέπουν την επανάληψη συγκεκριμένων τμημάτων εντολών και σημειώστε ότι θα συζητήσουμε για πιο σύνθετες μορφές επανάληψης στο κεφάλαιο 12. 1

Θέλω να κάνω κάτι για πάντα! Η δυνατότητα να επαναλαμβάνεται διαρκώς μια ακολουθία εντολών π.χ. η αναπαραγωγή ενός ήχου, μπορεί να υλοποιηθεί στο Scratch με την χρήση της εντολής για πάντα. Όπως φαίνεται και από την απεικόνιση της εντολής, έχει δυο νέα χαρακτηριστικά που δεν έχουμε συναντήσει σε άλλες εντολές μέχρι τώρα: Μπορεί να περιέχει άλλες εντολές μέσα στις «δαγκάνες» της. Δηλαδή σέρνουμε εντολές από τις παλέτες εντολών ανάμεσα στις δα- γκάνες της και δημιουργούμε μικρο-σενάρια που περιέχονται μέσα στην εντολή για πάντα. Αυτές είναι οι εντολές που θα εκτελούνται διαρκώς και με τη συγκεκριμένη σειρά με την οποία τις τοποθετούμε. Στο κάτω μέρος της, η εντολή δεν έχει την εξοχή εκείνη που θα μας επέτρεπε να προσθέσουμε άλλη εντολή μετά από αυτήν. Δηλαδή η εντολή για πάντα μπορεί να είναι μόνο η τελευταία σε ένα σενάριο. Αυτό είναι πολύ λογικό καθώς από τη στιγμή που οι εντολές που περιέχει εκτελούνται για πάντα, πότε θα εκτελεστούν αυτές που την ακολουθούν; Για να κατανοήσετε καλύτερα τη λειτουργία της εντολή για πάντα, δεν έχετε παρά να επαναλάβατε τις εντολές που περιέχει, όπως φαίνεται στο παρακάτω σχήμα:... Και πότε σταμάτα το συγκεκριμένο έργο, αφού οι εντολές τρέχουν για πάντα; Παρατηρήστε ότι όταν πατήσουμε την πράσινη σημαία, αυτή παραμένει διαρκώς φωτισμένη, γεγονός που σημαίνει ότι το έργο μας συνεχίζει να εκτελείται. Αυτό επίσης μπορεί να βεβαιωθεί από το άσπρο περίγραμμα στο σενάριό μας που μας δείχνει ότι το συγκεκριμένο σενάριο συνεχίζει να εκτελείται. Μόνο όταν πατήσουμε το κόκκινο κουμπί που βρίσκεται δίπλα στην πράσινη σημαία θα σταματήσει να εκτελείτε το έργο μας. Ρολόι! Το επόμενο παράδειγμα μας δείχνει πως μπορούμε να χρησιμοποιήσουμε την εντολή επανέλαβε Χ, ώστε να προσομοιώσουμε την κίνηση των δεικτών του ρολογιού για μία ολόκληρη ημέρα! 2

Χρειαζόμαστε 3 αντικείμενα και ένα υπόβαθρο. Τα αντικείμενα αντιστοιχίζονται στους 3 διαφορετικούς δείκτες του ρολογιού και το υπόβαθρο στο καντράν του. Για την επίλυση του προβλήματός μας θα βασιστούμε στον υπολογισμό του αριθμού των φορών που ο κάθε δείκτης του ρολογιού θα στρέφεται σε επίπεδο λεπτού, ώρας και 24ωρου. Για το δείκτη των δευτερολέπτων θέλουμε απλά να πραγματοποιεί μια πλήρη περιστροφή γύρω από τον εαυτό του σε 60 δευτερόλεπτα. Αυτό σημαίνει ότι αν θέλουμε να αλλάζει θέση κάθε ένα δευτερόλεπτο, τότε θα πρέπει να γυρίζει κατά 360 μοίρες/60 δευτερόλεπτα =6 μοίρες κάθε φορά. Με τον τρόπο αυτό, στο ένα λεπτό θα βρίσκεται στη θέση από την οποία ξεκίνησε. Για το δείκτη των λεπτών, επιζητούμε το ίδιο αποτέλεσμα με τη διαφορά ότι ο δείκτης θα πρέπει να βρεθεί ξανά στην αρχική του θέση μετά από 60 λεπτά. Αν θέλουμε να αλλάζει θέση κάθε λεπτό, τότε θα πρέπει να περιστρέφεται κατά 6 μοίρες κάθε 60 δευτερόλεπτα. Τέλος, για το δείκτη των ωρών, θέλουμε να μετακινείται 1 φορά κάθε ώρα και σε 12 μετακινήσεις να έχει περιστραφεί γύρω από τον εαυτό του. Άρα θα μετακινείται κάθε 60λεπτά=60*60 = 3600 δευτερόλεπτα, ενώ η περιστροφή του θα πρέπει να είναι 360μοίρες/12 φορές=15 μοίρες κάθε φορά. Αν θέλουμε να προσομοιώσουμε το ρολόι μας μόνο για μια ημέρα, τότε χρειαζόμαστε: 60*60*24=86400 κινήσεις του δείκτη των δευτερολέπτων 60*24=1440 κινήσεις του δείκτη των λεπτών Και 24 κινήσεις του δείκτη των ωρών. Το σενάριο για τα αντικείμενο «δείκτης δευτερολέπτων», για το αντικείμενο «δείκτης λεπτών», Για το αντικείμενο «δείκτης ωρών» 3

Περίληψη Στο κεφάλαιο αυτό, συζητήσαμε για την αξία της επανάληψης στον προγραμματισμό και μελετήσαμε δυο μορφές της: την επανάληψη που διαρκεί για πάντα (με την εντολή για πάντα) και την επανάληψη που πραγματοποιείται για συγκεκριμένο αριθμό φορών (με την εντολή επανέλαβε ). Και στις δυο περιπτώσεις ένα μικρο-σενάριο επαναλαμβάνεται ενώ στην δεύτερη περίπτωση είναι δυνατόν να εκτελούνται και άλλες εντολές μετά την εντολή επανέλαβε Επιπλέον, μια εντολή επανέλαβε, μπορεί να βρίσκεται μέσα σε μια άλλη εντολή επανέλαβε Χ. Είναι σημαντικό να θυμόμαστε ότι για κάθε εξωτερική επανάληψη, πραγματοποιούνται όλες οι εσωτερικές επαναλήψεις των περιεχόμενων εντολών. Μην ανησυχείτε για την κατανόηση αυτών των χαρακτηριστικών, γιατί θα αξιοποιούμε τις δυο αυτές εντολές σε όλα τα επόμενα κεφάλαια και θα έχετε πολλές ευκαιρίες για να καταλάβετε διαφορετικές περιστάσεις χρήσεις τους. Δραστηριότητες 1) Σχεδιάστε με τη χρήση εντολών επανάληψης μια σκακιέρα 4

5