Εντολές της Γλώσσας Συγγραφής Turtle Tracks Logo του Αβάκιου. Εργαστήριο Εκπαιδευτικής Τεχνολογίας Φιλοσοφική Σχολή Τμήμα ΦΠΨ, Τομέας Παιδαγωγικής Διευθυντής Καθ. Χ.Κυνηγός http://etl.ppp.uoa.gr Το TurtleTracks είναι μια υλοποίηση σε Java ενός διερμηνέα / πυρήνα της Logo, που αναπτύχθηκε από τον Daniel Azuma (dazuma@kagi.com) στο έργο TurtleTracks (http://www.ugcs.caltech.edu/~dazuma/turtle/). Το TurtleTracks υιοθετήθηκε ως ο πυρήνας Logo του Αβάκιο, αφού επεκτάθηκε και προσαρμόσθηκε στις ανάγκες του συγκεκριμένου περιβάλλοντος Ψηφίδων ΑΝΤΙΣΤΟΙΧΗΣΗ ΑΓΓΛΙΚΩΝ ΕΝΤΟΛΩΝ ΤΗΣ LOGO ΜΕ ΕΛΛΗΝΙΚΕΣ. Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 1
{"BACK","ΠΙΣΩ"}, ακολουθεί αριθμός [(γράφεις την εντολή, αφήνεις διάστημα (Space) και έπειτα γράφεις τον αριθμό των βημάτων που θέλεις να πάει πίσω η χελώνα 50) π.χ ΠΙΣΩ_50] {"BK","Π"}, Το ίδιο με την πιο πάνω Π_50 {"CG","ΣΒΓ"}, Δεν χρειάζεται input {"CLEAN","ΚΑΘΑΡΙΣΕ"}, Δεν χρειάζεται input {"CLEARGRAPHICS","ΣΒΗΣΕΓΡΑΦΙΚΑ"}, Δεν χρειάζεται input {"DISTANCE","ΑΠΟΣΤΑΣΗ"}, {"DISTANCEPOS","ΑΠΟΣΤΑΣΗΘΕΣΗΣ"}, {"FD","Μ"}, ακολουθεί αριθμός [Εντολή, διάστημα αριθμός (μ 50)] {"HEADING","ΚΑΤΕΥΘΥΝΣΗ"}, {"HOME","ΣΤΗΝΑΡΧΗ"}, Δεν χρειάζεται input {"HIDETURTLE","ΚΡΥΨΕΧΕΛΩΝΑ"}, Δεν χρειάζεται input ή {"HT","ΚΧ"}, {"LEFT","ΑΡΙΣΤΕΡΑ"}, ακολουθεί αριθμός (ΑΡΙΣΤΕΡΑ 90) ή {"LT","Α"}, (Α 90) {"PENDOWN","ΣΤΥΛΟΚΑΤΩ"}, Δεν χρειάζεται input ή {"PD","ΣΚ"} Δεν χρειάζεται input {"PENERASE","ΓΟΜΑ"}, Δεν χρειάζεται input πρέπει όμως να ακολουθήσει άλλη εντολή του τύπου (Π 100) για να σβήσει η χελώνα {"PENUP","ΣΤΥΛΟΠΑΝΩ"}, Δεν χρειάζεται input {"PENMIX","ΣΤΥΛΟΜΙΞΗΣ"}, {"PENMODE","ΕΙΔΟΣΣΤΥΛΟ"}, {"PENPAINT","ΣΤΥΛΟ"}, {"PENREVERSE","ΣΤΥΛΟΑΝΤΙΣΤΡΟΦΟ"}, {"PENSIZE","ΜΕΓΕΘΟΣΣΤΥΛΟ"}, {"POS","ΘΕΣΗ"}, {"PU","ΣΠ"}, Δεν χρειάζεται input {"RIGHT","ΔΕΞΙΑ"}, Ακολουθεί αριθμός (ΔΕΞΙΑ 90) ή {"RT","Δ"}, (Δ 90) {"SETHEADING","ΘΕΣΕΚΑΤΕΥΘΥΝΣΗ"}, {"SETH","ΘΕΣΕΚΑΤ"}, {"SETNTURTLES","ΘΕΣΕΧΕΛΩΝΕΣ"}, {"SETPENMODE","ΘΕΣΕΕΙΔΟΣΣΤΥΛΟ"}, {"SETPENSIZE","ΘΕΣΕΜΕΓΕΘΟΣΣΤΥΛΟ"}, {"SETPOS","ΘΕΣΕΘΕΣΗ"}, ακολουθεί λίστα 2 αριθμών π.χ ΘΕΣΕΘΕΣΗ [30 40] το 30 και το 40 είναι οι χ και ψ συντεταγμένες του σημείου. {"SEΤPPATTERN","ΘΕΣΕΣΧΕΔΙΟΣΤΥΛΟ"}, {"SETY","ΘΕΣΕΨ"}, {"SETX","ΘΕΣΕΧ"}, {"SETXY","ΘΕΣΕΧΨ"}, {"SHOWTURTLE","ΔΕΙΞΕΧΕΛΩΝΑ"}, {"ST","ΔΧ"}, Δεν χρειάζεται input {"TOWARDS","ΠΡΟΣ"}, {"TOWARDSPOS","ΠΡΟΣΘ"}, {"TURTLES","ΧΕΛΩΝΕΣ"}, Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 2
{"XCOR","ΘΕΣΗΧ"}, {"YCOR","ΘΕΣΗΨ"} οι αντιστοιχίσεις του palette: {"SETPALETTEFOREGROUND", "ΘΕΣΕΧΡΩΜΑΠΑΛΕΤΤΑΣ"}, {"PALETTEFOREGROUND", "ΧΡΩΜΑΠΑΛΕΤΤΑΣ"}, {"SETPALETTEBACKGROUND", "ΘΕΣΕΥΠΟΒΑΘΡΟΠΑΛΕΤΤΑΣ"}, {"PALETTEBACKGROUND", "ΥΠΟΒΑΘΡΟΠΑΛΕΤΤΑΣ"}, {"SETPALETTEFILL", "ΘΕΣΕΓΕΜΙΣΗΠΑΛΕΤΤΑΣ"}, {"PALETTEFILL", "ΓΕΜΙΣΗΠΑΛΕΤΤΑΣ"} Τις υπόλοιπες τις αντιστοιχίζει η μηχανή της Logo {"ABS","ΑΠ"}, {"AGET","ΠΠΑΡΕ"}, {"ARRAY","ΠΙΝΑΚΑΣ"}, {"ARRAY?","ΠΙΝΑΚΑΣ?"}, {"ARRAYDIMS","ΠΔΙΑΣΤΑΣΕΙΣ"}, {"ASET","ΠΘΕ"}, {"BITXOR","ΑΠΗ"}, {"BL","ΕΤ"}, {"BUTFIRST","ΕΚΤΟΣΠΡΩΤΟΥ"}, {"BUTLAST","ΕΚΤΟΣΤΕΛΕΥΤΑΙΟΥ"}, {"BUTTON?","ΚΟΥΜΠΙ?"}, {"CHAR","ΧΑΡΑΚΤΗΡΑΣ"}, {"FILLARRAY","ΠΓΕΜΙΣΕ"}, {"LISTARRAY","ΠΙΝΑΚΑΣΕΛΙΣΤΑ"}, {"AND","ΚΑΙ"}, {"ARCTAN","ΤΟΞΕΦ"}, {"BEFORE?","ΠΡΙΝ?"}, {"BF","ΕΠ"}, {"BITAND","ΨΚΑΙ"}, {"BITOR","ΨΗ"}, {"CLEARKEYS","ΣΒΗΣΕΠΛΗΚΤΡΑ"}, {"CLEARTEXT","ΣΒΗΣΕΚΕΙΜΕΝΟ"}, {"CONTINUE","ΣΥΝΕΧΙΣΕ"}, {"COUNT","ΜΕΤΡΗΣΕ"}, {"COPYDEF","ΟΡΙΣΕΣΑΝ"}, {"COS","ΣΥΝΗΜ"}, {"DATE","ΗΜΕΡΑ"}, {"DEBUG","ΔΙΟΡΘΩΣΗ"}, {"DEFINE","ΟΡΙΣΕ"}, {"DIVIDE","ΔΙΑ"}, {"DOT?","ΤΕΛΕΙΑ?"}, {"EDIT","ΓΡΑΨΕ"}, {"EDALL","ΓΡΟΛΑ"}, {"EDNAME","ΓΡΑΨΕΤΟ"}, {"EDPROPS","ΓΡΑΨΕΙΔΙΟΤ"}, Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 3
{"EJECT","ΕΞΑΓΩΓΗ"}, {"EMPTY?","ΑΔΕΙΟ"}, { "END","ΤΕΛΟΣ"}, {"EQUAL?","ΙΣΟ?"}, {"ERALL","ΣΒΗΣΕΤΑΠΑΝΤΑ"}, {"ERASE","ΣΒΗΣΕ"}, {"ER","ΣΒ"}, {"ERASEFILE","ΣΒΗΣΕΑΡΧΕΙΟ"}, {"ERNAME","ΣΒΗΣΕΟΝΟΜΑ"}, {"ERP","ΣΒΔ"}, {"ERASEPROCEDURE","ΣΒΗΣΕΔΙΑΔΙΚΑΣΙΑ"}, {"ERPROPS","ΣΒΗΣΕΙΔΙΟΤ"}, {"ERROR","ΛΑΘΟΣ"}, {"EXP","ΕΚΘ"}, {"FIRST","ΠΡΩΤΟ"}, {"FORWARD","ΜΠΡΟΣΤΑ"}, {"FPRINT","ΑΡΤΥΠΩΣΕ"}, {"FPUT","ΒΑΛΕΠΡΩΤΟ"}, {"GO","ΠΗΓΑΙΝΕ"}, {"GOODBYE","ΤΕΛΟΣΕΡΓΑΣΙΑΣ"}, {"GPROP","ΠΑΡΕΙΔ"}, {"INRECT?","ΣΕΠΑΡΑΛ?"}, {"IF","ΑΝ"}, {"INTEGER","ΑΚΕΡΑΙΟΣ"}, {"ITEM","ΑΝΤΙΚΕΙΜΕΝΟ"}, {"KEYSDOWN","ΠΛΗΚΤΡΑ"}, {"LAST","ΤΕΛΕΥΤΑΙΟ"}, {"LIST","ΛΙΣΤΑ"}, {"LIST?","ΛΙΣΤΑ?"}, {"LOWERCASE","ΠΕΖΑ"}, {"LOAD","ΦΟΡΤΩΣΕ"}, {"LOADPICT","ΦΟΡΤΩΣΕΕΙΚΟΝΑ"}, Από την ψηφίδα Ζωγραφικής {"LOADTEXT","ΦΟΡΤΩΣΕΚΕΙΜΕΝΟ"}, Από την ψηφίδα LOGO {"LOCAL","ΤΟΠΙΚΑ"}, {"LPUT","ΒΑΛΕΤΕΛΕΥΤΑΙΟ"}, {"MAKE","ΘΕΣΕ"}, {"MEMBER?","ΑΝΗΚΕΙ?"}, {"MINUS","ΜΕΙΟΝ"}, {"MOUSE","ΠΟΝΤΙΚΙ"}, {"NAMES","ΟΝΟΜΑΤΑ"}, {"ONLINE","ΣΥΝΔΙΣΚΟΙ"}, {"NODEBUG","ΟΧΙΔΙΟΡΘΩΣΗ"}, {"NOT","ΟΧΙ"}, {"NUMBER?","ΑΡΙΘΜΟΣ?"}, {"OP","ΕΞ"}, {"OR","Η"}, {"OUTPUT","ΕΞΟΔΟΣ"}, {"PARSE","ΜΕΤΑΓΛΩΤΙΣΕ"}, {"PAUSE","ΠΑΥΣΗ"}, Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 4
{"PI","ΠΙ"}, {"PLIST","ΙΔΙΟΤΗΤΕΣ"}, {"PLUS","ΣΥΝ"}, {"POALL","ΤΥΠΩΣΕΤΑΠΑΝΤΑ"}, {"PONAME","ΤΥΠΩΣΕΤΟ"}, {"POPROPS","ΤΥΠΩΣΕΙΔΙΟΤ"}, {"PPPATTΕRN","ΣΧΕΔΙΟΣΤΥΛΟ"}, {"POWER","ΔΥΝΑΜΗ"}, {"PR","ΤΥΠ"}, {"PREFIX","ΠΡΟΘΕΜΑ"}, {"PRINTOUT","ΕΚΤΥΠΩΣΕ"}, {"PROCEDURE?","ΔΙΑΔΙΚΑΣΙΑ?"}, {"PROCEDURES","ΔΙΑΔΙΚΑΣΙΕΣ?"}, {"PRINT","ΤΥΠΩΣΕ"}, {"PUTPROP","ΒΑΛΕΙΔΙΟΤ"}, {"PX","ΣΑ"}, {"QUOTIENT","ΠΗΛΙΚΟ"}, {"RANDOM","ΤΥΧΑΙΟ"}, {"RC?","ΥΠΑΡΧΕΙΧΑΡΑΚΤΗΡΑΣ?"}, {"RC","ΔΧΑΡ"}, {"READCHARACTER","ΔΙΑΒΑΣΕΧΑΡΑΚΤΗΡΑ"}, {"READLIST","ΔΙΑΒΑΣΕΛΙΣΤΑ"}, {"RL","ΔΛ"}, {"READSTRING","ΔΙΑΒΣΥΜΒΟΛΟΣΕΙΡΑ"}, {"REMAINDER","ΥΠΟΛΟΙΠΟ"}, {"REMPROP","ΣΒΙΔΙΟΤ"}, {"RENAMEFILE","ΜΕΤΟΝΟΜΑΣΕΑΡΧΕΙΟ"}, {"REPEAT","ΕΠΑΝΑΛΑΒΕ"}, {"ROUND","ΣΤΡΟΓΓΥΛΟΠΟΙΗΣΗ"}, {"RUN","ΤΡΕΞΕ"}, Από την ψηφίδα LOGO {"SAVE","ΑΠΟΘΗΚΕΥΣΗ"}, {"SAVEPICT","ΑΠΟΘΗΚΕΥΣΗΕΙΚΟΝΑΣ"}, {"SAVETEXT","ΑΠΟΘΗΚΕΥΣΗΚΕΙΜΕΝΟΥ"}, {"SE","ΠΡ"}, {"SENTENCE","ΠΡΟΤΑΣΗ"}, {"SETPREFIX","ΘΕΣΕΠΡΟΘΕΜΑ"}, {"SETRANDOM","ΘΕΣΕΤΥΧΑΙΟ"}, {"SETSHAPE","ΘΕΣΕΣΧΗΜΑ"}, {"SETTFONT","ΘΕΣΕΓΡΑΜΜΑΤΟΣΕΙΡΑ"}, {"SETTSTYLE","ΘΕΣΕΣΤΥΛ"}, {"SETTWINDOW","ΘΕΣΕΠΑΡΑΘΥΡΟΚΕΙΜΕΝΟΥ"}, {"SHAPE","ΣΧΗΜΑ"}, {"SIN","ΗΜ"}, {"SQRT","ΡΙΖΑ"}, {"STAMP","ΣΦΡΑΦΙΔΑ"}, Υπάρχει στην ψηφίδα Ζωγραφική {"STRING","ΣΥΜΒΟΛΟΣΕΙΡΑ"}, {"STRING?","ΣΥΜΒΟΛΟΣΕΙΡΑ?"}, {"STOP","ΣΤΑΜΑΤΗΣΕ"}, Υπάρχει στην Ψηφίδα Logo Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 5
{"TAN","ΕΦ"}, {"TEXT","ΚΕΙΜΕΝΟ"}, {"THING","ΟΝΤΟΤΗΤΑ"}, {"THING?","ΟΝΤΟΤΗΤΑ?"}, {"TIMES","ΕΠΙ"}, {"TIME","ΩΡΑ"}, {"TO","ΓΙΑ"}, Ακολουθεί το όνομα της διαδικασίας που θέλεις να ορίσεις (π.χ ΓΙΑ ΤΕΤΡΑΓΩΝΟ ΕΠΑΝΑΛΑΒΕ 4[Μ 100 Δ 90] ΤΕΛΟΣ) {"TSTYLE","ΣΤΥΛΚΕΙΜΕΝΟΥ"}, {"TFONT","ΓΡΑΜΜΑΤΚΕΙΜΕΝΟΥ"}, {"TWINDOW","ΠΑΡΑΘΚΕΙΜΕΝΟΥ"}, {"UPPERCASE","ΚΕΦΑΛΑΙΑ"}, {"WAIT","ΠΕΡΙΜΕΝΕ"}, {"WHO","ΠΟΙΕΣ"}, {"WRAP","ΑΝΑΔΙΠΛΩΣΗ"}, {"WORD","ΛΕΞΗ"}, {"WORD?","ΛΕΞΗ?"}, {"REPCOUNT","ΕΠΑΝΑΛΗΨΕΙΣ"}, {"PRINTOUTPROCEDURE","ΤΥΠΩΣΕΔΙΑΔΙΚΑΣΙΑ"}, {"POP","ΤΥΔ"} Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 6
Πίνακας εντολών και λειτουργιών της ψηφίδας Logo Διαδικασία Σβήσεγραφικά Cleargraphics Καθάρισε Clean Στηναρχή Home Μπροστά α Forward a Είδος διαδικασίας Πλήθος εισόδων Τύπος δεδομένων εισόδου Αποτέλεσμα-γεγονός Εντολή 0 - Καθαρίζει τον καμβά και επαναφέρει τη χελώνα στην αρχική θέση Εντολή 0 - Καθαρίζει τον καμβά και αφήνει τη χελώνα στη θέση που βρίσκεται. Εντολή 0 - Επαναφέρει τη χελώνα στην αρχική θέση χωρίς να σβήσει τα γραφικά Εντολή 1 Αριθμός Μετακινεί τη χελώνα α βήματα μπροστά κατά τη διεύθυνση της κεφαλής της Πίσω α Back a Δεξιά α Right a Αριστερά α Left a Στυλόπάνω Penup Στυλόκάτω Pendown Γόμα Penerase Περίμενε α Wait a ΘέσηΧ Xcor ΘέσηΨ Ycor Θέση Pos Κατεύθυνση Heading Εντολή 1 Αριθμός Μετακινεί τη χελώνα α βήματα προς την αντίθετη κατεύθυνση απ όπου δείχνει η κεφαλή της χελώνας Εντολή 1 Αριθμός Στρίβει την κεφαλή της χελώνας α μοίρες δεξιά Εντολή 1 Αριθμός Στρίβει την κεφαλή της χελώνας α μοίρες δεξιά Εντολή 0 - Ανεβάζει τη γραφίδα της χελώνας Εντολή 0 - Κατεβάζει τη γραφίδα της χελώνας Εντολή 0 - Σβήνει ήδη σχεδιασμένες γραμμές, αρκεί να ακολουθήσει εντολή του τύπου (μπροστά 50) εντολή 1 αριθμός Σταματά την εκτέλεση του προγράμματος για τόση ώρα όση δηλώνει ο αριθμός που τοποθετούμε στην είσοδο της εντολής λειτουργία 0 - Επιστρέφει την τετμημένη της θέσης της χελώνας λειτουργία 0 αριθμός Επιστρέφει την τεταγμένη της θέσης της χελώνας λειτουργία 0 αριθμός Επιστρέφει τις συντεταγμένες της θέσης της χελώνας λειτουργία 0 - Επιστρέφει τον απόλυτο προσανατολισμό της χελώνας Θέσεκατεύθυνση Εντολή 1 αριθμός Προσανατολίζει τη χελώνα σύμφωνα με τον αριθμό Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 7
Setheading Θέσεχψ α β Setxy a b όπου θα θέσουμε στην είσοδο της εντολής Εντολή 2 αριθμοί Θέτει τη χελώνα στη θέση με συντεταγμένες (α,β) Παρατήρηση 1η Ο Xελωνόκοσμος αντιλαμβάνεται τις εντολές και με την συντομογραφία των ονομάτων τους πχ. την εντολή Σβήσεγραφικά ως σβγ, την εντολή δεξιά 30 ως δ 30, την εντολή αριστερά 30 ως α 30. Παρατήρηση 2η Όταν για κάποιο λόγο η χελώνα περάσει τα όρια της ψηφίδας του καμβά τότε εμφανίζεται από την απέναντι πλευρά του παραθύρου. Μοιάζει οι απέναντι πλευρές του παραλληλογράμμου της ψηφίδας να είναι ενωμένες Η τοπολογία του καμβά στην πραγματικότητα είναι ένας τόρος δηλαδή κάτι σαν ένας λουκουμάς με τρύπα στη μέση. Πώς μπορείς να πληροφορηθείς για τις πρωτογενείς διαδικασίες αυτής της logo ; Mπορείς να γράψεις στην ψηφίδα του συντάκτη εντολών την εντολή ask Χελώνα[primitives] και να την εκτελέσεις. Στην περιοχή των απαντήσεων του συντάκτη εντολών θα εμφανισθούν πολλές από τις πρωτογενείς διαδικασίες στα Ελληνικά και στα Αγγλικά. Mπορείς να επισκεφτείς το δικτυακό τόπο: http/www.ugcs.caltech.edu/~dazuma/turtle/docs/implement.html-toptop όπου εκεί θα δεις μια αναλυτική περιγραφή των εντολών και των λειτουργιών της Logo που χρησιμοποιεί ο Xελωνόκοσμος. Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 8
Μαθηματικές συναρτήσεις στη γλώσσα Logo ;απλώς εκτελέστε μία-μία τις εντολές και δείτε το αποτέλεσμα στην έξοδο. ;κυρίως πηγή: http://www.math.uic.edu/~burgiel/mtht420/5/commands.html ;Απόλυτη τιμή αριθμού print abs(-5) τύπωσε απ(-10) ;Ο αριθμός π print pi τύπωσε πι ;Συνημίτονο γωνίας (με όρισμα σε μοίρες) print cos(60) τύπωσε συνημ(60) ;Ημίτονο γωνίας print sin(30) τύπωσε ημ(30) ;Εφαπτομένη γωνίας print tan(45) τύπωσε εφ(45) ;Τόξο συνημιτόνου print arccos(0.5) ;Τόξο ημιτόνου print arcsin(0.5) ;τόξο εφαπτομένης print arctan(45) ;τραγωνική ρίζα print sqrt(4) ;Εκθετική συνάρτηση με βάση e print exp(0) print exp(1) ;Λογαριθμική συνάρτηση με βάση e print log(exp(1)) ;θα μπορούσε να είναι το ακέραιο μέρος, αλλά... print integer 2.3 print integer 2.8 print integer -2.8 ;Στρογγυλοποίση print round(1.4) print round(1.8) print round(-2.3) ;άθροισμα print sum 2 3 Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 9
;αντίθετος print minus 5 print minus 3+4 ;γινόμενο δύο αριθμών print product 2 3 ;λόγος δύο αριθμών print quotient 10 2 print quotient -10 3 ;υπόλοιπο διαίρεσης print remainder 11 2 print remainder -11 2 print remainder 11-2 print remainder -11-2 ; δυνάμεις print power 3 2 τύπωσε δύναμη 3 2 ;τυχαίος φυσικός από 0 μέχρι 5 (ή άλλον αριθμό) print random 5 τύπωσε τυχαίο 5 ;******************** ; Η εντολή make για τον ορισμό σταθεράς ή παραμέτρου: make "e exp(1) print :e make "e_tetragono δύναμη :e 2 print :e_tetragono Logo Αντιστοιχηση Αγγλικων Ελληνικων Εντολων - σελίδα 10