Ανάπτυξη Προγράμματος Scrabble για Υπολογιστή στην Ελληνική Γλώσσα

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ανάπτυξη Προγράμματος Scrabble για Υπολογιστή στην Ελληνική Γλώσσα"

Transcript

1 Πανεπιστήμιο Πατρών Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Τομέας Τηλεπικοινωνιών και Τεχνολογίας Πληροφορίας Ανάπτυξη Προγράμματος Scrabble για Υπολογιστή στην Ελληνική Γλώσσα Διπλωματική εργασία του φοιτητή Ζαφειρόπουλου Παναγιώτη Α.Μ Επιβλέπων Καθηγητής: κ. Σγάρμπας Κυριάκος Αριθμός Διπλωματικής:... Πάτρα, Ιούνιος 2012

2 ii

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα: Ανάπτυξη Προγράμματος Scrabble για Υπολογιστή στην Ελληνική Γλώσσα του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Ζαφειρόπουλου Παναγιώτη του Χρήστου (Α.Μ. 5499) Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών στις.. Ο Επιβλέπων Καθηγητής Ο Διευθυντής του τομέα Κυριάκος Σγάρμπας Επίκ. Καθηγητής Νικόλαος Φακωτάκης Καθηγητής i

4 ii

5 ΤΙΤΛΟΣ: Ανάπτυξη Προγράμματος Scrabble για Υπολογιστή στην Ελληνική Γλώσσα ΣΥΓΓΡΑΦΕΑΣ: ΠΑΝΑΓΙΩΤΗΣ Χ. ΖΑΦΕΙΡΟΠΟΥΛΟΣ ΠΕΡΙΛΗΨΗ: Α.Μ.: 5499 Η παρούσα διπλωματική εργασία αφορά στη σχεδίαση και υλοποίηση ενός προγράμματος που θα απεικονίζει το επιτραπέζιο παιχνίδι Scrabble σε αντίστοιχη έκδοση για υπολογιστή, χρησιμοποιώντας αποκλειστικά την ελληνική γλώσσα, τόσο στο λεξιλόγιο όσο και στην απεικόνιση των εντολών και πληροφοριών του παιχνιδιού. Χρησιμοπoιώντας τη γλώσσα προγραμματισμού JAVA, δημιουργήθηκε το γραφικό περιβάλλον της εφαρμογής και στη συνέχεια αναπτύχθηκαν οι αλγόριθμοι που θα καθιστούσαν δυνατή την έναρξη μιας παρτίδας του παιχνιδιού ανάμεσα σε έναν άνθρωπο-παίκτη και στον υπολογιστή. Συγκεκριμένα αναπτύχθηκαν αλγόριθμοι για τη δημιουργία αναγραμματισμών από οποιαδήποτε δοσμένη λέξη, αναζήτησης των βέλτιστων λέξεων για τοποθέτηση στο ταμπλώ, αλλά και αλγόριθμοι υπολογισμού της βαθμολογίας των αντιπάλων. Επίσης αναζητήθηκε και ευρέθη η βέλτιστη λύση αναζήτησης μέσα σε μακροσκελές λεξικό. ABSTRACT: This diploma dissertation presents the design and implementation of a program that outputs the classic board game of Scrabble for use in a computer environment, making exclusive use of the Greek language for the dictionary used, as well as the rest of the information and messages presented throughout the game. Using the JAVA code language, we created the graphic environment of the application and we also developed the algorithms that enabled the proper advance of the game between a human player and the computer. We specifically developed the algorithm of finding the anagrams of any given word, the algorithm of searching for the best word for placing on the board, but also algorithms of calculating the score of both opponents. We also had success in searching and finding the best implementation of traversing through a long dictionary. 3

6 Περιεχόμενα ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ Στόχος της εργασίας Χρησιμότητα Πρακτικές δυσκολίες κατά την υλοποίηση Ιστορία του παιχνιδιού Scrabble Οι αρχαιοελληνικές ρίζες Το Scrabble πολύτιμο εργαλείο για την ανθρωπότητα 18 ΚΕΦΑΛΑΙΟ 2: ΕΦΑΡΜΟΓΗ Εργαλεία ανάπτυξης εφαρμογής Βασική ιδέα υλοποίησης - Αρχικός σχεδιασμός Ελληνική έκδοση Σκραμπλ Δημιουργία λεξικού Ανάλυση αρχείων - αλγορίθμων - μεθόδων Διάγραμμα μπλοκ υλοποίησης 45 ΚΕΦΑΛΑΙΟ 3: ΠΑΡΑΔΕΙΓΜΑΤΑ ΧΡΗΣΗΣ ΚΕΦΑΛΑΙΟ 4: ΓΕΝΙΚΕΣ ΜΕΤΡΗΣΕΙΣ Δημιουργία λεξικού Δημιουργία αναγραμματισμών Έλεγχος ορθότητας λέξεων Ολοκλήρωση κίνησης υπολογιστή 65 ΚΕΦΑΛΑΙΟ 5: ΣΥΜΠΕΡΑΣΜΑΤΑ & ΜΕΛΛΟΝΤΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ ΠΑΡΑΡΤΗΜΑ (Κώδικας Προγράμματος) Π.1 SplashScreen.java 71 Π.2 Input.java 72 4

7 Π.3 MyLettersPanel.java 75 Π.4 ScrabbleStatusBox.java 80 Π.5 ScrabbleBoard.java 83 Π.6 TreeSetDictionary.java 87 Π.7 Anagrams.java 88 Π.8 CreateWordList.java 89 Π.9 CPUTurnToPlay.java 93 Π.10 Επίσημοι Κανόνες Σκραμπλ 99 ΒΙΒΛΙΟΓΡΑΦΙΑ

8 6

9 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ 1.1 Στόχος της εργασίας Στόχος αυτής της εργασίας ήταν η ανάπτυξη ενός προγράμματος το οποίο θα υλοποιεί το επιτραπέζιο παιχνίδι «Scrabble» για χρήση σε υπολογιστή. Να επιτρέπει δηλαδή σε κάποιον χρήστη να παίζει το συγκεκριμένο παιχνίδι μπροστά στην οθόνη ενός υπολογιστή, αλληλεπιδρώντας με αυτόν και αντιμετωπίζοντάς τον ως αντίπαλο προς την επίτευξη της νίκης. Η υλοποίηση του προγράμματος έγινε χρησιμοποιώντας αποκλειστικά την ελληνική γλώσσα και όσο το δυνατόν ολόκληρο το ελληνικό λεξιλόγιο. Αυτό σημαίνει ότι οι λέξεις που θα γίνονται αποδεκτές, θα πρέπει υποχρεωτικά να αποτελούν λήμματα των ελληνικών λεξικών. Το τελικό αποτέλεσμα ένα πρόγραμμα, άμεσα εκτελέσιμο σε υπολογιστή με λειτουργικό Windows και το οποίο επιτρέπει στον χρήστη να παίζει το συγκεκριμένο παιχνίδι. 1.2 Χρησιμότητα Σίγουρα είναι δύσκολο να εξηγήσει κάποιος που αναπτύσσει ένα παιχνίδι τη χρησιμότητά του στο ευρύ κοινό. Όμως, ακριβώς επειδή πρόκειται για ένα «παιχνίδι», δεν έχει τόση σημασία να εξηγήσουμε τη χρησιμότητά του, για παράδειγμα στο κοινωνικό σύνολο, όσο το να κατανοήσουμε τους λόγους που μας οδήγησαν στην ανάπτυξή του. Το παιχνίδι Scrabble αποτελεί εδώ και αρκετά χρόνια ένα από τα αγαπημένα παιχνίδια για ανθρώπους όλων των ηλικιών σε ολόκληρο τον κόσμο. Όμως, παρόλο που είναι γνωστό και στη χώρα μας, δεν έχει υπάρξει μέχρι τώρα μια αξιόλογη 7

10 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ υλοποίηση για υπολογιστή στην ελληνική γλώσσα. Σαφώς και το αποτέλεσμα της παρούσης εργασίας δεν αποτελεί μία βέλτιστη υλοποίηση της συγκεκριμένης ιδέας, όμως αποτελεί έναν καλό προπομπό για παρόμοιες εργασίες στο μέλλον. 1.3 Πρακτικές δυσκολίες κατά την υλοποίηση Η παρούσα υλοποίηση έγινε χρησιμοποιώντας τη γλώσσα προγραμματισμού JAVA. Ως αντικειμενοστραφής γλώσσα, απαιτεί κάποια εξοικείωση, ειδικά από τη στιγμή που αποφασίστηκε να γίνει εκτεταμένη χρήση γραφικών στοιχείων και παραθύρων μηνυμάτων. Μη έχοντας πρότερη εμπειρία από τέτοιου είδους υλοποιήσεις, αντιμετωπίσαμε αρκετές δυσκολίες στην υλοποίηση των διαφόρων αλγορίθμων και συναρτήσεων που απαιτούνται για την εφαρμογή και τη μετατροπή τους από ψευδοκώδικα, ήτοι γλώσσα καταληπτή από το μέσο άνθρωπο, σε γλώσσα προγραμματισμού, που θα επιτρέπει την εκτέλεση αυτών από τον υπολογιστή. Ακόμα ένα εμπόδιο που συναντήσαμε ήταν η εύρεση ενός λεξιλογίου κατάλληλου για χρήση με το πρόγραμμά μας. Αποφασίστηκε να χρησιμοποιήσουμε ως εναρκτήριο σημείο ένα λεξικό που έχει δημιουργηθεί από το Εθνικό Μετσόβιο Πολυτεχνείο [1] και χρησιμοποιείται σε μία διεθνώς καταξιωμένη Σουίτα Εφαρμογών Γραφείου (OpenOffice [2]). Το συγκεκριμένο λεξιλόγιο, αν και ιδιαιτέρως ευρύ και πλήρες, περιλαμβάνει λέξεις σε μορφή μη χρησιμοποιήσιμη από το πρόγραμμά μας. Γι αυτό και έπρεπε να κάνουμε τις απαραίτητες μετατροπές, όπως θα εξηγήσουμε στη συνέχεια. Η πιο σημαντική δυσκολία, όμως, ήταν αναμφίβολα η εύρεση των αλγορίθμων για τη δημιουργία λέξεων, τη δημιουργία λεξικού, την αναζήτησή των λέξεων στο λεξικό κλπ. 1.4 Ιστορία του παιχνιδιού Scrabble Το Scrabble, αναμφισβήτητα ένα από τα πιο γνωστά παιχνίδια παγκοσμίως έχει μία πολύ ενδιαφέρουσα ιστορία, που αξίζει να δούμε, μιας και περισσότερα από 150 εκατομμύρια σετ του επιτραπέζιου αυτού παιχνιδιού έχουν πωληθεί σε 121 χώρες του κόσμου, από την κυκλοφορία του το 1931 μέχρι και σήμερα. 8

11 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Διάσημες προσωπικότητες αγαπούν αυτό το παιχνίδι. Η Μαντόνα, ο Μπάρακ Ομπάμα, ο Μπιλ και η Χίλαρυ Κλίντον, ο Κιάνου Ριβς έχουν δηλώσει ότι παίζουν μανιωδώς, όπως και η Kylie Minogue, o Mel Gibson, o Sting. 9

12 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Οι ηθοποιοί Willie Garson (Sex and the City) και Sarah Chalke (Scrubs) Οι ηθοποιοί Lauren Graham (Gilmore Girls) και Matthew Perry (Friends) Ο ηθοποιός Alec Baldwin Στη Μεγάλη Βρετανία έχει αποκτήσει ιδιαίτερη σημασία, εξαιτίας μιας σύμπτωσης: η Βασίλισσα Ελισάβετ είναι οπαδός του Scrabble και ο γιος της, 10

13 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Πρίγκιπας Κάρολος, γεννήθηκε τη χρονιά που κατοχυρώθηκε η εμπορική ονομασία του Scrabble. [3] Οι Βρετανοί δεν άφησαν απαρατήρητη αυτή τη σύμπτωση. Η Βρετανή καλλιτέχνης Λίζι Σάντερς, το 2008, χρονιά του εορτασμού της 60ής επετείου τόσο του Scrabble όσο και της γέννησης του Πρίγκιπα Καρόλου, φιλοτέχνησε το πορτραίτο του Καρόλου με τα κυβάκια του παιχνιδιού [4]. Η εικόνα του πρίγκιπα Καρόλου φιλοτεχνημένη με τετράγωνα του Scrabble Η ιστορία του Scrabble ξεκινά στις Ηνωμένες Πολιτείες της Αμερικής, από έναν αρχιτέκτονα με αρκετό ελεύθερο χρόνο - άλλωστε μιλάμε για την περίοδο της μεγάλης οικονομικής κρίσης, τη δεκαετία του 1930 τον Άλφρεντ Μόσερ Μπατς (Alfred Mosher Butts [13/04/ /04/1993] [5]). 11

