Ανάπτυξη Προγράμματος 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 Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - 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 Πολλοί άνθρωποι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

καθώς και το παρακάτω τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»:

καθώς και το παρακάτω τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»: ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 25/04/2014 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 2 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ:

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

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

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

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

Διαχείριση Αξιόγραφων

Διαχείριση Αξιόγραφων Διαχείριση Αξιόγραφων 1 Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας Διαχείρισης Αξιόγραφων στην εφαρμογή extra Λογιστική Διαχείριση. Παρακάτω προτείνεται μια

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

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

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

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

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

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

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

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

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

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

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

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

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

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR Τηλέφωνο: 2810-211111 Διαδικασία εισόδου στο opensms Η πρόσβαση στην πλατφόρμα του opensms πραγματοποιείται με την εισαγωγή του Ονόματος χρήστη και του

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2015-2016 Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ,

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

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

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

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

Υπολογισμός και αποστολή Αναλυτικής Περιοδικής Δήλωσης

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

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

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές» 2 Ενότητα 5 Φίλτρα & Ερωτήματα 3 4 5.1 Φίλτρα Για να εμφανίσετε επιλεκτικά κάποιες εγγραφές που πληρούν κάποια κριτήρια μπορείτε να χρησιμοποιήσετε το φιλτράρισμα με βάση την επιλογή, φιλτράρισμα εκτός

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

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

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

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

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

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

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

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 23/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ ( 7) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν γράφοντας στο

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

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

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

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

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

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

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

Εγχειρίδιο Χρήσης του «Μαθη.Συ.»

Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Εργαστήριο Εκπαιδευτικής Τεχνολογίας Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Φιλοσοφική Σχολή Τμήμα Φ.Π.Ψ., Τομέας Παιδαγωγικής Διευθυντής: Καθ. Χ. Κυνηγός Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Πίνακας

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

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

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

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

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών

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

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

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

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

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς 3.3.1.1 Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς Γραμματοσειρές Η λέξη γραμματοσειρά αναφέρεται στο στυλ που εμφανίζονται τα γράμματα. Παρακάτω ακολουθούν κάποια παραδείγματα,

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

Άσκηση 5 Firefox Αποθήκευση αρχείων

Άσκηση 5 Firefox Αποθήκευση αρχείων Άσκηση 5 Firefox Αποθήκευση αρχείων Παρουσίαση Γραμμών Εργαλείων Ανοίγουμε τον περιηγητή ιστού Firefox. Αποθήκευση εικόνων Ανοίγουμε την σελίδα www.google.gr Στην πάνω αριστερά γωνία κάνουμε αριστερό κλικ

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

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

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

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

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

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

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

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

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

Περι-γράφοντας... βρόχους

Περι-γράφοντας... βρόχους Όνομα(τα): Όνομα Η/Υ: Σ Τμήμα: Ημερομηνία: Περι-γράφοντας... βρόχους Ξεκινήστε το Χώρο Δραστηριοτήτων, επιλέξτε τη θεματική ενότητα: ΘΕ05: Επανάληψη και επιλέξτε την πρώτη δραστηριότητα (Περι-γράφοντας...

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

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

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

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

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

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

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα Μάθημα 6ο Σουίτα Γραφείου LibreOffice 2 Ύλη Μαθημάτων V Μαθ. 5/6 : Σουίτα Γραφείου LibreOffice LibreOffice Γενικά, Κειμενογράφος - LibreOffice Writer,

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων; ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΘΕΜΑ Α ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 01/03/2015 Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1.

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

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

Διαχείριση Ωρολογίων Προγραμμάτων Εκπαιδευτικών

Διαχείριση Ωρολογίων Προγραμμάτων Εκπαιδευτικών Διαχείριση Ωρολογίων Προγραμμάτων Εκπαιδευτικών Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της Διαδικασίας Πλήρους Διαχείρισης Ωρολογίων Προγραμμάτων. Παρακάτω προτείνεται μια

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

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

Διαχείριση Ωρολογίων Προγραμμάτων

Διαχείριση Ωρολογίων Προγραμμάτων Διαχείριση Ωρολογίων Προγραμμάτων Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της Διαδικασίας Πλήρους Διαχείρισης Ωρολογίων Προγραμμάτων. Παρακάτω προτείνεται μια αλληλουχία

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

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

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

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