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

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

Download "ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ"

Transcript

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

2 Δήλωση μη λογοκλοπής Δηλώνουμε υπεύθυνα ότι είμαστε οι συγγραφείς αυτής της πτυχιακής εργασίας και πως όλες οι πηγές που χρησιμοποιήθηκαν είτε ακριβώς είτε παραφρασμένες για την συγγραφή αναφέρονται σε παραπομπές ή στην βιβλιογραφία. 2

3 Εγκρίθηκε από την τριμελή εξεταστική επιτροπη Τόπος Ημερομηνία Επιτροπή Αξιολόγησης 1. Ονοματεπώνυμο Υπογραφή 2. Ονοματεπώνυμο Υπογραφή 3. Ονοματεπώνυμο Υπογραφή 3

4 Περίληψη Στο πλαίσιο της πτυχιακής μας εργασίας δημιουργήθηκαν δύο βοηθητικές εφαρμογές για το μάθημα Μαθηματικά ΙΙ. Η πρώτη εφαρμογή είναι για λειτουργικό σύστημα Windows και δημιουργήθηκε μέσω του MATLAB, ενώ η δεύτερη είναι για συσκευές με λειτουργικό Android και δημιουργήθηκε με το Android Studio. Σκοπός των εφαρμογών είναι η δυνατότητα επίλυσης γραμμικών συστημάτων με επαναληπτικές μεθόδους αλλά και η κατανόηση των επαναληπτικών μεθόδων και η εύκολη πρόσβαση σε πληροφορίες σχετικά με αυτές. Συνδυαστικά μπορούν να βοηθήσουν τους φοιτητές και να λύσουν γραμμικά συστήματα αλλά και να κατανοήσουν πως λύθηκαν αυτά τα συστήματα. Για την δημιουργία των εφαρμογών χρησιμοποιήθηκαν οι γλώσσες προγραμματισμού MATLAB, Java, HTML, XML και MathML. 4

5 Περιεχόμενα Περίληψη... 4 Κεφάλαιο Ανάλυση κεφαλαίων... 7 Κεφάλαιο Android Android Studio MATLAB Γλώσσες προγραμματισμού Java HTML XML και MathML Κεφάλαιο Εισαγωγή στην Αριθμητική Ανάλυση Γραμμική Άλγεβρα Επαναληπτικές μέθοδοι GMRES BiCG QMR CGS BiGSTAB Εφαρμογή MATLAB Ανάλυση κώδικα Κεφάλαιο Οι εκδόσεις των Android Σχεδιασμός του Android Πυρήνας Linux (Linux Kernel) Βιβλιοθήκες Η εικονική μηχανή Dalvik Ανάπτυξη εφαρμογών στο Android Εγκατάσταση λογισμικού Δημιουργία νέου Android Project στο Android Studio Δημιουργία των Activities της εφαρμογής Debugging και Δοκιμαστική Φάση Εφαρμογής Android Design Guidelines Υποστήριξη πολλαπλών συσκευών Υποστήριξη παλαιότερων εκδόσεων Υποστήριξη πολλαπλών διαστάσεων οθόνης Δοκιμή και Αποσφαλμάτωση (Debugging) της Εφαρμογής

6 Android Debug Bridge (ADB) Εικονικές Συσκευές Android (Android Virtual Devices AVD) Δημιουργία διαφορετικών εικονικών συσκευών Dalvik Debug Monitor Server (DDMS) Application Crash Reporter for Android (ACRA) Κατακερματισμος του Android Λειτουργία εφαρμογής Ανάλυση κώδικα Κεντρικό activity Δήλωση των Activities στο AndroidManifest.xml Δημιουργία layout της κεντρικής οθόνης Δημιουργία του Relative layout Δημιουργία webview layouts Δημιουργία Επαναληπτικών μεθόδων σε MathML μορφή Επεξεργασία και προσθήκη κατάλληλων Drawables Εισαγωγή String Resources Κεφάλαιο Συμπεράσματα Παράρτημα Α Α.1 Δημιουργία των πινάκων Α.2 Λειτουργία μεθόδων A.3 Διαφορές μεταξύ MathML και HTML Βιβλιογραφία

7 Κεφάλαιο 1 Ανάλυση κεφαλαίων Σε αυτή τη πτυχιακή εργασία παρουσιάζεται η δημιουργία δύο εφαρμογών οι οποίες έχουν ως στόχο να βοηθήσουν στην ανάλυση και στην επίλυση ορισμένων επαναληπτικών μεθόδων. Συγκεκριμένα είναι μια εφαρμογή για Windows που δημιουργήθηκε μέσω του MATLAB και στην οποία μπορεί ο χρήστης να επιλύσει ένα γραμμικό σύστημα επιλέγοντας μία ή και περισσότερες από τις διαθέσιμες μεθόδους και να τις συγκρίνει. Η δεύτερη εφαρμογή είναι για το λειτουργικό σύστημα Android και δημιουργήθηκε σε Android Studio. Ο στόχος αυτής της εφαρμογής είναι η κατανόηση του τρόπου λειτουργίας των επαναληπτικών μεθόδων και εύκολη πρόσβαση σε αυτές της πληροφορίες. Στο δεύτερο κεφάλαιο γίνεται μια εισαγωγή στα προγράμματα και τις γλώσσες προγραμματισμού που χρησιμοποιήθηκαν για την δημιουργία των δύο αυτών εφαρμογών με ιστορικά στοιχεία. Στο τρίτο κεφάλαιο αναλύεται η MATLAB εφαρμογή, το πως λειτουργεί, πως δημιουργήθηκε και πως λειτουργούν οι μέθοδοι που επιλέχθηκαν για την εφαρμογή. Επίσης παρουσιάζεται αναλυτικά ένα τμήμα κώδικα της εφαρμογής. Στο τέταρτο κεφάλαιο περιγράφεται ο τρόπος λειτουργίας των Android, τι χρειάζεται για να δημιουργηθεί μια Android εφαρμογή, πως δημιουργήθηκε και πως λειτουργεί η εφαρμογή και γίνεται μία ανάλυση κάποιων τμημάτων του κώδικα. 7

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

9 Κεφάλαιο Android Το Android είναι λειτουργικό σύστημα το οποίο αρχικά δημιουργήθηκε για κινητά τηλέφωνα από την Google το 2007 και έχει ως βάση του τα Linux. Σήμερα έχει επεκταθεί σε τάμπλετ, τηλεοράσεις, ρολόγια και αυτοκίνητα. Ο σχεδιασμός γίνεται κυρίως για συσκευές με οθόνη αφής και η αλληλεπίδραση με τη συσκευή γίνεται μέσω εικονικού πληκτρολογίου και χειρονομίες. Ο λόγος που επιλέχθηκε από εμάς αυτό το λειτουργικό αντί των ios ή των Windows RT είναι κυρίως η δημοφιλία τους αφού όπως ανακοίνωσε η Google το 2014 υπάρχουν περισσότερες από 1 δισεκατομμύριο ενεργές συσκευές Android. Στην δημιουργία εφαρμογών για το λειτουργικό Android χρησιμοποιείται συνήθως η γλώσσα προγραμματισμού Java μέσω του Android SDK το οποίο είναι είναι σετ με εργαλεία όπως βιβλιοθήκες, debugger, προσομοιωτή κινητού τηλεφώνου που βοηθούν στην ανάπτυξη εφαρμογών. Επίσης χρειάζεται ένα πρόγραμμα IDE (Integrated Development Enviroment) ή στα ελληνικά Ολοκληρωμένο Περιβάλλον Ανάπτυξης το οποίο είναι βοηθητικό εργαλείο για την δημιουργία εφαρμογών σε οποιοδήποτε λειτουργικό σύστημα. 2.2 Android Studio Το IDE που επιλέχθηκε για την ανάπτυξη της εφαρμογής είναι το Android Studio. Αναπτύχθηκε από την Google το 2013, και είναι ακόμα σε beta 9

10 μορφή. Το Android Studio όπως και άλλοι IDE περιέχει επεξεργαστή κειμένου, μεταγλωττιστή, εργαλεία αυτόματης παραγωγής κώδικα, ενώ έχει απλοποιήσει την κατασκευή γραφικού περιβάλλοντος με λειτουργίες drag and drop και έτοιμα αντικείμενα. Η διαφορά του από οποιαδήποτε άλλο περιβάλλον ανάπτυξης είναι ότι το έχει εκδώσει η ίδια η Google, η δημιουργός των Android και συμπεριλαμβάνει από μόνο του τον Android SDK. 2.3 MATLAB Το όνομα του MATLAB προέρχεται από τον συνδυασμό των λέξεων Matrix Laboratory. Η πρώτη του μορφή δημιουργήθηκε στα τέλη της δεκαετίας του 1970, όταν ο Cleve Moler, πρόεδρος του τμήματος Πληροφορικής του πανεπιστημίου του New Mexico θέλησε να δώσει στους φοιτητές του τις βιβλιοθήκες LINPACK και EISPACK οι οποίες ήταν γραμμένες σε Fortran, χωρίς να χρειαστεί να μάθουν την συγκεκριμένη γλώσσα. Σύντομα διαδόθηκε και σε άλλα πανεπιστήμια των Ηνωμένων Πολιτειών. Σε μία επίσκεψη του Moler στο πανεπιστήμιο του Stanford ο ηλεκτρολόγος μηχανικός John Little αναγνώρισε την εμπορική αξία του όλου εγχειρήματος και μαζί με τον Moler και τον Steve Bangert δημιούργησαν την MathWorks το Ξαναέγραψαν το MATLAB σε C, και από τότε εξελίσσεται. Το 2000 γράφτηκε από την αρχή ώστε να χρησιμοποιεί νέες βιβλιοθήκες σχετικά με την επεξεργασία πινάκων(moler, 2004). Σήμερα χρησιμοποιείται σε πολλούς τομείς της εκπαίδευσης με κυριότερα τα πεδία της γραμμικής άλγεβρας και της αριθμητικής ανάλυσης. Αν και χρησιμοποιείται κατά 10

11 κύριο λόγο για την επίλυση μαθηματικών προβλημάτων μπορεί να γίνει χρήση του για προγραμματισμό καθώς περιέχει εντολές από C++, απεικόνιση στατιστικών γραφημάτων, επεξεργασία εικόνας και άλλα. 2.4 Γλώσσες προγραμματισμού Java Εικόνα 2.1 Το λογότυπο της Java Το 1991, η Sun αναζητούσε το κατάλληλο εργαλείο για να αποτελέσει την πλατφόρμα ανάπτυξης λογισμικού σε μικρο-συσκευές (έξυπνες οικιακές συσκευές έως πολύπλοκα συστήματα παραγωγής γραφικών). Εκείνη την εποχή οι πιο δημοφιλείς γλώσσες προγραμματισμού ήταν η C++ και η C. Μετά από διάφορους πειραματισμούς προέκυψε το συμπέρασμα ότι οι υπάρχουσες γλώσσες δεν μπορούσαν να καλύψουν τις ανάγκες τους. Ο δημιουργός της Java, James Gosling, που εργαζόταν εκείνη την εποχή για την Sun, έκανε ήδη πειραματισμούς πάνω στη C++ και είχε παρουσιάσει κατά καιρούς κάποιες πειραματικές γλώσσες (C++ ++) ως πρότυπα για το νέο εργαλείο που αναζητούσαν στην Sun. Τελικά μετά από λίγο καιρό 11

12 κατέληξαν με μια πρόταση για το επιτελείο της εταιρίας, η οποία ήταν η γλωσσα Oak. Το όνομά της το πήρε από το ομώνυμο δένδρο (βελανιδιά) το οποίο ο Gosling είχε έξω από το γραφείο του και έβλεπε κάθε μέρα. H Oak ήταν μία γλώσσα που διατηρούσε μεγάλη συγγένεια με την C++. Παρόλα αυτά είχε πολύ πιο έντονο αντικειμενοστρεφή (object oriented) χαρακτήρα σε σχέση με την C++ και χαρακτηριζόταν για την απλότητα της. Σύντομα οι υπεύθυνοι ανάπτυξης της νέας γλώσσας ανακάλυψαν ότι το όνομα Oak ήταν ήδη κατοχυρωμένο οπότε κατά την διάρκεια μιας εκ των πολλών συναντήσεων σε κάποιο τοπικό καφέ αποφάσισαν να μετονομάσουν το νέο τους δημιούργημα σε Java που εκτός των άλλων ήταν το όνομα της αγαπημένης ποικιλίας καφέ για τους δημιουργούς της. Η επίσημη εμφάνιση της Java στη βιομηχανία της πληροφορικής έγινε το Μάρτιο του 1995 όταν η Sun την ανακοίνωσε στο συνέδριο Sun World Στις 13 Νοεμβρίου του 2006 η Java έγινε πλέον μια γλώσσα ανοιχτού κώδικα (GPL) όσον αφορά το μεταγλωττιστή (javac) και το πακέτο ανάπτυξης (JDK, Java Development Kit). Ένα από τα βασικά πλεονεκτήματα της Java έναντι των περισσότερων άλλων γλωσσών είναι η ανεξαρτησία του λειτουργικού συστήματος και πλατφόρμας. Τα προγράμματα που είναι γραμμένα σε Java τρέχουνε ακριβώς το ίδιο σε Windows, Linux, Unix και Macintosh χωρίς να χρειαστεί να ξαναγίνει μεταγλώττιση (compiling) ή να αλλάξει ο πηγαίος κώδικας για κάθε διαφορετικό λειτουργικό σύστημα. Για να επιτευχθεί όμως αυτό χρειαζόταν κάποιος τρόπος έτσι ώστε τα προγράμματα γραμμένα σε Java να μπορούν να είναι «κατανοητά» από κάθε υπολογιστή ανεξάρτητα του είδους επεξεργαστή (Intel x86, IBM, Sun SPARC, Motorola) αλλά και 12

