A. Θεωρία
1. Αλγόριθμοι και Ψευδογλώσσα
1.1) Ορισμός Αλγορίθμου
1.2) Ψευδογλώσσα
1.3) Γενική Συνθήκη για τη συνέχεια των μαθημάτων
2) Εγκατάσταση του Μεταγλωττιστή
2.1) Εγκατάσταση του DevC++
2.2) Εγκατάσταση του Μεταγλωττιστή Ψευδογλώσσας
3) Το πρώτο μας πρόγραμμα σε ψευδογλώσσα
3.1) Δημιουργία Αρχείου Ψευδογλώσσας
3.2) Πληκτρολόγηση του Κώδικα του Προγράμματος
3.3) Μεταγλώττιση του προγράμματος
3.4) Εκτέλεση του προγράμματος
Α. Πίνακες
Α.1) Εισαγωγή στους Πίνακες
Α.1.1) Μονοδιάστατοι Πίνακες
Α.1.2) Παράδειγμα
B. Δομές Επανάληψης
Β.1) Γενικά
Β.2) Η δομή for
Β.2.1) Συντακτικό της for
Β.2.2) Διάγραμμα Ροής Προγράμματος
Β.2.3) Παραδείγματα Εκτέλεσης
Β.3) Η δομή do…while
Β.3.1) Συντακτικό της do…while
Β.3.2) Διάγραμμα Ροής Προγράμματος
Β.3.3) Παραδείγματα Εκτέλεσης
Β.3.4) Αμυντικός Προγραμματισμός
Β.4) Η δομή while
Β.4.1) Συντακτικό της while
Β.4.2) Διάγραμμα Ροής Προγράμματος
Β.4.3) Παραδείγματα Εκτέλεσης
Β.4.4) Αμυντικός Προγραμματισμός
Β.5) Συμπεράσματα
Β.5.1) Προτεινόμενη χρήση των δομών επανάληψης
Β.5.2) Προσομοίωση της for από την while και τη do..while
Γ) Ασκήσεις
Γ.1) Άθροισμα και Γινόμενο Αριθμών
Γ.2) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Αθροισμάτων
Γ.3) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Παραλληλογράμμου
Γ.4) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Τριγώνου
Γ.5) Άθροισμα Αριθμών με Χρήση Πίνακα
Γ.6) Γινόμενο Αριθμών με Χρήση Πίνακα
Γ.7) Ελάχιστος από N αριθμούς
Γ.8) Μέσος Όρος Ν αριθμών
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣDimitris Psounis
A. Θεωρία
1) Τελεστές
1.1) Γενικά
1.2) Ο τελεστής εκχώρησης
1.3) Αριθμητικοί Τελεστές
1.4) Σχεσιακοί Τελεστές
1.5) Λογικοί Τελεστές
2) Η Εντολή Απόφασης
2.1) Γενικά
2.2) Πρώτη Μορφή (ΕΆΝ)
2.3) Δεύτερη Μορφή (ΕΆΝ…ΑΛΛΙΩΣ)
2.4) Εμφωλιασμένες Εντολές Απόφασης
Β.Ασκήσεις
A. Θεωρία
1. Αλγόριθμοι και Ψευδογλώσσα
1.1) Ορισμός Αλγορίθμου
1.2) Ψευδογλώσσα
1.3) Γενική Συνθήκη για τη συνέχεια των μαθημάτων
2) Εγκατάσταση του Μεταγλωττιστή
2.1) Εγκατάσταση του DevC++
2.2) Εγκατάσταση του Μεταγλωττιστή Ψευδογλώσσας
3) Το πρώτο μας πρόγραμμα σε ψευδογλώσσα
3.1) Δημιουργία Αρχείου Ψευδογλώσσας
3.2) Πληκτρολόγηση του Κώδικα του Προγράμματος
3.3) Μεταγλώττιση του προγράμματος
3.4) Εκτέλεση του προγράμματος
Α. Πίνακες
Α.1) Εισαγωγή στους Πίνακες
Α.1.1) Μονοδιάστατοι Πίνακες
Α.1.2) Παράδειγμα
B. Δομές Επανάληψης
Β.1) Γενικά
Β.2) Η δομή for
Β.2.1) Συντακτικό της for
Β.2.2) Διάγραμμα Ροής Προγράμματος
Β.2.3) Παραδείγματα Εκτέλεσης
Β.3) Η δομή do…while
Β.3.1) Συντακτικό της do…while
Β.3.2) Διάγραμμα Ροής Προγράμματος
Β.3.3) Παραδείγματα Εκτέλεσης
Β.3.4) Αμυντικός Προγραμματισμός
Β.4) Η δομή while
Β.4.1) Συντακτικό της while
Β.4.2) Διάγραμμα Ροής Προγράμματος
Β.4.3) Παραδείγματα Εκτέλεσης
Β.4.4) Αμυντικός Προγραμματισμός
Β.5) Συμπεράσματα
Β.5.1) Προτεινόμενη χρήση των δομών επανάληψης
Β.5.2) Προσομοίωση της for από την while και τη do..while
Γ) Ασκήσεις
Γ.1) Άθροισμα και Γινόμενο Αριθμών
Γ.2) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Αθροισμάτων
Γ.3) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Παραλληλογράμμου
Γ.4) Εμφωλιασμένοι Βρόχοι: Εκτύπωση Τριγώνου
Γ.5) Άθροισμα Αριθμών με Χρήση Πίνακα
Γ.6) Γινόμενο Αριθμών με Χρήση Πίνακα
Γ.7) Ελάχιστος από N αριθμούς
Γ.8) Μέσος Όρος Ν αριθμών
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣDimitris Psounis
A. Θεωρία
1) Τελεστές
1.1) Γενικά
1.2) Ο τελεστής εκχώρησης
1.3) Αριθμητικοί Τελεστές
1.4) Σχεσιακοί Τελεστές
1.5) Λογικοί Τελεστές
2) Η Εντολή Απόφασης
2.1) Γενικά
2.2) Πρώτη Μορφή (ΕΆΝ)
2.3) Δεύτερη Μορφή (ΕΆΝ…ΑΛΛΙΩΣ)
2.4) Εμφωλιασμένες Εντολές Απόφασης
Β.Ασκήσεις
A. Πρόσθετα Στοιχεία της Ψευδογλώσσας
1) Μαθηματικές Συναρτήσεις
2) Επιλογή με Πολλά Ενδεχόμενα
3) Τύποι Δεδομένων
4) Δείκτες και Δομές Δεδομένων
5) Η εντολή GOTO
6) Χειρισμός Εξαιρέσεων
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑDimitris Psounis
A. Επικοινωνία με το Λειτουργικό Σύστημα
1) Γενικά
2) Λειτουργικό Σύστημα
3) Ορίσματα Γραμμής Εντολής
3.1) Ορισμός της main με ορίσματα
3.2) Παράδειγμα με διαφορετικό πλήθος ορισμάτων
3.3) Μετατροπή συμβολοσειράς σε άλλο τύπο δεδομένων
4) Ανακατεύθυνση Εισόδου / Εξόδου
4.1) Ανακατεύθυνση εξόδου
4.2) Ανακατεύθυνση εισόδου
B. Ασκήσεις
1) Θεωρία
1.1) Κύκλος Ανάπτυξης Προγράμματος
1.1.1) Βήματα Δημιουργία ενός Προγράμματος
1.1.2) Κατέβασμα και εγκατάσταση του Dev-C++
1.2) Το πρώτο πρόγραμμα σε C
1.2.1) Περιγραφή του προγράμματος
1.2.2) Συγγραφή του προγράμματος
1.2.3) Μεταγλώττιση του προγράμματος
1.2.4) Σύνδεση των αρχείων
1.2.5) Εκτέλεση του προγράμματος
1.2.6) Λίγα λόγια για το πρόγραμμα
2) Ασκήσεις
Α. Δείκτες
1) Η μνήμη του υπολογιστή
2) Η έννοια του δείκτη
3) Ορισμός Δείκτη
4) Απόδοση τιμής σε δείκτη (Ο τελεστής &)
5) Απόδοση τιμής μέσω δείκτη (ο τελεστής *)
6) Παράδειγμα χρήσης δείκτη
Β. Δείκτες και Πίνακες
1) Το όνομα ενός πίνακα είναι δείκτης
2) Αποθήκευση ενός πίνακα στη μνήμη
3) Αριθμητική Δεικτών
4) Ισοδύναμος Συμβολισμός για πρόσβασή σε πίνακα
Γ. Δείκτες και Συναρτήσεις
1) Διοχέτευση Δείκτη σε Συνάρτηση
2) Διοχέτευση Ορίσματος σε Συνάρτηση μέσω Τιμής
3) Διοχέτευση Ορίσματος σε Συνάρτηση μέσω Αναφοράς
Δ. Παρατηρήσεις
1) Διοχέτευση πίνακα ως όρισμα σε συνάρτηση
2) Η Σταθερά NULL
Ασκήσεις
Θεωρία
1) Στοιχεία ενός προγράμματος C
2) Η συνάρτηση main()
3) H οδηγία #include
4) Μεταβλητές
5) Εντολές
5.1) Η εντολή printf
5.2) Η εντολή scanf
6) Συναρτήσεις Χρήστη
6.1) Το πρωτότυπο μιας συνάρτησης
6.2) Το σώμα μιας συνάρτησης
6.3) Κλήση μιας συνάρτησης
7) Σχόλια Προγράμματος
Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
A. Πρόσθετα Στοιχεία της Ψευδογλώσσας
1) Μαθηματικές Συναρτήσεις
2) Επιλογή με Πολλά Ενδεχόμενα
3) Τύποι Δεδομένων
4) Δείκτες και Δομές Δεδομένων
5) Η εντολή GOTO
6) Χειρισμός Εξαιρέσεων
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑDimitris Psounis
A. Επικοινωνία με το Λειτουργικό Σύστημα
1) Γενικά
2) Λειτουργικό Σύστημα
3) Ορίσματα Γραμμής Εντολής
3.1) Ορισμός της main με ορίσματα
3.2) Παράδειγμα με διαφορετικό πλήθος ορισμάτων
3.3) Μετατροπή συμβολοσειράς σε άλλο τύπο δεδομένων
4) Ανακατεύθυνση Εισόδου / Εξόδου
4.1) Ανακατεύθυνση εξόδου
4.2) Ανακατεύθυνση εισόδου
B. Ασκήσεις
1) Θεωρία
1.1) Κύκλος Ανάπτυξης Προγράμματος
1.1.1) Βήματα Δημιουργία ενός Προγράμματος
1.1.2) Κατέβασμα και εγκατάσταση του Dev-C++
1.2) Το πρώτο πρόγραμμα σε C
1.2.1) Περιγραφή του προγράμματος
1.2.2) Συγγραφή του προγράμματος
1.2.3) Μεταγλώττιση του προγράμματος
1.2.4) Σύνδεση των αρχείων
1.2.5) Εκτέλεση του προγράμματος
1.2.6) Λίγα λόγια για το πρόγραμμα
2) Ασκήσεις
Α. Δείκτες
1) Η μνήμη του υπολογιστή
2) Η έννοια του δείκτη
3) Ορισμός Δείκτη
4) Απόδοση τιμής σε δείκτη (Ο τελεστής &)
5) Απόδοση τιμής μέσω δείκτη (ο τελεστής *)
6) Παράδειγμα χρήσης δείκτη
Β. Δείκτες και Πίνακες
1) Το όνομα ενός πίνακα είναι δείκτης
2) Αποθήκευση ενός πίνακα στη μνήμη
3) Αριθμητική Δεικτών
4) Ισοδύναμος Συμβολισμός για πρόσβασή σε πίνακα
Γ. Δείκτες και Συναρτήσεις
1) Διοχέτευση Δείκτη σε Συνάρτηση
2) Διοχέτευση Ορίσματος σε Συνάρτηση μέσω Τιμής
3) Διοχέτευση Ορίσματος σε Συνάρτηση μέσω Αναφοράς
Δ. Παρατηρήσεις
1) Διοχέτευση πίνακα ως όρισμα σε συνάρτηση
2) Η Σταθερά NULL
Ασκήσεις
Θεωρία
1) Στοιχεία ενός προγράμματος C
2) Η συνάρτηση main()
3) H οδηγία #include
4) Μεταβλητές
5) Εντολές
5.1) Η εντολή printf
5.2) Η εντολή scanf
6) Συναρτήσεις Χρήστη
6.1) Το πρωτότυπο μιας συνάρτησης
6.2) Το σώμα μιας συνάρτησης
6.3) Κλήση μιας συνάρτησης
7) Σχόλια Προγράμματος
Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
2. H γλώσσα προγραμματισμού Logo
Η Logo είναι μια γλώσσα προγραμματισμού στον ηλεκτρονικό υπολογιστή,
την οποία είναι σημαντικό να γνωρίζει κάθε εκπαιδευτικός που χρησιμοποιεί
ηλεκτρονικό υπολογιστή στο σχολείο. Οι σύγχρονες εκδόσεις των προγραμμάτων
Logo, εκτός από τη γλώσσα προγραμματισμού Logo, έχουν τη δυνατότητα να
κάνουν επεξεργασία κειμένων, ήχων, κινούμενων σχημάτων κ.λ.π. Με άλλα λόγια, η
γλώσσα Logo αποτελεί ένα χρήσιμο εργαλείο για την εκμάθηση των διαφόρων
γνωστικών αντικειμένων στην εκπαίδευση.
Η εκμάθηση προγραμματισμού με τη γλώσσα Logo δεν πρέπει να είναι
αυτοσκοπός. Αυτό που είναι σημαντικό είναι να χρησιμοποιηθεί η Logo για τη
μελέτη των μαθηματικών, της φυσικής, της γλώσσας, των ανθρωπιστικών επιστήμων,
κ.λ.π. Η γλώσσα Logo είναι σχεδιασμένη με τέτοιο τρόπο ώστε στο περιβάλλον της
μπορούν να εργαστούν όπως οι αρχάριοι έτσι και οι προχωρημένοι μαθητές.
Τις βασικές παιδαγωγικές αρχές για τη χρήση της γλώσσας Logo, καθώς και
τις πρώτες εκδόσεις των συστημάτων Logo δημιούργησε ο καθηγητής Seymour
Papert (MIT, USA) κατά τη διάρκεια της δεκαετίας του 1960. Το 1967, η ομάδα του
καθηγητή Seymour Papert μαζί με την ομάδα του Walles Feurzeig, ο οποίος
εργαζόταν στην εταιρεία Bolt, Beranek, and Newman, δημιούργησαν την πρώτη
έκδοση της γλώσσας προγραμματισμού Logo.
Η γλώσσα Logo διαδόθηκε ευρέως με την εξέλιξη των προσωπικών
υπολογιστών στα τέλη της δεκαετίας του 1970. Ορισμένες εταιρείες, όπως για
παράδειγμα η Terrapin Software, άρχισαν την εμπορική εκμετάλλευση της γλώσσας
Logo. Μία από τις πρωτοπόρες εταιρείες στον τομέα αυτόν έγινε η εταιρεία Logo
Computer Systems Inc. (LCSI), η οποία δημιουργήθηκε το 1980 με διευθυντή τον
Seymour Papert.
Το 1985, η εταιρεία Logo Computer Systems Inc. δημιούργησε τη νέα
έκδοση της Logo, το πρόγραμμα LogoWriter. Αυτό το πρόγραμμα αναγνωρίσθηκε
ως ένα από τα καλύτερα. Αρκεί να αναφερθεί ότι το 1990 το σύστημα LogoWriter
ανακηρύχθηκε από τους αναγνώστες του περιοδικού Classroom Computer Learning
ως το καλύτερο εκπαιδευτικό πρόγραμμα της δεκαετίας.
Οι εργασίες στο τομέα εξέλιξης της γλώσσας Logo πραγματοποιούνται και
σήμερα, δεν περιορίζονται, ωστόσο, μόνο στη δημιουργία και στη διάδοση
προγραμμάτων για Η/Υ. Έχει δημιουργηθεί μια διεθνής κοινότητα από δασκάλους
και ερευνητές, οι οποίοι ενδιαφέρονται για την εξέλιξη και τη διάδοση της
φιλοσοφίας και των παιδαγωγικών εφαρμογών της γλώσσας Logo. Παράλληλα,
υπάρχουν και αρκετές δημοσιεύσεις, οι οποίες αφορούν στα προβλήματα χρήσης της
Logo στη διδασκαλία συγκεκριμένων μαθημάτων (όπως μαθηματικά, γλώσσα και
άλλα), καθώς και σε γενικότερα θέματα χρήσης της Logo στο σχολείο.
1
3. Μερικές από τις εντολές της Logo
• FORWARD, FD
Περιγραφή
Μετακινεί τη χελώνα κατά το δεδομένο αριθμό μονάδων, διατηρώντας τον
προσανατολισμό.
Παράδειγμα
FORWARD 50
FD 50
• BACK, BK
Περιγραφή
Μετακινεί τη χελώνα κατά το δεδομένο αριθμό μονάδων προς τα πίσω, διατηρώντας
τον προσανατολισμό.
Παράδειγμα
BACK 40
BK 40
• LEFT, LT
Περιγραφή
Στρίβει τη χελώνα αριστερά (δηλαδή αντίθετα από τη φορά του ρολογιού) κατά τον
αριθμό σε μοίρες.
Παράδειγμα
LEFT 90
LT 90
• RIGHT, RT
Περιγραφή
Στρίβει τη χελώνα δεξιά (δηλαδή από τη φορά του ρολογιού) κατά τον αριθμό σε
μοίρες.
Παράδειγμα
RIGHT 70
RT 70
• PEN
Περιγραφή
Επιστρέφει μια από τις λέξεις PU, PD, PE, δηλαδή, εξαρτάτε από το αν το μολύβι
είναι PENDOWN, PENUP ή PENERASE.
Παράδειγμα
SHOW PEN
• PENDOWN, PD
Περιγραφή
Κατεβάζει το μολύβι της χελώνας κάτω. Η χελώνα όταν κινηθεί θα χαράξει μια
γραμμή, στο τρέχον ορισμένο χρώμα, πλάτος και υπόδειγμα.
Παράδειγμα
PENDOWN
PD
2
4. • PENUP, PU
Περιγραφή
Ανεβάζει το μολύβι της χελώνας πάνω. Η χελώνα όταν κινηθεί δε θα χαράξει γραμμή.
Παράδειγμα
PENUP
PU
• PENERASE, PE
Περιγραφή
Σβήνει (στο τρέχον ορισμένο πλάτος και χρώμα) όλα τα σημεία από τα οποία
περνάει.
Παράδειγμα
PENERASE
PE
• PENWIDTH, PW
Περιγραφή
Επιστρέφει το τρέχον πλάτος του μολυβιού της χελώνας.
Παράδειγμα
SHOW PENWIDTH
SHOW PW
• SETPENWIDTH, SETPW
Περιγραφή
Καθορίζει το πλάτος του μολυβιού της χελώνας. Ο αριθμός της εισόδου είναι ένας
ακέραιος μικρότερος του 256.
Παράδειγμα
SETPENWIDTH 3
SETPW 3
• HEADING
Περιγραφή
Επιστρέφει έναν αριθμό μεταξύ 0 και 360, ο οποίος είναι η παρούσα κατεύθυνση της
χελώνας (Μηδέν είναι Βορράς με την κατεύθυνση να αυξάνεται προς τη φορά του
ρολογιού).
Παράδειγμα
SHOW HEADING
• HOME
Περιγραφή
Μετακινεί τη χελώνα στην αρχική της θέση με κατεύθυνση προς τα πάνω.
Παράδειγμα
HOME
• HIDETURTLE, HT
Περιγραφή
Κρύβει τη χελώνα από την οθόνη.
Παράδειγμα
HT
3
5. • SHOWTURTLE, ST
Εμφανίζει τη χελώνα στην οθόνη
Παράδειγμα
ST
• CLEAN
Περιγραφή
Καθαρίζει την οθόνη γραφικών, διατηρώντας το τρέχον χρώμα του φόντου, την
τρέχουσα θέση και τον προσανατολισμό της χελώνας.
Παράδειγμα
CLEAN
• CLEANSCREEN, CS
Περιγραφή
Καθαρίζει την οθόνη γραφικών, διατηρώντας το τρέχον χρώμα του φόντου, όμως η
χελώνα επιστρέφει στην αρχική της θέση και στον αρχικό προσανατολισμό.
Παράδειγμα
CLEANSCREEN
CS
• BACKGROUND, BG
Περιγραφή
Επιστρέφει έναν αριθμό από 0 έως 15 ανάλογα με το χρώμα του φόντου της οθόνης
γραφικών.
Παράδειγμα
SHOW BACKGROUND
SHOW BG
• SETBACKGROUND, SETBG
Περιγραφή
Καθορίζει το χρώμα του φόντου της οθόνης. Η εντολή θα πρέπει να χρησιμοποιείται
με προσοχή, όταν κάτι έχει ήδη σχεδιασθεί στην οθόνη, γιατί μπορεί να αλλοιώσει τα
χρώματά της.
Παράδειγμα
SETBACKGROUND 10
SETBG 10
• FILL
Περιγραφή
Γεμίζει με το τρέχον χρώμα του μολυβιού την κλειστή περιοχή μέσα στην οποία
βρίσκεται ή την ολόκληρη οθόνη, αν δεν υπάρχει κλειστή περιοχή.
Παράδειγμα
FILL
4
6. • FILLCOLOR, FC
Περιγραφή
Επιστρέφει έναν αριθμό από 0 έως 15, ο οποίος αντιπροσωπεύει το τρέχον χρώμα της
χελώνας, το οποίο μπορεί να χρησιμοποιηθεί από την εντολή FILL.
Παράδειγμα
SHOW FILLCOLOR
SHOW FC
• PATTERN
Περιγραφή
Επιστρέφει έναν αριθμό από 0 έως 4, ο οποίος αντιπροσωπεύει τη μορφή της γραμμής
που ζωγραφίζει η χελώνα στη κατάσταση PENDOWN.
Παράδειγμα
SHOW PATTERN
• PENCOLOR, PC
Περιγραφή
Επιστρέφει έναν αριθμό από 0 έως 15, ο οποίος αντιπροσωπεύει το τρέχον χρώμα της
χελώνας. Μπορούμε να ορίσουμε το χρώμα της χελώνας με οποιονδήποτε από αυτούς
τους αριθμούς με την εντολή SETPENCOLOR.
Παράδειγμα
SHOW PENCOLOR
SHOW PC
• POLYGON
Περιγραφή
Η χελώνα σχεδιάζει στην οθόνη γραφικών ένα γεμάτο πολύγωνο, του οποίου τα
στοιχεία προσδιορίζονται με τον ακόλουθο τρόπο:
Αν η είσοδος αρχίζει με 2 αριθμούς a1(μήκος πλευράς) και b1(μέγεθος
γωνίας), τότε ο πρώτος αντιστοιχεί στο FORWARD a1 και ο δεύτερος στο RIGHT
b2. Αν τα επόμενα δυο στοιχεία είναι επίσης αριθμοί, μεταφράζονται με τον ίδιο
τρόπο, κ.λ.π.
Αν ο a είναι μη αρνητικός αριθμός, τότε το ζευγάρι a1, b2 θα επανάληφθεί a
φορές.
Παράδειγμα
POLYGON [ 100 60 100 60 100 60 100 60 100 60 100 60]
POLYGON [ 6 [ 100 60 ] ]
• POLYGONLINE
Περιγραφή
Η χελώνα σχεδιάζει στην οθόνη γραφικών ένα άδειο πολύγονο, με στοιχεία ανάλογα
με την POLYGON
Παράδειγμα
POLYGONLINE [ 50 90 50 90 50 90 50 90 ]
POLYGONLINE [ 4 [50 90 ] ]
5
7. • POS
Περιγραφή
Επιστρέφει μια δύο αριθμούς (Χ Υ}, οι οποίοι αντιπροσωπεύουν (στο καρτεσιανό
σύστημα συντεταγμένων) την παρούσα θέση της χελώνας.
Παράδειγμα
SHOW POS
• REPEAT
Περιγραφή
Επαναλαμβάνει τη λίστα των εντολών. Αν ο αριθμός δεν είναι ακέραιος, το δεκαδικό
του τμήμα στρογγυλοποιείται. Η εντολή REPEAT μπορεί να χρησιμοποιείται εντός
άλλης εντολής REPEAT κλπ.
Παράδειγμα
REPEAT 360 [ FD 1 RT 1]
REPEAT 12 [REPEAT 4 [FD 40 RT 90] RT 30]
• SETFILLCOLOR, SETFC
Περιγραφή
Ορίζει έναν αριθμό (από 0 έως 15), ο οποίος αντιπροσωπεύει το χρώμα της χελώνας
για τις εντολές FILL και POLYGON. Αν δεν έχουμε χρησιμοποιήσει αυτή την
εντολή μέχρι τώρα, το χρώμα γεμίσματος θα είναι το ίδιο με το τρέχον χρώμα του
μολυβιού της χελώνας. Έτσι, η εντολή μάς δίνει τη δυνατότητα να χρησιμοποιήσουμε
διαφορετικά χρώματα για την περίμετρο και το γέμισμα. Όμως, κάθε φορά που
ορίζουμε το χρώμα του μολυβιού με την εντολή SETPENCOLOR, το τρέχον χρώμα
γεμίσματος ορίζεται στο ίδιο χρώμα.
Παράδειγμα
SETFILLCOLOR 11
SETFC 11
• SETPENCOLOR SETPC
Περιγραφή
Καθορίζει το χρώμα της χελώνες όπως ορίζεται από τον αριθμό εισόδου
0 Μαύρο 8 Σκούρο Γκρι
1 Σκούρο Μπλε 9 Μπλε
2 Σκούρο Πράσινο 10 Πράσινο
3 Βαθύ Κυανό 11 Απαλό Κυανό
4 Σκούρο Κόκκινο 12 Κόκκινο
5 Μωβ 13 Απαλό Μωβ
6 Καφέ 14 Κίτρινο
7 Γκρι 15 Λευκό
Παράδειγμα
SETPENCOLOR 9
SETPC 9
6
8. • SETPATTERN
Περιγραφή
Καθορίζει τη μορφή της γραμμής που ζωγραφίζει η χελώνα στην κατάσταση
PENDOWN. Ο αριθμός εισόδου είναι φυσικός από 0 έως 4.
Παράδειγμα
SETPATTERN 0
SETPATTERN 1
SETPATTERN 2
SETPATTERN 3
SETPATTERN 4
• SETHEADING, SETH
Περιγραφή
Καθορίζει τον προσανατολισμό της χελώνας σε μοίρες.
Παράδειγμα
SETHEADING 45
SETH 45
• SETPOS
Περιγραφή
Μετακινεί τη χελώνα στο καρτεσιανό σύστημα συντεταγμένων που ορίζεται από τη
δεδομένη λίστα [X1 Y2]. Η SETPOS δεν αλλάζει την κατεύθυνση της χελώνας. Εάν
το μολύβι της χελώνας είναι PENDOWN, τότε ζωγραφίζει μια γραμμή, καθώς
κινείται σε μια νέα θέση.
Παράδειγμα
SETPOS [-100 100]
• SETX
Περιγραφή
Μετακινεί τη χελώνα οριζόντια από την τρέχουσα θέση της σε μια νέα Χ
συντεταγμένη, οριζόμενη από τον αριθμό. Η SETX δεν αλλάζει την κατεύθυνση της
χελώνας ή τη Υ συντεταγμένη της. Αν το μολύβι της χελώνας είναι PENDOWN,
ζωγραφίζει μια γραμμή, καθώς κινείται προς τη νέα της Χ συντεταγμένη.
Παράδειγμα
SETX -100
• SETY
Περιγραφή
Μετακινεί τη χελώνα κάθετα από την τρέχουσα θέση της σε μια νέα Y συντεταγμένη,
οριζόμενη από τον αριθμό. Η SETY δεν αλλάζει την κατεύθυνση της χελώνας ή τη X
συντεταγμένη της. Αν το μολύβι της χελώνας είναι PENDOWN, ζωγραφίζει μια
γραμμή καθώς κινείται προς τη νέα της Y συντεταγμένη.
Παράδειγμα
SETY -100
7
9. • SETXY
Περιγραφή
Μετακινεί τη χελώνα στο σημείο, οριζόμενη από τη Χ συντεταγμένη και τη Υ
συντεταγμένη. Η SETXΥ δεν αλλάζει τη κατεύθυνσή της. Αν το μολύβι της χελώνας
είναι PENDOWN, ζωγραφίζει μια γραμμή, καθώς κινείται προς τη νέα της θέση.
Παράδειγμα
SETXY -100 -20
• TTEXT, TT
Περιγραφή
Οδηγεί τη χελώνα να τυπώνει στην οθόνη και στην τρέχουσα θέση ένα κείμενο.
Παράδειγμα
TTEXT [Εργασία με Οθόνη]
TT"Εργασία
8
10. Παραδείγματα
Σχήματα Εντολές
rt 90 bk a lt 67 fd b
fd a rt 90 fd a rt 90 fd a rt 90 fd a
ή
repeat 4 [ fd a rt 90 ]
fd a rt 90 fd b rt 90 fd a rt 90 fd b
ή
repeat 2 [ fd a rt 90 fd b rt 90 ]
rt 30 fd a rt 120 fd a rt 120 fd a
ή
rt 30 repeat 3 [ fd a rt 120 ]
rt 30 fd a rt 60 fd a rt 60 fd a rt 120 fd 2a
repeat 360 [ fd 0.5 rt 1 ]
repeat 6 [repeat 360 [fd 0,4 rt 1] rt 60]
repeat 6 [repeat 360 [fd 0,5 rt 1] rt 60 fd 10]
b 670
a
a
a
b
a
a
a
600
2a
9
11. show pos
[ x1 y1 ]
repeat 180 [ fd 0.5 rt 1 ] setx x1
show pos
[ x1 y1 ]
repeat 90 [ fd 0.5 rt 1 ]
show pos
[x2 y2 ]
setxy x2 y1
setx x1
fd a
show pos
[ x1 y1 ]
bk a rt 90 fd b setxy x1 y1
show pos
[ x1 y1 ]
rt 90 repeat 3 [fd a lt 120] lt 60 fd a
show pos
[x2 y2 ]
setxy x2 y1
repeat 4 [fd 60 rt 90 show pos]
[ x1 y1 ]
[x2 y2 ]
[x3 y3 ]
[x4 y4 ]
setxy x3 y3
setxy x2 y2
setxy x4 y4
show pos
[ x1 y1 ]
repeat 180 [fd 0.5 rt 1]
show pos
[x2 y2 ] (d= x2- x1)
repeat 180 [fd 0.5 rt 1]
bk d/2
repeat 4 [fd d rt 90]
repeat 4 [show pos repeat 90[fd 0,5 rt 1] ]
[ x1 y1 ]
[x2 y2 ]
[x3 y3 ]
[x4 y4 ]
setxy x2 y2
setxy x3 y3
setxy x4 y4
setxy x1 y1
x1,y1
x2,y2
x1,y1
x1,y1
a
b
x2,y2
a
x1,y1
x2,y2 x 3,y3
x 4,y4x1,y1
x1,y1 x2,y2
x2,y2
x1,y1 x3,y3
x4,y4
10
12. setpenwidth 2
repeat 4 [ fd a rt 90]
setpenwidth 1
setpattern 2
rt 45 fd b rt 45 fd a pu bk a lt 90 pd fd a
setpattern 0
setpenwidth 2
rt 45 bk b fd b rt 45
repeat 2 [ fd a rt 90]
lt 45 repeat 2 [ fd b rt 135 fd a rt 45]
rt 45
repeat 2 [ fd 40 rt 45 show pos fd 60 rt 135 show pos ]
[ x1 y1 ]
[ x2 y2 ]
[ x3 y3 ]
[ x4 y4 ]
pu fd 20 rt 45 fd 30 lt 90 fd h show pos
[ x0 y0 ]
pd
setxy x2 y2
setxy x0 y0
setpenwidth 2
setxy x1 y1
setxy x4 y4
setxy x0 y0
setxy x3 y3
setxy x4 y4
repeat 45 [fd d1 rt 1]
repeat 90 [fd d2 rt 1] (d2>d1)
repeat 45 [fd d1 rt 1]
setpenwidth 2
bk h
repeat 45 [fd d1 rt 1]
repeat 90 [fd d2 rt 1]
repeat 90 [fd d1 rt 1]
repeat 90 [fd d2 rt 1]
repeat 45 [fd d1 rt 1]
fd h
repeat 45 [fd d1 rt 1]
repeat 90 [fd d2 rt 1]
repeat 45 [fd d1 rt 1]
repeat 6 [fd a rt 60 ]
fd b rt 120 fd a lt 60 fd a bk b lt 60 bk b fd a rt 60 fd b
bk b lt 120 fd a bk b rt 120 fd b bk b lt 60 bk b lt 60 bk
b fd b lt 60 fd b lt 60 fd b lt 60 fd b lt 120 fd b lt 60 fd b
rt 60 fd b rt 60 fd b bk b lt 120 fd b
(b=3*a/4)
x0,y0
x1,y1
x2,y2 x3,y3
x4,y4
h
a
b=a/2
11