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

Μέγεθος: 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 Ian Clifton. AndroidTM User Interface Design, Addison-Wesley, 2013 P. Deitel. H. Deitel, A. Deitel.

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

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

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

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

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

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

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

Διπλωματική Εργασία. Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης

Διπλωματική Εργασία. Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης ΠΜΣ Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Διπλωματική Εργασία Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης Ονοματεπώνυμο: Βλάχος Αθανάσιος Επιβλέπων

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

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

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

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

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

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

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

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android Ιωάννης Γιαννόπουλος, ΑΜ: 0430 Γεώργιος Δούρος, ΑΜ: 0686 Επιβλέπων: Γεώργιος Ασημακόπουλος Σεπτέμβριος 2014

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

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

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

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

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

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

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

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

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

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

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

APP INVENTOR ΟΔΗΓΟΣ 8 Οκτωβρίου 2018

APP INVENTOR ΟΔΗΓΟΣ 8 Οκτωβρίου 2018 Πώς φτιάχνω Εφαρμογές για Android με το App Inventor Έχετε μια ιδέα για μια mobile εφαρμογή, αλλά δεν ξέρετε πώς να την υλοποιήσετε; Το App Inventor είναι ένα χρήσιμο εργαλείο για κάθε αρχάριο προγραμματιστή

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος Λογισμικό Συστήματος Λογισμικό 2 Λογισμικό Συστήματος Τα ειδικά εργαλεία χρησιμοποιούνται για την ανάπτυξη λογισμικού εφαρμογών και την εκτέλεση βοηθητικών εργασιών. Το λειτουργικό σύστημα (operating system)

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

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

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

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

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

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

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

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

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

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

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

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

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

Atlantis - Νέο user interface

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

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

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

Με την ολοκλήρωση της διαδικασίας μπορούμε αν θέλουμε να επιλέξουμε να ανοίξει ή όχι η εφαρμογή που έχει εγκατασταθεί. Πώς φτιάχνω Εφαρμογές για Android με το App Inventor Τι χρειάζεται για να ξεκινήσουμε; Η λειτουργία του App Inventor είναι κυρίως διαδικτυακή. Για να ξεκινήσει κανείς δηλαδή δεν απαιτείται ούτε κάποιο

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

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

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

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

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

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

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου 1. Τι ονομάζουμε κόμβο και τι σύνδεσμο σε μια μη γραμμικά διαρθρωμένη ύλη; Με την έννοια σύνδεσμος (link) σε μια μη γραμμικά διαρθρωμένη

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

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου Διπλωματική Εργασία Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου Ποτσίκα Ηλιάνα

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

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

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

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

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head> Εισαγωγη στην html Ο παγκόσμιος ιστός (αγγ.: World Wide Web ή www) είναι η πιο δημοφιλής υπηρεσία που μας παρέχει το Διαδίκτυο (Internet) και είναι ένα σύστημα διασυνδεδεμένων πληροφοριών (κειμένου, εικόνας,

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

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

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

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

WiFi V-Timer ΕΚΔΟΣΗ 2Η

WiFi V-Timer ΕΚΔΟΣΗ 2Η ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ WiFi V-Timer ΕΚΔΟΣΗ 2Η 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ WiFi V-Timer... 3 2. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΟΥ WiFi V-Timer... 4 3. ΤΟΠΙΚΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ WiFi V-Timer... 5 4. ΕΓΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

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

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Καλώς ήλθες. Στο προηγούμενο μάθημα είδαμε τις λειτουργίες του μενού File του Editor της Unity. Όπως είπαμε οι δύο επιλογές που διαφέρουν

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

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 4o Εργαστήριο Σ.Α.Ε Ενότητα : Μελέτη και Σχεδίαση Σ.Α.Ε Με χρήση του MATLAB Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν

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

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

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

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

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

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

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

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

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

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς Εργασία-3: Παρουσίαση Εργασίας Ομάδα Α. Προετοιμασία Αναφοράς Αρκετοί πιστεύουν πως η επιτυχία μιας παρουσίασης είναι δεδομένη εάν ο παρουσιαστής κατέχει το θέμα που πρόκειται να παρουσιάσει και είναι

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

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

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA Καλωσορίσατε στην πλατφόρμα ηλεκτρονικής μάθησης E-Agiografia, Η Media Suite έχει αναπτύξει το Ολοκληρωμένο Σύστημα Τηλεκατάρτισης (e-learning) με την επωνυμία

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

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

Atlantis - Νέο user interface

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

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

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

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

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου Σελίδα 1 από 40 SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου 1. SGA Διαχείριση Ηλεκτρονικού Πρωτοκόλλου... 4 1.1. Γενικές αρχές του προσφερόμενου συστήματος... 4 1.2.

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

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

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

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

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

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

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

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Επιμέλεια: Γκέκα Ασπασία Ιωάννου Ελένη Κούνουπα Άννα Τμήμα Εφαρμογών Πληροφορικής Α 1 Εξάμηνο Δ.ΙΕΚ Αιγάλεω 1 ΠΕΡΙΕΧΟΜΕΝΑ

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

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

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

Η επιλογή γλώσσας (π.χ. ελληνικά) διεπαφής του συστήματος, βρίσκεται στο υποσέλιδο του ιστότοπου

Η επιλογή γλώσσας (π.χ. ελληνικά) διεπαφής του συστήματος, βρίσκεται στο υποσέλιδο του ιστότοπου Wordpress.com Περιεχόμενα Wordpress... 1 Ρύθμιση γλώσσας... 1 Δημιουργία λογαριασμού και σύνδεση... 2 Δημιουργία νέου ιστότοπου... 2 Πλατφόρμα διαχείρισης... 5 Αναγνώστης... 5 Πλατφόρμα ιστοτόπου... 5

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

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

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

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

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

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

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

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

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ)

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ) Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ) http://multimia-library.prosvasimo.gr Στον παρόν οδηγό μπορείτε να βρείτε αναλυτικές οδηγίες για τις δυνατότητες, τη χρήση

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

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

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

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