14 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Ο δημιουργός του παιχνιδιού Άλφρεντ Μόσερ Μπατς Ο Μπατς αποφάσισε να φτιάξει ένα επιτραπέζιο παιχνίδι για να ασχολείται με τους φίλους του. Το έπραξε όμως πολύ μεθοδικά. Ανέλυσε τα υπάρχοντα τότε παιχνίδια και κατέληξε ότι διακρίνονται σε τρεις κατηγορίες: Παιχνίδια αριθμών, όπως τα Bingo και Dice (Ζάρια) Παιχνίδια κινήσεων, όπως το Σκάκι και η Ντάμα Παιχνίδια λέξεων, όπως το Anagrams (ένα παιχνίδι αναγραμματισμών) Ο Μπατς λοιπόν θέλησε να σχεδιάσει ένα παιχνίδι που να εμπίπτει και στις τρεις προαναφερθείσες κατηγορίες. Γι αυτό συνδύασε τα χαρακτηριστικά των Αναγραμματισμών και του Σταυρόλεξου. Έτσι δημιούργησε το παιχνίδι με την ελληνικότατη λέξη «LEXIKO», το οποίο λίγο αργότερα μετονόμασε σε «Criss Cross Words» (Διαγωνο-Σταυρόλεξο). Για να κάνει σωστή κατανομή των διαθέσιμων γραμμάτων, ο Μπατς μελέτησε μερικά πρωτοσέλιδα των New York Times και υπολόγισε τη συχνότητα κάθε χαρακτήρα. Είναι εντυπωσιακό και μόνο να σκεφτεί κάποιος ότι αυτή η αρχική ανάλυση και κατανομή των χαρακτήρων, εξακολουθεί να ισχύει ακόμα και σήμερα και να χρησιμοποιείται στο παιχνίδι αυτό, παρά την όποια εξέλιξη. 12

15 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Το αρχικό παιχνίδι Criss-Cross Words, πρόγονος του Scrabble Παρά τις προσπάθειες του Μπατς, όλοι οι παραγωγοί παιχνιδιών της εποχής απέρριψαν την ιδέα του. Όταν όμως γνώρισε τον επιχειρηματία Τζέημς Μπρουνότ (James Brunot), εκείνος αποφάσισε να ασχοληθεί πραγματικά. Οι δυο τους έκαναν κάποιες αλλαγές στους κανονισμούς και στο σχεδιασμό και το σημαντικότερο βρήκαν και το νέο όνομα «Scrabble», που στην αγγλική γλώσσα σήμαινε κάτι σαν «ψηλαφώ φανατικά με τα δάχτυλα». Οι δημιουργοί έλαβαν το δίπλωμα ευρεσιτεχνίας την 1 η Δεκεμβρίου Το παιχνίδι κατοχυρώθηκε επίσημα ως «Scrabble Brand Crossword Game» στις 16 Δεκεμβρίου Από τότε άρχισε η μαζική παραγωγή σε μια μικρή βιοτεχνία στο Κονέκτικατ, όπου εργάζονταν κυρίως φίλοι και παρήγαν 12 σετ κάθε ώρα εργασίας. Τα πρώτα χρόνια δυσκολεύτηκαν αρκετά, αλλά στις αρχές της δεκαετίας του 1950, όπως λέγεται ο Μπρουνότ γνώρισε στις διακοπές του τον 13

16 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ πρόεδρο της εταιρίας Macy, τον Τζακ Στράους, ο οποίος ενθουσιάστηκε με το Scrabble και παρήγγειλε μερικά για το κατάστημά του. Μέσα σε ένα χρόνο «όλοι έπρεπε να παίξουν Scrabble» και ο Στράους πωλούσε 6000 σετ του παιχνιδιού κάθε εβδομάδα. Κι έτσι όλα πήραν το δρόμο τους. Το 1952 οι κατασκευαστές του παιχνιδιού, αντιλαμβανόμενοι την ολοένα αυξανόμενη ζήτηση, σύναψαν συνεργασία με την εταιρία Selchow & Righter, μια από τις πιο γνωστές εταιρίες παιχνιδιών εκείνη την εποχή, η οποία είχε αρνηθεί την παραγωγή του κατά τα αρχικά χρόνια του, με χρόνο ζωής σχεδόν έναν αιώνα, ώστε να αναλάβει την κατασκευή, διανομή και εμπορία του παιχνιδιού σε Η.Π.Α. και Καναδά. Ακόμα και η εταιρία αυτή όμως έπρεπε να αυξήσει δραματικά την παραγωγή της, αφού το Scrabble είχε εξελιχθεί σε φρενίτιδα και οι διαφημίσεις ήταν συνεχείς σε εφημερίδες, περιοδικά και τηλεόραση. Το 1972 η Selchow & Righter αγόρασε από τον Μπρουνότ το εμπορικό σήμα, αποκτώντας έτσι για λογαριασμό τους όλα τα δικαιώματα του Scrabble σε Η.Π.Α. και Καναδά. Το 1986 η Selchow & Righter πωλήθηκε στην COLECO, η οποία χρεοκόπησε τρία χρόνια αργότερα και τα κεφάλαιά της, και κυρίως το εμπορικό σήμα του Scrabble, αγοράστηκαν από την εταιρία Hasbro, τη μεγαλύτερη εταιρία παιχνιδιών στην Αμερική. Σήμερα το παιχνίδι Scrabble είναι γνωστό σε όλον τον κόσμο και υπάρχει σε διάφορες εκδόσεις (Junior, Standard, Deluxe, Travel) και γλώσσες. Υπάρχουν διάφοροι όμιλοι Scrabble που οργανώνουν τουρνουά του παιχνιδιού. Επίσης κάθε 2 14

17 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ χρόνια διοργανώνεται το Παγκόσμιο Πρωτάθλημα Scrabble. Στις Η.Π.Α. έχει εισαχθεί το παιχνίδι αυτό ακόμα και στα σχολεία, ως πρόσθετο μέτρο αντιμετώπισης της νεανικής εγκληματικότητας και της προώθησης του υγιούς συναγωνισμού. Γι αυτό και έχουν αναπτυχθεί εκδόσεις ειδικά για δασκάλους με υπόδειξη τρόπων διδασκαλίας ορθογραφίας. Διοργανώσεις παγκόσμιων διαγωνισμών Scrabble Εφαρμογή διδακτικών μεθόδων με τη χρήση του παιχνιδιού Το παιχνίδι αυτό έφτασε μέχρι τους τηλεοπτικούς δέκτες στη μορφή καθημερινού τηλεπαιχνιδιού στο κανάλι NBC των Η.Π.Α. Η προβολή του διήρκεσε από τον Ιούλιο του 1984 μέχρι τον Ιούνιο του Το «μότο» του τηλεπαιχνιδιού ήταν: «Every man dies. Not every man truly Scrabbles» (Μετάφραση: ο κάθε άνθρωπος ανεξαιρέτως κάποτε πεθαίνει, δεν πρόκειται όμως όλοι ανεξαιρέτως να παίξουν πραγματικά Scrabble). Το 2011 άρχισε να προβάλλεται μια νέα έκδοση του τηλεπαιχνιδιού. Ως επιστέγασμα όλης αυτής της ιστορίας το παιχνίδι Scrabble εισήχθη στο National Toy Hall of Fame το

18 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Το Scrabble ως τηλεπαιχνίδι στην Αμερικανική τηλεόραση τη δεκαετία του 1980 Ο Άλφρεντ Μόσερ Μπατς εύρισκε διαρκή ευχαρίστηση σε μια παρτίδα Scrabble με συγγενείς και φίλους μέχρι τα βαθιά γεράματα, όταν πλέον ζούσε σε ίδρυμα ευγηρίας και αγαπημένη του λιχουδιά, την οποία του έφερνε ο ανιψιός του Ρόμπερτ, ήταν οι γνωστές σοκολατένιες καραμέλες M&M. Πραγματικά ειρωνικό, ο δημιουργός του Scrabble να λατρεύει τις λιχουδιές με ονομασία ένα γράμμα της αλφαβήτου. Ο δημιουργός του παιχνιδιού απεβίωσε πλήρης ημερών το 1993, σε ηλικία 93 ετών [6], [7], [8], [9], [10]. 16

19 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.5 Οι αρχαιοελληνικές ρίζες (Και ο Αχιλλέας έπαιζε Scrabble) Ο Αχιλλέας με τον Αίαντα παίζουν παιχνίδι παρόμοιο με το «αρχέγονο» άθυρμα. Σχηματίζοντας λέξεις προς όλες τις πιθανές κατευθύνσεις (όπως τη λέξη «πνεύμα») μπορούν οι παίκτες να παίξουν με τον πιο απλό τρόπο τον πρόγονο του δημοφιλούς Scrabble Ίσως να φαίνεται εντυπωσιακό και μόνο σαν σκέψη. Αν σκεφτούμε όμως ότι ένα μεγάλο κομμάτι του σημερινού πολιτισμού έχει τις ρίζες της δημιουργίας του στον αρχαίο Ελληνικό, τότε μπορούμε να δεχτούμε μια τέτοια πιθανότητα. Μετά από χρόνια έρευνας, μελέτη αρχαιολογικών ευρημάτων σε αρχαία ελληνικά αγγεία και σε τοιχογραφίες και επίπονη εργασία, ο μελετητής- 17

20 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ οικονομολόγος Γρηγόρης Ζώρζος κατάφερε να ολοκληρώσει την ανακατασκευή ενός αρχαίου παιχνιδιού, το άθυρμα «Αρχέγονα», δηλαδή αρχέγονο παιχνίδι. Το συγκεκριμένο παιχνίδι παιζόταν σε πίνακα με 256 τετράγωνα, με ένα ζάρι και δύο σειρές γραμμάτων διαφορετικού χρώματος, μία για κάθε παίκτη. Είναι λογικό να σκεφτούμε, λοιπόν, ότι πρόκειται για τον πρόγονο του σημερινού Scrabble. Για τα γράμματα-πιόνια του παιχνιδιού είχαν επιλεχθεί «τα 26 πρώιμα ελληνικά γράμματα, το αρχέγονο ή αρχέτυπο αλφάβητο, που είχε αποτυπώσει τις δονήσεις που δεχόταν ο άνθρωπος από τις κοσμικές δυνάμεις», όπως εξηγεί ο κύριος Ζώρζος. Το αλφαβητάριο-άθυρμα ήταν μια από τις τρεις μορφές εκμάθησης της δημιουργίας του κόσμου και η πλέον πολύπλοκη. Συνθέτει τα πρώιμα αρχαιοελληνικά γράμματα με τους αριθμούς και τις κοσμικές δονήσεις και δημιουργεί μια απλή σύνθεση, έτσι ώστε να μπορούν εύκολα όλοι να κατανοήσουν τη σκέψη και τις θεωρίες του Πλάτωνα και του Αριστοτέλη. Απευθύνεται, δε, σε κάθε ηλικία. Από τα παιδιά, που θέλουν να μάθουν το αλφάβητο, μέχρι εκείνους που ερευνούν το βαθύτερο νόημα της ύπαρξης της ζωής μέσα από τις παρακαταθήκες των αρχαίων Ελλήνων φιλοσόφων. Όσο για το ζάρι που καθοδηγεί τις κινήσεις των παικτών, συμβολίζει τις τέσσερις διαστάσεις του κόσμου. Το μήκος, το πλάτος, το ύψος και τον χρόνο [11]. 1.6 Το Scrabble πολύτιμο εργαλείο για την ανθρωπότητα Υπάρχει ακόμα ένα ενδιαφέρον αν και άγνωστο στο ευρύ κοινό στοιχείο από τον άνθρωπο Άλφρεντ Μπατς. Όπως παραδέχτηκε ο ίδιος σε στενό του φίλο προς το τέλος της ζωής του, όταν παρίστατο ως τιμώμενο πρόσωπο σε διεθνές τουρνουά Scrabble, ήταν πολύ κακός στην ορθογραφία. Παίζοντας το παιχνίδι που ο ίδιος δημιούργησε, βοηθήθηκε πολύ στη διόρθωση της δυσκολίας του αυτής. Γίνεται, λοιπόν, κατανοητός ο λόγος που έχουν φτάσει σήμερα τα παιχνίδια λέξεων, με κυριότερο βέβαια το Scrabble, να αποτελούν αναπόσπαστο κομμάτι στη διδασκαλία στα σχολεία σε αρκετές χώρες του κόσμου. Αρκετοί δάσκαλοι χρησιμοποιούν το παιχνίδι ως εκπαιδευτικό μέσο και εξηγούν το γιατί: «Το Scrabble δεν βοηθά μόνο στην ανάπτυξη του λεξιλογίου και την ορθογραφία των λέξεων. Οι μαθητές επίσης ασκούνται στα μαθηματικά, υπολογίζοντας τους βαθμούς των λέξεων και μαθαίνουν να συνεργάζονται στα πλαίσια μιας ομάδας», όπως αναφέρει σε έρευνα που έγινε στις Η.Π.Α. η εκπαιδευτικός Λόρι Γουίλκι [13]. Πρόκειται για ένα παιχνίδι που απαιτεί μεγάλη συγκέντρωση και μπορεί να ακούγεται ως κάτι υπερβολικό για παιδιά μικρής ηλικίας. Όμως αποδεικνύεται στην πράξη πως τα παιδιά «εθίζονται», σχεδόν, με το Scrabble και το αγαπούν, ειδικά όταν τους επιτρέπεται στα πρώτα τους βήματα με την ενασχόληση με το παιχνίδι να χρησιμοποιούν και ένα λεξικό. Έτσι ανεβαίνει η αυτοπεποίθησή τους και εμβαθύνουν ακόμα περισσότερο. Επίσης, σύμφωνα με την εργασία του σπουδαστή Γλωσσολογίας Βιτάλι Βοΐνοφ, από το πανεπιστήμιο του Τέξας Άρλινγκτον («University of Texas at Arlington») και η οποία παρουσιάστηκε στο πανεπιστήμιο της Καλιφόρνια στο Λος 18