13 λειτουργικού συστήματος (Windows, Unix, Linux, BSD, MacOS). Ο λόγος είναι ότι κάθε κεντρική μονάδα επεξεργασίας κατανοεί διαφορετικό κώδικα μηχανής. Ο συμβολικός κώδικας (assembly) που μεταφράζεται και εκτελείται σε Windows είναι διαφορετικός από αυτόν που μεταφράζεται και εκτελείται σε έναν υπολογιστή Macintosh. Η λύση δόθηκε με την ανάπτυξη της Εικονικής Mηχανής (Virtual Machine ή VM ή ΕΜ στα ελληνικά) HTML Η HTML (HyperText Markup Language, και στα Ελληνικά Γλώσσα Σήμανσης Υπερκειμένου) είναι η κύρια γλώσσα σήμανσης για τις ιστοσελίδες, και τα στοιχεία της είναι τα βασικά δομικά στοιχεία των ιστοσελίδων. Η πρώτη δημόσια διαθέσιμη περιγραφή της HTML ήταν ένα έγγραφο με το όνομα Ετικέτες HTML, το οποίο αναφέρθηκε πρώτη φορά στο Διαδίκτυο από τον Tim Berners - Lee στα τέλη του Περιέγραφε τα 20 στοιχεία τα οποίο αποτελούσαν τον αρχικό και σχετικά απλό σχεδιασμό της HTML. Εκτός από την ετικέτα υπερσυνδέσμου, οι υπόλοιπες ήταν έντονα επηρεασμένες από την SGMLguid, μια μορφή δημιουργίας τεκμηρίωσης, φτιαγμένη στο CERN και βασισμένη στην SGML. Δεκατρία από εκείνα τα αρχικά στοιχεία υπάρχουν ακόμα σήμερα στην HTML(Berners-Lee, 1990). Η HTML γράφεται υπό μορφή στοιχείων HTML τα οποία αποτελούνται από ετικέτες (tags), οι οποίες περικλείονται μέσα σε σύμβολα «μεγαλύτερο από» και «μικρότερο από» (για παράδειγμα <html>), μέσα στο περιεχόμενο της ιστοσελίδας. Οι ετικέτες HTML συνήθως λειτουργούν ανά ζεύγη (για παράδειγμα <h1> και </h1>), με την πρώτη να ονομάζεται ετικέτα έναρξης 13

14 και τη δεύτερη ετικέτα λήξης (ή σε άλλες περιπτώσεις ετικέτα ανοίγματος και ετικέτα κλεισίματος αντίστοιχα). Ανάμεσα στις ετικέτες, οι σχεδιαστές ιστοσελίδων μπορούν να τοποθετήσουν κείμενο, πίνακες, εικόνες κλπ. Ο σκοπός ενός web browser είναι να διαβάζει τα έγγραφα HTML και τα συνθέτει σε σελίδες που μπορεί κανείς να διαβάσει ή να ακούσει. Ο browser δεν εμφανίζει τις ετικέτες HTML, αλλά τις χρησιμοποιεί για να ερμηνεύσει το περιεχόμενο της σελίδας. Τα στοιχεία της HTML χρησιμοποιούνται για να κτίσουν όλους του ιστότοπους. Η HTML επιτρέπει την ενσωμάτωση εικόνων και άλλων αντικειμένων μέσα στη σελίδα, και μπορεί να χρησιμοποιηθεί για να εμφανίσει διαδραστικές φόρμες. Παρέχει τις μεθόδους δημιουργίας δομημένων εγγράφων (δηλαδή εγγράφων που αποτελούνται από το περιεχόμενο που μεταφέρουν και από τον κώδικα μορφοποίησης του περιεχομένου) καθορίζοντας δομικά σημαντικά στοιχεία για το κείμενο, όπως κεφαλίδες, παραγράφους, λίστες, συνδέσμους, παραθέσεις και άλλα XML και MathML H XML (Extensible Markup Language) είναι μία γλώσσα σήμανσης, που περιέχει ένα σύνολο κανόνων για την ηλεκτρονική κωδικοποίηση κειμένων. Ορίζεται, κυρίως, στην προδιαγραφή XML 1.0 (XML 1.0 Specification), που δημιούργησε ο διεθνής οργανισμός προτύπων W3C (World Wide Web Consortium), αλλά και σε διάφορες άλλες σχετικές προδιαγραφές ανοιχτών προτύπων. Η XML σχεδιάστηκε δίνοντας έμφαση στην απλότητα, τη γενικότητα και τη 14

15 χρησιμότητα στο Διαδίκτυο. Είναι μία μορφοποίηση δεδομένων κειμένου, με ισχυρή υποστήριξη Unicode για όλες τις γλώσσες του κόσμου. Αν και η σχεδίαση της XML εστιάζει στα κείμενα, χρησιμοποιείται ευρέως για την αναπαράσταση αυθαίρετων δομών δεδομένων, που προκύπτουν για παράδειγμα στις υπηρεσίες ιστού. Υπάρχει μία ποικιλία διεπαφών προγραμματισμού εφαρμογών, που μπορούν να χρησιμοποιούν οι προγραμματιστές, για να προσπελαύνουν δεδομένα XML, αλλά και διάφορα συστήματα σχημάτων XML, τα οποία είναι σχεδιασμένα για να βοηθούν στον ορισμό γλωσσών, που προκύπτουν από την XML. Έως το 2009, έχουν αναπτυχθεί εκατοντάδες γλώσσες που βασίζονται στην XML, συμπεριλαμβανομένων του RSS, του SOAP και της XHTML. Προεπιλεγμένες κωδικοποιήσεις βασισμένες στην XML, υπάρχουν για τις περισσότερες σουίτες εφαρμογών γραφείου. Η MathML είναι γλώσσα σήμανσης που χρησιμοποιείται συγκεκριμένα για την απεικόνιση χαρακτήρων και συναρτήσεων των μαθηματικών σε ιστοσελίδες. Η πρώτη έκδοση βγήκε το 1998 ως την πρώτη γλώσσα XML που ήταν προτεινόμενη από το W3C. Οπτικά MathML και HTML δεν έχουν κάποια διαφορά, αλλά το πλεονέκτημα της MathML είναι ότι όχι μόνο εμφανίζει τους χαρακτήρες και τις συναρτήσεις αλλά το ότι καταλαβαίνει και το νόημα τους. Αν για παράδειγμα ένας χρήστης με προβλήματα όρασης επιλέξει μέσω του περιηγητή του να ακούσει μια ιστοσελίδα μέσω τον εξειδικευμένων προγραμμάτων που υπάρχουν η MathML θα βοηθήσει στην ανάγνωση των συναρτήσεων. 15

16 Κεφάλαιο Εισαγωγή στην Αριθμητική Ανάλυση Η αριθμητική ανάλυση είναι ίσως ο βασικότερος κλάδος τον εφαρμοσμένων μαθηματικών, τα οποία με τη σειρά τους είναι ένας μεγάλος τομέας των μαθηματικών ο οποίος ασχολείται με τις μαθηματικές τεχνικές που αναπτύσσονται και χρησιμοποιούνται στις άλλες επιστήμες, την τεχνολογία και τις εφαρμογές. Η αριθμητική ανάλυση είναι σχεδόν συνώνυμη με τα υπολογιστικά μαθηματικά. Ο στόχος της είναι η προσεγγιστική επίλυση μαθηματικών προβλημάτων που συναντώνται σε όλες τις επιστήμες και την τεχνολογία. Συνήθως έχουμε μαθηματικά μοντέλα τα οποία περιγράφουν διάφορα φαινόμενα ή/και διεργασίες τα οποία εμπλέκουν συνεχείς συναρτήσεις και μεταβλητές. Επειδή η αναλυτική επίλυση είναι σπάνια δυνατή, επιλύουμε το πρόβλημα προσεγγιστικά αφού πρώτα το διακριτοποιήσουμε. Έτσι από συνεχείς διαδικασίες τις χωρίζουμε σε διακριτές διαδικασίες και από άπειρες διαδικασίες σε πεπερασμένες διαδικασίες. Το διακριτό πρόβλημα που προκύπτει το ονομάζουμε αριθμητική μέθοδο. Κάθε διακριτό πρόβλημα (ή αριθμητική μέθοδος) για να εφαρμοσθεί (κυρίως στον ηλεκτρονικό υπολογιστή) απαιτεί μια πεπερασμένη, λογική σειρά καλά ορισμένων αριθμητικών πράξεων και λογικών εκφράσεων. Το σύνολο αυτών των βημάτων ονομάζεται αλγόριθμος. H αριθμητική ανάλυση χωρίζεται με δύο μέρη: 16

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

18 Έχει εκτιμηθεί ότι το 70% των προβλημάτων της Επιστήμης και της Τεχνολογίας που καταλήγουν για επίλυση σε ηλεκτρονικό υπολογιστή είναι γραμμικά συστήματα (Δούγαλης, Νούτσος, Χατζηδήμος 2007). Αυτό οφείλεται στο ότι η περιγραφή διαφόρων φαινομένων στα οποία υπάρχει μεταβολή φυσικών ποσοτήτων που εξαρτιούνται από άλλες, περιγράφεται συνήθως στα μαθηματικά μέσα από διαφορικές εξισώσεις. Η αριθμητική γραμμική άλγεβρα, όπως και η αριθμητική ανάλυση ασχολείται γενικά με την μελέτη και ανάπτυξη αριθμητικών αλγορίθμων. Αυτοί οι αλγόριθμοι περιέχουν μόνο τις τέσσερις βασικές πράξεις της αριθμητικής για την επίλυση γραμμικών προβλημάτων. Στα βήματα αυτών των αλγορίθμων εμφανίζονται κάποια σφάλματα που έχουν να κάνουν κυρίως με την στρογγυλοποίηση των δεδομένων κατά την επεξεργασία και την αποθήκευση τους. Η παρουσία αυτών των σφαλμάτων που μεταδίδονται και συσσωρεύονται κατά την διάρκεια των υπολογισμών έχει ως συνέπεια τα αποτελέσματα που εμφανίζει ο υπολογιστής να μην είναι ακριβή. Είναι μια προσέγγιση της λύσης του προβλήματος και για αυτό το λόγο ένα μεγάλο μέρος της γραμμικής άλγεβρας ασχολείται με την δημιουργία μεθόδων και αλγορίθμων που θα περιορίζουν όσο το δυνατόν περισσότερο το σφάλμα στο τελικό αποτέλεσμα έτσι ώστε αυτά να θεωρούνται αποδεκτά Επαναληπτικές μέθοδοι Όταν χρησιμοποιείται υπολογιστής για την επίλυση προβλημάτων είναι αναπόφευκτα τα σφάλματα στρογγυλοποίησης. Αυτή η παρατήρηση οδηγεί στην σκέψη ότι δεν είναι δυνατόν να βρεθεί η ακριβής λύση και ότι θα ήταν 18

19 προτιμότερο να χρησιμοποιηθεί μέθοδος η οποία θα αναζητά την καλή προσέγγιση της λύσης αντί για της ακριβούς λύσης. Από τα τέλη του 19ου αιώνα έχουν αναπτυχθεί διάφορες μέθοδοι οι οποίες ανήκουν στην κατηγορία των λεγόμενων έμμεσων ή επαναληπτικών. Θεωρούνται πολύ αποτελεσματικές ειδικά όταν ο πίνακας των συντελεστών των αγνώστων του προς επίλυση γραμμικού συστήματος είναι μεγάλος και αραιός. Είναι επίσης οι καταλληλότερες για επίλυση προβλημάτων όταν χρησιμοποιείται υπολογιστής παράλληλης αρχιτεκτονικής GMRES Μια μέθοδος για την εύρεση της προσεγγιστικής λύσης στην περίπτωση γενικού πίνακα είναι Generalized Minimal Residual (GMRES). H GMRES είναι επαναληπτική μέθοδος που χρησιμοποιείται για επίλυση γραμμικών εξισώσεων όπως και όλες οι μέθοδοι που ακολουθούν. Η μέθοδος αυτή αναπτύχθηκε από τους Yousef Saad και Martin Schultz το Είναι μια πιο γενικευμένη έκδοσης της μεθόδου MINRES που είχε δημιουργηθεί το 1975 από τους Chris Paige και Michael Saunders. Η μέθοδος αυτή χρησιμοποιεί την παραλλαγή της Gram-Schmidt για την ορθοκανονικοποίηση του χώρου Krylov span {r0, Ar0, A k r0}. Ο αλγόριθμος αυτής της ορθοκανονικοποίσης καλείται αλγόριθμος του Arnoldi. Οι βασικές σχέσεις k βήμα του αλγορίθμου δίνονται από τις AQ k = Q k H kk + H k+1 (ξ k ) T = Q k+1 H k+1,k Ο πίνακας Qk είναι ένας n x k ορθοκανονικός πίνακας με στήλες τα ορθοκανονικά διανύσματα qk που παράγονται από τον ίδιο αλγόριθμο, ο 19