2.1 Σύνδεση Εξωτερικής Συσκευής στο IDE

2.1 Σύνδεση Εξωτερικής Συσκευής στο IDE 2.1 Σύνδεση Εξωτερικής Συσκευής στο IDE Κατά την ανάπτυξη μιας εφαρμογής είναι σημαντικό να ελέγχετε την λειτουργικότητά της σε μια συσκευή, πριν την δημοσιεύσετε στους χρήστες. Ένα πολύ βολικό σύστημα,

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 4 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

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

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

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

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

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

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

Πρόλογος... 7 ΕΙΔΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Πρόλογος... 7 ΕΙΔΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 7 ΕΙΔΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ Α Δομή και λειτουργία προσωπικού υπολογιστή...11 ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ Β Δομή και χρήση λειτουργικών συστημάτων DOS, UNIX και λειτουργικού

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

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

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

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

Μάθημα 4ο. Προγράμματα

Μάθημα 4ο. Προγράμματα Μάθημα 4ο Προγράμματα Σελίδα 47 από 106 4.1 Εγκατάσταση προγραμμάτων Όπως έχουμε πει στο πρώτο μάθημα (Σημειώσεις 1ου Μαθήματος 1.3.3.Β σελ. 12) τα προγράμματα ή αλλιώς εφαρμογές αποτελούν μέρος του λογισμικού

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 4 η Βασίλης Στεφανής Πληροφοριακό σύστημα Υπενθύμιση του βασικού μοντέλου Είσοδος Επεξεργασία Έξοδος Ας δούμε επιπλέον λεπτομέρειες! Λογισμικό Λογισμικό: Δίνει εντολές στο

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

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

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

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

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

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

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

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 Το Microsoft Office Word 2003 είναι το πρόγραµµα επεξεργασίας κειµένου που κάνει ευκολότερη τη δηµιουργία, την κοινή χρήση και την ανάγνωση εγγράφων. Οι λειτουργίες

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

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 - Υποστήριξη ασύρματου

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

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών

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