21 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Άντζελες («UCLA - University of California, Los Angeles») [12], το παιχνίδι Scrabble μπορεί να χρησιμοποιηθεί ως εργαλείο διάσωσης μιας γλώσσας που απειλείται με εξαφάνιση. Η συγκεκριμένη εργασία ασχολήθηκε με τη γλώσσα που ομιλούνταν μέχρι τα τελευταία χρόνια στη Δημοκρατία της Τιβά, στη νότια Σιβηρία. Όπως αναφέρεται, η εξάπλωση των τηλεπικοινωνιών, όπως το διαδίκτυο, αλλά και η τηλεόραση έχουν φέρει πλέον τις αγγλόφωνες εκπομπές σε ολόκληρο τον πλανήτη. Όταν όμως ένα παιδί, στην ηλικία της ανάπτυξης ακόμα, με το πάτημα ενός κουμπιού φεύγει από το περιβάλλον του και μεταφέρεται σε έναν κόσμο με τον Μίκυ Μάους, τα Πόκεμον και τους άλλους γνωστούς παιδικούς ήρωες, τότε αμέσως δημιουργείται πρόβλημα και πολύ σύντομα θα ξεχαστούν η ιστορία, αλλά κυρίως η γλώσσα του τόπου του. Εκεί έρχονται τα παιχνίδια λέξεων τα οποία, μεταφρασμένα σε αντίστοιχη έκδοση για κάθε χώρα και γλώσσα, μπορούν να βοηθήσουν στη διατήρηση του λεξιλογίου. Και φυσικά υπάρχει και η άλλη διάσταση, ότι, δηλαδή, η μετάφραση του παιχνιδιού σε μια συγκεκριμένη γλώσσα ανεβάζει τη σημασία και την αναγνωρισιμότητα της γλώσσας. Μια τελευταία διάσταση στη χρησιμότητα του παιχνιδιού Scrabble, έρχεται να προσθέσει η αναφορά ενός μαθητή σε εργασία του, η οποία δημοσιεύτηκε στο διαδίκτυο [14]. Αναφέρεται, λοιπόν, ότι σε ευρύτερο επίπεδο η ενασχόληση με το Scrabble μπορεί δυνητικά να σώσει το οικοσύστημα. Οι τηλεοπτικοί δέκτες καταναλώνουν ενέργεια περίπου 300 κιλοβάτ την ώρα, τριπλάσια ποσότητα από ένα μεγάλο ψυγείο. Ένας φορητός υπολογιστής ο οποίος μένει ανοικτός 24 ώρες το 24ωρο, μέσα σε έναν χρόνο θα έχει καταναλώσει 1800 κιλοβατώρες! Δύο ώρες καθημερινά ενασχόληση με το Scrabble, κλείνοντας τηλεόραση και υπολογιστή, εξοικονομεί τεράστια ποσά ενέργειας για όλον τον χρόνο. Η χρήση του Scrabble ως μέσο εξοικονόμησης ενέργειας, είναι κάτι διασκεδαστικό, οικονομικό και διαθέσιμο στον καθένα, εκτός του ότι αυξάνει την εγκεφαλική δραστηριότητα. 19

22 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 20

23 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ ΚΕΦΑΛΑΙΟ 2: ΕΦΑΡΜΟΓΗ 2.1 Εργαλεία ανάπτυξης εφαρμογής Όπως αναφέραμε, η ανάπτυξη της εφαρμογής έγινε χρησιμοποιώντας τη γλώσσα προγραμματισμού JAVA, με τη βοήθεια του προγράμματος NetBeans. Η επιλογή της συγκεκριμένης γλώσσας έγινε κυρίως γιατί πρόκειται για αρκετά «απλή» γλώσσα και κατανοητή για κάποιον χωρίς ιδιαίτερα μεγάλες γνώσεις προγραμματισμού. Επίσης η Java προσφέρει πληθώρα έτοιμων βιβλιοθηκών, οι οποίες μπορούν να προσαρμοστούν χωρίς προβλήματα στις ανάγκες του προγραμματιστή. Επιπλέον, πρόκειται για μία γλώσσα που κάνει δυνατή τη γραφική απεικόνιση στοιχείων, κάτι που είναι προτιμότερο από το να αναπτύξουμε ένα τέτοιο παιχνίδι ώστε να εκτελείται σε ένα μαύρο παράθυρο DOS. Φυσικά έχουν υπάρξει τέτοιες υλοποιήσεις στο παρελθόν και μάλιστα αρκετά επιτυχημένες, αλλά θεωρήθηκε σωστό σε μία εποχή που κυριαρχούν τα όμορφα γραφικά και εικόνες και η αλληλεπίδραση ανθρώπου-υπολογιστή έχει κάνει τεράστια βήματα προς μια πιο εύληπτη και προσιτή άποψη, να αναπτύξουμε μία εφαρμογή με κύριο γνώμονα μια πιο ορθή γραφική απεικόνιση. Η επιλογή του προγράμματος NetBeans, επίσης δεν ήταν καθόλου τυχαία. Οι αρχικές προσπάθειες έγιναν χρησιμοποιώντας το αντίστοιχο (και πιο διαδεδομένο ίσως) πρόγραμμα Eclipse. Σύντομα όμως αποδείχτηκε ότι το συγκεκριμένο πρόγραμμα προορίζεται για πιο έμπειρους προγραμματιστές. Αντίθετα το NetBeans, είναι αρκετά πιο κατανοητό και προσιτό. Πρόκειται για δωρεάν διατιθέμενο πρόγραμμα, το οποίο επίσης εξελίσσεται συνεχώς. Στην εφαρμογή μας αποδείχτηκε υπερπολύτιμο και για έναν άλλο λόγο. Δίνει τη δυνατότητα να σχεδιάσουμε τα παράθυρα που θα εμφανίζονται στο χρήστη με τα γραφικά τους, σχεδιάζοντας αυτά ακριβώς τα παράθυρα, σαν απλή «ζωγραφική», προτού ακόμα εντρυφήσουμε στον κώδικα υλοποίησής τους. Είχαμε έτσι τη δυνατότητα να φέρουμε κάθε εικόνα ακριβώς στις απαιτήσεις μας, χωρίς να χρειάζονται δοκιμές επί δοκιμών. Εκτός αυτού, φυσικά πρόκειται για ένα πολύ εύχρηστο πρόγραμμα, το οποίο βοηθά στην άμεση πρόβλεψη και επίλυση των προβλημάτων στον κώδικα που αναπτύσσουμε. Προτείνει τις βέλτιστες διορθώσεις και σημειώνει τα κομμάτια που δημιουργούν πρόβλημα, έτσι ώστε ο προγραμματιστής να μπορεί να τα διορθώσει χωρίς κόπο. 21

24 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Ανάπτυξη κώδικα στο πρόγραμμα NetBeans 22

25 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Χρήση εύχρηστων φορμών για τη δημιουργία γραφικών, χωρίς την ανάγκη συγγραφής κώδικα προγραμματισμού 2.2 Βασική ιδέα υλοποίησης - Αρχικός σχεδιασμός Όπως είναι φυσικό, κατά την αρχικό σχεδιασμό της εφαρμογής, το σημείο αναφοράς ήταν το κεντρικό πάνελ (board) του παιχνιδιού, καθώς όλα θα κινούνταν γύρω από αυτό, μιας και αυτό είναι το κεντρικό παράθυρο που ενδιαφέρει τον παίκτη. Αυτό θα έπρεπε να είναι χωρισμένο σε 15x15 τετράγωνα, όπου θα μπορούν να τοποθετηθούν τα γράμματα των λέξεων. Δίπλα από το board θα υπάρχει ένα παράθυρο, στο οποίο θα φαίνονται χρήσιμες πληροφορίες, όπως η βαθμολογία των παικτών, οι λέξεις που τοποθετούνται, οι οδηγίες του παιχνιδιού κλπ. Το τρίτο πλαίσιο που συμπληρώνει το κεντρικό παράθυρο του παιχνιδιού είναι το πλαίσιο όπου ο παίκτης θα βλέπει τα γράμματά του και θα μπορεί να τα αναδιατάξει, ώστε να σχηματίσει πιο εύκολα τις πιθανές λέξεις. Το πρόγραμμα θα συμπληρώνεται από συμπληρωματικά παράθυρα και πλαίσια διαλόγου, όπως η οθόνη καλωσορίσματος, το πλαίσιο εισαγωγής ονόματος και συμπληρωματικών στοιχείων, οι οδηγίες του παιχνιδιού κλπ. Μετά τη σκέψη και το σχεδιασμό σε χαρτί των παραπάνω παραθύρων, ώστε να καθορίσουμε το πώς θέλουμε να εμφανίζονται, έπρεπε να ασχοληθούμε με το σημαντικότερο ίσως κομμάτι της εφαρμογής, το οποίο όμως δεν γίνεται αντιληπτό 23

26 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ από τον χρήστη-παίκτη. Αυτό έχει να κάνει με τους απαιτούμενους αλγορίθμους. Οι βασικοί αλγόριθμοι που χρειάζονται είναι: Έλεγχος ορθότητας τοποθετημένης λέξης (Παίκτης & Υπολογιστής) Υπολογισμός βαθμολογίας λέξης (Παίκτης & Υπολογιστής) Δημιουργία λέξης (βέλτιστης ή μη) από τα διαθέσιμα γράμματα (Υπολογιστής) Τοποθέτηση λέξης στο board (Υπολογιστής) Η ιδέα και η υλοποίηση όλων των αλγορίθμων θα αναλυθεί εκτενώς. 2.3 Ελληνική έκδοση Σκραμπλ Η ελληνική έκδοση έχει 104 γράμματα: 65 γράμματα που παίρνουν 1 πόντο: Α (12), Ε (8), Η (7), Ι (8), Ν (6), Ο (9), Σ (7), Τα (8) 17 γράμματα που παίρνουν 2 πόντους: Κ (4), Π (4), Ρ (5), Υ (4) 9 γράμματα που παίρνουν 3 πόντους: Λ (3), Μ (3), Ω (3) 4 γράμματα που παίρνουν 4 πόντους: Γ (2), Δ (2) 3 γράμματα που παίρνουν 8 πόντους: Β (1), Φ (1), Χ (1) 4 γράμματα που παίρνουν 10 πόντους: Ζ (1), Θ (1), Χ (1), Ψ (1) 2 λευκά (χρησιμοποιούνται σαν μπαλαντέρ) που δεν παίρνουν κανέναν πόντο 2.4 Δημιουργία λεξικού Όπως είπαμε νωρίτερα το αρχικό λεξικό που χρησιμοποιήσαμε χρειαζόταν κάποιες τροποποιήσεις για να γίνει αξιοποιήσιμο από την εφαρμογή μας. Το αρχείο που χρησιμοποιήσαμε ήταν ένα αρχείο κειμένου με μια λίστα λέξεων ταξινομημένων αλφαβητικά. Το μόνο πρόβλημα όμως ήταν ότι οι λέξεις αυτές, επειδή ακριβώς χρησιμοποιούνται σε Σουίτα Εφαρμογών Γραφείου, βρισκόταν σε μορφή που περιείχε τις λέξεις σε «μικρά» γράμματα και όχι σε κεφαλαία, όπως θέλαμε εμείς. Αποφασίσαμε λοιπόν να χρησιμοποιήσουμε ένα πρόγραμμα επεξεργαστή κειμένου όπως το απλό Σημειωματάριο των Windows, αλλά λίγο πιο ενισχυμένο. Το πρόγραμμα αυτό ήταν το «NotePad++», το οποίο είναι ανοιχτού-κώδικα (opensource) [15]. Με το πρόγραμμα αυτό δημιουργήσαμε ένα «πακέτο» (script) πολλαπλής αντικατάστασης. Φτιάξαμε μια λίστα με όλους τους πεζούς χαρακτήρες 24

