ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΜΕ ΤΟ ΑΒΑΚΙΟ
Μικρόκοσμοι και Αβάκιο Μέσω του περιβάλλοντος του Αβακίου κατασκευάζονται εκπαιδευτικά λογισμικά που ονομάζονται μικρόκοσμοι, χωρίς να απαιτείται η γνώση προγραμματισμού Μέσω του περιβάλλοντος του Αβακίου κατασκευάζονται εκπαιδευτικά λογισμικά που ονομάζονται μικρόκοσμοι, χωρίς να απαιτείται η γνώση προγραμματισμού Οι μικρόκοσμοι αποτελούνται από αντικείμενα διαφόρων τύπων που ονομάζονται ψηφίδες. Οι μικρόκοσμοι αποτελούνται από αντικείμενα διαφόρων τύπων που ονομάζονται ψηφίδες.
Ψηφίδες Κάθε ψηφίδα προέρχεται ή ανήκει σε κάποια αρχική κλάση, δηλαδή είναι συγκεκριμένου τύπου. Για παράδειγμα από την κλάση «κείμενο» προέρχονται όλες οι ψηφίδες κειμένου… Κάθε ψηφίδα προέρχεται ή ανήκει σε κάποια αρχική κλάση, δηλαδή είναι συγκεκριμένου τύπου. Για παράδειγμα από την κλάση «κείμενο» προέρχονται όλες οι ψηφίδες κειμένου… Ψηφίδα/Νέα/Δεδομένων (ερώτηση, πίνακας, γράφημα, κλπ.) ή /Διεπαφής χρήστη – UI (κείμενο, κουμπί, ετικέτα, κλπ.) Διαχείριση ψηφίδων, συνδέσμων
Προγραμματισμός LOGO και Αβάκιο 1 Ο προγραμματισμός σε γλώσσα LOGO ακολουθεί τις βασικές αρχές προγραμματισμού και περιλαμβάνει ένα συγκεκριμένο «ρεπερτόριο» εντολών Ο προγραμματισμός σε γλώσσα LOGO ακολουθεί τις βασικές αρχές προγραμματισμού και περιλαμβάνει ένα συγκεκριμένο «ρεπερτόριο» εντολών –Η δομή επιλογής: Αν …=… τότε…=… –Η δομή επανάληψης: –Η δομή επανάληψης: Επανέλαβε 100 φορές :
Προγραμματισμός LOGO και Αβάκιο 2 Eντολές που σχετίζονται αποκλειστικά με τις ψηφίδες ζήτησε “Κείμενο1 [κειμενο.θεσεκειμενο “|Είμαι η LOGO|] ζήτησε "Κείμενο1 [αβ.αποκρυψη] ζήτησε "Κείμενο1 [αβ.αποκατασταση]
Γεγονότα Το Αβάκιο ακολουθεί τη λογική του αντικειμενοστραφούς προγραμματισμού (object oriented), όπου αντικείμενα μπορούν να θεωρηθούν οι ψηφίδες. Το Αβάκιο ακολουθεί τη λογική του αντικειμενοστραφούς προγραμματισμού (object oriented), όπου αντικείμενα μπορούν να θεωρηθούν οι ψηφίδες. Τα «ερεθίσματα» που αναγνωρίζει κάθε ψηφίδα ονομάζονται γεγονότα (events). Τα «ερεθίσματα» που αναγνωρίζει κάθε ψηφίδα ονομάζονται γεγονότα (events). Εργαλεία > Διαχείριση Ψηφίδων > Γεγονότα Πατάμε το κουμπί με το γράμμα “L”, πληκτρολογούμε το πρόγραμμα, πατάμε
Παράδειγμα 1 Εισάγουμε μία ψηφίδα τύπου «Κουμπί» Εισάγουμε μία ψηφίδα τύπου «Κουμπί» Στο γεγονός «Είσοδος ποντικού» της ψηφίδας γράφουμε: ζήτησε "Κορνίζα [αβ.αποκατασταση] Στο γεγονός «Είσοδος ποντικού» της ψηφίδας γράφουμε: ζήτησε "Κορνίζα [αβ.αποκατασταση] Πατάμε Πατάμε Στο γεγονός «Έξοδος ποντικού» της ψηφίδας «Κουμπί» γράφουμε: ζήτησε "Κορνίζα [αβ.αποκρυψη] Στο γεγονός «Έξοδος ποντικού» της ψηφίδας «Κουμπί» γράφουμε: ζήτησε "Κορνίζα [αβ.αποκρυψη] Πατάμε Πατάμε
Παράδειγμα 2 Εισάγουμε μία ψηφίδα τύπου «Κουμπί» Εισάγουμε μία ψηφίδα τύπου «Κουμπί» Εργαλεία > Διαχείριση ψηφίδων>Ιδιότητες Εργαλεία > Διαχείριση ψηφίδων>Ιδιότητες Γράφουμε «Έναρξη» Γράφουμε «Έναρξη» Στο γεγονός «Πραγματοποίηση συμβάντος» Στο γεγονός «Πραγματοποίηση συμβάντος» Προσθέτουμε τον κώδικα που εκτελεί την διαδικασία «Αρχικοποίηση»: Προσθέτουμε τον κώδικα που εκτελεί την διαδικασία «Αρχικοποίηση»: ask “Logo [logo.execute “αρχικοποίηση]
Διαδικασίες Εισάγουμε μια νέα ψηφίδα τύπου Logo (Ψηφίδα > Νέα > Logo > Logo) Εισάγουμε μια νέα ψηφίδα τύπου Logo (Ψηφίδα > Νέα > Logo > Logo) για ΟΝΟΜΑΔΙΑΔΙΚΑΣΙΑΣ για ΟΝΟΜΑΔΙΑΔΙΚΑΣΙΑΣ τέλος τέλος (to … end) (to … end) Για να αναγνωριστεί η Διαδικασία, μαρκάρουμε ολόκληρη την περιοχή (για…τέλος) και πατάμε το πλήκτρο [INS]. Εμφανίζεται το μήνυμα «ΟΝΟΜΑΔΙΑΔΙΚΑΣΙΑΣ defined» Για να αναγνωριστεί η Διαδικασία, μαρκάρουμε ολόκληρη την περιοχή (για…τέλος) και πατάμε το πλήκτρο [INS]. Εμφανίζεται το μήνυμα «ΟΝΟΜΑΔΙΑΔΙΚΑΣΙΑΣ defined»
Παράδειγμα για Κρύψου για Κρύψου ζήτησε "Κορνίζα [αβ.αποκρυψη] ζήτησε "Κορνίζα [αβ.αποκρυψη] τέλος τέλος
Βάσεις δεδομένων Σύστημα δομημένης αποθήκευσης και οργάνωσης δεδομένων Μια ΒΔ μπορεί να περιέχει έναν ή περισσότερους πίνακες (tables). Μια ΒΔ μπορεί να περιέχει έναν ή περισσότερους πίνακες (tables). Σε κάθε πίνακα τα δεδομένα διαχωρίζονται με βάση τα χαρακτηριστικά τους, σε στήλες, οι οποίες ονομάζονται πεδία (fields). Σε κάθε πίνακα τα δεδομένα διαχωρίζονται με βάση τα χαρακτηριστικά τους, σε στήλες, οι οποίες ονομάζονται πεδία (fields). Κάθε γραμμή του πίνακα αποτελεί ένα ενιαίο σύνολο δεδομένων και ονομάζεται εγγραφή (record).
Βάσεις δεδομένων Σύστημα δομημένης αποθήκευσης και οργάνωσης δεδομένων Μια ΒΔ μπορεί να περιέχει έναν ή περισσότερους πίνακες (tables). Μια ΒΔ μπορεί να περιέχει έναν ή περισσότερους πίνακες (tables). Σε κάθε πίνακα τα δεδομένα διαχωρίζονται με βάση τα χαρακτηριστικά τους, σε στήλες, οι οποίες ονομάζονται πεδία (fields). Σε κάθε πίνακα τα δεδομένα διαχωρίζονται με βάση τα χαρακτηριστικά τους, σε στήλες, οι οποίες ονομάζονται πεδία (fields). Κάθε γραμμή του πίνακα αποτελεί ένα ενιαίο σύνολο δεδομένων και ονομάζεται εγγραφή (record).
Επεξεργασία Βάσεων Ψηφίδα> Νέα> Δεδομένων> Βάση Δεδομένων Ψηφίδα> Νέα> Δεδομένων> Επεξεργαστής Βάσεων Εργαλεία>Διαχείριση Συνδέσμων Κλικ στο σύνδεσμο «Βάση Δεδομένων» και drag & drop στο σύνδεσμο «Δημιουργία Βάσης Δεδομένων» Ψηφίδα «Επεξεργαστής Βάσεων» επιλέγουμε: Πίνακας > Νέος Πίνακας
Διάνυσμα ως συνισταμένη δύο διανυσμάτων Ψηφίδα> Νέα> Χειριστήριο> Διάνυσμα
Διάνυσμα ως συνισταμένη δύο διανυσμάτων to Συνισταμένη make "d1x first ask "d1 [vector] ;ανάκτηση της τετμημένης του d1 make "d1y last ask "d1 [vector] ;ανάκτηση της τεταγμένης του d1 make "d2x first ask "d2 [vector] ;ανάκτηση της τετμημένης του d2 make "d2y last ask "d2 [vector] ;ανάκτηση της τεταγμένης του d2 make "d3x :d1x + :d2x ;υπολογισμός τετμημένης της συνισταμένης make "d3y :d1y + :d2y ;υπολογισμός τεταγμένης της συνισταμένης ask "d3 [setvector list :d3x :d3y] ;ενημέρωση της συνισταμένης end
Συμ-μεταβολή Η ψηφίδα «Ολισθητής» Ψηφίδα > Νέα > Διεπαφής χρήστη UI > Ολισθητής
to refreshSliders CalcSliders ;κλήση της διαδικασίας υπολογισμού end to CalcSliders :a :b :c make "newValue1 ask "slider [(slider.value + :a)] ;υπολογισμός νέας τιμής για τον ολισθητή1 make "newValue2 ask "slider [(slider.value * :b)] ;υπολογισμός νέας τιμής για τον ολισθητή2 make "newValue3 ask "slider [(power slider.value :c)] ;υπολογισμός νέας τιμής για τον ολισθητή3 ask "slider-1 [slider.setvalue :newValue1] ;ανάθεση νέας τιμής στον ολισθητή1 ask "slider-2 [slider.setvalue :newValue2] ;ανάθεση νέας τιμής στον ολισθητή2 ask "slider-3 [slider.setvalue :newValue3] ;ανάθεση νέας τιμής στον ολισθητή3 end
Κώδικας_Συμμεταβολή Η διαδικασία «refreshSliders» καλείται μέσα από το γεγονός «Αλλαγή Κατάστασης» της ψηφίδας «slider» με την παρακάτω εντολή: ask “Logo [logo.execute “refreshSliders]
Ιδιότητες αντικειμένων Ψηφίδα > Νέα > Logo > Σκηνή Ψηφίδα > Νέα > Διεπαφής χρήστη UI > Ολισθητής
to changeDimensions ask "κουτί [setheight ask "Ύψος [slider.value]] ;θέτει το ύψος του αντικειμένου ask "κουτί [setwidth ask "Πλάτος [slider.value]] ;Θέτει το πλάτος του αντικειμένου end to changeColor make "χρωμκοκ ask "Κόκκινο [slider.value] ;ανάκτηση της τιμής του "κόκκινου" make "χρωμπρασ ask "Πράσινο [slider.value] ;ανάκτηση της τιμής του "πράσινου" make "χρωμμπλ ask "Μπλέ [slider.value] ;ανάκτηση της τιμής του "μπλε" make "χρωματα list :χρωμκοκ :χρωμπρασ ;δημιουργία λίστας χρωμάτων make "χρωματα sentence :χρωματα :χρωμμπλ ;επέκταση της λίστας για τα 3 χρώματα ask "κουτί [setcolor :χρωματα ] ;αλλαγή του χρώματος του αντικειμένου end
Κώδικας_Ιδιότητες αντικειμένων Η διαδικασία «changeDimensions» καλείται από τις ψηφίδες «Ύψος» και «Πλάτος» στο γεγονός «Αλλαγή κατάστασης» με την εντολή: ask “Logo [logo.execute “changeDimensions] Η διαδικασία «changeColor» καλείται από τις ψηφίδες «Ύψος» και «Πλάτος» στο γεγονός «Αλλαγή κατάστασης» με την εντολή: ask “Logo [logo.execute “changeColor]