Προγραμματισμός με το microworlds pro - Δραστηριότητες με...

4

Click here to load reader

Upload: george-papamitsos

Post on 04-Jul-2015

755 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Προγραμματισμός με το Microworlds Pro - Δραστηριότητες με παραμετρικές διαδικασίες

2ο Γυμνάσιο Καισαριανής Παπαμήτσος Γιώργος

Διαδικασίες με είσοδο – Παραμετρικές διαδικασίες

Δραστηριότητα 1

Η διαδικασία τετράγωνο σχεδιάζει ακριβώς το ίδιο τετράγωνο κάθε φορά που εκτελείται. Η διαδικασία σπίτι σχεδιάζει ακριβώς το ίδιο σπίτι.

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

για τετράγωνο :πλευρά

επανάλαβε 4 [μπροστά :πλευρά δεξιά 360 / 4]

τέλος

Τώρα, κάθε φορά που θέλετε να εκτελέσετε τη διαδικασία τετράγωνο, πρέπει να προσδιορίσετε το μήκος της πλευράς του τετραγώνου που θέλετε να σχεδιαστεί. Μπορείτε να την εκτελέσετε όπως κάθε εντολή Logo με εισόδους (όπως π.χ. την μπροστά 100 ή μπροστά 50). Για παράδειγμα, για να σχεδιάσετε ένα τετράγωνο με πλευρές μήκους 50 βημάτων, πληκτρολογήστε το εξής:

τετράγωνο 50

Για να σχεδιάσετε ένα μικρό τετράγωνο, πληκτρολογήστε:

τετράγωνο 10

Ο ορισμός της διαδικασίας τετράγωνο μας δείχνει ένα γενικό κανόνα για τον ορισμό των διαδικασιών με είσοδο. Η γραμμή τίτλου της διαδικασίας τετράγωνο λέει στη Logo πως η διαδικασία τετράγωνο έχει μία μοναδική είσοδο με το όνομα πλευρά. Το σώμα της διαδικασίας χρησιμοποιεί την πρωτογενή διαδικασία μπροστά, η οποία περιέχει την είσοδο πλευρά. Η οδηγία αυτή σχεδιάζει μια γραμμή με το μήκος :πλευρά.

Όταν ορίζεται μια διαδικασία με είσοδο, η είσοδος αυτή δεν έχει τιμή. Μόνο όταν εκτελείται η διαδικασία γίνεται γνωστή η τιμή της εισόδου. Για το λόγο αυτό, η είσοδος πρέπει πάντα να έχει όνομα.

Έχετε τη δυνατότητα να ορίσετε διαδικασίες Logo με περισσότερες από μία εισόδους. Ένα παράδειγμα διαδικασίας που απαιτεί δύο εισόδους είναι το ορθογώνιο:

για ορθογώνιο :ύψος :πλάτος

επανάλαβε 2 [μπροστά :ύψος δεξιά 90 μπροστά :πλάτος δεξιά 90]

τέλος

Για να εκτελέσετε το ορθογώνιο, πρέπει να πληκτρολογήσετε το όνομα και στη συνέχεια τις τιμές των δύο εισόδων:

ορθογώνιο 50 100

Ακολουθεί ένα παράδειγμα το οποίο χρησιμοποιεί μια υπερδιαδικασία και υποδιαδικασίες. Μπορούμε να αλλάξουμε τον ορισμό της διαδικασίας σπίτι, έτσι ώστε να σχεδιάζει σπίτια με διαφορετικά μεγέθη: για σπίτι :μέγεθος

τετράγωνο :μέγεθος

μπροστά :μέγεθος

δεξιά 30

τρίγωνο :μέγεθος

τέλος

Το τρίγωνο, έπειτα, θα πρέπει να οριστεί ως εξής: για τρίγωνο :πλευρά

επανάλαβε 3 [μπροστά :πλευρά δεξιά 360 / 3]

τέλος

Για να σχεδιάσετε ένα σπίτι με μέγεθος 150, πληκτρολογήστε: σπίτι 150

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

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

Page 2: Προγραμματισμός με το Microworlds Pro - Δραστηριότητες με παραμετρικές διαδικασίες

2ο Γυμνάσιο Καισαριανής Παπαμήτσος Γιώργος

Δραστηριότητα 2

'Έστω ότι θέλουμε να δημιουργήσουμε το παρακάτω σχήμα που μοιάζει με σκάλα:

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

Δημιουργούμε γι' αυτό την παρακάτω διαδικασία: Για σκαλί

στυλόκάτω

μπροστά 30

δεξιά 90

μπροστά 30

αριστερά 90

τέλος

Και στη συνέχεια την υπερδιαδικασία Για σκάλα

στκ

επανάλαβε 3

[σκαλί]

τέλος

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

Μπορούμε όμως να χρησιμοποιήσουμε την ίδια διαδικασία για να σχεδιάσουμε την σκάλα; Ναι!, εάν χρησιμοποιήσουμε μεταβλητή, ξαναγράφοντας την διαδικασία σκάλα ως εξής:

Για σκάλα :σκαλιά

στκ

επανάλαβε :σκαλιά [σκαλί]