20 πίνακας Hkk είναι ένας k x k άνω Hessenberg πίνακας με στοιχεία τα εσωτερικά γινόμενα hij = (qj+1, qi), όπου qi είναι τα ορθοκανονικά διανύσματα που κατασκευάζονται από τον αλγόριθμος του Arnoldi, ενώ τα qj+1 είναι τα ορθογώνια ανά δύο διανύσματα τα οποία, επίσης κατασκευάζονται από τον ίδιο αλγόριθμο. Ο πίνακας Hk+1,k είναι ο προηγούμενος πίνακας Hkk, αυξημένος κατά μια επιπλέον γραμμή, της οποίας το μόνο μη μηδενικό στοιχείο είναι το hk+1,k. Το στοιχείο αυτό βρίσκεται από τον αλγόριθμο του Arnoldi. Το διάνυσμα hk+1 είναι το ανάστροφο του διανύσματος γραμμής της τελευταίας γραμμής του πίνακα Hk+1,k. Το διάνυσμα ξ k, που εμφανίζεται στις παρακάτω σχέσεις είναι το γνωστό βασικό μοναδιαίο διάνυσμα διάστασης κ με 1 στην k συνιστώσα BiCG Έστω A C n,n μη Ερμιτιανός, γενικά πίνακας και έστω Ax = b το σύστημα που θέλουμε να επιλύσουμε με b C n. Θεωρούμε ότι η ακολουθία διανυσμάτων που παράγει ο αλγόριθμος του Lanczos είναι πλήρης, δηλαδή δεν έχουμε περίπτωση κατάρρευσης. Τα διανύσματα βάσης του χώρου Krylov, τα οποία παράγονται από τον αλγόριθμο του Lanczos, μπορούν να χρησιμοποιηθούν στην προσέγγιση της λύσης του γραμμικού συστήματος. Εδώ, όπως και στην GMRES η προσέγγιση x k της λύσης του γραμμικού συστήματος δίδεται από μια σχέση της μορφής: x k = x 0 + V k y k Η παραπάνω σχέση αποτελεί μια διαδικασία διαδοχικών βελτιώσεων της αρχικής προσέγγισης x 0, μέσω ενώς γραμμικού συνδιασμού διανυσμάτων βάσης του χώρου Krylov Kk (A, r0). 20

21 3.1.5 QMR Στην Quasi-minimal Residual (QMR) οι προσεγγίσεις της λύσης δίδονται και σε αυτήν την περίπτωση από την σχέση x k = x 0 + V kyk οπού το y k είναι τέτοιο ώστε να ελαχιστοποιεί μια ποσότητα που σχετίζεται με την ευκλείδεια νόρμα του υπολοίπου CGS Στις μεθόδους BICG και QMR σε κάθε επανάληψη, απαιτούνται πολλαπλασιασμοί των πινάκων Α και Α H επί διανύσματα. Το γεγονός αυτό απαιτεί επιπλέον κόστος σε πράξεις. Επίσης σε πολλές περιπτώσεις, ο πολλαπλασιασμός με τον A H δεν είναι βολικός σε σύγκριση με αυτόν του Α. Για αυτούς τους λόγους, προσπαθούμε να κατασκευάσουμε επαναληπτικές μεθόδους, τέτοιες ώστε από το ένα μέρος να απαιτούν πολλαπλασιασμό μόνο με τον πίνακα Α και από το άλλο μέρος να παράγουν καλές προσεγγίσεις της λύσης από τους χώρους Krylov, που κατασκευάζονται από τον πολλαπλασιασμό του πίνακα Α επί το διάνυσμα. Μια τέτοια μέθοδος, η οποία βελτιώνει τις μεθόδους BICG και QMR είναι η CGS BiGSTAB Η BiCGSTAB αναπτύχθηκε από τον Henk Van der Vorst για την επίλυση γραμμικών συστημάτων. Αποτελεί μια παραλλαγή της BiCG που έχει ταχύτερη και ομαλότερη σύγκλιση και από την αρχική BiCG αλλά και από άλλες μεθόδους όπως η CGS. Για την αποφυγή των αυξομειώσεων της 21

22 νόρμας του υπόλοιπου κατά τη σύγκλιση της CGS μεθόδου θεωρούμε την παρακάτω τροποποιημένη μορφή υπόλοιπου r k = x k (A)Φ k (A)r 0 Όπου Φ k ειναι το πολυώνυμο της BiCG ενώ το x k επιλέγεται έτσι ώστε να διατηρεί τη νόρμα του υπολοίπου σε κάθε επανάληψη μικρή, ακολουθώντας την ταχεία σύγκλιση της CGS 3.2 Εφαρμογή MATLAB Η δημιουργία της MATLAB εφαρμογής έγινε με τη χρήση του προγράμματος MATLAB GUIDE (Graphical User Interface Design Environment) το οποίο παρέχει τα κατάλληλα εργαλεία για την δημιουργία εφαρμογών σε περιβάλλον Windows δίνοντας την δυνατότητα στον προγραμματιστή να χρησιμοποιήσει τις βιβλιοθήκες του MATLAB. Ξεκινώντας επιλέχθηκε ένα σταθερό μέγεθος για την εφαρμογή το οποίο περιέχει όλα τα απαραίτητα στοιχεία για τον υπολογισμό και την σύγκριση των μεθόδων. Πάνω αριστερά υπάρχουν δύο Pop up menus στα οποία ο χρήστης επιλέγει με το πρώτο το μέγεθος του πίνακα, έχοντας να επιλέξει από πίνακα 3x3 έως και πίνακα 10x10. Το δεύτερο Pop up menu είναι για την επιλογή της μεθόδου επίλυσης με τις επιλογές να είναι CGS, GMRES, QMR, BiCG, BiCGSTAB. Δεξιά στο πεδίο με τίτλο Matrices υπάρχουν τρεις πίνακες. Διαμορφώνονται ανάλογα με την επιλογή που έδωσε ο χρήστης στο μέγεθος του πίνακα και 22

23 οι πρώτοι δύο αφορούν τους πίνακες που χρειάζονται για την επίλυση του γραμμικού συστήματος, ενώ ο τρίτος είναι ο πίνακας με τα αποτελέσματα. Εικόνα 3.1 Η εφαρμογή που δημιουργήσαμε στο MATLAB Κάτω από τα μενού στο πεδίο Variables είναι τρία Text boxes, τα οποία περιλαμβάνουν τις μεταβλητές για το περιθώριο λάθους, το πλήθος των επαναλήψεων και των επανεκκινήσεων και ο χρήστης μπορεί να μεταβάλει αυτές τις τιμές αν το επιθυμεί. 23

24 Εικόνα 3.2 Η εφαρμογή που δημιουργήσαμε στο MATLAB Εφόσον έχουν επιλεχθεί η μέθοδος, και το μέγεθος του πίνακα και έχουν συμπληρωθεί τα πεδία των πινάκων και τον μεταβλητών με το πάτημα του button Calculate το οποίο υπολογίζει και εμφανίζει τα αποτελέσματα στον πίνακα Results, στον πίνακα με το αντίστοιχο όνομα της μεθόδου στο κάτω μέρος της εφαρμογής και εμφανίζεται στο Plot. Σε περίπτωση που θέλει ο χρήστης να δει τα αποτελέσματα και μιας άλλης μεθόδου την επιλέγει και ο πίνακας Results θα αποθηκεύσει την τελευταία μέθοδο, και πάλι στο κάτω μέρος της εφαρμογής θα αποθηκευτεί μόνιμα 24

25 για σκοπούς σύγκρισης. Αν θέλει ο χρήστης να διαγράψει τα πάντα, πατώντας το κουμπί Clear η εφαρμογή επιστρέφει στην αρχική της μορφή, ενώ με το Clear Axes μόνο το Plot πηγαίνει στην αρχική του μορφή Ανάλυση κώδικα. Στο παρακάτω τμήμα κώδικα φαίνεται η λειτουργία της GMRES που επιλέχθηκε τυχαία για να παρουσιαστεί το πως λειτουργεί η εφαρμογή. Υπάρχει μια Switch που μέσα έχει διαφορετικά Cases ανάλογα με την επιλογή του χρήστη στο δεύτερο Pop up menu, αυτό που επιλέγει την μέθοδο. case 3 // η περίπτωση που επιλεχθεί η GMRES a=get(handles.tablea, data'); //παίρνει τα στοιχεία που υπάρχουν στον α πίνακα b=get(handles.tableb,'data'); // αντίστοιχα για τον πίνακα β tol=str2num(get(handles.tol, String')); //το περιθώριο λάθους που έχει ορίσει ο χρήστης maxit=str2num(get(handles.maxit, String')); //ο αριθμός των επαναλήψεων restart=str2num(get(handles.restart, string')); //ο αριθμός των επανεκκινήσεων x=gmres(a,b,restart,tol,maxit); // καλεί την συνάρτηση gmres με τα στοιχεία που συλλέχθηκαν πιο πάνω set(handles.result, data',x) // τα αποτελέσματα μπαίνουν στον πίνακα results set(handles.gmresres, data',x) //τα αποτελέσματα μπαίνουν στον πίνακα gmres p= plot(x) // εμφανίζονται στο plot τα αποτελέσματα set(p, Color','blue','LineWidth',1.5) // με χρώμα γραμμής το μπλε και πάχος 1.5 Παρομοίως λειτουργούν και οι υπόλοιπες μέθοδοι, με μόνη διαφορά ότι η επιλογή Restart είναι ενεργή μόνο στην συγκεκριμένη μέθοδο. 25

26 Κεφάλαιο Οι εκδόσεις των Android. Εικόνα 4.1 Τα λογότυπα των Android εκδόσεων Όπως αναφέρθηκε και πιο πριν το λειτουργικό Android ξεκίνησε το Η πρώτη του έκδοση ήταν η Android 1.0 χωρίς κάποιο κωδικό όνομα. Σήμερα η πιο πρόσφατη έκδοση είναι η Kit Kat 4.4. Συνηθίζεται όταν η αναβάθμιση αφορά κάποιες μικρές βελτιώσεις ή κάποιες διορθώσεις για bugs να αυξάνονται τα δέκατα της έκδοσης, ενώ για μεγάλες αναβαθμίσεις ανεβαίνει κατά 1 μονάδα το νούμερο της έκδοσης. Το Android 1.0 περιελάμβανε υποστήριξη κάμερας, περιηγητή για το Ίντερνετ, χάρτες της Google, το κατάστημα εφαρμογών Android Market, Youtube και Gmail. H πρώτη εξέλιξη του λειτουργικού της Google ήταν η Petit Four 1.1, όταν και η εταιρία αποφάσισε να ονομάζει τις αναβαθμίσεις της με κάποιο όνομα γλυκού. Η Petit Four είναι από τις πιο άγνωστες αναβαθμίσεις κυρίως γιατί σε 2 μήνες είχε ήδη βγει η επόμενη. Αυτό που πρόσθεσε ήταν η δυνατότητα αποθήκευσης των αρχείων που στέλνονταν με MMS, και 26

27 εμφάνιση/απόκρυψη του εικονικού πληκτρολογίου στις κλήσεις. Στην συνέχεια ακολούθησε η Cupcake 1.5, και οι υπόλοιπες αναβαθμίσεις είναι με αλφαβητική σειρά, κάθε έκδοση δηλαδή είναι και ένα γλυκό από το αντίστοιχο γράμμα του αγγλικού αλφάβητου. Η Cupcake βγήκε τον Απρίλιο του 2009 και πρόσθεσε στο λειτουργικό την επικοινωνία μέσω bluetooth με τα προφίλ A2DP και AVRCP, την πρόβλεψη κειμένου κατά την πληκτρολόγηση, και λειτουργία καταγραφής βίντεο από την κάμερα της συσκευής. Τον Σεπτέμβριο του ίδιου έτους βγήκε η Donut 1.6 με κύριες προσθήκες την αναβάθμιση του πλοηγού, περισσότερες χειρονομίες και δυνατότητα επιλογής πολλών αρχείων. Η έκδοση ονομάστηκε Eclair η οποία ήταν η πρώτη μεγάλη αναβάθμιση και προστέθηκαν υποστήριξη για HTML5, ψηφιακό ζουμ, Bluetooth 2.1, υποστήριξη για Microsoft Exchange, δυνατότητα για κινούμενο φόντο ενώ βελτιώθηκε και το user interface του λογισμικού. Στην Froyo 2.2, υπήρξε βελτιστοποίηση στην ταχύτητα του λειτουργικού, δυνατότητα για tethering, να λειτουργεί δηλαδή το κινητό ως router και να μπορεί να διαμοιράζει ίντερνετ σε άλλες συσκευές, δυνατότητα αποθήκευσης εφαρμογών στην κάρτα μνήμης και δυνατότητα προβολής εικόνων τύπου GIF. Τον Δεκέμβριο του 2010 βγήκε η Gingerbread 2.3, και μέχρι και την κράτησε το ίδιο όνομα. Σε αυτή την έκδοση υπήρξε ξανά βελτιστοποίηση του user interface, αναβάθμιση της αντιγραφής και επικόλλησης σε 27