27 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ και την αντιστοίχισή τους σε κεφαλαίους, συμπεριλαμβάνοντας και τους τονισμένους, τα διαλυτικά, αλλά και το τελικό «Σ». Ενεργοποιώντας αυτή τη διαδικασία οι λέξεις μετατράπηκαν σε λέξεις μόνο με κεφαλαία γράμματα. Στη συνέχεια, με ένα αντίστοιχο script, αλλάξαμε τη μορφή της λίστας. Επειδή η μορφή σε πλήρη στοίχιση με ένα κενό μεταξύ των λέξεων δεν μας εξυπηρετούσε, αντικαταστήσαμε το κενό με την «εισαγωγή γραμμής». Έτσι καταλήξαμε με μια λίστα λέξεων όπου η κάθε λέξη βρίσκεται σε ξεχωριστή γραμμή στο αρχείο κειμένου. Το γεγονός ότι η αρχική λίστα βρισκόταν ταξινομημένη αλφαβητικά μας βοήθησε ώστε να μη χρειαστεί περαιτέρω επεξεργασία. 2.5 Ανάλυση αρχείων αλγορίθμων μεθόδων Στην παρούσα ενότητα θα αναλυθεί το κύριο μέρος της εφαρμογής, επεξηγώντας τα σημαντικότερα τμήματα του κώδικα που αναπτύχθηκε. Αρχικά θα δούμε τις διακριτές κλάσεις, χωρισμένες σε αρχεία, στη συνέχεια τις μεθόδους και τις δομές της γλώσσας JAVA που χρησιμοποιήσαμε, επεξηγώντας τους λόγους που μας οδήγησαν σε συγκεκριμένες επιλογές έναντι άλλων και τελικά θα αναλύσουμε τους αλγόριθμους που χρησιμοποιήθηκαν. Κλάση SplashScreen.java Με την εκτέλεση του προγράμματος η πρώτη κλάση που εκτελείται είναι η SplashScreen.java από το αρχείο με το ίδιο όνομα. Η συγκεκριμένη κλάση δεν έχει πολλές λειτουργίες, αλλά λίγες και σημαντικές. Αρχικά, αναγνωρίζει την ανάλυση της οθόνης στην οποία εκτελείται το πρόγραμμα. Αυτό γίνεται επειδή για να εκτελεστεί το συγκεκριμένο πρόγραμμα, υπάρχει ως ελάχιστο απαιτούμενο η κάθετη ανάλυση της οθόνης να είναι 590 εικονοστοιχεία (pixels). Θεωρήθηκε κατά τον σχεδιασμό του προγράμματος ότι για την καθαρή απεικόνιση το ελάχιστο μέγεθος του παραθύρου που περιλαμβάνει το Board θα πρέπει να είναι στα 600 εικονοστοιχεία, άρα για να μπορεί να απεικονιστεί αυτό, θέσαμε την συγκεκριμένη κάθετη ανάλυση ως προαπαιτούμενη. Επίσης η συγκεκριμένη κλάση απεικονίζει το αρχικό παράθυρο της εφαρμογής με τον τίτλο, όπως οι περισσότερες εφαρμογές που κυκλοφορούν σήμερα, και δίνει εντολή να εκτελεστεί η επόμενη κλάση Input.java. Τέλος, αρχικοποιεί το λεξικό της εφαρμογής. Αυτή η επιλογή μας θα αναλυθεί πιο κάτω. Κλάση Input.java Η συγκεκριμένη κλάση εμφανίζει το παράθυρο εισαγωγής στοιχείων από τον χρήστη. Στην παρούσα έκδοση της εφαρμογής, ο χρήστης εισάγει απλά το όνομα με 25

28 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ το οποίο επιθυμεί να παίξει και πατάει το πλήκτρο «Εντάξει» για να συνεχίσει ή «Κλείσιμο», αν, για οποιονδήποτε λόγο, επιθυμεί να τερματίσει την εφαρμογή. Κατά την ανάπτυξη του προγράμματος υπήρχε η σκέψη και για άλλες επιλογές, οι οποίες θεωρήθηκε προτιμότερο να παραλειφθούν στη συγκεκριμένη φάση, μπορούν όμως να προστεθούν σε μελλοντικές εκδόσεις. Η σημαντικότερη ίσως επιλογή, πάνω στην οποία μπορεί να γίνει περαιτέρω ανάλυση, είναι η επιλογή επιπέδου δυσκολίας. Μπορεί κάποιος να αναρωτηθεί, προφανώς, πώς είναι δυνατόν να έχει παραλειφθεί μια τέτοια επιλογή ακόμα και στην αρχική έκδοση αυτού του προγράμματος. Πρόκειται για παιχνίδι βαθμολόγησης λέξεων, άρα θα πρέπει να δίνουμε την επιλογή στον παίκτη να επιλέξει το πόσο «έξυπνος» και «διορατικός» θα είναι ο υπολογιστής αντίπαλος. Μετά από αρκετές δοκιμές, όμως, διαπιστώθηκε ότι ο αντίπαλος έχει ικανοποιητικό επίπεδο δυσκολίας, ίσως και σχετικά δύσκολο για κάποιους. Σίγουρα στο μέλλον μπορεί να προστεθεί και κάποιο πολύ εύκολο ή πολύ δύσκολο επίπεδο δυσκολίας. Η διαδικασία αυτή θα γίνει κατανοητή σίγουρα όταν αναλύσουμε τον αλγόριθμο με τον οποίο αποφασίζει ο υπολογιστής την επόμενη κίνησή του. Επίσης, άλλες δυνατές επιλογές που μπορούν να προστεθούν είναι το αν ο παίκτης θέλει να βλέπει και ο ίδιος τα γράμματα του υπολογιστή με τα οποία προσπαθεί να σχηματίσει λέξεις, όπως επίσης και ο χρόνος τερματισμού του παιχνιδιού. Στην παρούσα έκδοση το παιχνίδι τελειώνει όπως και με τους επίσημους κανόνες, δηλαδή όταν τελειώσουν τα γράμματα και δεν μπορούν να σχηματιστούν νέες λέξεις. Θα πρέπει όμως να υπάρξει και επιλογή για τερματισμό σε συγκεκριμένο αριθμό λέξεων ή αριθμό κινήσεων η ακόμα και σε συγκεκριμένο χρονικό όριο. Μια άλλη λειτουργία που επιτελεί η συγκεκριμένη κλάση είναι η αρχικοποίηση των απαραίτητων πινάκων για την εκτέλεση του προγράμματος. Η αρχικοποίηση αυτών των πινάκων γίνεται σε αυτή τη στιγμή, επειδή οι πίνακες αυτοί θα μεταβάλλονται συνεχώς και, άρα, θέλουμε να δημιουργηθούν με το ξεκίνημα του προγράμματος με αρχικές τιμές που θα θέσουμε εμείς, ώστε να μην υπάρξει πρόβλημα κατά την πρώτη προσπάθεια μεταβολής τους. Όταν ο παίκτης πατήσει το πλήκτρο «Εντάξει», αφού ελεγχθεί ότι έχει εισάγει κάποιο όνομα, ειδάλλως θα προειδοποιηθεί για το λάθος του και θα κληθεί να το διορθώσει, δημιουργούνται τα επόμενα τρία βασικά παράθυρα της εφαρμογής, εκτελώντας τις αντίστοιχες κλάσεις τους. Κλάση MyLettersPanel.java Ευθύνη της συγκεκριμένης κλάσης είναι η απεικόνιση του πάνελ το οποίο περιλαμβάνει τις θέσεις όπου θα εμφανίζονται τα γράμματα του παίκτη και τα οποία θα μπορεί να αναδιατάξει, ώστε να σχηματίσει τις πιθανές λέξεις. Στη συγκεκριμένη κλάση αρχικοποιούνται οι απαραίτητες μεταβλητές, όπως επίσης και το σύνολο των διαθέσιμων γραμμάτων για το παιχνίδι. Υλοποιείται 26

29 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ δηλαδή σε γλώσσα υπολογιστή ο γνωστός «σάκος» του παιχνιδιού που περιλαμβάνει τα 104 γράμματα, με τα οποία θα παίξουν οι παίκτες. Μία ακόμα λειτουργία είναι η απόδοση των γραμμάτων στους παίκτες με ταυτόχρονη, φυσικά, αφαίρεση από το σύνολο των γραμμάτων. Υπάρχει, ακόμα, το πλήκτρο «Αλλαγή Γραμμάτων», με το οποίο ο παίκτης αλλάζει τα γράμματα, όταν δεν μπορεί να σχηματίσει λέξη, παραδίδοντας τη σειρά του στον αντίπαλο, αλλά και συμπληρώνει τα κενά γράμματα, όταν παίξει επιτυχώς μια λέξη. Επιπροσθέτως, αναπτύσσονται οι μέθοδοι που θα επιτρέπουν στην εφαρμογή να απεικονίζει σωστά τα γράμματα, όσο αυτά θα μετακινούνται. Επειδή η υλοποίηση σε JAVA δημιούργησε αρκετά προβλήματα, η καλύτερη λύση που δόθηκε για την ανανέωση του παραθύρου και την απεικόνιση των αλλαγών στα κουτιά με τα γράμματα, ήταν η ανανέωση με την κίνηση του ποντικιού πάνω στο παράθυρο. Όταν δηλαδή υπάρξει αλλαγή σε κάποιο γράμμα στο συγκεκριμένο πάνελ, δεν μπορεί να ανανεωθεί αυτόματα, αλλά μόνο όταν κινήσουμε το ποντίκι του υπολογιστή πάνω από το πάνελ. Κλάση ScrabbleStatusBox.java Με την συγκεκριμένη κλάση υλοποιείται το παράθυρο πληροφοριών του παιχνιδιού. Εδώ φαίνεται η αθροιστική βαθμολογία των δύο αντιπάλων, όπως και ο αριθμός των αποδεκτών λέξεων που έχουν σχηματίσει, αλλά και η λέξη που σχηματίστηκε κατά την τελευταία κίνηση. Επίσης υπάρχει και το πλήκτρο που οδηγεί στο αρχείο με τις οδηγίες του παιχνιδιού. Ακόμα υπάρχει το πλήκτρο «ΠΑΙΞΕ» που πατά ο παίκτης, όταν τοποθετήσει τη λέξη του στο κεντρικό πάνελ και επιθυμεί να υπολογιστεί η βαθμολογία του, συνεχίζοντας έτσι το παιχνίδι. Φυσικά, υπάρχει και το πλήκτρο τερματισμού και εξόδου από το παιχνίδι. Κλάση ScrabbleBoard.java Με την κλάση αυτή παρουσιάζεται το κεντρικό πάνελ του παιχνιδιού. Η κλάση ScrabbleBoard είναι υπεύθυνη για την εμφάνιση τόσο του πάνελ, όσο και των γραμμάτων που θα τοποθετούνται. Αρχικά με την εμφάνιση του πάνελ χρωματίζονται με χαρακτηριστικά χρώματα τα ειδικά τετράγωνα για να καταδείξουν τις θέσεις που δίνουν περισσότερους βαθμούς στον παίκτη που θα τοποθετήσει σε αυτές τα γράμματά του. Στη συνέχεια, κατά την τοποθέτηση των γραμμάτων, η κλάση με τις μεθόδους της αναλαμβάνει τη σωστή απεικόνιση των νέων γραμμάτων, αλλά και την αφαίρεσή τους και την επιστροφή στον παίκτη, αν δεν είναι αποδεκτή η λέξη. Αυτό γίνεται χρησιμοποιώντας τις εικόνες των γραμμάτων που έχουμε εισάγει στη βιβλιοθήκη της εφαρμογής, ώστε οι χαρακτήρες πάνω στα τετράγωνα να εμφανίζονται σαν πραγματικά τετράγωνα του παιχνιδιού, με τους βαθμούς που αποδίδει κάθε γράμμα. 27