τέλος

Σχεδιάζουμε μια σκάλα γράφοντας σκάλα 5

Κάθε φορά που καλούμε τη διαδικασία σκάλα στο σκαλιά αποθηκεύεται προσωρινά μια διαφορετική.

Όμοια, μπορούμε να τροποποιήσουμε την διαδικασία σκαλί ώστε να σχεδιάσουμε σκαλιά οποιουδήποτε ύψους:

Για σκαλί :υ

στυλόκάτω

μπροστά :υ

δεξιά 90

μπροστά :υ

αριστερά 90

τέλος

Θα πρέπει να διορθώσουμε την διαδικασία σκάλα ώστε να δίνουμε μια τιμή εισόδου στη διαδικασία σκαλί. Για σκάλα :σκαλιά

στκ

επανάλαβε :σκαλιά [σκαλί 30] τέλος

Ακόμη καλύτερα μπορούμε να ορίσουμε μια δεύτερη παράμετρο για τη είσοδο στη διαδικασία σκαλί. Για σκάλα :σκαλιά :ύψος_σκαλιού

στκ

επανάλαβε :σ [σκαλί :ύψος_σκαλιού]

τέλος

Page 3: Προγραμματισμός με το Microworlds Pro - Δραστηριότητες με παραμετρικές διαδικασίες

2ο Γυμνάσιο Καισαριανής Παπαμήτσος Γιώργος

Δραστηριότητα 3

Έχουμε την διπλανή διαδικασία:

για υπολογισμός :α

κάνε "β 3 * :α + 1

δείξε :β

κάνε "α :α - 2

δείξε :α

τέλος Τι θα εμφανίσει η διαδικασία εάν την καλέσουμε ως εξής: υπολογισμός 5

Δραστηριότητα 4

Έχουμε την διπλανή διαδικασία:

για Πράξη :α :β

έξοδος :α * :β

τέλος

Αν καλέσω την διαδικασία ως εξής: κάνε "γ Πράξη 13 67

Τι θα εμφανίσει η εντολή; δείξε :γ

Δραστηριότητα 5

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

Για εμβαδότριγώνου :βάση :ύψος

Κάνε "Εβδαδό ( :βάση * :ύψος ) / 2

Δείξε (φράση [Το εμβαδό του τριγώνου είναι] :Εμβαδό )

τέλος

Δραστηριότητα 6

Να δημιουργήσετε μια παραμετρική διαδικασία, με όνομα "πολύγωνο", η οποία δέχεται ως είσοδο το πλήθος των πλευρών του πολυγώνου και σχεδιάζει το αντίστοιχο κανονικό πολύγωνο. (πχ. Aν καλέσουμε την διαδικασία ως εξής:

«πολύγωνο 6» θα σχεδιάσει ένα κανονικό εξάγωνο.)

Απάντηση Για πολύγωνο :π

στκ

επανάλαβε :π [ μπ 100 δε 360 / :π ]

τέλος

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

Δραστηριότητα 7

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

δείξε τετραγωνικήρίζα (δύναμη :α 2) + (δύναμη :β 2)

τέλος

Παράδειγμα

υποτείνουσα 3 4

5

Page 4: Προγραμματισμός με το Microworlds Pro - Δραστηριότητες με παραμετρικές διαδικασίες

2ο Γυμνάσιο Καισαριανής Παπαμήτσος Γιώργος

Δραστηριότητα 8

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

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

κάνε "σύνολο 0 κάνε "πλήθος 1 επανάλαβε 10 [

ερώτηση (φράση [Άθροισμα 10 αριθμών, δώσε μου τον ] :πλήθος [ο αριθμό: ]) κάνε "σύνολο :σύνολο + απάντηση κάνε "πλήθος :πλήθος + 1

] ανακοίνωση (φράση [Το σύνολο των 10 αριθμών είναι: ] :σύνολο)

τέλος

Επέκταση: Δημιουργήστε μια διαδικασία ( με όνομα "Μέσος_Όρος") που ζητάει από το χρήστη διαδοχικά κ αριθμούς ( το πλήθος των αριθμών θα εισάγεται στη διαδικασία με παράμετρο,) υπολογίζει και εμφανίζει (με την εντολή Ανακοίνωση) το άθροισμα και το μέσο όρο των αριθμών αυτών χρησιμοποιώντας κατάλληλο μήνυμα.

Απάντηση Για Μέσος_Όρος :κ

κάνε "σύνολο 0 κάνε "πλήθος 1 επανάλαβε :κ [ ερώτηση (φράση[Μέσος όρος] :κ [αριθμών, δώσε μου τον ] :πλήθος [ο αριθμό: ]) κάνε "σύνολο :σύνολο + απάντηση κάνε "πλήθος :πλήθος + 1 ] ανακοίνωση (φράση [Το σύνολο των]:κ [αριθμών είναι: ] :σύνολο) ανακοίνωση (φράση [Ο μέσος όρος των ] :κ [αριθμών είναι: ] :σύνολο / :κ )

τέλος

Στο κέντρο εντολών πληκτρολογούμε π.χ.:

Μέσος_Όρος 3