Δημήτρης Λαμπαδίτης καθηγητής Πληροφορικής 1ο Γυμνάσιο Παλλήνης MicroWorlds Pro Logo 1 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Οι εντολές της Logo, γενικώς.... Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Οι εντολές της MicroWorld Pro® Logo®, πληκτρολογούνται στο Κέντρο Εντολών, στα Ελληνικά (εξελληνισμένο περιβάλλον προγραμματισμού), με κεφαλαία ή μικρά γράμματα, τονισμένες ή άτονες. Μια τυπική εντολή της Logo έχει τη μορφή που φαίνεται στο σχήμα 1α, αποτελούμενη από το Όνομα της εντολής και από ένα Όρισμα. Ανάμεσα στο Όνομα και το Όρισμα μπαίνει πάντα ΕΝΑ κενό [spacebar]. (Σχήμα 1α) κε νό Όνομα Εντολής Όρισμα Σχήμα 1α Υπάρχουν βέβαια και εντολές χωρίς Όρισμα (Σχήμα 1β) ή με περισσότερα από ένα Ορίσματα (Σχήμα 1γ). Σχήμα 1β Σχήμα 1γ Εντολές Εισόδου/Εξόδου Η εντολή Δείξε η εντολή Δείξε είναι εντολή εξόδου, δέχεται ΕΝΑ όρισμα και ανάλογα με τη σύνταξή της, εμφανίζει στο Κέντρο Εντολών, ακριβώς στην επόμενη σειρά κάτω από την εντολή: • μια λέξη ή • μια πρόταση ή • το αποτέλεσμα μιας αριθμητικής πράξης. Δείξε ”λ έ ξ η © Μια λέξη μπορεί να περιέχει οποιονδήποτε χαρακτήρα εκτός από το κενό (σε αντίθετη περίπτωση δεν είναι λέξη αλλά πρόταση), το ερωτηματικό ; τις παρενθέσεις () και τις αγκύλες []. Σχήμα 2 Πριν τη λέξη μπαίνουν εισαγωγικά τα οποία ΔΕΝ ΚΛΕΙΝΟΥΝ! Και φυσικά μετά την εντολή και πριν τα εισαγωγικά μπαίνει ένα κενό Εισαγωγή στη γλώσσα προγραμματισμού LOGO •2 Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 Δείξ ε [ π ρ ό τ α σ η ] Μια πρόταση μπορεί να περιέχει οποιονδήποτε χαρακτήρα εκτός από το ερωτηματικό ; και τις αγκύλες []. Η πρόταση ΚΛΕΙΝΕΤΑΙ σε αγκύλες, ΧΩΡΙΣ κενά! Και φυσικά μετά την εντολή και πριν την αγκύλη μπαίνει ένα κενό Δείξ ε α ρ ι θ μ η τ ι κ ή Σχήμα 3 πράξη Με τη μορφή αυτή, η εντολή Δείξε εκτελεί την αριθμητική πράξη και εμφανίζει το αποτέλεσμα στην επόμενη σειρά κάτω από την εντολή. Μια αριθμητική πράξη μπορεί να είναι πρόσθεση (+), αφαίρεση (-), πολλαπλασιασμός (*), διαίρεση (/) ή δύναμη αριθμού (δύναμη) (Σχήμα 4α,β,γ,δ). ΠΡΙΝ ΚΑΙ ΜΕΤΑ το αριθμητικό σύμβολο μπαίνει κενό, όπως και μετά την εντολή και πριν την αριθμητική πράξη. Σχήμα 4α Σχήμα 4β Σχήμα 4γ Σχήμα 4δ Η δύναμη αριθμού έχει δικό της τρόπο σύνταξης (δύναμη βάση εκθέτης) © βάση εκθέτης Σχήμα 4ε 3 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Στην περίπτωση των πολύπλοκων αριθμητικών παραστάσεων, ισχύουν οι γνωστοί κανόνες των παρενθέσεων (ΜΟΝΟ παρενθέσεις, ΟΧΙ ΑΓΚΥΛΕΣ...) Η εντολή Φράση Η εντολή Δείξε δέχεται μόνο ένα όρισμα (μια λέξη ή πρόταση ή αριθμητική πράξη). Σε οποιαδήποτε άλλη περίπτωση η MicroWorld Pro® Logo® εμφανίζει μήνυμα σφάλματος Σχήμα 5α (Σχήμα 5α) Είναι δυνατόν να συνδυάσω δύο ή περισσότερα ορίσματα στην ΙΔΙΑ εντολή; • Η εντολή Φράση συνδέει τα ...ασύνδετα. Λειτουργεί σαν «κουτί», «συσκευάζοντας» μέσα στις παρενθέσεις, 2 ή περισσότερες λέξεις, προτάσεις και αριθμητικές παραστάσεις, έτσι ώστε να παρουσιάζονται σαν ένα και μοναδικό όρισμα. • Τα στοιχεία της εντολής (λέξη, πρόταση ή αριθμητική πράξη) χωρίζονται με ΕΝΑ κενό (Φρ άσ η σ τ ο ι χ ε ί ο 1 σ τ ο ι χ ε ί ο 2 . . . Σχήμα 5β στοιχείοΝ) Με αυτό τον τρόπο η εντολή Φράση «ξεγελάει» τις εντολές που δέχονται ένα μόνο όρισμα (πχ Δείξε), οι οποίες πλέον «βλέπουν» σαν όρισμα την εντολή Φράση, αρα δουλεύουν χαρίς σφάλμα... (Σχήμα 5β) Η εντολή Ανακοίνωση © η εντολή Ανακοίνωση είναι μια πιο εντυπωσιακή παραλλαγή της εντολής Δείξε. Εμφανίζει («ανακοινώνει») , ανάλογα με τη σύνταξή της, σε ένα ξεχωριστό Παράθυρο Αναγγελιών: • μια λέξη ή • μια πρόταση ή • το αποτέλεσμα μιας αριθμητικής πράξης. Η σύνταξή της είναι ακριβώς ίδια με αυτή της εντολής Δείξε (συμπεριλαμβανομένης και της εντολής Φράση) Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 Εισαγωγή στη γλώσσα προγραμματισμού LOGO Σχήμα 6 Η εντολή Ερώτηση Η εντολή Ερώτηση είναι παραλλαγή της εντολής Ανακοίνωση με δυνατότητα εισόδου δεδομένων (είναι δηλαδή μια εντολή εισόδου): Εμφανίζει, ανάλογα με τη σύνταξή της, σε ένα Παράθυρο Αναγγελιών: • μια λέξη ή • μια πρόταση ή • το αποτέλεσμα μιας αριθμητικής πράξης. ενω παράλληλα εμφανίζει και ένα λευκό πλαίσιο (κενή περιοχή), μέσα στο οποίο μπορούμε να πληκτρολογήσουμε την απάντησή μας (κάποιο κείμενο) (Σχήμα 7α). Η απάντηση αυτή αποθηκεύεται προσωρινά στη μνήμη RAM του υπολογιστή, κάτω από το όνομα Απάντηση, και παραμένει εκεί μέχρι τον τερματισμό του προγράμματος ή μέχρι να αντικατασταθεί από μια νέα απάντηση. (Σχήμα 7β) © Η σύνταξή της είναι ακριβώς ίδια με αυτή της εντολής Δείξε (συμπεριλαμβανομένης και της εντολής Φράση) Σχήμα 7α •4 5 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Το περιεχόμενο της Απάντησης μπορεί να εμφανιστεί: • στο Κέντρο Εντολών με την εντολή Δείξε ή • σε Παράθυρο Αναγγελιών με την εντολή Ανακοίνωση © Σχήμα 7α Σχήμα 7β Εισαγωγή στη γλώσσα προγραμματισμού LOGO •6 Εντολές μετακίνησης και ελέγχου της ...Χελώνας Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 Οι χελώνες της Logo λειτουργούν σαν γραφίδες και το ίχνος που αφήνουν κατά την μετακίνησή τους επιτρέπει τη δημιουργία γεωμετρικών σχημάτων επάνω στην Επιφάνεια Εργασίας. Για τη δημιουργία τους χρησιμοποιούμε το αντίστοιχο εικονίδιο (Σχήμα 8), στη συνέχεια “δείχνουμε” τη θέση που θέλουμε να δημιουργηθεί η νέα χελώνα (συνήθως στη μέση της Επιφάνειας Εργασίας) και... είμαστε έτοιμοι για βόλτες (...δυστυχώς μέσα στα στενά όρια της Επιφάνειας Εργασίας). Σχήμα 8 Εντολές μετακίνησης Μπροστά Μπρ ο σ τ ά Α ρ ι θ μ ό ς Ε ι κ ο ν ο σ τ ο ι χ ε ί ω ν Πίσω Α ρ ι θ μ ό ς Ε ι κ ο ν ο σ τ ο ι χ ε ί ω ν Δεξι ά Μ ο ί ρ ε ς Αρισ τ ε ρ ά Μ ο ί ρ ε ς Κέντρ ο Αριστερά Η εντολή Κέντρο μεταφέρει τη χελώνα στο κέντρο της σελίδας [0 0], με κατεύθυνση προς το πάνω. Εντολές ελέγχου Στυλ ό Άν ω Στυλ ό Κά τ ω Η εντολές αυτές ελέγχουν το αν η χελώνα αφήνει ίχνη όταν μετακινείται («ανεβοκατεβάζει» τη γραφίδα). © Κάθε καινούργια χελώνα δημιουργείται με «ανεβασμένη» γραφίδα οπότε δεν αφήνει ίχνη κατά την μετακίνησή της. Είναι επομένως απαραίτητο να πληκτρολογήσουμε πρώτα την εντολή ΣτυλόΚάτω πριν αρχίσουμε να κινούμε την χελώνα. Δεξιά Πίσω Σχήμα 9α 7 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης ΑριθμόςΧρώματος “ΌνομαΧρώματος Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 ΘέσεΧρώμα ΘέσεΧρώμα Η εντολή ΘέσεΧρώμα καθορίζει το χρώμα του ίχνους (της γραμμής) που αφήνει η γραφίδα της χελώνας, καθως αυτή μετακινείται στην Επιφάνεια Εργασίας, αλλά και το χρώμα της ...ίδιας της χελώνας. Το αρχικό χρώμα είναι μαύρο. Η MicroWorld Pro® Logo® «χειρίζεται» τα χρώματα με δυο διαφορετικούς τρόπους: • Με ΑριθμόΧρώματος (ο ...δύσκολος δρόμος). Τα χρώματα εκφράζονται με ένα αριθμό της μορφής ΧΨ όπου ο Χ παιρνει τιμές από 0 ~ 13 και δίνει την απόχρωση του χρώματος και ο Ψ παίρνει τιμές απο 0 ~ 9 και δίνει τον κορεσμό/φωτεινότητα του χρώματος, με πιο συνηθισμένη τιμή Ψ=5 (για Ψ=0 το χρώμα «ξεθωρίζει» σε σχεδόν λευκό και Ψ=9 «σκουραίνει» σε σχεδόν μαύρο) ΦΩΤΕΙΝΟΤΗΤΑ ΑΡΙΘΜΟΣ ΟΝΟΜΑ γκρι 0 ... 9 75 τυρκουάζ 70 ... 79 15 κόκκινο 10 ... 19 85 κυανό (Cyan) 80 ... 89 25 πορτοκαλί 20 ... 29 95 γαλάζιο 90 ... 99 35 καφέ 30 ... 39 105 μπλε 100 ... 109 45 κίτρινο (Yellow) 40 ... 49 115 μωβ 110 ... 119 55 πράσινο 50 ... 59 125 ροζ 120 ... 129 65 λεμονί 60 ... 69 135 φούξια (Magenta) 130 ... 139 ΑΡΙΘΜΟΣ ΟΝΟΜΑ 5 <ΛΕΥΚΟ ΜΑΥΡΟ> ΦΩΤΕΙΝΟΤΗΤΑ <ΛΕΥΚΟ ΜΑΥΡΟ> • Με ΌνομαΧρώματος (ο ...εύκολος δρόμος) Η μέθοδος αυτή επιτρέπει την χρήση μόνο των 14 χρωμάτων της μορφής Χ5 ο Χ παιρνει τιμές από 0 ~ 13 και δίνει την απόχρωση του χρώματος Το όνομα του χρώματος είναι λέξη (απαραίτητα τα εισαγωγικά στην αρχή!!!!) και πρέπει να είναι σωστά γραμμένο και τονισμένο!!!. Σε αντίθετη περίπτωση το πρόγραμμα εμφανίζει μήνυμα σφάλματος © Θ έ σ ε Π ά χο ς Στ υ λ ό ΑριθμόςΕικονοστοιχείων Η εντολή ΘέσεΠάχοςΣτυλό καθορίζει το πάχος του ίχνους (της γραμμής) που αφήνει η γραφίδα της χελώνας, καθως αυτή μετακινείται στην Επιφάνεια Εργασίας (Σχήμα 9α). Το αρχικό πάχος είναι 1 εικονοστοιχείο (pixel) ενώ το μέγιστο πάχος είναι 100 εικονοστοιχεία (pixel). Σχήμα 9β Εισαγωγή στη γλώσσα προγραμματισμού LOGO Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 Σβή σ ε Γρ α φ ι κ ά Σβή σ ε Σβή σ ε Εν το λ έ ς Oι δύο πρώτες εντολές καθαρίζουν την Επιφάνεια Εργασίας απ’ όλα τα γραφικά. Η διαφορά τους είναι οτι η πρώτη εντολή (ΣβήσεΓραφικά) μεταφέρει τη χελώνα στο κέντρο της σελίδας [0 0], με κατεύθυνση προς το πάνω, ενω η δεύτερη (Σβήσε) αφήνει τη χελώνα στην τελευταία της θέση. © Η εντολή ΣβήσεΕντολές καθαρίζει το Κέντρο Εντολών •8 9 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Δομή Επανάληψης Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Η εντολή Επανάλαβε επιτρέπει ένα συγκεκριμένο αριθμό επαναλήψεων μιας ομάδας εντολών. (χωρίς φυσικά να χρειάζεται να πληκτρολογήσουμε τις εντολές περισσότερες από μία φορά...) Η εντολή δέχεται ΔΥΟ ορίσματα: Επανάλαβε Α ρ ι θ μ ό ς Ε π α ν α λ ή ψ ε ω ν [ Λ ί σ τ α Ε ν τ ο λ ώ ν ] όπου [ΛίσταΕντολών] είναι η εντολή ή η ομάδα των εντολών που να επαναληφθούν, τόσες φορές όσες ορίζεται στον ΑριθμόΕπαναλήψεων . Αριθμός Επαναλήψεων Λίστα Εντολών Σχήμα 10α Σχήμα 10β Διαδικασίες... Διαδικασία είναι η ομαδοποίηση και αποθήκευση μιας σειράς εντολών, κάτω από ένα νέο, χαρακτηριστικό όνομα Σε κάθε γλώσσα προγραμματισμού υπάρχει η έννοια του προγράμματος, μιας σειράς δηλαδή από εντολές που ομαδοποιούνται και αποθηκεύονται κάτω από ένα χαρακτηριστικό όνομα, που συνήθως περιγράφει το αποτέλεσμα της εκτέλεσης αυτών των εντολών. Τα προγράμματα της MicroWorld Pro® Logo® ονομάζονται Διαδικασίες. © Οι Διαδικασίες της Logo «λειτουργούν» σαν νέες εντολές • Η Logo «υπακούει» σε μια σειρά από εντολές που έχουν οριστεί και ενσωματωθεί στο πρόγραμμα από τον κατασκευαστή και ονομάζονται Πρωταρχικές Διαδικασίες (π.χ. Μπροστά, Δείξε κλπ). • Μόλις όμως συνταχθεί μια νέα Διαδικασία, αυτόματα το όνομά της μετατρέπεται σε εντολή: Όταν «κληθεί» (πληκτρολογηθεί το όνομά της στο Κέντρο Εντολών και πατηθεί το πλήκτρο ENTER) εκτελούνται με τη σειρά, όλες οι εντολές Εισαγωγή στη γλώσσα προγραμματισμού LOGO • 10 που περιλαμβάνει η συγκεκριμένη Διαδικασία. Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 • Με αυτό τον τρόπο η Logo «εκπαιδεύεται», εμπλουτίζοντας το λεξιλόγιό της με καινούργιες λέξεις-εντολές... (Σχήμα 11) Σύνταξη μιας Διαδικασίας Σχήμα 11 Καθε διαδικασία της MicroWorld Pro® Logo® έχει την παρακάτω μορφή: Για Ο ν ο μ α _ Δ ι α δ ι κ α σ ί α ς Εν το λ ή _ 1 Εν το λ ή _ 2 ......... Εν το λ ή _ Ν Τέλο ς • Η σύνταξη αλλά και η διόρθωση της Διαδικασίας γίνεται στην καρτέλα Διαδικασίες της Περιοχής Καρτελών (Σχήμα 12) • Η Διαδικασία αρχίζει με την εντολή Για και το όνομα της Διαδικασίας και ολοκληρώνεται με την εντολή Τέλος. Ανάμεσα τους πληκτρολογούμε τη σειρά των εντολών που επιθυμούμε να περιλαμβάνει η συγκεκριμένη Διαδικασία. Σχήμα 12 • Το όνομα της Διαδικασίας πρέπει να είναι μία μόνο λέξη. Εαν επιθυμούμε να χρησιμοποιήσουμε περισσότερες, τις ενώνουμε με το σύμβολο «_». Φυσικά το όνομα που θα επιλέξουμε δεν θα πρέπει να είναι ίδιο με κάποιας ήδη υπάρχουσας εντολής της Logo ή Διαδικασίας Τέλος καλό θα ήταν το όνομα που θα επιλέξουμε να θυμίζει το τι κάνει η συγκεκριμένη Διαδικασία. Υπερδιαδικασίες - Υποδιαδικασίες © Μια Διαδικασία μπορεί να κλιθεί μέσα από μια άλλη Διαδικασία, όπως φαίνεται και στο παράδειγμα του σχήματος 13: Οι ΔΙΑΔΙΚΑΣΙΑ2 και ΔΙΑΔΙΚΑΣΙΑ3 αποτελούν υποδιαδικασίες της ΔΙΑΔΙΚΑΣΙΑ1, μέσα από την οποία καλούνται. Ανάλογα η ΔΙΑΔΙΚΑΣΙΑ1 αποτελεί υπερδιαδικασία για τις ΔΙΑΔΙΚΑΣΙΑ2 και ΔΙΑΔΙΚΑΣΙΑ3. Σχήμα 13 11 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Μεταβλητές Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Οι τιμές του ορίσματος ή των ορισμάτων μιας εντολής Logo συνήθως δηλώνονται «άμεσα», δηλαδή πληκτρολογούνται αμέσως μετά το όνομα της εντολής. Όπως φαίνεται και στο διπλανό σχήμα 14, η χελώνα «διαβάζει» την εντολή («Μπροστά») και την τιμή του ορίσματος (100pixel) «άμεσα», απευθείας από το πληκτρολόγιο. Σχήμα 14 Και βέβαια, όπως είναι αναμενόμενο, οι τιμές των ορισμάτων παραμένουν σταθερές, όπως ακριβώς πληκτρολογήθηκαν, χωρίς να μπορούν να μεταβληθούν. Αυτό το τελευταίο δεν αποτελεί πρόβλημα για τις εντολές που πληκτρολογούνται στο Κέντρο Εντολών, τι γίνεται όμως με τις εντολές που περιλαμβάνονται μέσα σε μια Διαδικασία;... Σχήμα 15α Σχήμα 15β Σχήμα 15γ Στο παράδειγμα του σχήματος 15, όσες φορές και να κληθεί η διαδικασία Τετράγωνο, η χελώνα σχεδιάζει τετράγωνα με μήκος πλευράς 100 pixel, εκτός και αν ο προγραμματιστής επέμβει στην καρτέλα «Διαδικασίες» και αλλάξει «με το χέρι» την τιμή του ορίσματος της εντολής Μπροστά. Η μέθοδος αυτή στερείται πρακτικότητας και ευελιξίας, οπότε οι σχεδιαστές της Logo ενσωμάτωσαν στη γλώσσα και την «έμμεση» δήλωση της τιμής ενός ορίσματος, μέσω Μεταβλητής. Μεταβλητές της Logo © Mια Μεταβλητή της MicroWorld Pro® Logo® αντιστοιχεί σε μια περιοχή της μνήμης RAM, με ένα μοναδικό, χαρακτηριστικό όνομα. Εκεί μπορεί να αποθηκευτεί οποιασδήποτε μορφής όρισμα ξέρουμε (αριθμός, λέξη, πρόταση, Φράση, αποτέλεσμα αριθμητικής πράξης...) Μόλις γίνει αυτό, οι εντολές της Logo μπορούν να χρησιμοποιήσουν το περιεχόμενο της συγκεκριμένης Μεταβλητής, απλώς αντικαθιστώντας το όρισμά τους με το το όνομα της Μεταβλητής Εισαγωγή στη γλώσσα προγραμματισμού LOGO Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 • Κάθε Μεταβλητή έχει ένα μοναδικό όνομα που πρέπει να αποτελείται απο μία μόνο λέξη. Εαν επιθυμούμε να χρησιμοποιήσουμε περισσότερες, τις ενώνουμε με το σύμβολο «_». Φυσικά καλό θα ήταν το όνομα που θα επιλέξουμε να θυμίζει το τι περιέχει η συγκεκριμένη Μεταβλητή • Πριν απο το όνομα της Μεταβλητής μπαίνει το σύμβολο : (άνω-κάτω τελεία) που δηλώνεται ότι η λέξη αυτή αντιπροσωπεύει μια Μεταβλητή και όχι το όνομα μιας Διαδικασίας Στο παράδειγμα του σχήματος 16 το όρισμα της εντολής Μπροστά «δείχνει» στη χελώνα την Μεταβλητή με το όνομα :Απόσταση, απ’ όπου η χελώνα έμμεσα «διαβάζει» την απόσταση των 100 pixel που πρέπει να μετακινηθεί. Η εντολή Κάνε Σχήμα 16 Η εντολή «Κάνε» δημιουργεί μια νέα Γενική Μεταβλητή και της εκχωρεί τιμή, (αποθηκεύει δηλαδή κάποια δεδομένα, στην συγκεκριμένη περιοχή της RAM που αντιστοιχεί στην Μεταβλητή) ή αλλάζει τα δεδομένα μιας ήδη υπάρχουσας Μεταβλητής. Κάνε “ Ό ν ο μ α Μ ε τ α β λ η τ ή ς ΤιμήΜεταβλητής Η εντολή δέχεται δύο ορίσματα: το Όνομα της Μεταβλητής, πριν από το οποίο (ΠΡΟΣΟΧΗ!!!) μπαίνουν εισαγωγικά και την τιμή που θα πάρει η Μεταβλητή Σχήμα 17α Σχήμα 17β Η εντολή Κάνε δημιουργεί «Γενικές Μεταβλητές» (global variables). Η περιοχή της μνήμης RAM που δεσμεύεται για μια Γενική Μεταβλητή παραμένει δεσμευμένη μέχρι τον τερματισμό του προγράμματος της Logo και διατηρεί τα περιεχόμενά της. © Μερικές επεξηγήσεις που θα (πιθανώς) θα λύσουν όλες τις παρεξηγήσεις σχετικά με τις Μεταβλητές της Logo: • Οι Μεταβλητές της Logo δεν έχουν καμμία σχέση με τις μεταβλητές των μαθηματικών. Είναι απλώς συμβολικές λέξεις που «δείχνουν» σε • 12 13 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 συγκεκριμένες περιοχές της μνήμης RAM, σε συγκεκριμένες προσωρινές «θέσεις πάρκινγκ δεδομένων». Δεν παίρνουν τιμές, απλά «φορτώνονται», όπως λέγεται στη γλώσσα των προγραμματιστών, με δεδομένα. • Όταν «φορτώνεται» μια Μεταβλητή (αποθηκεύονται σε αυτή δεδομένα), τό όνομά της δηλώνεται με «"» (εισαγωγικά). • Όταν «διαβάζεται» το περιεχόμενό μιας Μεταβλητής, το όνομά της δηλώνεται με «:» (άνω-κάτω τελεία) Παραμετρικές Διαδικασίες με Είσοδο..... Μια Παραμετρική Διαδικασία περιλαμβάνει μια τουλάχιστον εντολή με Μεταβλητή σαν όρισμα. Οι Παραμετρικές Διαδικασία συντάσσονται όπως ακριβώς και οι απλές Διαδικασίες αλλά με 2 διαφορές: • Αμέσως μετά το όνομα της Διαδικασίας δηλώνεται το όνομα της Μεταβλητής, δηλώνοντας με αυτό τον τρόπο ότι η συγκεκριμένη Διαδικασία έχει (μία) Είσοδο (Σχήμα 17α) • Κατά την κλήση της Διαδικασίας, μετά το όνομα της Διαδικασίας δηλώνεται η τιμή που θα πάρει η Μεταβλητή Εισόδου. Έτσι η τιμή της Μεταβλητής εκχωρείται (δίνεται) «εξωτερικά» (Σχήμα 17β) © Σχήμα 17α • Οι Μεταβλητές που χρησιμοποιούνται στις Διαδικασίες είναι «Τοπικές Μεταβλητές» (local variables). Η περιοχή της μνήμης RAM που δεσμεύεται για μια Τοπική Μεταβλητή, δεσμεύεται προσωρινά, και μόνο για όσο Σχήμα 17β Σχήμα 17γ Σχήμα 17δ Εισαγωγή στη γλώσσα προγραμματισμού LOGO Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 εκτελείται η Διαδικασία (σχήμα 17δ), ενω μετα τον τερματισμό της σβήνεται. Έται το περιεχόμενο της Τοπικής Μεταβλητής χρησιμοποιείται αποκλειστικά στο εσωτερικό της Διαδικασίας. Κάνε μαζί με Τοπική Μεταβλητή Η εντολή Κάνε, όταν χρησιμοποιείται στο εσωτερικό μιας Διαδικασίας, δημιουργεί μια νέα Γενική Μεταβλητή ή αλλάζει το περιεχόμενό μιας ήδη υπάρχουσας. Στην περίπτωση που η Διαδικασία είναι Παραμετρική, η εντολή Κάνε μπορεί να μεταβάλλει το περιεχόμενο της αντίστοιχης Τοπικής Μεταβλητής. ΠΡΟΣΟΧΗ όμως, η Τοπική Μεταβλητή ΔΕΝ θα μετατραπεί σε Γενική!!!. Μόλις τερματιστεί η εκτέλεση της Παραμετρικής Διαδικασίας το περιεχόμενό της θα διαγραφεί («Η μεταβλητή *** δεν έχει τιμή» (σχήμα 17δ)). Μετρητές Μεγάλο ενδιαφέρον παρουσιάζει η περίπτωση που στη θέση του ορίσματος «ΤιμήΜεταβλητής» της εντολής Κάνε χρησιμοποιείται κάποια Μαθηματική Πράξη που υπολογίζει τη νέα τιμή της Μεταβλητής σε σχέση με την τρέχουσα Η πιο χρήσιμη εφαρμογή αυτού είναι η αύξηση ή μείωση της τρέχουσας τιμής μιας μεταβλητής κατά 1 (μετρητής / counter). Κάνε “ Μ ε τρ ητ ή ς : Μ ε τρ ητ ή ς + 1 Μοιάζει πολύπλοκο αλλά δεν είναι: • Στην πρώτη περίπτωση, στο όνομα της Μεταβλητής «Μετρητής» μπαίνουν εισαγωγικά γιατί η Μεταβλητή «φορτώνεται» με δεδομένα Σχήμα 18 © • Στην δεύτερη περίπτωση στο όνομα της Μεταβλητής «Μετρητής» μπαίνει άνωκάτω τελεία γιατί «διαβάζεται» το περιεχόμενό της στο οποίο προστίθεται (ή αφαιρείται) το 1, • 14 15 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης Κουμπιά και Μεταβολείς Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Κουμπί Το Κουμπί είναι ένα εικονικό «χειριστήριο» που δημιουργούμε πάνω στο Φύλλο Εργασίας, και με το οποίο, χρησιμοποιώντας το ποντίκι του υπολογιστή, μπορούμε να «καλέσουμε» οποιαδήποτε Εντολή, σειρά Εντολών, Διαδικασία ή σειρά Διαδικασιών επιθυμούμε Τα 3 στάδια της δημιουργίας ενός Κουμπιού εικονίζονται στο σχήμα 22α. Αν η καλούμενη Διαδικασία είναι Παραμετρική, μετά το όνομά της πρέπει να δηλωθεί και η τιμή της Μεταβλητής Εισόδου. Το ίδιο ισχύει και για τα ορίσματα των Εντολών (πχ Μπροστά 100) Σχήμα 22β Σχήμα 22α Στο σχήμα 22β εικονίζεται το πως μπορούν να αλλάξουν οι διαστάσεις ενός Κουμπιού, ώστε να εμφανίζεται ολόκληρο το όνομα της Εντολής ή της Διαδικασίας. Μεταβολέας... Όπως Μεταβλητή © Ο Μεταβολέας είναι ένα ακόμα εικονικό «χειριστήριο» που δημιουργούμε πάνω στο Φύλλο Εργασίας, και με το οποίο, χρησιμοποιώντας το ποντίκι του υπολογιστή, μπορούμε να δώσουμε μια αριθμητική (και ΜΟΝΟ αριθμητική) τιμή στο Όρισμα κάποιας Εντολής ή στην Τοπική Μεταβλητή κάποιας Παραμετρικής Διαδικασίας, χωρίς να χρειαστεί να την πληκτρολογήσουμε. Τα 4 στάδια της δημιουργίας ενος Μεταβολέα εικονίζονται στο σχήμα 23. Το όνομα του Μεταβολέα ακολουθεί τους τυπικούς κανόνες της Logo ενώ δίνεται και η δυνατότητα να μπουν όρια στην τιμή του. Σχήμα 23 Εισαγωγή στη γλώσσα προγραμματισμού LOGO Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί ήν της ης 20 10 Ο Μεταβολέας χρησιμοποιείται για να «δώσει» αριθμητικές τιμές σε δύο περιπτώσεις: Σχήμα 24α Σχήμα 24β • Στην Τοπική Μεταβλητή μιας Παραμετρικής Διαδικασίας, όπως φαίνεται και στο σχήμα 24α και 24β • Απευθείας στο όρισμα μιας Εντολής που βρίσκεται μέσα σε μια Διαδικασία. Δημιουργείται με αυτό τον τρόπο ένα νέο είδος Διαδικασίας, η Διαδικασία με Μεταβολέα, όπως φαίνεται και στο σχήμα 25α και 25β Σχήμα 25β Σχήμα 25a Σχήμα 25γ Η Διαδικασία με Μεταβολέα, μοιάζει με Παραμετρική και ΔΕΝ διαφέρει από αυτές • Το όνομα του Μεταβολέα ΔΕΝ δηλώνεται αμέσως μετά το όνομα της Διαδικασίας και μέσα στη Διαδικασία, το όνομα του Μεταβολέα εμφανίζεται ΧΩΡΙΣ το σύμβολο «:» (όπως φαίνεται και στα σχήματα 25β και 25γ) © • Ο Μεταβολέας αντικαθιστά ΜΟΝΟ ΑΡΙΘΜΗΤΙΚΑ ορίσματα και η τιμή του διατηρείται και μετά το τέλος της Διαδικασίας (όπως στις Γενικές Μεταβλητές, όπως φαίνεται και στα σχήματα 24β και 25α) • 16 17 • Εργαστήριο Πληροφορικής 1ου Γυμνασίου Παλλήνης ΑνΔιαφορετικά Δ 1 ο ημή Γυ τ μν ρης άσ Λ αμ ιο Πα παδ λλ ί τ ήν ης ης 20 10 Εντολές του τύπου ΑνΤοτεΔιαφορετικα (IfThenElse) υπάρχουν σε όλες τις σύγχρονες γλώσσες προγραμματισμού. Αν και η σύνταξή τους διαφέρει απο γλώσσα σε γλώσσα, η βασική δομή τους είναι κοινή... Σκοπός αυτών των εντολών είναι η εκτέλεση διαφορετικών ακολουθιών εντολών σε διαφορετικές συνθήκες Στη MicroWorld Pro® Logo®, η αντίστοιχη εντολή ονομάζεται ΑνΔιαφορετικά Αν Δι α φ ορ ε τ ι κ ά Συνθήκη [Λιστα Εντολών [Λιστα Εντολών 1] 2] όπου: • Συνθήκη συνήθως είναι μια Λογική Πράξη σύγκριση της μορφής: > (μεγαλύτερο), < (μικρότερο) = (ίσο) ανάμεσα σε μια Μεταβλητή και ένα αριθμό ή μια Μαθηματική Πράξη. Εναλλακτικά σαν Συνθήκη μπορεί να χρησιμοποιηθεί η Λογική Πράξη Ανήκει? σε συνδυασμό με τη Μεταβλητή Απάντηση και -φυσικά- την εντολή Ερώτηση Ανήκει? Απάντηση [ λίστα λέξεων] Το αποτέλεσμα αυτής της Συνθήκης είναι μια απάντηση της μορφής ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ © • [Λίστα Εντολών 1] και [Λίστα Εντολών 2] είναι ένα σύνολο εντολών Logo «συσκευασμένες» σε αγκύλες (όπως και στην εντολή Επανάλαβε) Μόλις ο Διερμηνέας της Logo συναντήσει την εντολή ΑνΔιαφορετικά προχωράει και εξετάζει την Συνθήκη και αν είναι ΑΛΗΘΗΣ εκτελεί την [Λίστα Εντολών 1] ή σε αντίθετη περίπτωση, αν η Λογική Συνθήκη είναι ΨΕΥΔΗΣ εκτελεί την [Λίστα Εντολών 2] Σχήμα 19
© Copyright 2024 Paperzz