30 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Κλάση TreeSetDictionary.java Η συγκεκριμένη κλάση επιτελεί μία μοναδική, αλλά και σημαντικότατη εργασία. Είναι υπεύθυνη για τη δημιουργία του λεξιλογίου το οποίο θα αποτελεί τη λίστα με τις αποδεκτές λέξεις για το παιχνίδι. Όπως αναφέραμε νωρίτερα, το αρχικό λεξιλόγιο που χρησιμοποιήσαμε είναι μια λίστα λέξεων που δημιουργήθηκε από το Εθνικό Μετσόβιο Πολυτεχνείο και χρησιμοποιείται στη Σουίτα OpenOffice. Η λίστα όμως αυτή, μιας και πρόκειται για μια μακροσκελή λίστα λέξεων, έπρεπε να μετατραπεί σε μορφή κατάλληλη που να επιτρέπει την ταχύτατη προσπέλαση και αναζήτηση, αφού θα χρησιμοποιείται πολλές φορές σε κάθε κίνηση των παικτών. Κατά την εκτέλεση της κλάσης αυτής λοιπόν, το αρχείο μετατρέπεται σε ένα TreeSet, όπως θα αναλύσουμε παρακάτω. Κλάση Anagrams.java Με την κλάση αυτή αναζητούνται κάθε φορά που παίζει ο υπολογιστής οι αναγραμματισμοί των διαθέσιμων γραμμάτων, ώστε να σχηματιστούν όλες οι πιθανές λέξεις. Κλάση CreateWordsList.java Στην κλάση αυτή ελέγχεται το Board για τις λέξεις που περιέχει. Αυτές τοποθετούνται σε μια λίστα για έλεγχο σε σχέση με το λεξικό. Συγκρίνονται, λοιπόν οι λέξεις αυτές με το λεξικό, κι αν είναι σωστές δίνονται οι βαθμοί στον παίκτη και συνεχίζεται το παιχνίδι. Κλάση CPUTurnToPlay.java Η συγκεκριμένη κλάση είναι υπεύθυνη για την κίνηση που θα αποφασίσει να κάνει ο υπολογιστής. Αρχικά, αναζητά τις θέσεις που μπορούν να τοποθετηθούν νέες λέξεις. Στη συνέχεια χρησιμοποιούνται τα διαθέσιμα γράμματα για το σχηματισμό αναγραμματισμών, τοποθετούνται όλες οι υποψήφιες λέξεις σε λίστα, η οποία μπορεί να ταξινομηθεί με βάση τους βαθμούς που θα αποφέρει στον υπολογιστή, και στη συνέχεια τοποθετείται η λέξη που αποτελεί την τελική επιλογή στο Board, δίνοντας τους βαθμούς στον υπολογιστή. 28

31 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ ΑΛΓΟΡΙΘΜΟΙ Έλεγχος ορθότητας τοποθετημένης λέξης Κατά την έναρξη του παιχνιδιού δημιουργούνται δυο πίνακες για το Board του παιχνιδιού: ο boardarray και ο boardarrayflag. Και οι δυο έχουν τις διαστάσεις του Board, δηλαδή 15x15. Ο πίνακας boardarray περιέχει τα γράμματα που τοποθετούνται στο ταμπλώ. Ο πίνακας boardarrayflag δείχνει σε ποια τετράγωνα τοποθετήθηκαν γράμματα κατά την τελευταία κίνηση. Δηλαδή, όταν ο παίκτης τοποθετήσει τα γράμματά του, σε κάθε τετράγωνο που αφήνει ένα γράμμα «υψώνεται σημαία», δηλαδή τοποθετείται στο αντίστοιχο κελί του boardarrayflag μια σημαία, ένας προκαθορισμένος χαρακτήρας (για εμάς το θαυμαστικό «!»). Όταν τελειώσει η κίνηση, είτε θετικά με τον παίκτη να παίρνει τους βαθμούς, είτε αρνητικά με λάθος λέξη, άρα να επιστρέφονται τα γράμματα, ο πίνακας αδειάζει, φεύγουν όλες οι «σημαίες», ώστε κατά την επόμενη κίνηση να μην παραμείνουν υπολείμματα προηγούμενων κινήσεων. Πίνακας BoardArray πριν την τοποθέτηση της λέξης μας Μ Γ Α Τ Α Τ Ι 29

32 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Πίνακας BoardArray μετά την τοποθέτηση της λέξης μας Τ Α Μ Γ Α Τ Α Μ Α Τ Ι Πίνακας BoardArrayFlag πριν την τοποθέτηση της λέξης μας 30

33 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Πίνακας BoardArrayFlag μετά την τοποθέτηση της λέξης μας!!!! Όταν, λοιπόν, ξεκινήσει ο έλεγχος για τις λέξεις που σχηματίστηκαν κατά την τελευταία κίνηση, θα ελεγχθούν πρώτα τα κελιά του boardarrayflag που έχουν «σημαία». Για κάθε επισημασμένο κελί, θα ελεγχθούν τα διπλανά του (στο αντίστοιχο στο boardarray, όμως) για να διαπιστωθεί αν περιέχουν κάποιο γράμμα. Αν περιέχεται γράμμα, αυτό σημαίνει ότι χρησιμοποιήσαμε κάποιο προϋπάρχον γράμμα για να συμπληρώσουμε τη λέξη μας. Αν δεν υπάρχει γράμμα, αλλά στο boardarrayflag υπάρχει άλλη σημαία, τότε προχωράμε, καθώς κι εκεί έχουμε τοποθετήσει εμείς νέο γράμμα. Όταν φτάσουμε στην τελευταία σημαία και δίπλα υπάρχει κενό, τόσο στον boardarrayflag, όσο και στον boardarray, τότε προκύπτει ότι βρήκαμε την αρχή της λέξης που τοποθετήσαμε. Κάνουμε την ίδια διαδικασία και για το τέλος της λέξης. Όταν βρούμε ολόκληρη την λέξη, την τοποθετούμε σε μια ArrayList την οποία έχουμε ονομάσει wordlist. Ο έλεγχος συνεχίζεται για τις επόμενες λέξεις, γιατί πιθανόν σε μία κίνησή μας να έχουν σχηματιστεί περισσότερες από μια λέξεις. Όταν ευρεθούν όλες οι λέξεις και τοποθετηθούν στην wordlist, οι νέες λέξεις, δηλαδή εξαιρώντας τις λέξεις από τις προηγούμενες κινήσεις, μεταφέρονται σε νέα λίστα, την wordsforcomparison. Οι λέξεις αυτής της λίστας τώρα συγκρίνονται με το λεξικό μας. Αν υπάρχουν όλες, τότε η κίνηση θεωρείται επιτυχημένη και ο παίκτης βαθμολογείται για αυτήν. Αν έστω και μία δεν υπάρχει, τότε η κίνηση θεωρείται λάθος, και επιστρέφονται τα γράμματα στον παίκτη. Υπολογισμός βαθμολογίας λέξης Όταν ο παίκτης κάνει κάποια επιτυχημένη κίνηση, πρέπει να πάρει τους απαραίτητους βαθμούς. Αυτό γίνεται παρατηρώντας τα τετράγωνα στα οποία τοποθέτησε τα γράμματά του. Για να βρούμε ποια είναι αυτά, όπως είδαμε έχουμε 31

34 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ ήδη δημιουργήσει τον πίνακα boardarrayflag. Άρα βλέποντας τα επισημασμένα κελιά, μπορούμε να δούμε ποια γράμματα έχει τοποθετήσει. Αρχικά βλέπουμε για ποιο γράμμα πρόκειται. Για κάθε γράμμα προσθέτουμε τη βαθμολογία του. Στη συνέχεια ελέγχουμε αν πρόκειται για τετράγωνο που δίνει διπλούς ή τριπλούς βαθμούς στο γράμμα αυτό, χρησιμοποιώντας τις συντεταγμένες του. Ακολούθως, μετά τον έλεγχο ολόκληρης της λέξης, ελέγχουμε αν περιλαμβάνεται τετράγωνο που διπλασιάζει ή τριπλασιάζει τους βαθμούς ολόκληρης της λέξης και δίνουμε τους τελικούς βαθμούς. Αυτή η διαδικασία γίνεται πολύ απλά με ένα Switch-case, ανάλογα δηλαδή με το τετράγωνο που επιλέγουμε δίνουμε τους αντίστοιχους βαθμούς. Δημιουργία λέξης από τα διαθέσιμα γράμματα και τοποθέτησης στο ταμπλώ Εδώ θα αναλυθεί η αρκετά πολύπλοκη διαδικασία, η οποία ακολουθείται για το σχηματισμό λέξης από τον υπολογιστή. Ο υπολογιστής ξεκινά έχοντας στη διάθεσή του τα 7 γράμματα που του έχουν δοθεί. Αρχικά πρέπει να διαπιστώσει σε ποια τετράγωνα μπορεί να τοποθετήσει τα δικά του γράμματα. Δηλαδή να βρει ποια τετράγωνα δεν είναι κατειλημμένα, αλλά ταυτόχρονα είναι παρακείμενα σε τετράγωνα που περιέχουν κάποιο γράμμα, ώστε να συμπληρώσουν μια λέξη. Οι κινήσεις του υπολογιστή γίνονται σε δύο στάδια κάθε φορά, μια για οριζόντια κίνηση και μια για κάθετη. Γι αυτό ξεκινάμε με δυο πίνακες: availablehorizontalpositions και availableverticalpositions. Ελέγχεται, λοιπόν, αρχικά σε ποια τετράγωνα περιέχονται γράμματα, αλλά τα διπλανά τους είναι κενά. Δηλαδή, για τις οριζόντιες θέσεις, ελέγχεται αν για παράδειγμα το κελί (7,7) περιέχει κάποιο γράμμα και ταυτόχρονα το (7,6) και το (7,8) είναι άδεια. Αντίστοιχα για τις κάθετες κινήσεις. Όταν βρεθούν τέτοια τετράγωνα, τότε στους δυο πίνακες που αναφέραμε τοποθετείται «σημαία». Θεωρούμε δηλαδή ότι οι θέσεις με «σημαία» θεωρούνται υποψήφιες για τοποθέτηση λέξης και μπορούν να χρησιμοποιηθούν ως «άγκυρα». Στη συνέχεια, για κάθε «άγκυρα», δηλαδή για κάθε επισημασμένη θέση στο ταμπλώ, θα βρούμε όλους τους δυνατούς αναγραμματισμούς. Αυτό γίνεται ως εξής: η «άγκυρα» αντιστοιχεί σε ένα γράμμα. Το γράμμα αυτό μαζί με τα 7 γράμματα που έχει στη διάθεσή του ο υπολογιστής, δίδονται στην κλάση Anagrams για να σχηματιστούν όλες οι λέξεις. Τη διαδικασία αυτή θα τη δούμε αργότερα. Η λίστα που επιστρέφεται συγκρίνεται με το λεξικό μας. Εδώ θέλουμε την «τομή» των δύο συνόλων, δηλαδή τις λέξεις της λίστας που υπάρχουν στο λεξικό και άρα μπορούν να γίνουν αποδεκτές. Γι αυτό χρησιμοποιούμε τη μέθοδο retainall. Ακολούθως, συνδέουμε κάθε λίστα που δημιουργήθηκε με τη θέση για την οποία δημιουργήθηκε. Δηλαδή οι αναγραμματισμοί που δημιουργήθηκαν χρησιμοποιώντας το γράμμα στη θέση (4,10), τοποθετούνται σε πίνακα στη θέση (4,10). Αυτόν τον νέο πίνακα τον ονομάζουμε positionandanagramshorizontal. 32

35 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Αντίστοιχα δημιουργούμε και τον πίνακα positionandanagramsvertical. Δηλαδή πρόκειται για πίνακες 15x15 που τα στοιχεία τους είναι λίστες λέξεων. Κάπου εδώ η διαδικασία μπορεί να διαφοροποιηθεί ανάλογα με το αν θέλουμε να κάνουμε ταξινόμηση ως προς τους βαθμούς που δίνει κάθε επιλογή. Στην παρούσα υλοποίηση, προσπεράσαμε αυτό το σημείο. Απλά επιλέγουμε τυχαία μία λέξη από όλες τις πιθανές που έχουμε στη διάθεσή μας για όλες τις πιθανές θέσεις. Δηλαδή επιλέγουμε μία οποιαδήποτε λέξη από οποιαδήποτε θέση. Τώρα ο υπολογιστής προσπαθεί να τοποθετήσει αυτήν τη λέξη. Ακόμα δεν έχει γίνει ο έλεγχος αν είναι δυνατή αυτή η τοποθέτηση, δηλαδή αν υπάρχουν αρκετά κενά τετράγωνα στο συγκεκριμένο σημείο. Ο έλεγχος αυτός θα γίνει κατά την προσπάθεια τοποθέτησης. Κάθε λέξη που υπάρχει στις λίστες που σχηματίστηκαν έχει ένα αναγνωριστικό θέσης. Οι λέξεις βρίσκονται, δηλαδή, στη μορφή «Hor3+12-ΒΟΥΝΟ», που σημαίνει ότι έχουμε την υποψήφια λέξη «ΒΟΥΝΟ» η οποία θα χρησιμοποιήσει την άγκυρα στη θέση (3,12) και θα τοποθετηθεί οριζόντια. Ο υπολογιστής λοιπόν διαβάζει αυτό το αναγνωριστικό και πάει στη συγκεκριμένη θέση. Εκεί κάνει έναν ακόμα έλεγχο. Ελέγχει σε ποια θέση μέσα στη λέξη του βρίσκεται ο «χαρακτήραςάγκυρα». Στο παράδειγμά μας, δηλαδή, ελέγχει ποιο γράμμα από τη λέξη «ΒΟΥΝΟ» βρίσκεται στη θέση (3,12). Έστω ότι είναι το γράμμα «Υ». Άρα τώρα ξέρει πώς θα τοποθετήσει τα υπόλοιπα γράμματα. Αφού το γράμμα «Υ» βρίσκεται στη θέση (3,12), τότε θα πρέπει να τοποθετήσει το «Β» στη θέση (3,10), το «Ο» στη θέση (3,11), το «Ν» στη θέση (3,13) και το «Ο» στη θέση (3,14). Αν για οποιονδήποτε λόγο δεν είναι δυνατή η τοποθέτηση σε αυτές τις θέσεις, είτε γιατί υπάρχει άλλη λέξη ήδη εκεί, είτε γιατί δεν αρκούν τα τετράγωνα, τότε εγκαταλείπεται η προσπάθεια τοποθέτησης της συγκεκριμένης λέξης και επιλέγεται μια άλλη και γίνεται προσπάθεια τοποθέτησής της από την αρχή. Εδώ μπορεί κάποιος να αναρωτηθεί τι γίνεται αν ο υπολογιστής δεν χρησιμοποιήσει μία αλλά 2 ή περισσότερες «άγκυρες», δηλαδή ήδη τοποθετημένα γράμματα. Τότε ο αλγόριθμος, αν διαπιστώσει ότι ένα κελί είναι ήδη κατειλημμένο, ελέγχει αν το γράμμα που καταλαμβάνει το κελί είναι ίδιο με το γράμμα που θέλει να τοποθετήσει σε αυτό. Αν είναι ίδιο συνεχίζει την τοποθέτηση της λέξης αγνοώντας τους πόντους για την συγκεκριμένη θέση. Αν όμως είναι διαφορετικό, αφαιρεί τη λέξη και συνεχίζει με την επόμενη υποψήφια, θεωρώντας την προσπάθεια τοποθέτησης αποτυχημένη. Τελικά, ο υπολογιστής παίρνει τους βαθμούς της λέξης του, με τον ίδιο τρόπο που είδαμε προηγουμένως και για τον παίκτη-άνθρωπο. Δημιουργία αναγραμματισμών Τώρα θα δούμε τον τρόπο με τον οποίο σχηματίζονται οι αναγραμματισμοί, δηλαδή πώς σχηματίζονται όλες οι λέξεις από τα 7+1 διαθέσιμα γράμματα. 33