28 ολόκληρο το σύστημα, που μέχρι τότε λειτουργούσε μόνο μέσα σε κάθε εφαρμογή, καλύτερη διαχείριση μπαταρίας, δυνατότητα βίντεο κλήσεων και κλήσεων VOIP, video/voice chat μέσω του Google Talk, καθώς και προσθήκες για τα κοινωνικά δίκτυα. Η έκδοση Honeycomb 3.0 είχε την ιδιαιτερότητα ότι προοριζόταν για τα τάμπλετ. Προστέθηκε ένα διαφορετικό user interface το οποίο αφορούσε αποκλειστικά στα τάμπλετ που παραδοσιακά έχουν μεγαλύτερη οθόνη, υποστήριξη πολλών πυρήνων στον επεξεργαστή, ευκολότερο multitasking, υποστήριξη χειριστηρίων για ηλεκτρονικά παιχνίδια, δυνατότητα ανάγνωσης βιβλίων από το Google ebooks, και αυτόματες αναβαθμίσεις εφαρμογών μέσα από το Android Market. Ακολούθησε η Ice Cream Sandwich , η οποία παρουσιάστηκε τον Οκτώβριο του Σε αυτή την έκδοση έγιναν αρκετές προσθήκες σχετικά με την ασφάλεια των Android, νέες επιλογές κλειδώματος κεντρικής οθόνης, αναγνώριση προσώπου, ο περιηγητής υποστηρίζει μέχρι και 16 ανοιχτές καρτέλες, ο χρήστης μπορεί να βάλει όριο στην χρήση των δεδομένων κινητής τηλεφωνίας, οι συσκευές Android μπορούν να συνδεθούν απευθείας με το Wi-Fi direct, οι κάμερες καταγράφουν βίντεο μέχρι και 1080p ανάλυση ενώ βελτιώνεται και η φωνητική αναγνώριση. Τον Ιούλιο του 2012 κυκλοφόρησε η Jelly Bean , με μεγάλο αριθμό αλλαγών. Το λειτουργικό της Google εμπλουτίστηκε με το Google Now, την υποστήριξη πολλών χρηστών για τάμπλετς, βελτίωση πληκτρολόγησης με νέες χειρονομίες, υποστήριξη γραφής Braille με εξωτερικά πληκτρολόγια, βελτιστοποιήσεις στο user interface, την ταχύτητα, την κάμερα, αλλαγές στις ειδοποιήσεις και βελτίωση του γρήγορου μενού για ενεργοποίηση Wi- 28

29 Fi/Bluetooth, υποστήριξη ανάλυσης 4K για τις τηλεοράσεις, ασύρματο φόρτισμα για τις συσκευές, και άλλες αλλαγές μικρότερης σημασίας. Η τωρινή έκδοση των Android είναι η Kit Kat 4.4 που κυκλοφόρησε πριν από ένα χρόνο τον Οκτώβριο του Στην KitKat βελτιώθηκε η ασφάλεια, υπάρχει η δυνατότητα καταγραφής της οθόνης ενώ έγιναν και πολλές βελτιστοποιήσεις ως προς την ταχύτερη και ομαλότερη λειτουργία της συσκευής. Αναμένεται να ακολουθήσει η Android Lollipop 5.0, που θα έχει μεγάλη αλλαγή στο design του λειτουργικού, με το νέο material design, νέο σύστημα ειδοποιήσεων δίνοντας έμφαση στις ποιο σημαντικές ειδοποιήσεις, νέο ξεκλείδωμα συσκευής, και αλλαγές στην διαχείριση της μπαταρίας. 4.2 Σχεδιασμός του Android Το Android δεν είναι μόνο ένα λειτουργικό σύστημα. Είναι μια στοίβα λογισμικού η οποία αποτελείτε από πολλά επίπεδα τα οποία συνδυάζουν το λειτουργικό σύστημα, τις υπηρεσίες διασύνδεσης με τις middleware εφαρμογές και τέλος τις κύριες (core) εφαρμογές, όπως browser, cient, εφαρμογής SMS, εφαρμογή διαχείρισης επαφών, και άλλες οι οποίες έρχονται δεμένες με τo υπόλοιπο λογισμικό του Android. Στο παρακάτω σχεδιάγραμμα φαίνεται η αρχιτεκτονική αυτή. 29

30 Εικόνα 4.2 Η αρχιτεκτονική των Android Από ότι βλέπουμε λοιπόν η αρχιτεκτονική του λειτουργικού συστήματος αποτελείτε από 5 βασικά επίπεδα. Τον πυρήνα Linux (Linux Kernel) Τις βιβλιοθήκες (Libraries) Την εικονική μηχανή Dalvik (Dalvik VM) Τον χρόνο εκτέλεσης (Android Runtime) Το πλαίσιο εφαρμογής (Application Framework) Πυρήνας Linux (Linux Kernel) Η βάση του λογισμικού Android είναι ο πυρήνας Linux. Είναι η πρώτη 30

31 επαφή του hardware με το software και αυτό που κάνει ο Linux Kernel, είναι να υποστηρίζει όλες τις κύριες λειτουργίες του λειτουργικού συστήματος. Οι λειτουργίες αυτές αφορούν διαχείριση μνήμης, διαχείριση ενέργειας, ασφάλεια, αναπαραγωγή εικόνας και ήχου, λειτουργία κάμερας, πληκτρολογίου και Wi-Fi μέσω οδηγών εγκατάστασης υλικού (hardware drivers). Οι οδηγοί αυτοί είναι υπεύθυνοι για την επικοινωνία του software με το hardware της συσκευής. Η βάση του Android μπορεί να είναι ο πυρήνας των Linux, αλλά στην πραγματικότητα υπάρχουν αρκετές διαφορές. Ο λόγος είναι οι αλλαγές που έχει κάνει η Google για να είναι ελαφρύτερος και βελτιστοποιημένος για χρήση σε κινητές συσκευές. Το συμπέρασμα αυτού είναι ότι παρότι το Android είναι κατά βάση Linux, επί της ουσίας είναι αρκετά δύσκολο να τρέξουν εφαρμογές ή να χρησιμοποιηθούν βιβλιοθήκες από τη μία πλατφόρμα στην άλλη Βιβλιοθήκες Στο αμέσως επόμενο επίπεδο, το δεύτερο κατά σειρά υπάρχουν οι βιβλιοθήκες. Αυτές ουσιαστικά αποτελούν τα APIs που είναι διαθέσιμα στους προγραμματιστές για την ανάπτυξη των εφαρμογών. Οι βιβλιοθήκες έχουν την ίδια λειτουργία με τα υπόλοιπα λειτουργικά συστήματα. Είναι μια συλλογή από έτοιμα υποπρογράμματα που από μόνες τους δεν αποτελούν εφαρμογές αλλά ενσωματώνονται και χρησιμοποιούνται από τις εφαρμογές χρησιμοποιώντας τον βοηθητικό κώδικα του ως υπηρεσίες στα προγράμματα. Αποτελούν ένα από τα δομικά υλικά των εφαρμογών, και είναι αναπόσπαστο κομμάτι τους. Ο περισσότερος κώδικας που χρησιμοποιούν οι σύγχρονες εφαρμογές παρέχεται από αυτές τις 31

32 βιβλιοθήκες και δεν χρειάζεται να γραφεί από την αρχή για κάθε νέο πρόγραμμα. Οι βιβλιοθήκες είναι γραμμένες σε C και C++, οι οποίες έχουν μεταγλωττιστεί για τη χρήση τους από το λειτουργικό. Κυριότερες βιβλιοθήκες των Android είναι: System C library μια ενσωμάτωση της standard βιβλιοθήκης συστήματος της C (libc) τροποποιημένη για κινητές συσκευές βασισμένες στο Linux. Βιβλιοθήκες Πολυμέσων Υποστηρίζει αναπαραγωγή και εγγραφή ήχουν, εικόνας αλλά και βίντεο μέσω διαφόρων codecs. Surface Manager διαχειρίζεται το τι προβάλλεται στην οθόνη της συσκευής καθώς συνδυάζει όλα τα στοιχεία που συνθέτουν το τι εμφανίζεται τελικά στην οθόνη. OpenGL χρησιμοποιείται για την δημιουργία δισδιάστατων ή τρισδιάστατων γραφικών SGL η γνωστή μηχανή δισδιάστατων γραφικών Webkit παρέχει την δυνατότητα να προβληθεί υλικό γραμμένο σε HTML. SQLite χρησιμοποιείται για την διαχείριση βάσεων δεδομένων. Γενικά ο αριθμός των βιβλιοθηκών είναι πολύ μεγάλος και περιέχουν λειτουργίες για σχεδόν τα πάντα, όπως λειτουργίες της κάμερας, διαχείριση αρχείων, επεξεργασία εικόνας, λειτουργία αποθήκευσης cloud, υπηρεσίες τοποθεσίας, χρήση χειρονομιών και πολλές ακόμα. 32

33 4.2.3 Η εικονική μηχανή Dalvik Σχεδόν το σύνολο των APIs του Android βασίζονται στη γλώσσα προγραμματισμού Java. Στην Java υπάρχει η λεγόμενη Java Virtual Machine στην οποία εκτελείτε ο κώδικας bytecode των εφαρμογών. Στο Android υπάρχει κάτι παρόμοιο και ονομάζεται εικονική μηχανή Dalvik. Η Dalvik λοιπόν είναι η εικονική μηχανή μέσω της οποίας τρέχουν οι εφαρμογές του Android. H κάθε εφαρμογή τρέχει μέσω τις δικής της εικονικής μηχανής στη δικιά της διεργασία και για αυτό το λόγο καμία εφαρμογή δεν έχει επαφή με την άλλη, ενώ εκτελούνται ταυτόχρονα. Η Dalvik δεν υποστηρίζει τον κώδικα bytecode, αντί αυτού οι κλάσεις της Java γίνονται compile σε αρχεία.dex ώστε να τρέξουν στην VM. Τα αρχεία dex ουσιαστικά αποτελούν συμπιεσμένα δεδομένα για εξοικονόμηση χώρου κατά την εκτέλεση. Το Android είναι από τη φύση του multitasking λειτουργικό σύστημα και για αυτό επιτρέπει στις εφαρμογές του να τρέχουν σε πολλά νήματα ταυτόχρονα και να απασχολούν πολλές διαδικασίες εάν αυτό είναι αναγκαίο. Για να γίνει αυτό εφικτό η μηχανή Dalvik είναι σχεδιασμένη για να έχει ελάχιστο αντίκτυπο στη χρήση της μνήμης. Χάρη στον λιτό της σχεδιασμό, το σύστημα είναι σε θέση να τρέχει πολλές εικονικές μηχανές ταυτόχρονα Χρόνος Εκτέλεσης Εφαρμογής (Android Runtime) Ο χρόνος εκτέλεσης των εφαρμογών του Android, βρίσκεται στο ίδιο επίπεδο με τις κύριες βιβλιοθήκες και την μηχανή Dalvik. Εδώ βρίσκουμε το κοινό σημείο επαφής μεταξύ των δυνατοτήτων που παρέχουν οι βιβλιοθήκες και του χρόνου εκτέλεσης της εικονικής μηχανής Dalvik τις 33

34 λειτουργίες τις οποίας, περιγράψαμε παραπάνω Πλαίσιο Εφαρμογής (Application Framework) Το Android παρέχει στους developers μια ανοιχτού κώδικα πλατφόρμα ανάπτυξης και τη δυνατότητα να αναπτύξουν με αυτή ιδιαίτερα καινοτόμες και πλούσιες σε υλικό, εφαρμογές. Οι developers έχουν στην διάθεση τους τη δυνατότητα ελέγχου του υλικού της συσκευής και μέσω αυτής μπορούν να αποκτήσουν πρόσβαση σε υπηρεσίες εντοπισμού, εκτέλεση διεργασιών παρασκηνίου, και πάρα πολλές ακόμη δυνατότητες οι οποίες βασίζονται στα APIs που είναι διαθέσιμα. Στο επόμενο επίπεδο της αρχιτεκτονικής του Android λοιπόν, συναντάμε το πλαίσιο των εφαρμογών. Οι developers έχουν πρόσβαση σε όλα τα APIs μεταξύ αυτών και στα κύρια APIs που χρησιμοποιούν οι ενσωματωμένες εφαρμογές, και αφορούν στην βασική λειτουργιά του κινητόύ τηλεφώνου. Η δομή των εφαρμογών είναι τέτοια που ευνοείται η επαναχρησιμοποίηση δομικών συστατικών, και επίσης επιτρέπεται η χρήση των δυνατοτήτων τις μίας εφαρμογής από άλλες εφαρμογές, βέβαια κάτω από τις προδιαγραφές ασφάλειας του Android. Τα σημαντικότερα δομικά στοιχεία του πλαισίου εφαρμογών είναι: Σύστημα προβολών (View System) αποτελεί ένα εκτενές σύνολο από αντικείμενα GUI τα οποία μπορούν να χρησιμοποιηθούν κατά το σχεδιασμό μιας εφαρμογής. Παραδείγματα προβολών είναι οι λίστες (listview), το πλέγμα (GridView), πεδία εισαγωγής κειμένου, κουμπιά, κλπ Πάροχος Περιεχομένου (Content Provider) δίνει τη δυνατότητα στις εφαρμογές να μοιράζονται ή να ανταλλάσσουν δεδομένα μιας συγκεκριμένης μορφής η οποία ορίζεται από τον πάροχο. Παραδείγματα 34