36 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Ο αλγόριθμος χρησιμοποιεί την απλή λογική της περιστροφής χαρακτήρων. Δηλαδή κάθε φορά, διατηρούμε σταθερό το πρόθεμα και περιστρέφουμε τους υπόλοιπους χαρακτήρες. Το πρόθεμα αρχίζει ως ένα γράμμα, περιστρέφοντας τα υπόλοιπα 7, μετά γίνεται 2 γράμματα και περιστρέφουμε τα υπόλοιπα 6 κ.ο.κ. Αυτό θα γίνει πιο κατανοητό με ένα σχήμα. [1, 2, 3] Θα αναλύσουμε τον αλγόριθμο με αριθμούς, για να γίνει πιο κατανοητό. Ας πούμε ότι έχουμε τα στοιχεία 1, 2, 3 και θέλουμε να φτιάξουμε όλους τους πιθανούς αναγραμματισμούς που μπορούν να σχηματιστούν με αυτά τα στοιχεία. Ξεκινάμε διατηρώντας σταθερό το πρώτο στοιχείο «1». Τώρα χρησιμοποιούμε («περιστρέφουμε») τα εναπομείναντα στοιχεία. Στον πρώτο κλάδο χρησιμοποιούμε το «2» και στον δεύτερο το «3». Συνεχίζοντας στον πρώτο κλάδο, το τελευταίο στοιχείο που απομένει είναι το «3». Στον δεύτερο κλάδο το μοναδικό στοιχείο που απομένει είναι το «2». Έτσι, διατηρώντας σταθερό το «1», φτιάξαμε τους αναγραμματισμούς «123» και «132». Προφανώς κάθε στοιχείο χρησιμοποιείται μόνο μια φορά, δηλαδή μετά την τοποθέτησή του, αφαιρείται από το αρχικό σύνολο. Συνεχίζοντας τον αλγόριθμο καταλήγουμε με όλους τους αναγραμματισμούς: «123», «132», «213», «231», «312» και «321». Παρατηρείτε όμως κάτι; Δεν είναι μόνο αυτοί οι πιθανοί αναγραμματισμοί. Αυτοί είναι μόνο οι αναγραμματισμοί που περιέχουν όλα τα στοιχεία του αρχικού συνόλου. Αν δηλαδή είχαμε ως αρχικό σύνολο 8 γράμματα, θα κατασκευάζαμε μόνο λέξεις που να περιέχουν και τα 8 γράμματα. Όμως οι αναγραμματισμοί περιλαμβάνουν και τις λέξεις χρησιμοποιώντας υποσύνολα του αρχικού συνόλου. Στο παράδειγμά μας, δηλαδή, αναγραμματισμοί του αρχικού συνόλου θεωρούνται και οι λέξεις «13», «3», «12», κ.ο.κ. 34

37 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Αυτό το πρόβλημα μπορεί να λυθεί αν στο αρχικό σύνολο συμπεριλάβουμε έναν επιπλέον χαρακτήρα, τον οποίο θα θεωρήσουμε ως τερματικό χαρακτήρα. Αν, δηλαδή, τροποποιήσουμε τον αλγόριθμο να λειτουργεί κάπως έτσι: [1, 2, 3, Χ] Χ 2 3 Χ 1 3 Χ 1 2 Χ 3 Χ 2 Χ 3 Χ 1 Χ 2 Χ 1 Χ Χ Χ Χ Χ Χ Χ Ο νέος τρόπος λειτουργίας βασίζεται σε μια πολύ απλή λογική. Τοποθετήσαμε στο αρχικό σύνολο, τον τερματικό χαρακτήρα «Χ». Ο αλγόριθμος ακολουθεί ακριβώς την ίδια διαδικασία με προηγουμένως και χρησιμοποιεί τον τερματικό χαρακτήρα σαν ένα ακόμα στοιχείο του συνόλου. Όμως τώρα έχουμε δώσει εντολή στο πρόγραμμα όταν θα ελέγχει όλες τις λέξεις που θα δημιουργηθούν, κάθε φορά που θα συναντά τον χαρακτήρα «Χ», να σβήνει και να αγνοεί όλους τους χαρακτήρες μετά από αυτόν. Έτσι πλέον καταλήγουμε με τους πιθανούς αναγραμματισμούς: «123», «12», «132», «13», «1», «213», «21», «231», «23», «2», «312», «31», «321», «32» και «3». Αυτοί είναι πραγματικά όλοι οι πιθανοί αναγραμματισμοί που μπορούν να σχηματιστούν με 3 στοιχεία ως αρχικό σύνολο. Αντίστοιχα με αυτόν τον αλγόριθμο μπορούμε να βρούμε όλους τους αναγραμματισμούς με όσα γράμματα και αν θέσουμε ως αρχικό σύνολο. Στο πρόγραμμά μας οι αναγραμματισμοί σχηματίζονται με 8 γράμματα, αλλά ο ίδιος αλγόριθμος, προφανώς, μπορεί να χρησιμοποιηθεί για απεριόριστο αριθμό γραμμάτων. 35

38 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Βέβαια, όλοι οι αναγραμματισμοί δεν αποτελούν αποδεκτές λέξεις. Γι αυτό και, όπως αναλύσαμε στον προηγούμενο αλγόριθμο δημιουργίας λέξεων, χρησιμοποιούμε την «τομή» των δύο συνόλων, του λεξικού μας και της λίστας που φτιάξαμε με τον αλγόριθμο των αναγραμματισμών, ώστε να απομείνουν μόνο οι λέξεις που υπάρχουν στο λεξικό και είναι αποδεκτές ως κίνηση στο παιχνίδι. ΜΕΘΟΔΟΙ JAVA Εδώ θα αναλύσουμε τις μεθόδους και τις βιβλιοθήκες που η JAVA μας δίνει έτοιμες να χρησιμοποιήσουμε, πρέπει όμως να γίνει κατανοητός ο λόγος που τις χρησιμοποιούμε. Γι αυτό και θα δούμε πώς ακριβώς δουλεύουν. Κλάση ArrayList Η ArrayList είναι ίσως ο πιο βασικός τύπος από τις Συλλογές (Collections) της JAVA. Πρόκειται ουσιαστικά για έναν πίνακα ενισχυμένο και τροποποιημένο. Μοιάζει αρκετά με τη δομή του πίνακα, αλλά αποφεύγει αρκετά από τα προβλήματα που έχουν οι πίνακες. Αρχικά, μια ArrayList αλλάζει το μέγεθός της μόνο όταν πραγματικά χρειάζεται. Αν φτιάξουμε έναν πίνακα με 100 στοιχεία, τον γεμίσουμε, αλλά στη συνέχεια χρειαστεί να προσθέσουμε ένα ακόμα, το 101 ο, τότε αυτό δε γίνεται. Το μόνο που μπορούμε να κάνουμε είναι να δημιουργήσουμε έναν νέο πίνακα με 101 στοιχεία, να αντιγράψουμε τα προηγούμενα 100 σε αυτόν και να τοποθετήσουμε και το νέο στοιχείο. Με μια ArrayList όμως αυτό δεν αποτελεί πρόβλημα, μιας και δεν υπάρχει όριο στο πόσα στοιχεία μπορούμε να προσθέσουμε. Όταν υπάρχει ανάγκη να προσθέσουμε ένα ακόμα στοιχείο, τότε μπορούμε να το προσθέσουμε. ΥΛΟΠΟΙΗΣΗ ΜΕ ΠΙΝΑΚΑ Αρχικός Πίνακας 5 Στοιχείων Νέο Στοιχείο Α Β Γ Δ Ε Ζ 36

39 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Δημιουργία νέου πίνακα 6 Στοιχείων Αντιγραφή στοιχείων από τον παλιό πίνακα στον νέο Α Β Γ Δ Ε Τελικός πίνακας με το νέο στοιχείο Α Β Γ Δ Ε Ζ ΥΛΟΠΟΙΗΣΗ ΜΕ ARRAYLIST Αρχική ArrayList Α Β Γ Δ Ε 37

40 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Τελική ArrayList με το νέο στοιχείο Α Β Γ Δ Ε Ζ Επίσης, σε μια ArrayList μπορούμε να προσθέσουμε κάποιο στοιχείο στη μέση της λίστας. Με έναν πίνακα αν θέλουμε να προσθέσουμε ένα στοιχείο στην 2η θέση, πρέπει να μετακινήσουμε τα στοιχεία που βρίσκονταν από τη θέση 2 και κάτω κατά μία θέση ώστε να δημιουργήσουμε χώρο για το νέο στοιχείο. Αντίθετα, με την ArrayList όλα γίνονται αυτόματα. Εισαγωγή στοιχείου σε ArrayList Ακόμα, μια ArrayList επιτρέπει τη διαγραφή ενός στοιχείου και της θέσης του. Προφανώς και από έναν πίνακα μπορούμε να διαγράψουμε ένα στοιχείο. Όμως η θέση που αυτό καταλάμβανε παραμένει και είναι κενή, σε αντίθεση με την ArrayList. 38

41 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Διαγραφή στοιχείου από ArrayList Με τις μεθόδους της η ArrayList μας επιτρέπει να κάνουμε διαδικασίες που θα ήταν πιο πολύπλοκες με μια άλλη δομή. Μπορούμε με τη μέθοδο contains(object element), για παράδειγμα, να ελέγξουμε αν υπάρχει σε μια οποιαδήποτε θέση ένα συγκεκριμένο στοιχείο που αναζητούμε. Μπορούμε επίσης με τη μέθοδο get(int index) να ζητήσουμε ένα στοιχείο από μια συγκεκριμένη θέση ή με τη μέθοδο indexof(object element) να βρούμε σε ποια θέση βρίσκεται ένα συγκεκριμένο στοιχείο. Η προσθήκη στοιχείων σε μια ArrayList γίνεται σε χρόνο O(n). TreeSet Πρόκειται για μια συλλογή την οποία χρησιμοποιούμε για την αποθήκευση του λεξικού μας. Είναι ένα απλό δέντρο στο οποίο τα στοιχεία ταξινομούνται αυτόματα με λογική αλληλουχία. Στην περίπτωσή μας με αλφαβητική ταξινόμηση. Η ταχύτητα αναζήτησης, προσθήκης και αφαίρεσης στοιχείων είναι log(n). Αυτό κάνει το TreeSet αρκετά γρήγορο για την τοποθέτηση μιας λίστας με ήδη ταξινομημένα στοιχεία, όπως είναι το αρχικό λεξικό μας, μιας και οι λέξεις είναι ήδη ταξινομημένες αλφαβητικά. 39

42 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Εμείς στην εφαρμογή μας χρησιμοποιούμε αρχικά τη μέθοδο add(element) για να προσθέσουμε κάθε λέξη που υπάρχει στη λίστα του λεξικού μας και στη συνέχεια τη μέθοδο contains(element) για να κάνουμε τους ελέγχους αν υπάρχει κάθε συγκεκριμένη λέξη που ψάχνουμε. Όπως είπαμε, η αναζήτηση αυτή γίνεται πολύ γρήγορα και αυτό θα φανεί και από τις μετρήσεις που θα δείξουμε αργότερα. HashSet Πρόκειται για μια ακόμα συλλογή, παρόμοια με το TreeSet, με τη διαφορά, όμως, ότι τα στοιχεία δεν είναι ταξινομημένα, αλλά τους αποδίδεται ένα αριθμητικό αναγνωριστικό, το οποίο χρησιμοποιείται για την ταχύτατη αναζήτηση των στοιχείων αυτών. Χρησιμοποιείται κυρίως όταν τα στοιχεία που προσθέτουμε δεν είναι ταξινομημένα, ούτε μας ενδιαφέρει να τα ταξινομήσουμε αργότερα. 40

43 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Κλάση StringBuilder Για να σχηματίσουμε τις λέξεις που θα χρησιμοποιήσουμε για την αναζήτηση στο λεξικό, χρησιμοποιούμε την κλάση StringBuilder. Αυτή μας δίνει τη δυνατότητα να φτιάχνουμε τη λέξη μας γράμμα-προς-γράμμα και μπορούμε να προσθέσουμε και να αφαιρέσουμε ένα γράμμα από οποιοδήποτε σημείο μέσα στη λέξη, πράγμα αρκετά χρήσιμο στην εφαρμογή μας. Ταυτόχρονα μπορούμε να χρησιμοποιούμε τη λέξη σε κάθε στάδιο για τον έλεγχό μας, να αλλάζουμε ένα γράμμα για να ξανακάνουμε έλεγχο κ.ο.κ. Swing To Swing είναι ένα «πακέτο» της JAVA, το οποίο μας δίνει τη δυνατότητα να ξεφύγουμε από το μαύρο παράθυρο του γνωστού DOS και να σχεδιάσουμε εφαρμογές που να έχουν παράθυρα, μενού και άλλα παρόμοια στοιχεία. Άλλωστε 41

44 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ είναι και ο λόγος που, όπως αναφέραμε στην αρχή, επιλέξαμε τη γλώσσα JAVA για την ανάπτυξη της εφαρμογής μας. Με το Swing μας δίνεται η δυνατότητα να αναπτύξουμε ένα λεγόμενο Γραφικό Περιβάλλον Διεπαφής Χρήστης (Graphical User Interface - GUI). 42

45 ΚΕΦΑΛΑΙΟ 2 ΕΦΑΡΜΟΓΗ Στην εφαρμογή μας χρησιμοποιούμε τις κλάσεις JFrame, JButton, JPanel, JLabel. Πρόκειται ουσιαστικά για τις απεικονίσεις που χρησιμοποιούμε. Το JFrame είναι αυτό που οριοθετεί το κάθε παράθυρο που εμφανίζεται στην οθόνη. Είναι το πλαίσιο μέσα στο οποίο τοποθετούνται όλα τα γραφικά στοιχεία. Το JPanel είναι ένας τύπος που περιέχει όλα τα πλαίσια κειμένου, κουμπιά κλπ. Τα JLabel τα χρησιμοποιούμε για να απεικονίσουμε κείμενο και φωτογραφίες, ενώ τα JButton 43

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι 21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

Διαβάστε περισσότερα

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

Πατώντας την επιλογή αυτή, ανοίγει ένα παράθυρο που έχει την ίδια μορφή με αυτό που εμφανίζεται όταν δημιουργούμε μία μεταβλητή. Λίστες Τι είναι οι λίστες; Πολλές φορές στην καθημερινή μας ζωή, χωρίς να το συνειδητοποιούμε, χρησιμοποιούμε λίστες. Τέτοια παραδείγματα είναι η λίστα του super market η οποία είναι ένας κατάλογος αντικειμένων

Διαβάστε περισσότερα

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch Τι θα μάθουμε σήμερα: Να ενεργοποιούμε το λογισμικό Scratch Να αναγνωρίζουμε τα κύρια μέρη του περιβάλλοντος του Scratch Να δημιουργούμε/εισάγουμε/τροποποιούμε

Διαβάστε περισσότερα

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

Πώς το λένε Computer game στο Scratch

Πώς το λένε Computer game στο Scratch Πώς το λένε Computer game στο Scratch Μιχαηλία Γκαλλέ¹, Χριστόδουλος Σατραζέμης², 1 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου mixaelagalle@gmail.com 2 Μαθητής Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου linosatra@gmail.com

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

αντίστοιχο γεγονός. Όταν όντως το κουμπί

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

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Στόχοι του μαθήματος Μετά το τέλος του μαθήματος οι μαθητές πρέπει να είναι σε θέση: Να περιγράφουν τι είναι πρόγραμμα Να εξηγούν την αναγκαιότητα για τη δημιουργία γλωσσών

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2 Παιχνίδι Κρεμάλα Στη δραστηριότητα αυτή θα δημιουργήσεις το γνωστό παιχνίδι της κρεμάλας στο οποίο ο παίκτης προσπαθεί να μαντέψει τα γράμματα από τα οποία αποτελείται μια άγνωστη λέξη. Το πρόγραμμα που

Διαβάστε περισσότερα

Ταυτότητα εκπαιδευτικού σεναρίου

Ταυτότητα εκπαιδευτικού σεναρίου Ταυτότητα εκπαιδευτικού σεναρίου Τίτλος: Συμβάντα και ενέργειες - Το πολύχρωμο σκαθάρι Σύντομη περιγραφή: Ένα εκπαιδευτικό σενάριο για την διδασκαλία των συμβάντων και ενεργειών στον προγραμματισμό, με

Διαβάστε περισσότερα

Καροτοκυνηγός. Αντικείμενα

Καροτοκυνηγός. Αντικείμενα Καροτοκυνηγός Το παιχνίδι λαμβάνει χώρα σε ένα κτήμα, όπου στη δεξιά του πλευρά του υπάρχει ένα χωράφι με καρότα τα οποία οριοθετούνται από μια λευκή ευθεία γραμμή αριστερά τους (βλ. επόμενη εικόνα). Το

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

Διαβάστε περισσότερα

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Αλγόριθμος (algorithm) λέγεται μία πεπερασμένη διαδικασία καλά ορισμένων βημάτων που ακολουθείται για τη λύση ενός προβλήματος. Το διάγραμμα ροής

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Τιμή Τιμή. σκορ. ζωές

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

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

Αντικείμενα, συμπεριφορές, γεγονότα

Αντικείμενα, συμπεριφορές, γεγονότα Αντικείμενα, συμπεριφορές, γεγονότα O προγραμματισμός αποτελεί ένα τρόπο επίλυσης προβλημάτων κατά τον οποίο συνθέτουμε μια ακολουθία εντολών με σκοπό την επίτευξη συγκεκριμένων στόχων. Ας ξεκινήσουμε

Διαβάστε περισσότερα

Tank Rescue Computer Game σε Scratch

Tank Rescue Computer Game σε Scratch Tank Rescue Computer Game σε Scratch Μπέλτσος Νικόλαος 1, Παναγιωτόπουλος Ευάγγελος 2, Παπαδόπουλος Βασίλης 3, Παπουδάρης Κωνσταντίνος 4 1 sokin2@yahoo.gr 2 vaggelispan@yahoo.gr 3 papadopoulos_vasilis@yahoo.gr

Διαβάστε περισσότερα

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή κινήσου και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων. Μάθημα : Εισαγωγή 2 Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων. Κάνοντας διπλό κλικ στην εντολή μπορείς να δεις ότι η γάτα κινείται στη σκηνή. Επίλεξε την

Διαβάστε περισσότερα

Ας μετονομάσουμε τη γάτα που εμφανίζεται μόλις ανοίγουμε το Scratch. Επιλέγουμε το εικονίδιο Μορφή1 που βρίσκεται στη λίστα αντικειμένων.

Ας μετονομάσουμε τη γάτα που εμφανίζεται μόλις ανοίγουμε το Scratch. Επιλέγουμε το εικονίδιο Μορφή1 που βρίσκεται στη λίστα αντικειμένων. Σχεδιάζοντας αντικείμενα Εισαγωγή στο περιβάλλον των αντικειμένων Όπως συζητήσαμε και στο προηγούμενο κεφάλαιο, τα αντικείμενα στο Scratch αποτελούν τους πρωταγωνιστές των έργων μας. Το πρώτο βήμα κατά

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ ΓΕΛ 15 / 04 / 2018 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α Α1. Να γράψετε τον αριθμό της κάθε πρότασης (1-5) και δίπλα τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Περιβάλλον εργασίας Ηλεκτρονικού Ταχυδρομείου: Το περιβάλλον εργασίας

Διαβάστε περισσότερα

Slalom Race Computer Game on Scratch

Slalom Race Computer Game on Scratch Slalom Race Computer Game on Scratch Μπογιατζή Ελισάβετ ¹, Μεταξά Παυλίνα², Νεστοροπούλου Ευσεβεία³, Μαρόγλου Ευαγγελία 4 1 boelisabet@gmail.com 2 pavlinamet2@gmail.com 3 makis.nestoro@hotmail.com 4 euaggeliam2000@gmail.com

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

Αύξηση πελατών. Λίγα λόγια για Επιτυχημένες προωθήσεις

Αύξηση πελατών. Λίγα λόγια για Επιτυχημένες προωθήσεις Αύξηση πελατών Λίγα λόγια για Επιτυχημένες προωθήσεις Βελτίωση των προωθήσεων σας Εισαγωγή Συγκρίνετε τι σας συμφέρει Αποτέλεσμα και επανάληψη Υπάρχουν δυνατότητες για όλες τις επιχειρήσεις Εισαγωγή πληροφορίες

Διαβάστε περισσότερα

1. Τα τμήματα της επιφάνειας εργασίας των Windows

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

Σχέδια μαθημάτων για την δημιουργία συναρτήσεων υπολογισμού του ΜΚΔ και του ΕΚΠ στην MSWLogo

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

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα ΕΝΤΟΛΕΣ χρησιμοποιηθούν παρακάτω στα παραδείγματα Βάζοντας την εντολή αυτή σε οποιοδήποτε αντικείμενο μπορούμε να αλλάζουμε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΦΛΩΡΙΝΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΦΛΩΡΙΝΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΦΛΩΡΙΝΑ ΕΡΓΑΣΙΑ ΓΙΑ ΤΟ ΜΑΘΗΜΑ: ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ ΓΙΑ ΤΑ ΜΑΘΗΜΑΤΙΚΑ ΜΕ ΧΡΗΣΗ ΤΠΕ ΘΕΜΑ ΕΡΓΑΣΙΑΣ: ΜΕΤΑΤΡΟΠΗ ΤΟΥ ΣΕΝΑΡΙΟΥ

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α η- Τάξη Οδηγός χρήσης του προγράμματος αξιολόγησης για τα προγράμματα «Ο Ξεφτέρης και η γραμματική και «Ο Καπετάν Μπουμπουλήθρας» Ο οδηγός αυτός στοχεύει στην χρήση του βοηθητικού προγράμματος η-τάξη.

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Περιεχόμενα Πώς να χρησιμοποιήσετε το βιβλίο... 7 Αντί προλόγου... 9 Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: Κεφάλαιο 4: Κεφάλαιο 5: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Facebook;... 15 Τι

Διαβάστε περισσότερα

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την 1 ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την παλαιότερη γνώση τους, σημειώνουν λεπτομέρειες, παρακολουθούν

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο PowerPoint...9. Κεφάλαιο 2 Εργασία με κείμενο... 39

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο PowerPoint...9. Κεφάλαιο 2 Εργασία με κείμενο... 39 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στο PowerPoint...9 Βασικές έννοιες... 10 Το παράθυρο του PowerPoint... 13 Δημιουργία νέας παρουσίασης... 15 Βασικές εργασίες με διαφάνειες... 22 Προβολές παρουσίασης...

Διαβάστε περισσότερα

Σενάριο για την επεξεργασία εικόνας με το Paint.NET που σχεδίασε ο εκπαιδευτικός κλάδου ΠΕ20 Μαλλιαρίδης Κωνσταντίνος.

Σενάριο για την επεξεργασία εικόνας με το Paint.NET που σχεδίασε ο εκπαιδευτικός κλάδου ΠΕ20 Μαλλιαρίδης Κωνσταντίνος. Μπάλες Μπιλιάρδου Σενάριο για την επεξεργασία εικόνας με το Paint.NET που σχεδίασε ο εκπαιδευτικός κλάδου ΠΕ20 Μαλλιαρίδης Κωνσταντίνος. 1. Τίτλος διδακτικού σεναρίου Μπάλες μπιλιάρδου 2. Εκτιμώμενη διάρκεια