35 δεδομένων, είναι οι επαφές χρήστη και οι βάσεις δεδομένων των εφαρμογών. Διαχειριστής Πόρων (Resource Manager) παρέχει πρόσβαση σε υλικό το οποίο δεν είναι σε μορφή κώδικα όπως πχ, εικόνες, αρχεία xml, πίνακες χαρακτήρων, κλπ Διαχειριστής Ειδοποιήσεων (Notification Manager) δίνει στις εφαρμογές πρόσβαση στις υπηρεσίες ειδοποιήσεων χρήστη. Τέτοιες είναι οι ειδοποιήσεις στη notification bar, τα toast μηνύματα στο κάτω μέρος της οθόνης, η δόνηση του κινητού και η ενεργοποίηση της οθόνης, κλπ Διαχειριστής Δραστηριοτήτων (Activity Manager) διαχειρίζεται τον κύκλο ζωής των δραστηριοτήτων και παρέχει δυνατότητα πλοήγησης από δραστηριότητα σε δραστηριότητα κρατώντας αποθηκευμένη στη μνήμη τη σειρά εκτέλεσης αυτών. Αποφασίζει πόσο καιρό θα μείνει ανοιχτή μια δραστηριότητα, εφόσον ο χρήστης θα βγει από αυτήν, και από που θα συνεχίσει όταν ξαναχρησιμοποιήσει ο χρήστης την συγκεκριμένη δραστηριότητα. 4.4 Ανάπτυξη εφαρμογών στο Android Εγκατάσταση λογισμικού Για τον σχεδιασμό, την ανάπτυξη και τον έλεγχο της εφαρμογής διαλέξαμε να δουλέψουμε στο Android Studio. Το Android Studio είναι ένα περιβάλλον ανάπτυξης εφαρμογών το βασίζετε στο IntelliJ IDEA της Java και προσφέρει : Ευέλικτο Gradle-based σύστημα. Ενσωματώνει το Android SDK και AVD. 35

36 Πολλαπλό APK generation. Πρότυπα υποστήριξης για τις υπηρεσίες της Google και για διάφορα είδη συσκευών(andoird Wear, Android Auto, Android TV). Η ενσωματωμένη υποστήριξη για την πλατφόρμα Cloud Google. Εικόνα 4.3 Το λογότυπο του Android Studio Το Android AVD προσφέρει εικονικές συσκευές για να δοκιμαστεί η λειτουργιά της εκάστοτε εφαρμογής σε πραγματικές συνθήκες και σε διαφορετικές συσκευές με διαφορετικό hardware. Η εφαρμογή μας έτρεξε και δοκιμαστικέ σε φυσικές συσκευές άλλα και σε διάφορες εικονικές συσκευές Δημιουργία νέου Android Project στο Android Studio Αφού έχουμε ορίσει τις απαιτούμενες ανάγκες τις εφαρμογής και έχουμε 36

37 στο μυαλό μας τον βασικό κορμό, θα προχωρήσουμε στην υλοποίηση της. Όλα ξεκινάνε από τη δημιουργία ενός νέου Android project στο Android Studio. Στο πρώτο πεδίο εισάγουμε το όνομα της εφαρμογής το οποίο θα χρησιμοποιείτε όπου γίνεται αναφορά της εφαρμογής μας (ρυθμίσεις εφαρμογών, Google Play Store, κλπ). Στη συνέχεια εισάγουμε το όνομα του κεντρικού πακέτου της εφαρμογής μας. Το πεδίο του ονόματος δεν μας ενδιαφέρει αν είναι μοναδικό ή όχι καθότι είναι δυνατόν να κυκλοφορούν αρκετές εφαρμογές με το ίδιο όνομα. Μοναδικό όμως πρέπει να είναι το όνομα του πακέτου όπου στο Android studio δηλώνετε αυτόματα όταν δηλώσουμε ένα δικό μας η ένα τυχαίο URL. Αρχικά επιλέξαμε την έκδοση 4.4 για να έχουμε στην διάθεσή μας τα νεότερα Google APIs. Αν υπάρξει ανάγκη στην πορεία να στοχεύσουμε σε παλαιότερες εκδόσεις του Android αρκεί να δηλώσουμε στο AndroidManifest το κατώτατο SDK που θέλουμε να συμπεριλάβουμε. Στο τρίτο βήμα διαλέγουμε κάποιο από τα activities που μας παρέχονται, ανάλογα πάντα με το τι θέλουμε να υλοποιήσουμε. Στο τελευταίο βήμα επιλέγουμε το όνομα του activity, στην περίπτωσή μας το πρώτο θα είναι και το κεντρικό activity της εφαρμογής. Δηλώνοντας το όνομα του activity αυτόματα δημιουργείται και το όνομα του layout και ο τίτλος. 37

38 Εικόνα 4.4 Δημιουργία νέου Project στο Android Studio Δημιουργία των Activities της εφαρμογής Αφού έχουμε ξεκαθαρίσει τις ανάγκες τις εφαρμογής μας ήρθε η ώρα να δηλώσουμε τις απαραίτητες οθόνες διεπαφής χρήση, δηλαδή τις Activities. Έχουμε ήδη δημιουργήσει αυτόματα την Activity MainActivity η οποία θα εμφανίζεται στον χρήστη αμέσως μόλις ανοίξει την εφαρμογή, και θα τη χρησιμοποιήσουμε ως κεντρικό σημείο επαφής με τις υπόλοιπες λειτουργίες τις εφαρμογής. Για να δημιουργήσουμε μια νέα Activity στο project μας, πατάμε δεξί κλικ πάνω στον φάκελο της java και επιλέγουμε 38

39 New->Activity->Blank Activity και εμφανίζεται το παράθυρο δημιουργίας νέας κλάσης. Στη συνέχεια δηλώνουμε το όνομα της καινούργιας κλάσης που θέλουμε να δημιουργήσουμε και στο πεδίο Hierarchical Parent επιλέγουμε την γονική κλάση, στην περίπτωσή μας επιλέγουμε την MainActivity. Τελειώνοντας με τις υπόλοιπες ρυθμίσεις της νέα μας Activity πατάμε το κουμπί finish για να προστεθεί κλάση Gmres στον φάκελο src του project. Με τον ίδιο τρόπο θα δημιουργήσουμε και τις υπόλοιπες Activities της εφαρμογής μας. H activity Gmres θα χρησιμοποιηθεί για να για να γίνει η αριθμητική ανάλυση της επαναληπτικής μεθόδου GMRES. Εικονα 4.5 Δημιουργία Activity στο Android Studio 39

40 Συνολικά η εφαρμογή διαθέτει 7 κλάσεις που ανήκουν στην κατηγορία των Activities για την διεπαφή με τον χρήστη: MainActivity : Η κεντρική οθόνη προβολής τις λίστας των επαναληπτικών μεθόδων BicgActivity : Οθόνη προβολής της αριθμητικής ανάλυσης της επαναληπτικής μεθόδου Bicg σε webview. BicgstabActivity : Οθόνη προβολής της αριθμητικής ανάλυσης της επαναληπτικής μεθόδου Bicgstab σε webview. CgsActivity : Οθόνη προβολής της αριθμητικής ανάλυσης της επαναληπτικής μεθόδου CGS σε webview. CreditsActivity : Οθόνη προβολής πληροφοριών εφαρμογής. GmresActivity : Οθόνη προβολής της αριθμητικής ανάλυσης της επαναληπτικής μεθόδου Gmres σε webview. QmrActivity : Οθόνη προβολής της αριθμητικής ανάλυσης της επαναληπτικής μεθόδου Qmr σε webview Debugging και Δοκιμαστική Φάση Εφαρμογής Η διαδικασία του debugging είναι εξίσου κρίσιμη και μερικές φορές και εξίσου χρονοβόρα με την διαδικασία ανάπτυξης του πηγαίου κώδικα της εφαρμογής. Αποτελείτε από αρκετά επί μέρους στάδια. Το πρώτο στάδιο αφορά το αρχικό χτίσιμο της εφαρμογής και η λειτουργία αυτής σε debug mode. Για να γίνει το compile της εφαρμογής φυσικά τα περισσότερα περιβάλλοντα ανάπτυξης (IDE) προϋποθέτουν ότι ο κώδικας δεν έχει κανένα συντακτικό λάθος. Αφού γίνει το compile η εφαρμογή μπορεί να δοκιμαστεί είτε σε εικονική συσκευή μέσω του AVD Manager, είτε απευθείας σε φυσική συσκευή μέσω ADB. Έπειτα εντοπίζονται τα λειτουργικά και αισθητικά προβλήματα της 40

41 εφαρμογής, στην λειτουργία της συσκευής φυσικής ή εικονικής και μετά ακολουθεί η διόρθωση στα κομμάτια του κώδικα που δημιουργούν τα σφάλματα. Το κύριο εργαλείο που κάνει αυτή τη διαδικασία εφικτή είναι το LogCat το οποίο επιστρέφει το stack trace του κώδικα στο σημείο εκείνο που συνέβη το σφάλμα. Η διαδικασία του debugging είναι σαν ένα βρόγχος (loop) που επαναλαμβάνεται συνέχεια μέχρι να εντοπιστούν και να διορθωθούν όλα τα σφάλματα της εφαρμογής, και για αυτό το λόγο μπορεί να αποδειχθεί εξαιρετικά χρονοβόρα. Το Android SDK προσφέρει βιβλιοθήκες API και τα απαραίτητα εργαλεία για ανάπτυξη και εκσφαλμάτωση των εφαρμογών: Εργαλεία Debugging των εφαρμογών Βιβλιοθήκες Εξομοιωτής συσκευών (Android Virtual Machines) Documentation Δείγματα Κώδικα Tutorials Το SDK υποστηρίζει πολλά δημοφιλή λειτουργικά συστήματα συμπεριλαμβανομένων όλων των σύγχρονων διανομών Linux, το MAC OS X και μεταγενέστερα, και τα Windows XP και τις μεταγενέστερες εκδόσεις. Το λογισμικό ανάπτυξης αποτελείτε από πακέτα τα οποία βρίσκονται αποθηκευμένα σε ένα επίσημο repository της Google, και ο προγραμματιστής μπορεί να κατεβάσει πέραν των βασικών πακέτων, και άλλα τα οποία υποστηρίζουν παλαιότερες εκδόσεις του Android, ή άλλες συσκευές εκτός 41

42 κινητών συσκευών (πχ Google TV Addon). Όσον αφορά την υποστήριξη παλαιότερων εκδόσεων του Android, το SDK κάνει εφικτή την υποστήριξη σε αυτές δίνοντας στον προγραμματιστή την δυνατότητα να στοχεύσει αυτός σε πια APIs θα απευθύνεται η εφαρμογή του. Αυτό είναι αναγκαίο λόγω του ότι πολλοί χρήστες έχουν παλαιότερες λειτουργικές συσκευές οι οποίες κυκλοφορήσαν με παλαιότερες εκδόσεις του Android (πχ 1.6 ή 2.1), και ο κατασκευαστής της συσκευής δεν έχει ή δεν πρόκειται να βγάλει αναβάθμιση για την συσκευή τους. Το πρόβλημα αυτό είναι γνωστό σαν διάσπαση του Android (Android Fragmentation) και θα αναλυθεί εκτενώς παρακάτω Android Design Guidelines Η υλοποίηση μιας νέας εφαρμογής στο Android αλλά και στα υπόλοιπα λειτουργικά συστήματα, ξεκινάει από τις λειτουργικές απαιτήσεις, δηλαδή τις δυνατότητες και λειτουργίες που θα υποστηρίζει η εφαρμογή, και συνεχίζει με τον σχεδιασμό του UI layout που θα δίνει πρόσβαση στον χρήστη στις παραπάνω λειτουργίες. Ο σχεδιασμός λοιπόν έχει μεγαλύτερη σημασία από τις ίδιες τις λειτουργίες τις εφαρμογής μιας και είναι το σημείο πρόσβασης προς αυτές. Μια κακοσχεδιασμένη εφαρμογή η οποία κρύβει τις λειτουργίες τις πίσω από πολλά κουμπιά και μενού ενδέχεται να μπερδέψει τον χρήστη και ίσως και να τον αποτρέψει από το να την χρησιμοποιήσει. Αυτό φυσικά δεν είναι επιθυμητό γι' αυτό και υπάρχουν κάποια ενδεικτικά επίσημα Guidelines (οδηγίες) τα οποία υποδεικνύουν στους developers τις ιδεατές και μη συμπεριφορές κατά τον σχεδιασμό της εφαρμογής τους. 42

43 Στα πρώτα χρόνια του Android ο σχεδιασμός τον εφαρμογών ήταν είτε καθαρή μεταφορά (port) από άλλο OS (πχ ios, Symbian) και συνήθως δεν ακολουθούσε καμία κοινή γραμμή σχεδιασμού με τις υπόλοιπες εφαρμογές κάτι που πολλές φορές μπέρδευε τον χρήστη που είχε συνηθίσει το κοινό layout πολλών εφαρμογών των υπολοίπων mobile OSes. Αυτό η Google προσπάθησε να το αλλάξει με την έλευση του Android 4.0 (Ice Cream Sandwich) όποτε και δημοσίευσε στο Ίντερνετ τη σελίδα Android Design για να καθοδηγήσει τους developers σε μία κοινή γραμμή ανάπτυξης εφαρμογών ώστε να πετύχει αύξηση λειτουργικότητας. Η αύξηση λειτουργικότητας επιτυγχάνεται λόγω του ότι ο χρήστης θα έχει γνωστά σημεία επαφής σε κάθε εφαρμογή οπότε δεν θα χρειάζεται να ψάχνει εκ νέου πως να επιστρέψει στην αρχική οθόνη ή που βρίσκεται το μενού των επιλογών, και άλλες τέτοιες λειτουργίες. Εικόνα 4.6 To Android Design 43

44 Στο site υπάρχει πληθώρα παραδειγμάτων καλού σχεδιασμού τα οποία αφορούν την χρήση της Action Bar, την χρήση των swappable tabs, την δυνατότητα δηλαδή να αλλάζει ο χρήστης οθόνες σέρνοντας αριστερά η δεξιά το δάχτυλό στην οθόνη της συσκευής. Επίσης υπάρχει και η ενότητα Downloads στην οποία υπάρχει ένα πλήρες πακέτο εικονιδίων τα οποία μπορεί ο καθένας να χρησιμοποιήσει για την ευκολότερη δημιουργία μενού σε εφαρμογές. Στα μέσα του 2014 η Google ανακοίνωσε το Android 5 L το οποίο θα ακολουθεί καινούργια design guidelines τα οποία η Google ονομάζει Material design Υποστήριξη πολλαπλών συσκευών Το λειτουργικό σύστημα Android τρέχει σε μια πληθώρα συσκευών οι οποίες μπορεί να έχουν πολύ διαφορετικές προδιαγραφές η μία από την άλλη. Η διαφοροποίηση των συσκευών εντοπίζεται: Στις πολλές εκδόσεις του Android που υπάρχουν. Αυτή τι στιγμή που γράφονται αυτές ο γραμμές υπάρχουν 9 διαθέσιμες εκδόσεις ( ) με κυρίαρχη έκδοση την 4.1 Jellybean. Στην μεγάλη ποικιλία hardware. Υπάρχουν συσκευές με επεξεργαστή απο 600Mhz και 256ΜΒ μνήμης RAM μερί και συσκευές με επεξεργαστή 8 πυρήνων στα 2.2Ghz και 3GB μνήμης RAM. Εκτός από τις διαφορές σε επίπεδο microchip η κύρια διαφορά μεταξύ των συσκευών εντοπίζεται στην μεγάλη ποικιλία διαστάσεων οθόνης και πυκνότητας pixel. Έτσι λοιπόν για να γίνει η εφαρμογή προσβάσιμη σε όσο τον δυνατόν περισσότερες συσκευές πρέπει να σχεδιαστεί η εφαρμογή υποστηρίζει την πλειονότητα των συσκευών. ώστε να 44

45 4.4.7 Υποστήριξη παλαιότερων εκδόσεων Όπως αναφέρουμε παραπάνω αυτή τη στιγμή υπάρχουν 9 διαθέσιμες εκδόσεις του Android με πιο πρόσφατη την έκδοση Kitkat και κυρίαρχη έκδοση την 4.1 Jellybean. Αυτή η συνεχής εξέλιξη της πλατφόρμας αποτελεί πλεονέκτημα αλλά και πρόκληση για τους προγραμματιστές οι οποίοι θα πρέπει να ακολουθούν τις εξελίξεις και να χρησιμοποιούν τις νέες δυνατότητες που τους προσφέρει η κάθε έκδοση, χωρίς να σταματούν την υποστήριξη στις παλαιότερες εκδόσεις του Android. Αυτό είναι ένα σημαντικό πρόβλημα καθότι κάποια νέα features δεν υποστηρίζονται στα παλιότερα APIs και άρα καθιστούν αδύνατη τη χρήση τους σε κάποια παλαιότερη έκδοση του Android. Η Google έχει προσπαθήσει να λύσει αυτό το πρόβλημα βγάζοντας μαζί με κάθε νέα έκδοση του λειτουργικού της, και μιας βιβλιοθήκης συμβατότητας η οποία αναλαμβάνει να κάνει διαθέσιμα τα νέα εργαλεία στα παλιότερα APIs. Σε γενικές γραμμές η συγκεκριμένη λύση λειτουργεί αρκετά ικανοποιητικά αλλά δυστυχώς δεν μεταφέρονται πάντα όλες οι νέες δυνατότητες στις παλαιότερες εκδόσεις του λειτουργικού συστήματος με αυτό τον τρόπο. Τρανό παράδειγμα αυτού είναι η υποστήριξη της ActionBar η οποία προστέθηκε στην έκδοση 3.0 του Android και πλέον ανήκει στις βασικές οδηγίες σχεδιασμού εφαρμογών (Android design guidelines). Η βιβλιοθήκη υποστήριξης την κάνει διαθέσιμη στις παλαιότερες εκδόσεις, αλλά με σαφής περιορισμούς στην χρήση της. 45

46 Version Codename API Distribution 2.2 Froyo 8 0.7% Gingerbread % Ice Cream Sandwich % 4.1.x Jelly Bean % 4.2.x % % 4.4 KitKat % Εικόνα 4.7 Οι εκδόσεις των Android και τα ποσοστά τους Όπως φαίνεται από τα παραπάνω στατιστικά στοιχεία που ενημερώνονται αυτόματα κάθε 2 εβδομάδες από την Google, οι εκδόσεις Jellybean με 54% και η 46

47 Kitkat με ποσοστό 24.5%. Αυτό δυστυχώς πρόκειται για το φαινόμενο διάσπασης (fragmentation) του Android το οποίο θα αναλυθεί εκτενέστερα παρακάτω. Γενικά μια καλή προγραμματιστική συμπεριφορά, είναι η εκάστοτε εφαρμογή να υποστηρίζει τουλάχιστον το 90% των ενεργών συσκευών όσον αφορά την έκδοση Android. Αυτό από ότι βλέπουμε από το παραπάνω γράφημα είναι αρκετά εύκολο καθώς υποστηρίζοντας μόνο τις εκδόσεις 4.x αυτή τη στιγμή, έχουμε υποστηρίξει το ~90% των ενεργών συσκευών. Παρόλα αυτά έχουμε όμως αποκλείσει έναν σημαντικό αριθμό χρηστών οι οποίοι χρησιμοποιούν παλαιότερες (2.2, 2.3) το οποίο όμως η Google υπολογίζει ότι μέχρι το 1 ο τρίμηνο του 2015 θα έχει μεταπηδήσει σε νεότερες εκδόσεις. Οι developers πρέπει να βλέπουν και να αξιολογούν το μερίδιο των συσκευών με τέτοιο τρόπο ώστε να υποστηρίζουν όσο το δυνατό περισσότερες συσκευές χρηστών χωρίς όμως να υποβαθμίζουν την ποιότητα και λειτουργικότητα της συσκευής τους. Πρόκειται για μια λεπτή ισορροπία που επιτυγχάνεται μετά από αρκετή προσπάθεια από μέρος των developers. Η υποστήριξη των διαφορετικών εκδόσεων ορίζεται στο αρχείο AndroidManifest.xml και εφόσον έχει καθοριστεί ένα κατώτατο στοχευμένο API, η εφαρμογή μας δεν μπορεί να εγκατασταθεί σε συσκευή που φοράει παλαιότερη έκδοση από αυτή που υποστηρίζει το API. Καλή πρακτική σχεδιασμού λοιπόν είναι να στοχεύσουμε ένα αρκετά χαμηλό API το οποίο όμως δεν θα μας αναγκάσει να κάνουνε συμβιβασμούς στις λειτουργίες της εφαρμογής, και στο τέλος να κάνουμε compile την τελική έκδοση με τη νεότερη έκδοση του SDK ώστε να εξασφαλίσουμε υποστήριξη και 47

48 στις νεότερες συσκευές Υποστήριξη πολλαπλών διαστάσεων οθόνης Η ταυτόχρονη υποστήριξη των πολλών εκδόσεων του Android είναι η πρώτη πρόκληση του προγραμματιστή του. Η δεύτερη μεγάλη πρόκληση είναι η ταυτόχρονη υποστήριξη των πολλαπλών διαστάσεων οθόνης που διαθέτουν οι εκατοντάδες συσκευές που κυκλοφορούν στην αγορά, και η διαφορετική πυκνότητα pixel που διαθέτει η κάθε μία από αυτές. Tο γραφικό περιβάλλον μιας εφαρμογής είναι ίσως σημαντικότερο και από τις δυνατότητες που παρέχει, καθότι ένα κακοσχεδιασμένο layout μπορεί να κάνει την εφαρμογή δύσχρηστη ή ακόμη και άχρηστη. Άρα είναι πολύ σημαντικό για τον προγραμματιστή να λάβει υπόψιν του την πληθώρα αναλύσεων και διαφορετικών διαστάσεων οθόνης που διαθέτουν οι συσκευές. Όσον αφορά το εύρος των συσκευών μπορεί να φτάσει από τις 2.4' (smart watches) έως τις 50 ' (τηλεοράσεις), και οι ανάλυση αυτών των συσκευών ξεκινάει από τα 240x320 pixels (QVGA) και φτάνει μέχρι τα 4096 x 2160 (4Κ HD) για τις τηλεοράσεις. Η πιο δημοφιλής όλων είναι η 1920x1080 (Full HD). Όπως φαίνεται υπάρχει μια πληθώρα αναλύσεων για να υποστηριχθεί η κάθε μία με περισσότερο η λιγότερο διαθέσιμο χώρο στην οθόνη. Το Android για πρακτικούς λόγους έχει χωρίσει τις διαφορετικές αναλύσεις οθονών σε τέσσερις κατηγορίες οθονών οι οποίες συσχετίζονται άμεσα με τέσσερις κατηγορίες πυκνότητες pixel ανά ίντσα. 48

49 Εικόνα 4.8 Ανάλυση τoυ pixel density Όπως φαίνεται στο παραπάνω σχεδιάγραμμα, το Android χωρίζει το μέγεθος τις οθόνης σε 4 επιμέρους κατηγορίες αναλόγως το μέγεθος της σε ίντσες, και οι αναλύσεις χωρίζονται επίσης σε 4 επιμέρους κατηγορίες DPI (Dots Per Inch). Αυτό γίνεται ώστε να διευκολύνει όσο το δυνατόν περισσότερο τους προγραμματιστές, να βελτιώσουν την εμφάνιση των εφαρμογών τους με όσο το δυνατόν λιγότερο κόπο. Όπως και στην περίπτωση των πολλών εκδόσεων του Android που έχουν πρόσβαση στο μάρκετ, η Google παρέχει στους developers την κατανομή μεγέθους οθόνης προς DPI για να βοηθήσει τους προγραμματιστές να σχεδιάσουν τις εφαρμογές τους αποδοτικότερα. ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total Small 6.2% 6.2% Normal 10.6% 35.7% 19.2% 16.2% 81.7% Large 0.5% 4.3% 1.7% 0.6% 0.6% 7.7% 49

50 Xlarge 3.7% 0.3% 0.4% 4.4% Total 6.7% 18.6% 1.7% 36.6% 20.2% 16.2% Εικόνα 4.9 Συσκευές ανάλογα με το dpi τους Η πλατφόρμα του Android φυσικά εκτός από το να δημιουργεί πολύπλοκες καταστάσεις προς διαχείριση, δίνει επιλογές και δυνατότητες ώστε οι δημιουργοί εφαρμογών να αντεπεξέλθουν στο απαιτητικό έργο της ανάπτυξης εφαρμογής. Οι δυνατότητες συνοψίζονται ως εξής: Ο developer μπορεί να επιλέξει ποιες οθόνες θα υποστηρίζει η εφαρμογή του με τον ίδιο τρόπο που επιλέγει πια API θα υποστηρίζονται, δηλαδή μέσω του AndroidManifest.xml. Αυτό σημαίνει ότι η υποστήριξη διαφορετικών οθονών είναι καθαρά επιλογή του προγραμματιστή, ο οποίος αν κρίνει αναγκαίο μπορεί να αποκλείσει την λειτουργία της εφαρμογής στις οθόνες που δεν επιθυμεί να υποστηρίξει. Στην συνηθέστερη περίπτωση που ο προγραμματιστής θέλει να υποστηρίξει επιπλέον αναλύσεις και διαστάσεις οθόνης πέρα από τις συνηθισμένες, το SDK του δίνει τη δυνατότητα παρέχοντας του δύο εξαιρετικές δυνατότητες: o Η πρώτη είναι η δυνατότητα χρήσης διαφορετικών layout ανά διαφορετικό μέγεθος οθόνης. Αυτό σημαίνει ότι ο developer δεν χρειάζεται να συμβιβαστεί σε ένα layout xml ώστε να καλύψει όλες τις οθόνες. Μπορεί 50

51 να χρησιμοποιήσει όσα θέλει, για να καλυφθούν όσο το δυνατόν περισσότερα μεγέθη και αναλύσεις οθόνης. Δεν πρέπει να ξεχνάμε άλλωστε ότι οι μεγαλύτερες οθόνες παρέχουν και περισσότερο χώρο στον developer για να προβάλει επιπλέον υλικό, με διαφορετικό ίσως τρόπο από ότι θα το προέβαλε σε μια μικρότερη οθόνη. o Η δεύτερη δυνατότητα που παρέχει είναι αυτή της χρήσης πολλών γραφικών, διαφορετικών διαστάσεων, ώστε να εξυπηρετούνται σωστά όλες οι αναλύσεις οθόνης. Η υλοποίηση αυτής της δυνατότητας είναι εξαιρετικά απλή. Ο developer δημιουργεί φακέλους στο project του, με το όνομα της διάταξης που θέλει να παρέχει γραφικά η layout (πχ drawable large hdpi) ή χρησιμοποιεί τους υπάρχοντες φακέλους, και αποθηκεύει στον καθένα το ίδιο γραφικό (*.png, *jpg, ή *.gif) αλλά στην ανάλυση που επιθυμεί να προβληθεί αυτό στην εκάστοτε διαφορετική διάταξη μεγέθους οθόνης προς DPI Δοκιμή και Αποσφαλμάτωση (Debugging) της Εφαρμογής Πριν να εκδώσει την εφαρμογή του στο κοινό, ο προγραμματιστής του Android, αλλά και οποιασδήποτε άλλης πλατφόρμας, οφείλει να δοκιμάσει ενδελεχώς, κάθε λειτουργική και αισθητική παράμετρο της εφαρμογής ώστε να εξασφαλίσει ότι ο χρήστης της θα έχει όσο το δυνατόν καλύτερη εμπειρία χρήσης. Καλύτερη εμπειρία χρήσης φυσικά οδηγεί σε καλές εντυπώσεις, και περισσότερους χρήστες με την πάροδο του χρόνου. Μια κακή εμπειρία χρήσης, οδηγεί σε δυσαρεστημένους χρήστες και άρα αποτυχία. Ο αυτοσκοπός της ανάπτυξης εφαρμογών είναι η ικανοποίηση των αναγκών όσο το δυνατόν μεγαλύτερου αριθμού χρηστών. Αυτό φυσικά δεν 51

52 επιτυγχάνεται αμέσως. Πρέπει να ακολουθηθεί μια εκτενής περίοδος δοκιμών για να διαπιστωθεί ότι η εφαρμογή θα αποδίδει όπως οφείλει σε όλες τις καθημερινές της χρήσεις, και αφού περάσει επιτυχώς το στάδιο των δοκιμών, ακολουθεί η ώρα της δημοσίευσης. Η ανάγκη για εργαλεία ελέγχου, καλύπτεται στο έπακρο με μια σειρά εφαρμογών τα οποία δένοντας αρμονικά με το περιβάλλον ανάπτυξης μας (IDE) μας λύνουν τα χέρια, στο δύσκολο έργο του εντοπισμού σφαλμάτων. Τα εργαλεία αυτά αφορούν τον έλεγχο της εφαρμογής σε εικονικές μηχανές (Android Virtual Devices), καταγραφή σφαλμάτων (logcat), εργαλεία ελέγχου μνήμης και άλλων λειτουργιών της συσκευής (DDMS), και τα λοιπά Android Debug Bridge (ADB) Για να λειτουργήσουν σωστά τα εργαλεία που αναφέρθηκαν παραπάνω, χρειάζεται κάποιο είδος προγράμματος client-server που να συνδέει τον υπολογιστή με τις συσκευές μας, εικονικές και μη. Τον ρόλο αυτό αναλαμβάνει το Android Debug Bridge (ADB). Πρόκειται για ένα εργαλείο γραμμής εντολών που έρχεται μαζί με το Android SDK και το οποίο αποτελείτε από 3 μέρη: Έναν client ο οποίος τρέχει στον υπολογιστή που έχουμε στήσει το SDK. Η εκκίνηση του μπορεί να γίνει είτε χειροκίνητα είτε να χρησιμοποιήσουμε κάποιο εργαλείο το οποίο ξεκινάει αυτόματα δικό του client, όπως το DDMS ή το ADT Plugin. Έναν server ο οποίος τρέχει σαν υπηρεσία παρασκηνίου στον υπολογιστή που βρίσκεται το SDK, όπως και ο client. O server εξασφαλίζει την επικοινωνία μεταξύ του client και του εργαλείου daemon που τρέχει στη συσκευή. 52

53 Το Daemon που τρέχει σαν διεργασία παρασκηνίου στην εικονική η πραγματική συσκευή που χρησιμοποιείτε για εξομοίωση Εικονικές Συσκευές Android (Android Virtual Devices AVD) Όπως αναφέραμε και παραπάνω, πρέπει πριν να εκδοθεί μία εφαρμογή να δοκιμαστεί σε ένα αριθμό συσκευών για να εξασφαλιστεί η ομαλή λειτουργία της σε όλες τις συνθήκες. Φυσικά το κόστος των συσκευών είναι αρκετά μεγάλο για έναν προγραμματιστή να έχει στην κατοχή του συσκευές για να ελέγξει σε όλες τις λειτουργίες και την εμφάνιση της εφαρμογής του. Το πρόβλημα αυτό έρχεται να λύσει η ύπαρξη των εικονικών συσκευών του Android. Πρόκειται για μια συσκευή εξομοίωσης η οποία μας επιτρέπει να εξομοιώσουμε την λειτουργία και συμπεριφορά μιας κανονικής συσκευής, ορίζοντας τις επιλογές υλικού και λογισμικού που θέλουμε στον εξομοιωτή του Android. Με αυτό τον τρόπο ο developer μπορεί να ελέγξει την εφαρμογή του σε μια σειρά από πραγματικά σενάρια λειτουργίας και να πάρει γρήγορα και άμεσα feedback για τη λειτουργία της εφαρμογής του. Μια εικονική συσκευή αποτελείτε από: Το προφίλ του υλικού: Σε αυτό προσδιορίζονται οι ιδιότητες και τα χαρακτηριστικά της εικονικής συσκευής. Μπορούμε παραδείγματος χάρη να ορίσουμε την ανάλυση της οθόνης και την πυκνότητα σε pixel (dpi), το μέγεθος της μνήμης RAM, αν η συσκευή θα έχει κάμερα, υποστήριξη GPS, και άλλα. Την έκδοση του Android: Επιλογή της έκδοσης της πλατφόρμας του Android που θέλουμε να εξομοιώσει η εικονική συσκευή. Μπορούμε επίσης να επιλέξουμε και μεταξύ ειδικών εκδόσεων της πλατφόρμας, 53

54 μεταξύ των οποίων τις Google TV, και άλλων. Έξτρα χώρος αποθήκευσης: Εδώ αποθηκεύονται όλα τα δεδομένα της εφαρμογής, και επίσης μπορούμε να ορίσουμε μια εικονική κάρτα μνήμης ώστε να επεκτείνουμε τον αποθηκευτικό χώρο, όπως θα κάναμε και σε μια πραγματική συσκευή. Εικόνα 4.10 Δημιουργία νέας εικονικής συσκευής Δημιουργία διαφορετικών εικονικών συσκευών Η δημιουργία εικονικών συσκευών είναι μια ιδιαίτερα εύκολη και γρήγορη 54

55 διαδικασία. Η διαχείριση αυτών των συσκευών γίνεται από το γραφικό περιβάλλον της εφαρμογής AVD Manager, η οποία είναι ενσωματωμένη στο Android studio που χρησιμοποιούμαι για την ανάπτυξη της εφαρμογής. Παρακάτω εμφανίζεται η λίστα με τις εικονικές συσκευές που δοκιμάστηκε η εφαρμογή κατά τη διάρκεια της δοκιμαστικής της φάσης. Φυσικά το προφίλ υλικού δεν είναι ακριβώς αυτό που διαθέτουν οι συσκευές που κατονομάζονται στην λίστα, αλλά οι διαστάσεις οθόνης και η έκδοση API, είναι ακριβής. Εικόνα 4.11 Οι εικονικές συσκευές που δημιουργήσαμε Επίσης χρησιμοποιηθηκαν και οι παρακάτω φυσικές συσκευες Android: Nexus 5 LG G2 LG G3 Samsung Galaxy S Dalvik Debug Monitor Server (DDMS) Το Android συνοδεύεται μεταξύ των άλλων, από ένα εργαλείο αποσφαλμάτωσης το οποίο ονομάζεται Dalvik Debug Monitor Server (DDMS), 55

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη mobile εφαρμογής διεπαφής χρήστη, για τις υπηρεσίες

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

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

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

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

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

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

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

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

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

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

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

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

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

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

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

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

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το του Υπολογιστή 1. Τι ονομάζεται Πρόγραμμα; Είναι οι οδηγίες που δίνονται στον υπολογιστή για να εξηγήσουμε πώς γίνεται μια εργασία (δηλαδή η

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

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

ΠΑΡΑΡΤΗΜΑ ΓΡΕΒΕΝΩΝ ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ ΓΡΕΒΕΝΩΝ ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Θέμα : ΥΛΟΠΟΙΗΣΗ ΞΕΝΟΓΛΩΣΣΗΣ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΕΦΑΡΜΟΓΗΣ ΣΕ ΠΛΑΤΦΟΡΜΑ ANDROID Όνοματεπώνυμο : Στέκας Ιγνάτιος Επιβλέπων : Σωτήριος Κοντογιάννης Ημερομηνία

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών Digital Academy Εισαγωγή στην ανάπτυξη Android Εφαρμογών Περιεχόμενα ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΕΝΟΤΗΤΑ 1 ΠΡΩΤΗ ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ ANDROID... 4 1.1 ΕΙΣΑΓΩΓΗ... 4 1.2 ΠΗΓΕΣ ΓΝΩΣΗΣ... 4 1.3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 5 1.4

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Εφαρμογή για το λειτουργικό σύστημα Android

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

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android

Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android 2014 Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μεταπτυχιακό Πρόγραμμα Σπουδών: «Ψηφιακές Επικοινωνίες και Δίκτυα» Ανάπτυξη Εφαρμογής Ταξίμετρου σε πλατφόρμα

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

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

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

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

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

SGA Διαχείριση Πρωτόκολλου

SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου 1. SGA Διαχείριση Πρωτοκόλλου... 2 1.1. Καινοτομία του προσφερόμενου προϊόντος... 2 1.2. Γενικές αρχές του προσφερόμενου συστήματος... 2 1.3. Ευκολία

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

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

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

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

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΤΙ ΕΊΝΑΙ ΛΟΓΙΣΜΙΚΟ Για τη λειτουργία ενός υπολογιστικού συστήματος χρειάζεται εκτός από το υλικό (hardware) και το λογισμικό (software). Σε αυτό περιλαμβάνονται όλα τα Προγράμματα

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

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΣΤΟΧΟΙ: 1. Λογισμικό 2. Λογισμικό Λειτουργικού Συστήματος 3. Προσαρμοστικό Γραφικών Χρήστη 4. Λογισμικών Εφαρμογών 5. Διαφορά Μεταξύ Λογισμικού Λειτουργικού Συστήματος Και

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

Εισαγωγή 6. Οδηγίες για καλύτερη χρήση του YouTube 12. Δημιουργία λογαριασμού 16. Δημιουργία καναλιού 26. Έσοδα από τα βίντεο 42

Εισαγωγή 6. Οδηγίες για καλύτερη χρήση του YouTube 12. Δημιουργία λογαριασμού 16. Δημιουργία καναλιού 26. Έσοδα από τα βίντεο 42 περιεχόμενα Εισαγωγή 6 Οδηγίες για καλύτερη χρήση του YouTube 12 Δημιουργία λογαριασμού 16 Δημιουργία καναλιού 26 Έσοδα από τα βίντεο 42 Εμφάνιση στατιστικών 57 Μηνύματα και επικοινωνία 65 Επεξεργασία

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 20130510 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εγκατάσταση προγράμματος DCAD 2 2. Ενεργοποίηση Registration 2 3. DCAD 3 3.1 Εισαγωγή σημείων 3 3.2 Εξαγωγή σημείων 5 3.3 Στοιχεία ιδιοκτησίας

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

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι Παρτώνας Αλέξανδρος Επιβλέπων: Δρ.

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

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

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

Smart TV stick D2. GR Εγχειρίδιο χρήστη. Android HDMI SmartTV dongle

Smart TV stick D2. GR Εγχειρίδιο χρήστη. Android HDMI SmartTV dongle Smart TV stick D2 Android HDMI SmartTV dongle Διπύρηνο έως 1.6 GHz - RAM: 1 GB, ROM: 4 GB - Android JellyBean 4.2 - WiFi 802.11 b/g/n - Υποστήριξη για κάρτα microsdhc - Google Play - Υποστήριξη ασύρματου

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

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

B) Ετοιμάζοντας μια Παρουσίαση

B) Ετοιμάζοντας μια Παρουσίαση B) Ετοιμάζοντας μια Παρουσίαση Τι είναι μια παρουσίαση με τη βοήθεια ηλεκτρονικού υπολογιστή Ο υπολογιστής με την κατάλληλη εφαρμογή, μπορεί να μας βοηθήσει στη δημιουργία εντυπωσιακών εγγράφων, διαφανειών

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

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

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

Κατασκευή Ιστολόγιου

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

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

Internet Business Hellas

Internet Business Hellas Internet Business Hellas Περιεχόμενα Εισαγωγή email marketing IBNEWSLETTER Χαρακτηριστικά Πλεονεκτήματα Επικοινωνία Εισαγωγή email marketing «Το μάρκετινγκ μέσω ηλεκτρονικού ταχυδρομείου συνίσταται στην

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

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER Περιεχόμενα ΣΤΟΙΧΕΙΑ ΕΠΙΚΟΙΝΩΝΙΑΣ... 2 Τμήμα Υποστήριξης (Help Desk and Client Support)... 2 ΕΙΣΑΓΩΓΗ... 3 Εισαγωγή Email marketing... 3 Σχετικά με το IBNEWSLETTER... 3 Μεθοδολογία... 4 Χαρακτηριστικά...

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

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. QEMS TUTORIAL CRM Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. ΕΚΔΟΣΗ 1.0.1 + 26/6/2014 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 2 LOGIN... 3 δικαιωματα ΕΦΑΡΜΟΓΗς... 4 ΙΔΙΟΚΤΗΤΗΣ... 4 ADMIN / MANAGER... 4 ΥΠΑΛΗΛΟΣ...

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ

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

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

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi Πίνακας Περιεχομένων ΠΡΟΛΟΓΟΣ V Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi 1η Ενότητα: Κινητός ιστός... vii 2η Ενότητα: Κινητές εφαρμογές στην πλατφόρμα Android... vii 3η Ενότητα:

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

Σύντομος οδηγός χρήσης Vodafone Mobile Broadband USB Stick Κ4607-Ζ. Σχεδιάστηκε από τη Vodafone

Σύντομος οδηγός χρήσης Vodafone Mobile Broadband USB Stick Κ4607-Ζ. Σχεδιάστηκε από τη Vodafone Σύντομος οδηγός χρήσης Vodafone Mobile Broadband USB Stick Κ4607-Ζ Σχεδιάστηκε από τη Vodafone Καλώς ήρθατε στον κόσμο των κινητών επικοινωνιών 1 Καλώς ήρθατε 2 Εγκατάσταση του USB Stick 4 Windows 7, Windows

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

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Περιεχόμενα Εγγραφή και αρχικές ρυθμίσεις Διαχείριση Ιστοσελίδας Δημιουργία Menu Δημιουργία σελίδας Δημιουργία Αρχικής Σελίδας Δημιουργία Άρθρου

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

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

Υπηρεσία Ιστοτόπου - Ιστολογίου

Υπηρεσία Ιστοτόπου - Ιστολογίου Πολυτεχνείο Κρήτης Διεύθυνση Τηλεπικοινωνιών, Δικτύων και Υπολογιστικής Υποδομής Τμήμα Εκπαιδευτικής Υπολογιστικής Υποδομής Υπηρεσία Ιστοτόπου - Ιστολογίου 1. Εισαγωγή... 3 2. Βασικές γνώσεις για τη δημιουργία

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

Δημιουργία η-μαθήματος με τη. 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας

Δημιουργία η-μαθήματος με τη. 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας Δημιουργία η-μαθήματος με τη χρήση του Moodle 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας Δημιουργία η-μαθήματος με τη χρήση του Moodle 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας

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

Αξιολόγηση της επίσημης Moodle Mobile εφαρμογής

Αξιολόγηση της επίσημης Moodle Mobile εφαρμογής Αξιολόγηση της επίσημης Moodle Mobile εφαρμογής ΣΕΜΙΝΑΡΙΟ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ ΑΛΕΞΑΝΔΡΟΣ ΚΑΝΤΑΣ ΠΡΩΤΟ ΣΕΜΙΝΑΡΙΟ ΔΕΥΤΕΡΟΥ ΚΥΚΛΟΥ ΕΚΠΑΙΔΕΥΣΗΣΗΣ ΜΟΝΑΔΕΣ ΑΡΙΣΤΕΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΡΗΤΗΣ Αυτή η εργασία

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη εφαρμογής ασφαλείας για τον έλεγχο, περιορισμό και διαχείριση της διεπαφής χρήστη σε περιβάλλον Android.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη εφαρμογής ασφαλείας για τον έλεγχο, περιορισμό και διαχείριση της διεπαφής χρήστη σε περιβάλλον Android. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη εφαρμογής ασφαλείας για τον έλεγχο, περιορισμό και διαχείριση της διεπαφής χρήστη σε περιβάλλον Android Σπουδάστρια Παρασκευή Μπαράκου ΑΜ-9100 Επιβλέπων Καθηγητής Ιωάννης Τσούλος

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

Android Studio για Windows

Android Studio για Windows Android Studio για Windows 1. Οδηγίες Εγκατάστασης: 1. Κατεβάστε το Android Studio από εδώ (τελευταία έκδοση 0.4.6, 496 MB): http://developer.android.com/sdk/installing/studio.html 2. Εγκαταστήστε το αρχείο

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

Σενάριο 18: Ραβδογράμματα Πληθυσμού

Σενάριο 18: Ραβδογράμματα Πληθυσμού Σενάριο 18: Ραβδογράμματα Πληθυσμού Φύλλο Εργασίας Τίτλος: Ραβδογράμματα Πληθυσμού Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ

Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγικά Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών

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

Οδηγός χρήστη. Xperia SmartTags NT1/NT2

Οδηγός χρήστη. Xperia SmartTags NT1/NT2 Οδηγός χρήστη Xperia SmartTags NT1/NT2 Περιεχόμενα Εισαγωγή...3 Οδηγός έναρξης...4 Ενεργοποίηση της λειτουργίας NFC...4 Περιοχή εντοπισμού NFC...4 Χρήση του Smart Connect για τη διαχείριση των ετικετών

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

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

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

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και φαρμακευτική υποστήριξη σε Android Ράντεβα Ίσκρα Σφήκα

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

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα 1. Εισαγωγή 1.1 O Υπολογιστής ως εργαλείο μηχανικού 1.2 Η Επιστήμη των υπολογιστών 1.3 Ιστορικό Σημείωμα 1.4 Ο υπολογιστής μηχανή επεξεργασίας ψηφιακής πληροφορίας 1.5 Ψηφιοποίηση πληροφορίας 1.5.1 ψηφιοποίηση

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

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

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

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

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

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

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R209-Z

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R209-Z Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R209-Z Καλώς ήρθατε στον κόσμο των κινητών επικοινωνιών 1 Καλώς ήρθατε 2 Επισκόπηση συσκευής 3 Γρήγορο ξεκίνημα 5 Εφαρμογή Mobile Wi-Fi Web 6 Επισκόπηση εφαρμογής

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

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

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

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

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

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: vagelis@tem.uoc.gr, Ιστοσελίδα

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

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/ 1) Εμφάνιση ιστοσελίδας Ανοίγουμε το πρόγραμμα πλοήγησης (Firefox, Chrome, Internet Explorer κτλ) και στη γραμμή διευθύνσεων πληκτρολογούμε τη διεύθυνση http://localhost ή http://127.0.0.1. Αν δεν βλέπουμε

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

Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ

Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ -Για τους Φοιτητές- Έκδοση 1.2 Οκτώβριος 2015 Υπεύθυνος Σύνταξης: Χρήστος Λάζαρης (lazaris@aueb.gr) Πίνακας Περιεχομένων Εισαγωγή...

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

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ JustAlert SPOTIT. Οδηγίες για την εγκατάσταση της εφαρμογής στο κινητό σας

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ JustAlert SPOTIT. Οδηγίες για την εγκατάσταση της εφαρμογής στο κινητό σας ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ JustAlert SPOTIT Συγχαρητήρια για την επιλογή σας να προμηθευτείτε την υπηρεσία JustAlert SPOTIT Μετά την ενεργοποίηση της υπηρεσίας, θα έχετε δωρεάν πρόσβαση στην προσωπική σας σελίδα

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

Μια εισαγωγή στο Linux με την διανομή Fedora. Βάιος Κολοφωτιάς MSc Informational Systems

Μια εισαγωγή στο Linux με την διανομή Fedora. Βάιος Κολοφωτιάς MSc Informational Systems Μια εισαγωγή στο Linux με την διανομή Fedora Βάιος Κολοφωτιάς MSc Informational Systems Τι είναι το Fedora Project? Είναι το όνομα μιας παγκόσμιας κοινότητας ανθρώπων που αγαπούν, χρησιμοποιούν και φτιάχνουν

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

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

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

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i της CD V2.6 ii Copyright 2002, 2003, 2004 Sun Microsystems Copyright 2009 Στέργιος Προσινικλής (steriosprosinikls@gmail.com) Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

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

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

Διαχειριστής αγροκτήματος από συσκευές με λειτουργικό σύστημα Android

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

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

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

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

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος Κεφάλαιο 2: Λογισμικό (Software) 1 2.1 Λογισμικό Συστήματος και Λογισμικό Εφαρμογών Λογισμικό Συστήματος: διαχειρίζεται το υλικό του υπολογιστή και αποτελεί τη βάση πάνω στην οποία αναπτύσσεται και εκτελείται

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11 Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6

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

Εισαγωγή 6. Δημιουργία λογαριασμού 13. Εγκατάσταση και λειτουργία του Skype 28. Βασικές λειτουργίες 32. Επιλογές συνομιλίας 48

Εισαγωγή 6. Δημιουργία λογαριασμού 13. Εγκατάσταση και λειτουργία του Skype 28. Βασικές λειτουργίες 32. Επιλογές συνομιλίας 48 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή 6 Δημιουργία λογαριασμού 13 Εγκατάσταση και λειτουργία του Skype 28 Βασικές λειτουργίες 32 Επιλογές συνομιλίας 48 Γενικές ρυθμίσεις Skype 64 Το Skype σε φορητές συσκευές 78 Εγγραφή

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

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

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

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

Παράρτημα Έκδοση 2014

Παράρτημα Έκδοση 2014 Παράρτημα Έκδοση 2014 Βελτιώσεις και αλλαγές στην εμφάνιση και την λειτουργικότητα των προγραμμάτων Αντιγραφή συνδέσεων και αντιγραφή με εφαρμογή σε πολλαπλές θέσεις ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή... 2 2. Βελτιώσεις

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

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R216-Z

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R216-Z Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R216-Z Καλώς ήρθατε στον κόσμο των κινητών επικοινωνιών 1 Καλώς ήρθατε 2 Επισκόπηση συσκευής 3 Γρήγορο ξεκίνημα 5 Εφαρμογή Mobile Wi-Fi Web 6 Επισκόπηση εφαρμογής

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

Υποστήριξη. Σας ευχαριστούμε που επιλέξατε τα προϊόντα NETGEAR.

Υποστήριξη. Σας ευχαριστούμε που επιλέξατε τα προϊόντα NETGEAR. Έναρξη χρήσης Υποστήριξη Σας ευχαριστούμε που επιλέξατε τα προϊόντα NETGEAR. Αφού εγκαταστήσετε τη συσκευή σας, εντοπίστε τον σειριακό αριθμό στην ετικέτα του προϊόντος και χρησιμοποιήστε τον για να δηλώσετε

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

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

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

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

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

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

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

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr Εγχειρίδιο Χρήσης Μελών ΔΕΠ Αναζήτηση Δημόσιου Περιεχομένου Η διεύθυνση ιστού της νεάς πλατφόρμας διαχείρισης βιντεοδιαλέξεων Δήλος είναι: http://delos.uoa.gr

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

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

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

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

Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9. Οδηγίες Χρήσης

Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9. Οδηγίες Χρήσης Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9 Οδηγίες Χρήσης Πίνακας Περιεχομένων 1. Αρχική οθόνη... 3 2. Αρχική Οθόνη Πιστοποιημένου Χρήστη... 4 2.1. Οριστικοποίηση της Περιουσιακής Εικόνας... 5 2.2. Καρτέλες

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

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Γ. Νικολακόπουλος, Μ. Κουνδουράκης, Α. Τζες και Γ. Γεωργούλας Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων

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

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 25 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ψηφιακής

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

Ηλεκτρονική Διαφήμιση. Αντωνιάδου Όλγα

Ηλεκτρονική Διαφήμιση. Αντωνιάδου Όλγα Ηλεκτρονική Διαφήμιση Αντωνιάδου Όλγα Διαφήμιση στο διαδίκτυο Το διαδίκτυο είναι αναμφισβήτητα ένα τεράστιο πεδίο προώθησης και διαφήμισης υπηρεσιών και προϊόντων. Η ποσότητα της πληροφορίας που διακινείται

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