Διαβάστε περισσότερα

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός Αυτόνομοι Πράκτορες ΝΑΟ Μουσικός Καρατζαφέρης Ευστάθιος Αλέξανδρος 2007 030 046 Πολυτεχνείο Κρήτης Σύντομη Περιγραφή Στόχος της εργασίας μας είναι η υλοποίηση της συμπεριφοράς αλλα και της λειτουργικότητας

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

Γράφοντας ένα σχολικό βιβλίο για τα Μαθηματικά. Μαριάννα Τζεκάκη Αν. Καθηγήτρια Α.Π.Θ. Μ. Καλδρυμίδου Αν. Καθηγήτρια Πανεπιστημίου Ιωαννίνων

Γράφοντας ένα σχολικό βιβλίο για τα Μαθηματικά. Μαριάννα Τζεκάκη Αν. Καθηγήτρια Α.Π.Θ. Μ. Καλδρυμίδου Αν. Καθηγήτρια Πανεπιστημίου Ιωαννίνων Γράφοντας ένα σχολικό βιβλίο για τα Μαθηματικά Μαριάννα Τζεκάκη Αν. Καθηγήτρια Α.Π.Θ. Μ. Καλδρυμίδου Αν. Καθηγήτρια Πανεπιστημίου Ιωαννίνων Εισαγωγή Η χώρα μας απέκτησε Νέα Προγράμματα Σπουδών και Νέα

Διαβάστε περισσότερα

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning Βόλτσης Βαγγέλης Α.Μ. 2011030017 Η παρούσα εργασία πραγματοποιήθηκε στα πλαίσια του μαθήματος Αυτόνομοι Πράκτορες και σχετίζεται με λήψη αποφάσεων

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Εισαγωγή. Περιεχόμενα

Εισαγωγή. Περιεχόμενα Εισαγωγή Το 1878, το Βασιλικό Μουσείο του Βερολίνου ξεκίνησε την ανάθεση των ανασκαφών στην Πέργαμο, μια περιοχή της νυν Τουρκίας. Η πόλη έφτασε στην κορυφή της ανάπτυξής της γύρω στο 200 π.χ. (στα Λατινικά

Διαβάστε περισσότερα

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Εργαστήριο 3 Καθηγητές: Αβούρης Νικόλαος, Παλιουράς Βασίλης, Κουκιάς Μιχαήλ, Σγάρμπας Κυριάκος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο 3: Σχεδίαση

Διαβάστε περισσότερα

Δραστηριότητα 1 αξιολόγηση της λύσης για το πρόβλημα των μεγάλων αποστάσεων

Δραστηριότητα 1 αξιολόγηση της λύσης για το πρόβλημα των μεγάλων αποστάσεων ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2 Δημιουργώντας νέες εντολές για τον Karel Δραστηριότητα 1 αξιολόγηση της λύσης για το πρόβλημα των μεγάλων αποστάσεων Ας υποθέσουμε ότι το ρομπότ Karel ξεκινώντας από την 1 η λεωφόρο και

Διαβάστε περισσότερα

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;... Περιεχόμενα Αντί προλόγου... 7 Πώς να χρησιμοποιήσετε το βιβλίο... 13 Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...15 Κεφάλαιο 2: Τι βλέπω στην οθόνη μου όταν ολοκληρώσω τη δημιουργία του Προφίλ

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ. Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ. Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ. ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΛΥ212/ΜΥΥ205 Τεχνικές Αντικειμενοστρεφούς Προγραμματισμού Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ. Στην άσκηση

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Ενδυμασίες. Μετονομάζουμε την νέα ενδυμασία του αντικείμενου μας και έχουμε ολοκληρώσει τη δημιουργία της.

Ενδυμασίες. Μετονομάζουμε την νέα ενδυμασία του αντικείμενου μας και έχουμε ολοκληρώσει τη δημιουργία της. Ενδυμασίες Κάθε αντικείμενο στο Scratch μπορεί να έχει μια ή και περισσότερες ενδυμασίες. Οι ενδυμασίες ενός αντικείμενου, είναι τα διαφορετικά κοστούμια που θα θέλαμε να φοράει ο χαρακτήρας μας σε διαφορετικές

Διαβάστε περισσότερα

Το σκηνικό μας είναι πλέον έτοιμο για εισάγουμε τα υπόλοιπα αντικείμενα του έργου μας.

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

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΘΕΜΑ 1 ο Α. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες. 1. Μια διαδικασία

Διαβάστε περισσότερα

Το φτερό του αεροπλάνου

Το φτερό του αεροπλάνου Το φτερό του αεροπλάνου Γνωστικό Αντικείμενο: Φυσική (Πίεση) Τάξη: Β Γυμνασίου Χρονική Διάρκεια Προτεινόμενη χρονική διάρκεια σχεδίου εργασίας: 5 διδακτικές ώρες Διδακτικοί Στόχοι Οι μαθητές: - Να εξηγούν

Διαβάστε περισσότερα

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

Διαβάστε περισσότερα

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Σκοπός της 10ης άσκησης είναι να μάθουμε να χρησιμοποιούμε sprites και να φτιάξουμε ένα παιχνίδι που χρησιμοποιεί συγκρούσεις. Θα δούμε επίσης μερικά

Διαβάστε περισσότερα

Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI

Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI Εργασία 1 ΣΤΟΙΧΕΙΑ ΦΟΙΤΗΤΡΙΑΣ: Τσελίγκα Αρετή, 1312009161, Στ εξάμηνο, κατεύθυνση: Εκπαιδευτική Τεχνολογία και Διαπολιτισμική Επικοινωνία Το γνωστικό αντικείμενο

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ 130 : Ψηφιακή σχεδίαση Βόλος 2015 1 Εισαγωγή Το Multisim είναι ένα ολοκληρωμένο περιβάλλον προσομοίωσης της συμπεριφοράς

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΝΠΙΣΤΗΜΙΟ ΘΣΣΛΙΣ ΣΧΟΛΗ ΘΤΙΚΩΝ ΠΙΣΤΗΜΩΝ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΠΤΥΞΗ ΚΙ ΣΧΔΙΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΡΓΣΤΗΡΙΟ 4.4: λφαριθμητικά, αρχεία, πίνακες, δομές, συναρτήσεις+ 2 Ιουνίου 2016 Η παρακάτω

Διαβάστε περισσότερα

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής Μάθημα 7ο Πολυμέσα 7.Α.1 Παρουσιάσεις Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών μας. Αποτελούν μια συνοπτική μορφή των εργασιών μας. Μέσω δημιουργίας διαφανειών, μορφοποιήσεων

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

Μάθημα 6ο. Υπολογιστικό Φύλλο

Μάθημα 6ο. Υπολογιστικό Φύλλο Μάθημα 6ο Υπολογιστικό Φύλλο Σελίδα 81 από 105 6.1 Εισαγωγή Ένα υπολογιστικό φύλλο, είναι μια πολύ χρήσιμη εφαρμογή, χωρισμένη σε γραμμές και στήλες για την ευκολότερη καταγραφή διάφορων δεδομένων. Με

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

Διαβάστε περισσότερα

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Digital natives Οι σπουδαστές του 21 ου αιώνα - Digital natives Οι σπουδαστές του 21 ου αιώνα έχουν αλλάξει ριζικά

Διαβάστε περισσότερα

Σενάριο Χρήσης myschool

Σενάριο Χρήσης myschool Σενάριο Χρήσης ΦΟΡΕΙΣ Επιβεβαίωση των Στοιχείων του Φορέα Αρχικά, θα κληθείτε να ελέγξετε την ορθότητα των στοιχείων του Φορέα σας. Επιλέγοντας την καρτέλα «Φορείς», από το μενού που βρίσκεται στο πάνω

Διαβάστε περισσότερα

Μεταβλητές. Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών

Μεταβλητές. Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών Κύριος στόχος Εισαγωγή στις μεταβλητές, ένταξή τους στη λειτουργία ενός αλγόριθμου και αντιμετώπιση μερικών δυσκολιών, κυρίως προερχόμενων από τις πρότερες

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού Πανεπιστήμιο Αιγαίου Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού Έκδοση 1.2 Περιεχόμενα 1. Είσοδος και Έξοδος από το Σύστημα... 3 2. Βοήθεια... 3 3. Αλλαγή Συνθηματικού... 3 4. Διαχείριση

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΕ PASCAL: ΑΠΟ ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΚΑΙ ΤΑ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΤΙΣ ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΕ PASCAL: ΑΠΟ ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΚΑΙ ΤΑ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΤΙΣ ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΕ PASCAL: ΑΠΟ ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΚΑΙ ΤΑ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΤΙΣ ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ ΟΜΙΛΟΣ ΑΡΙΣΤΕΙΑΣ ΚΑΙ ΔΗΜΙΟΥΡΓΙΚΟΤΗΤΑΣ ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΕΥΑΓΓΕΛΙΚΗΣ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Εισηγητής : Χρήστος Μανώλης δάσκαλος Θεσσαλονίκη Οκτώβριος - Δεκέμβριος

Διαβάστε περισσότερα

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

Διαβάστε περισσότερα

ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ

ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ 1 ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ Κώστας Κύρος 2 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1 3 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2 Γίνε και εσύ ένας συγγραφέας! Γράψε τη δική σου μικρή ιστορία. Εκτύπωσέ την και δώσ την στους φίλους σου για να

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ 2014-2020 ΕΝΟΤΗΤΑ «ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΣΚΛΗΣΕΩΝ ΕΡΓΩΝ ΣΧΕΔΙΩΝ ΧΟΡΗΓΙΩΝ» 1η Έκδοση: 2015 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ...3

Διαβάστε περισσότερα

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Excel 2003... 9 2 Η δομή ενός φύλλου εργασίας... 26 3 Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 37 4 Συμβουλές για την καταχώριση

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες ΣΧΟΛΕΙΟ Η εκπαιδευτική πρακτική αφορούσε τη διδασκαλία των μεταβλητών στον προγραμματισμό και εφαρμόστηκε σε μαθητές της τελευταίας τάξης ΕΠΑΛ του τομέα Πληροφορικής στα πλαίσια του μαθήματος του Δομημένου

Διαβάστε περισσότερα

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH.

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH. 15. ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΛΥΣΗ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH. 16. ΑΞΙΟΛΟΓΗΣΗ Οι βασικές διαδικασίες αξιολόγησης προέρχονται

Διαβάστε περισσότερα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης για τον φοιτητή

Εγχειρίδιο χρήσης για τον φοιτητή Εγχειρίδιο χρήσης για τον φοιτητή 1 Αρχική οθόνη Όταν κάποιος χρήστης εισέρχεται για πρώτη φορά στο σύστημα εμφανίζεται η παρακάτω οθόνη/σελίδα: Στα αριστερά της οθόνης εμφανίζεται η φόρμα σύνδεσης στην

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ Οι 8 ομάδες της Παλέτας εντολών Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια Σκηνή Εδώ ζωντανεύει το σενάριό σας Εντολές κάθε ομάδας Αυτή είναι

Διαβάστε περισσότερα

Φύση και Μαθηματικά. Η χρυσή τομή φ

Φύση και Μαθηματικά. Η χρυσή τομή φ Φύση και Μαθηματικά Η χρυσή τομή φ Ερευνητική Εργασία (Project) Α' Λυκείου 1ο ΓΕΛ Ξάνθης 2011 2012 Επιβλέποντες καθηγητές Επαμεινώνδας Διαμαντόπουλος Βασιλική Κώττη Φύση και Μαθηματικά 2 Τι είναι η χρυσή

Διαβάστε περισσότερα

Να αποθηκεύουμε και να ξανανοίγουμε αρχεία σε περιβάλλον Windows. Να ξεχωρίζουμε τα συστατικά (αρχεία, φακέλους κλπ.) ενός δίσκου

Να αποθηκεύουμε και να ξανανοίγουμε αρχεία σε περιβάλλον Windows. Να ξεχωρίζουμε τα συστατικά (αρχεία, φακέλους κλπ.) ενός δίσκου ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Σε τι μας χρησιμεύει ακόμη και η καλύτερη εργασία, αν την έχουμε αποθηκεύσει κάπου στον υπολογιστή μας, αλλά δεν μπορούμε να την ξαναβρούμε; Θα πρέπει να σκεφτούμε κάποιο σύστημα το

Διαβάστε περισσότερα

Ανακύκλωσε το Computer Game σε Scratch

Ανακύκλωσε το Computer Game σε Scratch Ανακύκλωσε το Computer Game σε Scratch Καλλιόπη Σατραζέμη¹, Μαρία Χαραλαμπίδου², Κλεοπάτρα Χαριστέ³, Λαμπρινή Χρυσή 4 1 kalliopaki_s@yahoo.gr 2 maraki98_xar@hotmail.gr 3 kleo.xar@hotmail.gr 4 lamprini1998@gmail.com

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα