ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ. Πτυχιακή Εργασία. ΘΕΜΑ: "Οι βιβλιοθήκες Apache Common Maths και VISAD και η διασύνδεσή τους στην ScalaLab"»

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

Download "ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ. Πτυχιακή Εργασία. ΘΕΜΑ: "Οι βιβλιοθήκες Apache Common Maths και VISAD και η διασύνδεσή τους στην ScalaLab"»"

Transcript

1 ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ Πτυχιακή Εργασία ΘΕΜΑ: "Οι βιβλιοθήκες Apache Common Maths και VISAD και η διασύνδεσή τους στην ScalaLab"» ΕΚΠΟΝΗΣΗ: ΖΑΧΑΡΙΑΔΟΥ ΕΛΙΣΑΒΕΤ ΑΕΜ: 1729 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: DR ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΣΤΕΡΓΙΟΣ ΚΑΒΑΛΑ

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

3 Πίνακας περιεχομένων ΕΙΣΑΓΩΓΗ...5 ΠΕΡΙΛΗΨΗ...6 ABSTRACT...7 Κεφάλαιο 1 ScalaLab 1.1 Περίληψη ScalaLab Το περιβάλλον ScalaLab Πλεονεκτήματα της ScalaLab Βιβλιοθήκες Visad και Apache Common Math...15 Κεφάλαιο 2 Το σύστημα Visualization VISAD 2.1 Περίληψη VISAD Java στοιχεία για αριθμητική απεικόνιση σε VISAD Αποσπώμενα δεδομένα και πρότυπα εμφάνισης Οπτικοποίηση και Ανάλυση Συνεργατική Προσομοίωση Αξιοποίηση επαναχρησιμοποιημένων στοιχείων Χτίζοντας 3D-Components με VISAD..31 3

4 2.3.1 Διαδικαστικές εναντίον περιγραφικές visualization Βιβλιοθήκες Αντιστρεψιμότητα των οπτικοποιημένων λειτουργιών Βασικοί τύποι συστατικών Metadata για στοιχεία εμφάνισης και δεδομένων Ένα απλό 3D-GUI στοιχείο Ένα πιο περίπλοκο 3D-GUI στοιχείο Εμφάνιση των επιστημονικών δομών δεδομένων για οπτικοποίηση αλγορίθμων Η τεχνική της βαθμιδωτής χαρτογράφησης Σύστημα VISAD κώδικας Σημασιολογία και απεικόνιση των δεδομένων Σχέδια VISAD για το μέλλον...65 Κεφάλαιο 3 Apache Common Maths 3.1 Στατιστική Apache Common Maths Είδη παλινδρομήσεων Πίνακας Διακύμανσης Ο παράγοντας της τύχης Συνδεσιμότητα PRNG Γραμμική Άλγεβρα Apache Common Maths Συνήθης Διαφορικές Εξισώσεις.98 Η ενσωμάτωση των βιβλιοθηκών στην ScalaLab Βιβλιογραφία.115 4

5 Εισαγωγή Καθώς οι απαιτήσεις του ανθρώπου αυξάνονται, αυξάνεται και η πολυπλοκότητα των μέσων που θα χρησιμοποιήσει. Η επιστημονική κοινότητα έφτασε σε τέτοιο σημείο να χρειάζεται κάτι πιο γρήγορο και εξειδικευμένο για τον υπολογισμό γραφικών παραστάσεων, σχεδίαση τρισδιάστατων μοντέλων, υπολογισμό συναρτήσεων κ.α. Οι βιβλιοθήκες Visad και Apache Common Maths προσφέρουν σε βάθος όλες τις απαίτησεις της επιστημονικής κοινότητας με σχετικά έυκολη διαχείρηση. Είναι βιβλιοθήκες της Java και χρησιμοποιούνται στην ScalaLab. Χρησιμοποιόυνται από πληθώρα επιστημόνων και προγραμματιστών για την διεξαγωγή πειραμάτων, επιστημονικών πορισμάτων κ.α. 5

6 Περίληψη Υπάρχουν λίγα συστήματα visualization για επιστημονικούς σκοπούς, θα εξετάσουμε το Visad, μια βιβλιοθήκη της Java για διαδραστική οπτικοποίηση και ανάλυση των αριθμητικών δεδομένων και την βιβλιοθήκη Apache Common Maths. Το όνομα Visad είναι ακρώνυμο για «Οπτικοποίηση του αλγόριθμου ανάπτυξης». Συνδέεται με την ScalaLab. Αρχικά εξετάζουμε την χρησιμότητα της ScalaLab περιληπτικά, και βλέπουμε τα θετικά στοιχεία της. Στην συνέχεια αναλύουμε το VISAD εις βάθος για να μπορέσουμε να καταλάβουμε την δομή και την λειτουργία του. Ουσιαστικά το Visad, είναι μια βιβλιοθήκη που χρησιμοποιεί διάφορα στοιχεία για να οπτικοποιήσει δεδομένα. Βλέπουμε πως γίνεται η αριθμητική απεικόνιση δεδομένων σε επιστημονικό επίπεδο, πως χτίζονται 3D-στοιχεία με VISAD, με την χρήση κώδικα και μη. Επίσης αναλύουμε την χρήση βαθμιδωτής και μη χαρτογράφησης, τις διαδικαστικές και περιγραφικές βιβλιοθήκες, της σημασιολογία της απεικόνισης των δεδομένων κ.α. Τέλος εξετάζουμε την βιβλιοθήκη Apache Common Maths που χρησιμοποιείται για την επίλυση μαθηματικών εξισώσεων. 6

7 Abstract There are few visualization systems for scientific purposes, we will examine Visad, a Java library for interactive visualization and analysis of numerical data and the library Apache Common Maths. The name Visad acronym for "Visualization for Algorithm Development". It s linked with ScalaLab. Initially we examine the usefulness of ScalaLab briefly, and see the positive elements. Then we analyze VISAD in depth, so we can understand its structure and function. Essentially Visad, is a library that uses different components to visualize data. We examine numerical representation of data in scientific terms, building 3D-elements with VISAD, with or without code. We also analyze the use of gradient mapping, procedural and descriptive libraries, the semantics of the image data, etc. Finally we examine the library Apache Common Maths, a library used to solve mathematical equations. 7

8 Κεφάλαιο 1 Η ScalaLab Περίληψη ScalaLab Το περιβάλλον ScalaLab χτίζεται στην Scala, μια νέα γλώσσα για την Java Virtual Machine με πλήρη λειτουργικότητα Java. Ένας από τους κύριους στόχους της ScalaLab είναι να είναι πολύ φιλικό προς το χρήστη περιβάλλον και να παρουσιάσει μια απλή υψηλού επιπέδου scripting γλώσσα με τον επιστημονικό πνεύμα της Matlab. Ωστόσο, ένας προηγμένος προγραμματιστής μπορεί επίσης να χρησιμοποιήσει την εξελιγμένη γλώσσα Scala στο οποίο η ScalaLab είναι φτιαγμένη. Η ScalaLab είναι αποτελεσματική και μπορεί να είναι μια ενδιαφέρουσα λύση ανοιχτού κώδικα παρόμοια με τα εμπορικά πακέτα, ειδικά για την επιστημονική κοινότητα που είναι εξοικειωμένοι με Java. Το περιβάλλον χρήστη της ScalaLab εξερευνά τις δυνατότητες της βιβλιοθήκης Swing Java, προκειμένου να διευκολύνει το έργο του επιστήμονα. Η προγραμματιστική γλώσσα της ScalaLab είναι η ScalaSci η οποία προσφέρει σαν του Matlab υψηλού επιπέδου χειρισμό εκμεταλλεύοντας την ευελιξία της Scala γλώσσας χτίζοντας έτσι εύκολα νέες συντάξεις. Επιπλέον ο χρήστης της ScalaLab μπορεί να συνδυάσει εύκολα java κώδικα που μεταγλωττίζεται με έναν java μεταγλωττιστή. Η επέκταση της Scala με Matlab-στυλ δομές, που ονομάζεται ScalaSci είναι η γλώσσα της ScalaLab. Η ScalaSci είναι αποτελεσματική τόσο για τη σύνταξη μικρών σεναρίων όσο και για την ανάπτυξη μεγάλων εφαρμογών στο επίπεδο της παραγωγής. Το βιβλίο περιγράφει τις βασικές επιστημονικές κατηγορίες ScalaSci, και παρουσιάζει παραδείγματα της εφαρμογής τους. Η Scala είναι στατικά δακτυλογραφημένη, ενώ ο κώδικας ScalaSci τρέχει με την ταχύτητα Java. Επίσης, δεδομένου ότι οι βελτιστοποιήσεις που εκτελούνται από 8

9 τον compiler Just-In-Time Java σε κώδικα που τρέχει με ταχύτητα παρόμοια με εγγενή κώδικα, η ScalaLab μπορεί να τρέξει βαριά αριθμητικές εργασίες με ταχύτητα παρόμοια με την παραδοσιακή C / C ++ ή Fortran μεταγλωττισμένου κώδικα. Εκμεταλλευόμενοι την ευελιξία και επεκτασιμότητα της γλώσσας Scala παρουσιάζουμε επίσης το πλαίσιο για την αξιοποίηση της Java με επιστημονικές βιβλιοθήκες στο περιβάλλον ScalaLab. Περιγράφεται η διασύνδεση των βασικών Java βιβλιοθηκών αριθμητικών αναλύσεων, όπως η NUMAL βιβλιοθήκη, MTJ (Matrix Toolkit για Java) και EJML (Efficient Java Matrix Βιβλιοθήκη). Αν και πιστεύουμε ότι η Scala είναι μια πολύ βελτιωμένη σε σχέση με τη γλώσσα Java (δηλαδή κάτι σαν «Java.next"!) και εντυπωσίασε με την κομψότητα και την εκλέπτυνση της στον σχεδιασμό, η Java παραμένει μια καλή και αποτελεσματική λύση για απλές εργασίες, όπως η ανάπτυξη του επιστημονικού λογισμικού. Έτσι, η φιλοσοφία της ScalaLab δεν είναι να αντικαταστήσει την Java, αλλά να την εκμεταλλευτεί. Επίσης, η γλώσσα Java, τόσο με τη χρήση των εξαιρετικών βιβλιοθηκών Java scientific προσφέρει τη δυνατότητα στον προγραμματιστή Java να χρησιμοποιήσει Java για την ανάπτυξη εφαρμογών, σε περίπτωση όπου είναι πιο εξοικειωμένοι με την Java. Ως εκ τούτου, ένας Java 6 compiler είναι ενσωματωμένος μέσα στο πυρήνα της ScalaLab. Οι ScalaLab βιβλιοθήκες Java για συγκεκριμένες εφαρμογές μπορούν εύκολα να χρησιμοποιηθούν ως εργαλειοθήκες. Αριθμητικές εφαρμογές υπολογισμού επωφελούνται από το διαδραστικό σύστημα για τον υπολογισμό matrix, ο οποίος διευκολύνει τα ταχεία επιστημονικά πειράματα. Με τα συστήματα αυτά προγραμματισμού, ουσιαστική ανάλυση μπορεί να εκτελείται με την εισαγωγή σταδιακών εντολών και εν συνέχεια την επίτευξη αποτελεσμάτων. Ενθαρρύνεται ο πειραματισμός και ο κουραστικός `compile-link-execute' κύκλος των τυποποιημένων γλωσσών προγραμματισμού έχει εξαλειφθεί. Γνωστά παραδείγματα τέτοιων συστημάτων περιλαμβάνουν εμπορικά προϊόντα όπως το Matlab [6], το Maple και το Mathematica [3, 4], καθώς και πακέτα λογισμικού ανοικτού κώδικα, όπως Scilab [1] και Octave [5]. Το βιβλίο παρουσιάζει ένα ανοιχτού κώδικα μαθηματικό περιβάλλον προγραμματισμού για την Java Virtual Machine (JVM), το περιβάλλον ScalaLab [19]. Αν και η ScalaLab παρουσιάζει ένα Matlab στυλ εργασίας, διαφέρει από τις παραπάνω 9

10 αντιξοότητες στο ότι συγκεντρώνει τα σενάρια για το JVM. ScalaLab, χρησιμοποιεί και επεκτείνεται στην ισχυρή Scala αντικειμενοστραφή γλώσσα [15]. Μια κριτική του JVM είναι ότι είναι σχετικά αργή. Ωστόσο, για την πρόσφατη έκδοση του compiler Just-In-Time (JIT), αυτό δεν ισχύει πλέον. Αντί αυτού, είναι εντυπωσιακό ότι η Java ξεπερνάει την C ++ σε μια σειρά σημείων αναφοράς που έχουν δοκιμαστεί και είναι ελαφρώς ηττημένη μόνο εάν η C ++ υποστηρίζεται με έναν βελτιστοποιημένο compiler. Σαφώς, οι βελτιστοποιήσεις που εκτελούνται από τον ΚΟΕ compiler είναι αρκετά εξελιγμένοι, π.χ. όρια του πίνακα ελέγχουν την εξάλειψη και την απόδοση JVM για αριθμητικών υπολογισμών. Διαδραστικά περιβάλλοντα επιστημονικού προγραμματισμού έχουν αποκτήσει μεγάλη δημοτικότητα, κυρίως για την απλότητα και την μεγάλη βελτίωση της ταχύτητας με τεχνικές JIT. Είναι ενδιαφέρον να παρατηρήσουμε ότι η πρόσφατες εκδόσεις του Matlab, έχουν επίσης αποκτήσει εντυπωσιακή βελτίωση ταχύτητας. Ωστόσο, το μεγαλύτερο μέρος των αριθμητικών λογισμικού ανάλυσης είναι σε μεταγλωττισμένες γλώσσες, κυρίως σε Fortran, C / C ++ και Java. Η μεταγενέστερη γλώσσα αν και δεν είναι σχεδιασμένη για αριθμητικούς υπολογισμούς έχει γίνει πολύ δημοφιλής λόγω της δυνατότητας μεταφοράς, την αξιοπιστία, την απλότητα της και τις εξελίξεις στην Just In-Time (JIT) Σύνταξη. Η σχετικά νέα γλώσσα Scala [15] διατηρεί όλα τα πλεονεκτήματα της Java, ενώ επιπλέον δημιουργεί ένα μυθιστόρημα με επεκτάσιμη αρχιτεκτονική. Η ScalaLab εκμεταλλεύεται τόσο την ευελιξία της Scala οσο και την ισχυρή και πλούσια σε χαρακτηριστικά Java πλατφόρμα, προκειμένου να προσφέρει ένα ανοιχτό Matlab-στυλ σύστημα με τον επιστήμονα. Ο χρήστης του μπορεί να λειτουργήσει ScalaLab τόσο με το Matlab-όπως και με προσανατολισμένο script τρόπο ή με την Java / Scala σαν τρόπο της δομής stand-alone εφαρμογών. Επίσης, ο χρήστης μπορεί να αντικαταστήσει ScalaLab scripts με τα μαθήματα, ώστε να οικοδομηθεί σταδιακά μια σύνθετη εφαρμογή. 10

11 Το περιβάλλον ScalaLab Η ScalaLab βασίζεται στη τεχνολογία στοίβας που αναπτύχθηκε εδώ και πολλά χρόνια για την Java Virtual Machine. Τα κύρια συστατικά αυτής της τεχνολογίας είναι: Ο Just-In-Time Java Compiler. Αν και απαρατήρητο στο χρήστη το στοιχείο αυτό είναι ίσως το πιο σημαντικό. Βήματα στο Just-In-Time compilation επιτρέπει τα bytecodes σήμερα να εκτελούνται με ταχύτητες που υπερβαίνουν ακόμα και των εγγενώς μεταγλωττισμένο κώδικα. Το γεγονός αυτό είναι ζωτικής σημασίας στον τομέα του αριθμητικού κώδικα που περιλαμβάνει μεγάλο αριθμό crunching. Ο Java compiler. Η ScalaLab ενσωματώνει τον Java 6 compiler μέσα στο εκτελέσιμο του. Έτσι, ο χρήστης μπορεί εύκολα να μεταγλωττίσει και να εκτελέσει κλάσεις Java, αποφεύγοντας την ενόχληση της εγκατάστασης και τον χειρισμό ενός εξωτερικού compiler Java. Ο Scala compiler και οι Run-Time βιβλιοθήκες. Η ScalaLab ενσωματώνει μια πρόσφατη έκδοση του όλου συστήματος Scala. Έτσι, μια ξεχωριστή εγκατάσταση της Scala είναι περιττή. Ο διερμηνέας της Scala. Αυτή η συνιστώσα είναι ο πυρήνας της ScalaLab και ο ένας που υλοποιεί την Matlab αίσθηση του συστήματος. Πρόκειται για ένα προηγμένο διερμηνέα που διερευνά καλά τα εσωτερικά της Java Virtual Machine για να διατηρηθεί η κατάσταση μεταξύ διαδοχικών εκτελέσιμων σεναρίων. 11

12 Οι ολοκληρωμένες Java βιβλιοθήκες. Οι Java Βιβλιοθήκες για τις πιο σημαντικές αριθμητικές εργασίες έχουν ενσωματωθεί με ScalaLab και είναι άμεσα διαθέσιμες στο χρήστη. Εξωτερικές κλάσεις βιβλιοθηκών. Από την στιγμή που η ScalaLab τρέχει από την Java Virtual Machine οποιοδήποτε αρχείο κλάσης μπορεί να εκτελεστεί όσο τοποθετείται στο classpath της ScalaLab. Η ScalaLab κρατά μια μεταβλητή προσαρμοσμένη στο περιβάλλον ScalaSciClassPath για την εφαρμογή της έννοιας του classpath. Ωστόσο, ειδική υποστήριξη που προσφέρεται για εύκολη φόρτωση.jar αρχείων που συσκευάζουν βιβλιοθήκες Java, δεδομένου ότι είναι ιδιαίτερα σημαντικό να χρησιμοποιούν αποτελεσματικά εργαλειοθήκες του κώδικα Java. Επίπεδο εφαρμογών Wizards. Τα εργαλεία αυτά διευκολύνουν σε μεγάλο βαθμό την ανάπτυξη εξειδικευμένων εφαρμογών. Θα δώσουμε ένα παράδειγμα επίλυσης Διαφορικών Εξισώσεων (Σ.Δ.Ε.) με ScalaLab, όπου οι οδηγοί είναι ιδιαίτερα χρήσιμοι. Το περιβάλλον χρήστη της ScalaLab αποτελείται από τα ακόλουθα συστατικά: a. Η κονσόλα ScalaLab που δέχεται εντολές και scripts από το χρήστη. Εντολές ελέγχου εκτελούνται άμεσα, ενώ τα σενάρια εκδίδονται στο διερμηνέα Scala για εκτέλεση. Ένα αναδυόμενο μενού, επίσης, εμφανίζει χρήσιμες επιλογές, όπως η επαναφορά του διερμηνέα Scala ή η εναλλαγή μεταξύ των διερμηνέων που χρησιμοποιήθηκαν σε διαφορετικές Java επιστημονικές βιβλιοθήκες. Ο χρήστης μπορεί να αντιγράψει και να επικολλήσει κώδικα στο παράθυρο της κονσόλας και αυτόν τον κώδικα που εκτελείται. 12

13 b. Το παράθυρο ιστορίας που κρατάει το ιστορικό των καλά εκτελέσιμων εντολών επιτρέποντας την άμεση επανεκτέλεση μιας εντολής απλά επιλέγοντάς την. c. Το παράθυρο μεταβλητού χώρου εργασίας που εμφανίζει τις global μεταβλητές και τους τύπους της d. Ο εξερευνητής ScalaLab, ο οποίος επιτρέπει να περιηγηθείτε εύκολα στο σύστημα αρχείων και να εκτελεστούν λειτουργίες στα αρχεία π.χ. να επεξεργαστούν, να καταρτίζουν, να τρέξουν Java και Scala αρχεία κλπ. e. Ο επεξεργαστής ScalaLab, είναι ένας απλός επεξεργαστής κειμένου που βοηθά προσφέροντας ειδικές λειτουργίες, όπως την κατάρτιση και την εκτέλεση των αρχείων Java / Scala και τη δημιουργία χρήσιμων προτύπων για Java και Scala εφαρμογές που χρησιμοποιούν εξειδικευμένες βιβλιοθήκες, π.χ. η αποτελεσματική βιβλιοθήκη Java Matrix, το BioJava κ.α. f. Το παράθυρο εξόδου της κονσόλας μπορεί να κυλήσει τα αποτελέσματα των εντολών. Στην ουσία στην κονσόλα εξόδου System.out stream της Java ανακατευθύνεται και έτσι όλη η παραγωγή μπορεί να εξεταστεί εύκολα. 13

14 14

15 Πλεονεκτήματα της ScalaLab Τα κύρια πλεονεκτήματα της ScalaSci που την εξοπλίζει με μεγάλες δυνατότητες είναι: 1. Η ευελιξία και η επεκτασιμότητα της ισχυρής γλώσσας Scala, που προσφέρει πολλές ευκαιρίες για να εφαρμοστούν πρακτικά επιστημονικοί φορείς υψηλού επιπέδου. 2. Η ταχύτητα της Scala βάση προγραμματισμού, που πλησιάζει την ταχύτητα του βελτιστοποιημένου κώδικα Java, και έτσι είναι κοντά ή ακόμα καλύτερα από την C / C ++ βάση επιστημονικού κώδικα! 3. Τα τεράστιες βασισμένες σε Java επιστημονικές βιβλιοθήκες με εξαιρετικό κώδικα για πολλά πεδία εφαρμογών. Οι βιβλιοθήκες αυτές είναι άμεσα διαθέσιμες από την ScalaSci με τη δυναμική φόρτιση των αντίστοιχων εργαλειοθηκών Java. 4. Το φιλικό προς τον χρήστη Matlab περιβάλλον της ScalaLab και η υψηλή ποιότητα υποστήριξης επιστημονικής αποτύπωσης. 5. Η ScalaLab μπορεί άμεσα να καλέσει και να έχει πρόσβαση στα αποτελέσματα από Matlab scripts. Επίσης GroovyLab scripts μπορούν να εκτελεστούν άμεσα, για αυτούς που προτιμούν javaστυλ σύνταξης. Στην συνέχεια θα εξετάσουμε 2 βιβλιοθήκες java που μπορούν να ενσωματοθούν στην ScalaLab για περαιτέρω επεξεργασία πληροφοριών και απαιτήσεων. Η μια βιβλιοθήκη είναι η Visad, η οποία είναι χρήσιμη για την οπτικοποίηση δεδομένων, και η άλλη Apache Common Maths, η οποία είναι χρήσιμη για λύση πολύπλοκων εξισώσεων μέσω προγραμματισμού. 15

16 Κεφάλαιο 2 VISAD Περίληψη Visad Το Visad είναι μια βιβλιοθήκη της Java για διαδραστική οπτικοποίηση και ανάλυση των αριθμητικών δεδομένων. Το όνομα Visad είναι ακρώνυμο για "Οπτικοποίηση του αλγόριθμου Ανάπτυξης". Το σύστημα συνδυάζει: Την χρήση καθαρής Java για ανεξαρτησία πλατφόρμας και για την υποστήριξη της ανταλλαγή δεδομένων και συνεργασίας σε πραγματικό χρόνο μεταξύ των γεωγραφικά κατανεμημένων χρηστών. Η υποστήριξη για κατανεμημένα συστήματα είναι ενσωματωμένη στα χαμηλότερα επίπεδα του συστήματος χρησιμοποιώντας Java RMI. Ένα γενικό μοντέλο μαθηματικών δεδομένων που μπορεί να προσαρμοστεί σε σχεδόν οποιαδήποτε αριθμητικά δεδομένα, που υποστηρίζει την ανταλλαγή δεδομένων μεταξύ των διαφόρων χρηστών, διαφορετικές πηγές δεδομένων και διαφορετικούς επιστημονικούς κλάδους, και ότι παρέχει διαφανή πρόσβαση στα δεδομένα ανεξάρτητα από τη μορφή αποθήκευσης και θέση (π.χ., μνήμη, δίσκος ή εξ αποστάσεως). Το μοντέλο δεδομένων είναι προσαρμοσμένο σε NetCDF, HDF-5, ΤΑΙΡΙΑΖΕΙ, HDF-EOS, McIDAS, Vis5D, GIF, JPEG, TIFF, QuickTime, ASCII και πολλές άλλες μορφές αρχείων. Ένα γενικό μοντέλο προβολής που υποστηρίζει διαδραστική 3-D, συγχώνευση δεδομένων, πολλαπλές προβολές δεδομένων, άμεση χειραγώγηση, και την εικονική πραγματικότητα. Το μοντέλο της οθόνης έχει προσαρμοστεί Java3D και Java2D και χρησιμοποιείται σε ImmersaDesk οθόνη εικονικής πραγματικότητας. 16

17 Ανάλυση των δεδομένων και υπολογισμός ενσωμάτωσης με απεικόνιση για την υποστήριξη υπολογιστικών διευθύνσεων και άλλες σύνθετες λειτουργίες αλληλεπίδρασης. Υποστήριξη για δύο διαφορετικές κοινότητες: προγραμματιστές που δημιουργούν domain-based συστήματα που βασίζονται σε Visad, και οι χρήστες αυτών των συστημάτων σε συγκεκριμένους τομείς. Το Visad έχει σχεδιαστεί για να υποστηρίξει μια ευρεία ποικιλία των διεπαφών χρήστη, που κυμαίνονται από απλά applets φυλλομετρητή δεδομένων μέχρι πολύπλοκες εφαρμογές που επιτρέπουν σε ομάδες των επιστημόνων να αναπτύξουν συνεργατικά αλγορίθμων ανάλυσης δεδομένων. Προγραμματιστική επεκτασιμότητα με όσο το δυνατόν περισσότερους τρόπους. 17

18 Java κατανεμημένα στοιχεία για αριθμητική απεικόνιση σε VISAD. Μέσα σε 10 χρόνια, το αριθμητικό υπολογιστικό περιβάλλον θα ενισχύσει το μοίρασμα μεταξύ των επιστημόνων, προσθέτοντας μια νέα δομή στο Web. Θα αποτελείται από ένα επίμονο, ενεργό δίκτυο των αριθμητικών δεδομένων και υπολογιστικά, εμφανισιακά, και σε περιβάλλον του χρήστη στοιχεία που διανέμονται μέσω του Διαδικτύου. Όπως και με το Web, οι χρήστες ακόμη και τα προγράμματα εφαρμογής σε μεγάλο βαθμό θα αγνοούν τους φυσικούς υπολογιστές, αλλά αντί αυτού την πρόσβαση σε ένα παγκόσμιο κοινό δίκτυο λογικών στοιχείων. Οι χρήστες θα εξερευνήσουν το δίκτυο μέσω των browsers και θα προσθέτουν νέα στοιχεία σε αυτό. Για παράδειγμα, οι ατμοσφαιρικοί χημικοί θα μπορούσαν να χρησιμοποιήσουν ένα πρόγραμμα περιήγησης για να εντοπίσουν ένα σύνολο δεδομένων προσομοίωσης καιρού ή ακόμα και ένα τρεχούμενο μοντέλο καιρού, συνδέοντας ως είσοδο μοντέλα χημεία, και στην συνέχεια, συνδέοντας ένα στοιχείο οθόνης για να απεικονίσει τους υπολογισμούς του κάθε μοντέλου. Κολέγια μοντελοποίησης καιρού θα μπορούσαν στη συνέχεια να κοινοποιήσουν αυτήν την εμφάνιση στους browsers τους και να συνδέσουν εξαρτήματα χρήστη για να συνεργαστούν πάνω σε πειράματα με τα συζευγμένα μοντέλα. Ένα τέτοιο περιβάλλον θα προκαλέσει πολλές long-held παραδοχές σχετικά με τον τρόπο που οι προγραμματιστές γράφουν αριθμητικά λογισμικά, όπως οι εξής: Ενιαίες μηχανές ή φτιαγμένα μέρη μηχανών. Το αριθμητικό λογισμικό τρέχει σε ένα μοναδικό μηχάνημα ή χωρίζεται σε πολλαπλές μηχανές με μια σταθερή διαμόρφωση: η πρόκληση έρχεται από την υποστήριξη του Grid Computing και διανεμημένη τεχνολογία αντικειμένων. 18

19 Η δομή και ιδιότητες των στοιχείων. Η δομή και οι ιδιότητες των στοιχείων είναι γνωστά εκ των προτέρων από τους προγραμματιστές που γράφουν λογισμικό για την πρόσβαση των δεδομένων: η πρόκληση έρχεται από αφηρημένα αριθμητικά μοντέλα δεδομένων και Χρήσεις του λογισμικού. Οι χρήσεις αυτές είναι γνωστές εκ των προτέρων από τους προγραμματιστές που γράφουν λογισμικό: η πρόκληση έρχεται από επαναχρησιμοποιήσιμα στοιχεία. Αναπτύσσεται το Visualization για ανάπτυξη αλγορίθμων, ή αλλιώς VISAD, μια βιβλιοθήκη από java στοιχεία για να υπερβεί αυτούς τους περιορισμούς οπού αυτές οι υποθέσεις επιβάλλουν στην αριθμητική απεικόνιση, προσδιορίζοντας τους τύπους των java στοιχείων: Δεδομένων. Υλοποιεί ένα μοντέλο δεδομένων που ορίζει ένα γραμματικό σχήμα για την οργάνωση αλφαριθμητικών τιμών. Καθορίζει επίσης τα σχετικά metadata (όπως μονάδες, συστήματα συντεταγμένων, δειγματοληψίες γεωμετρίας και τοπολογίας, ελλείπεις δείκτες δεδομένων, και εκτιμήσεις σφάλματος). Το γραμματικό σχήμα και τα metadata μπορούν να εκφράσουν τις εικόνες, 3D πλέγματα, χρονολογικές σειρές, τα όρια χάρτη, απλούς πραγματικούς αριθμούς, και σχεδόν όλα τα άλλα αριθμητικά στοιχεία. Τα δεδομένα συστατικού API κρύβουν διασυνδέσεις σε μια ποικιλία αρχείων και δεδομένων του διακομιστή σχημάτων, την κίνηση των δεδομένων μεταξύ του δίσκου και της μνήμης, την κίνηση των δεδομένων μέσω δικτύου, και κατατμήσεις των μεγάλων κατασκευαστικών στοιχείων σε συστάδες επεξεργαστή. Εμφάνισης. Εφαρμόζει ένα αφηρημένο μοντέλο εμφάνισης που επιτρέπει στις εφαρμογές να καθορίζουν απεικονίσεις δεδομένων περιγραφικάμέσω αντιστοιχίσεων από πρωτόγονες τιμές δεδομένων σε πρωτόγονες τιμές εμφάνισης-και όχι διαδικαστικά. Η οθόνη συστατικών API κρύβει τη βιβλιοθήκη γραφικών (όπως Java3D και Java2D) που χρησιμοποιείται για να καταστήσει παραστάσεις, καθώς και κατά πόσον οι παραστάσεις αποδίδονται σε παράθυρα στις οθόνες του σταθμού εργασίας, στα προγράμματα περιήγησης, ή σε εικονικής πραγματικότητας οθόνες. 19

20 Υπολογισμού. Χρησιμοποιεί κώδικα που παρέχεται από τις εφαρμογές για να υπολογίσει τις τιμές για τα συστατικά στοιχεία ή να εκμεταλλευτεί στοιχεία εμφάνισης με βάση τις αξίες των άλλων συστατικών στοιχείων. Το υπολογιστικό συστατικό API κρύβει τη γλώσσα προγραμματισμού που χρησιμοποιείται για την εφαρμογή που παρέχεται από τον κώδικα. Διεπαφή χρήστη. Περιλαμβάνει γνωστές εικόνες (όπως κουμπιά και sliders) συνδέοντας τις ενέργειες των χρηστών (όπως τα κλικ του ποντικιού) στις αξίες των στοιχείων των δεδομένων και στα καλέσματα της βιβλιοθήκης. Δίκτυα τέτοιων συστατικών εκτείνονται σε πολλούς υπολογιστές μέσω Java Remote Method Invocation (RMI), μια τεχνολογία κατανεμημένων αντικειμένων. Μπορούν να εκφράσουν διάφορες μορφές των κατανεμημένων συστημάτων πληροφορικής (όπως client-server, επεξεργασία συμπλέγματος, και εξ αποστάσεως συνεργασία, καθώς και ό, τι οι προγραμματιστές και οι χρήστες ενδιαφέρονται για να καθορίσουν). Εμφανισιακά και υπολογιστικά στοιχεία μπορούν να συνδέονται με τα συστατικά στοιχεία, με τις ενέργειές τους (ενημέρωση απεικονίσεις των δεδομένων ή την εκτέλεση) που ενεργοποιούνται κάθε φορά που αλλάζουν τα δεδομένα που συνδέονται με τις τιμές. Ένα στοιχείο δεδομένων μπορεί να συνδέεται με πολλαπλές συνιστώσες εμφάνισης με μια διαφορετική απεικόνιση κάθε φορά: πολλαπλά συστατικά στοιχεία μπορεί να συνδέονται με ένα κοινό συστατικό εμφάνισης για την οπτική σύγκριση. Στοιχεία εμφάνισης μπορούν να συνδέονται ακόμα με άλλα στοιχεία της οθόνης, δημιουργώντας συνεργατικά δίκτυα εμφάνισης που συγχρονίζουν την εμφάνισή τους: οποιαδήποτε αλλαγή από τους χρήστες ή τις εφαρμογές αντικατοπτρίζεται σε όλες τις συνδεδεμένες εμφανίσεις. Στοιχεία του περιβάλλοντος του χρήστη μπορεί να συνδεθούν με συστατικά στοιχεία, επιτρέποντας στους χρήστες να χειραγωγήσουν τις τιμές των δεδομένων. Στοιχεία εμφάνισης μπορούν επίσης να χρησιμοποιηθούν ως συστατικά του χρήστη του περιβάλλοντος, που επιτρέπει στους χρήστες να χειραγωγήσουν τις τιμές των δεδομένων ξανασχεδιάζοντας τις απεικονίσεις τους. Όλες αυτές οι συνδέσεις μπορούν να είναι είτε τοπικές είτε απομακρυσμένες. 20

21 Αποσπώμενα δεδομένα και πρότυπα εμφάνισης. Η απόσπαση είναι το κλειδί για την επαναχρησιμοποίηση. Η VISAD επιτυγχάνει την απόσπαση των συστατικών στοιχείων, μέσω ενός γραμματικού σχήματος για την έκφραση των οργανώσεων των δεδομένων, καθώς και για στοιχεία της εμφάνισης του μέσω της έκφρασης της απεικόνισης δεδομένων όπως η χαρτογράφηση από πρωτόγονες τιμές δεδομένων σε πρωτόγονες τιμές εμφάνισης. Το σχήμα 1 είναι ένα Visad συστατικό στοιχείο χρήστη που επιτρέπει στους χρήστες να καθορίσουν τις συντεταγμένες στην οθόνη. Το παράθυρο MathType περιλαμβάνει μια έκφραση στο γραμματικό σχήμα για μια χρονική ακολουθία από 2D εικόνες γης-ένα στοιχείο δεδομένων που θα εμφανιστεί. Ο όρος περιλαμβάνει τα ονόματα για πρωτόγονες αριθμητικές τιμές και τιμές κείμενου, χωρίζοντας τις τιμές σε συντεταγμένες. Το σύστημα συντεταγμένων δείχνει ότι η συνιστώσα των δεδομένων περιλαμβάνει ένα αντιστρέψιμο μετασχηματισμό των συντεταγμένων της εικόνας και των συντεταγμένων της γης. Όλες οι αριθμητικές τιμές που εμφανίζονται στα συστατικά στοιχεία μπορούν να περιλαμβάνουν συνδεδεμένες μονάδες και εκτιμήσεις σφάλματος. Υπάρχουν, επίσης, συνήθως δειγματοληψίες για τους τομείς των οποιονδήποτε λειτουργικών εξαρτήσεων. Μετατροπές μονάδων, μετασχηματισμοί συντεταγμένων, αναδειγματοληψία, διάδοση των δεδομένων που λείπουν και εκτιμήσεις από λάθη όλα γίνονται σιωπηρά όπως χρειάζεται σε μαθηματικές λειτουργίες. Για να οριστούν απεικονίσεις δεδομένων, πρωτόγονες αξίες -στα δεδομένα του χάρτη από το παράθυρο- αντιστοιχίζονται σε πρωτόγονες αξίες οθόνης. Το παράθυρο τρέχον-χάρτες παρουσιάζει την πρώτη εικασία του συστήματος σε κατάλληλες αντιστοιχίσεις για το σχήμα στο παράθυρο του MathType. Ο χρήστης μπορεί να καθαρίσει αυτές τις αντιστοιχίσεις και να δημιουργήσει νέες με εναλλάξ κλικ στα ονόματα πρωτόγονων τιμών δεδομένων και τα ονόματα πρωτόγονων δεδομένων εμφάνισης. Το στοιχείο του περιβάλλοντος επαφής του χρήστη στο σχήμα 1 καθορίζει τις αντιστοιχίσεις των καλεσμάτων την βιβλιοθηκών σε οποιαδήποτε εφαρμογή. Η γραμματική του σχήματος δεδομένων επιτρέπει συστατικά στοιχεία να επαναχρησιμοποιηθούν για σχεδόν οποιαδήποτε αριθμητικά δεδομένα 21

22 και δεδομένα κειμένου. Επιπλέον, τα σχετικά metadata επιτρέπουν ουσιαστικές συγκρίσεις των δεδομένων από διαφορετικές πηγές, συμπεριλαμβανομένης της χωρικής και χρονικής ευθυγράμμισης σε εμφανίσεις, και είναι σημαντικό για την αύξηση κοινής χρήσης δεδομένων στο Διαδίκτυο. Το σύστημα περιλαμβάνει μια σειρά από μαθήματα για την ερμηνεία αρχείων δεδομένων και μορφές του διακομιστή ως συστατικά στοιχεία, εμμέσως μεταφέροντας δεδομένα σε μια μνήμη cache, όπως απαιτείται για να εκτελεστούν δεδομένα συστατικών κλήσεων API. Visad προγραμματιστές έχουν εφαρμόσει αυτές τις κλάσεις σε περισσότερες από 20 κοινές μορφές αριθμητικών δεδομένων. Οι αντιστοιχίσεις εμφάνισης επιτρέπουν την επαναχρησιμοποίηση των συστατικών οθόνη για σχεδόν οποιαδήποτε μορφή απεικόνισης δεδομένων. Το γεγονός ότι οι αντιστοιχίσεις εμφάνισης είναι μια περιγραφικός και όχι διαδικαστικός ορισμός των απεικονίσεις δεδομένων επιτρέπει στοιχεία της οθόνης για να χρησιμοποιηθούν ως συστατικά του περιβάλλοντος του χρήστη, με τους χρήστες να τροποποιούν τις τιμές δεδομένων με επανασχεδιασμό απεικονίσεις δεδομένων. Δηλαδή, οι διαδικασίες είναι δύσκολο να αντιστραφούν, ενώ οι περιγραφές ισχύουν εξίσου καλά τόσο στην απεικόνιση δεδομένων-προς-απεικόνιση όσο και απεικόνιση-προς-δεδομένα. Οι προγραμματιστές μπορούν να επεκτείνουν τις κλάσεις Java εφαρμόζοντας συστατικά στοιχεία προκειμένου να καθορίσουν τα δικά τους συστήματα συντεταγμένων, τοπολογίες δειγματοληψίας, και αλγορίθμων παρεμβολής. Με την ανεξαρτησία της Java πλατφόρμας, αυτοί οι μαθηματικοί αλγόριθμοι μπορούν να μεταφερθούν με τα συστατικά στοιχεία μεταξύ των διαφόρων μηχανημάτων: με αυτόν τον τρόπο, οι αλγόριθμοι μπορούν να λειτουργήσουν ως περιεχόμενα των δεδομένων. Οι προγραμματιστές μπορούν να επεκτείνουν τις κατηγορίες εφαρμογής στοιχείων εμφάνισης, προκειμένου να καθορίσουν τους δικούς τους αλγόριθμους απόδοσης ή ακόμη και να χρησιμοποιήσουν μια διαφορετική βιβλιοθήκη γραφικών. 22

23 Οπτικοποίηση και Ανάλυση Για τους νέους χρήστες, η βιβλιοθήκη Visad είναι μια πρόκληση, λόγω του υψηλού επιπέδου της αποσπασματικότητας. Το πρώτο βήμα τους είναι συνήθως να απεικονίσουν τα δεδομένα τους σε ένα λογιστικό φύλλο Visad, το οποίο παρέχει πρόσβαση σε ένα μεγάλο μέρος της βιβλιοθήκης μέσω ενός GUI. Το περιβάλλον χρήστη στο σχήμα 1 είναι μέρος αυτής της GUI, βοηθώντας τους χρήστες να μάθουν για το γραμματικό σχήμα δεδομένων και τις συντεταγμένες εμφάνισης. Μπορούν να πειραματιστούν με τα αρχεία δεδομένων και τα σύνολα συντεταγμένων εμφάνισης, και να δουν τις προκύπτουσες απεικονίσεις. Το GUI λογιστικό φύλλο αποτελείται κυρίως από μια ορθογώνια συστοιχία κελιών (εμφάνισης-στοιχεία windows), το καθένα ενδεχομένως περιέχει απεικονίσεις πολλαπλών δεδομένων. Αυτά τα αρχεία παράγονται από την ανάγνωση αρχείων ή server ή από απλές φόρμουλες που εφαρμόζονται σε στοιχεία δεδομένων σε άλλα κελιά. Όταν οι χρήστες είναι έτοιμοι να προγραμματίσουν την βιβλιοθήκη, ο ευκολότερος τρόπος για να ξεκινήσουν είναι γράφοντας Python scripts. Ένα script μπορεί να είναι απλό, όπως η γραμμή plot(load("filename")), η οποία φορτώνει και εμφανίζει ένα αρχείο δεδομένων. Το Visad υποστηρίζει Python, μέσω της εφαρμογής Jython, παρέχοντας πρόσβαση σε αντικείμενα Java από την Python, και αυτό σημαίνει ότι το σύνολο της βιβλιοθήκης Visad είναι προσβάσιμο από την Python. Υποστήριξη είναι επίσης διαθέσιμη για μαθηματικές πράξεις σε συστατικά στοιχεία μέσω Python εκφράσεις infix και για εξειδικευμένες εμφανίσεις (όπως ιστογράμματα, διαγράμματα διασποράς, οικόπεδα περιγράμματος, και animations) χωρίς να χρειάζεται οι χρήστες να κατανοήσουν τις συντεταγμένες εμφάνισης του συστήματος. Τα Python scripts μπορούν να επικαλεστούν τη λειτουργία plot για να απεικονίσουν δεδομένα χρησιμοποιώντας ένα κελί του φύλλου εργασίας, επιτρέποντας στους χρήστες να ελέγχουν τις συντεταγμένες εμφάνισης μέσω του περιβάλλοντος χρήστη. 23

24 Συνεργατική Προσομοίωση Η βιβλιοθήκη Visad χρησιμοποιείται για να γράψει τις παραδοσιακές εφαρμογές οπτικοποίησης που αναλαμβάνουν συγκεκριμένες δομές δεδομένων και απεικονίσεις. Αυτές οι εφαρμογές συνήθως απαιτούν μερικές εκατοντάδες έως μερικές χιλιάδες γραμμές της Java. Η κατανομή της βιβλιοθήκης περιλαμβάνει περίπου 12 τέτοιες εφαρμογές ως παραδείγματα για τους νέους χρήστες. Η εφαρμογή Galaxy (το GUI του είναι στο σχήμα 2) είναι αρκετά χαρακτηριστική, επιτρέποντας ομάδες αστρονόμων να συνεργαστούν σε πειράματα με την προσομοίωση του γαλαξίας μας του φυσικού Robert Benjamin και να δούμε πώς θα φαινόταν από την γη ο H-alpha χάρτης ουρανού. Οι παράμετροι προσομοίωσης ορίζονται από ένα σύνολο απλών αριθμητικών αρχείων δεδομένων οπού οι χρήστες προσαρμόζουν μέσω των συστατικών που φαίνονται στην αριστερή πλευρά του σχήματος 2. Ο κώδικας προσομοίωσης γραμμένος σε Fortran γλώσσαπαράγει στοιχεία δεδομένων που συνδέονται με την εμφάνιση δεδομένων δημιουργώντας άλλα παράθυρα στο σχήμα 2. Το παράθυρο στο άνω κέντρο στο σχήμα δείχνει μια ισοεπιφάνεια της προσομοιωμένης πυκνότητας θερμού αέριου, το παράθυρο στο κάτω-κέντρο δείχνει το H- alpha χάρτη του ουρανού, όπως φαίνεται από τη Γη. Το κόκκινο σημείο και η πράσινη γραμμή στο παράθυρο που είναι πάνω-κέντρο απεικονίζουν ένα διάνυσμα από τη Γη σε κάποιο σημείο έξω από το Γαλαξία μας. Οι χρήστες σέρνουν το κόκκινο σημείο για να αλλάξουν τις συντεταγμένες, αλλαγές στο φορέα ενεργοποιούν μια δεύτερη υπολογιστική συνιστώσα να παράγει πυκνότητα και φάσματα κατά μήκος του φορέα, όπως στα πάνω και κάτω δεξιά παράθυρα. Ένας χρήστης που ξεκινά τη λειτουργία του πρώτου αντίγραφου της εφαρμογής Galaxy έχει όλα τα δεδομένα, υπολογιστικά, εμφανισιακά, και περιβάλλον του χρήστη συστατικά. Ωστόσο, οι άλλοι χρήστες οι οποίοι θα αρχίσουν να τρέχουν συνεργατικά αντίγραφα του Galaxy έχουν μόνο νέα στοιχεία εμφάνισης και περιβάλλον του χρήστη που συνδέονται μέσω RMI με τα δεδομένα και τα υπολογιστικά στοιχεία κατά το πρώτο αντίγραφο της αίτησης. 24

25 Αξιοποίηση επαναχρησιμοποιημένων στοιχείων Η βιβλιοθήκη Visad χρησιμοποιείται για την υποστήριξη εφαρμογών (πιο εξελιγμένες από την εφαρμογή Galaxy) που δεν αναλαμβάνουν συγκεκριμένες δομές δεδομένων και απεικονίσεις. Συνεχίζουν έργα που απαιτούν χρόνια ανάπτυξης. Το SpreadSheet-η πρώτη τέτοια εφαρμογήασχολείται με οποιαδήποτε δομή δεδομένων, πρόσβαση σε δεδομένων από απομακρυσμένους διακομιστές, και είναι πλήρως συνεργατική, το περιβάλλον χρήστη στο σχήμα 1 δίνει τη δυνατότητα στους χρήστες να δημιουργούν οποιαδήποτε απεικόνιση. Πολλοί χρήστες μπορεί να συνδέσουν τα υπολογιστικά φύλλα τους μαζί, και οι δράσεις που ξεκίνησαν από κάθε μεμονωμένο χρήστη φαίνονται στα GUI όλων. Η Unidata Program Center, τμήμα του Πανεπιστημίου Corporation for Atmospheric Research in Boulder, CO, χρησιμοποιεί Visad για την ανάπτυξη του Integrated Data Viewer (IDV) ως μέρος του Εθνικού Ιδρύματος Επιστημών που προμηθεύει τον κόσμο με επιστημονικά δεδομένα, και έχει πρόσβαση σε λογισμικά από Η.Π.Α. πανεπιστήμια. Η IDV επιτρέπει στους χρήστες να περιηγηθούν σε απομακρυσμένους διακομιστές και να συνδυάσουν τα δεδομένα τους σε ένα κοινό χωροχρονικό πλαίσιο αναφοράς. Λόγω της ποικιλομορφίας των περιβαλλοντικών-οργάνων παρατήρησης και προσομοιώσεων, τα επιστημονικά δεδομένα της γης περιλαμβάνουν μια ποικιλία των δομών και των ιδιοτήτων που υποστηρίζονται από την IDV. Εκτός του ότι είναι σε θέση να έχουν πρόσβαση σε στάνταρ εξυπηρετητές δεδομένων της Γης, η IDV παρέχει ένα περιβάλλον χρήστη Web που αναγνωρίζει συνδέσεις με αριθμητικά αρχεία δεδομένων. Κάνοντας κλικ στους συνδέσμους κατεβαίνουν τα αρχεία στο παράθυρο χωροχρονικής απεικόνισης και όχι μέσα από το παράθυρο του προγράμματος περιήγησης. Το Εργαστήριο Οπτικών Υπολογιστικών οργάνων στο Πανεπιστήμιο του Wisconsin-Madison χρησιμοποιεί Visad για την ανάπτυξη του συστήματος VisBio για την οπτικοποίηση και την ανάλυση των μεγάλων πολυδιάστατων συνόλων δεδομένων για μικροσκόπιο. Το σχήμα 3 δείχνει ένα VisBio volume rendering μιας εικόνας 3D μικροσκοπία ενός ζωντανού εμβρύου του C. elegans (ένα είδος νηματώδους σκουληκιού). Εκτός από τις διάφορες μορφές εμφάνισης της εικόνα, το σύστημα 25

26 καθορίζει προσαρμοσμένους δείκτες ποντικιού οπού οι χρήστες σέρνουν για να μετρήσουν αποστάσεις σε εικόνες και κινήσεις σε ακολουθίες του χρόνου. Ένας αριθμός σχημάτων δεδομένων είναι κατάλληλος για μια ποικιλία δεδομένων μικροσκοπίου, ανάλογα με το αν αυτοί περιλαμβάνουν βάθος (3D εναντίον 2D), ανάλυση αλληλουχίας, και πολλαπλά φάσματα. Με έως και έξι ανεξάρτητες μεταβλητές, τα σύνολα δεδομένων μικροσκοπίου μπορούν να είναι αρκετά μεγάλα. Έτσι VisBio αναπτύσσει προοδευτική βελτίωση απόδοσης (χαμηλή ανάλυση, ενώ το σκηνικό αλλάζει, υψηλή ανάλυση, όταν σταματά η αλλαγή) και την περίπλοκη διαχείριση της μνήμης. Η Αυστραλιανή Μετεωρολογική Υπηρεσία χρησιμοποιεί Visad για την ανάπτυξη του Australian Integrated Forecast System (AIFS) 2, ένα σύστημα Πρόγνωσης, που αποτελείται από μια σειρά modules που υποστηρίζουν εργασίες με προβλέψεις. Τα περισσότερα από αυτά τα καθήκοντα απαιτούν επικαλύψεις των δεδομένων με διαφορετικές δομές και ιδιότητες. Απαιτούν επίσης τον χειρισμό του χρήστη στα δεδομένα, σύροντας τις απεικονίσεις τους. Εν τω μεταξύ, το αμερικανικό Εθνικό Κέντρο για την Ατμοσφαιρική Έρευνα στο Boulder, CO, χρησιμοποιεί Visad για την ανάπτυξη Visual MEteorology Tool (VMET) για την οπτική μετεωρολογία. Όπως και το IDV και AIFS, VMET πρέπει να εμφανίζει τα δεδομένα με διαφορετικές δομές και ιδιότητες και παράγει μια ποικιλία από απεικονίσεις δεδομένων. Τα επαναχρησιμοποιήσιμα συστατικά του Visad, επίσης, χρησιμοποιούνται για πειράματα με τεχνικές απεικόνισης. Οι Visad προγραμματιστές έχουν επεκτείνει κλάσεις εφαρμόζοντας στοιχεία δεδομένων να υποστηρίζουν μεγάλα πακέτα δεδομένων δομημένα σε όλα τα συμπλέγματα του επεξεργαστή. Έχουν επεκτείνει κλάσεις εφαρμόζοντας στοιχεία απεικόνισης για να εκμεταλλευτούν την παράλληλη επεξεργασία για την οπτικοποίηση αυτών των κατανεμημένων συστατικών στοιχείων. Και έχουν επεκτείνει επίσης κλάσεις εφαρμόζοντας στοιχεία απεικόνισης για να απεικονίσει τα δεδομένα στο ImmersaDesk, ένα σύστημα εικονικής πραγματικότητας, καθώς και για την προοδευτική απόδοση του. Η βιβλιοθήκη Visad έχει αποδειχθεί ένα χρήσιμο εργαλείο για την έρευνα απεικόνισης, διότι επιτρέπει πειράματα σε οποιοδήποτε επίπεδο μέσω επεκτάσεων τάξης. Παρέχει επίσης τις απαραίτητες προγραμματιστικές υποδομές που 26

27 χρειάζονται για να γραφτούν πρακτικές εφαρμογές που δημιουργούν οι αξιολογήσεις των νέων τεχνικών από τους πραγματικούς χρήστες. Η βιβλιοθήκη Visad, συμπεριλαμβανομένου του πηγαίου κώδικα, και παραδείγματα εφαρμογών, είναι ελεύθερα διαθέσιμο στο Το Ugo Taddei του Ινστιτούτου Γεωγραφίας στο Πανεπιστήμιο της Ιένας στη Γερμανία συνέβαλε ένα καλό online γενικό φροντιστήριο και εξειδικευμένα tutorials. Περίπου 15 προγραμματιστές από μισή ντουζίνα ιδρύματα συνέβαλαν κώδικα στη βιβλιοθήκη. Η πολύ μεγαλύτερη κοινότητα των προγραμματιστών που χρησιμοποιούν τη βιβλιοθήκη, υποστηρίζονται από μια ενεργή λίστα mail που χρησιμοποιείται για online συζήτηση και συνεργασία. 27

28 Σχήμα 1 28

29 Σχήμα 2 29

30 Σχήμα 3 30

31 Χτίζοντας 3D-Components με VISAD Σκεφτόμαστε συνήθως τις βιβλιοθήκες οπτικοποίησης και τα γραφικά περιβάλλοντα χρήστη (GUI) ως δύο διαφορετικά πράγματα. Τα στοιχεία του GUI έχουν πολύ στυλιζαρισμένες εμφανίσεις, αποτελούν απλά στοιχεία, σε αντίθεση με τα σύνθετα δεδομένα σε τυπικές απεικονίσεις, και τονίζουν τη ροή πληροφοριών από τον χρήστη στον υπολογιστή, σε αντίθεση με τη ροή από τον υπολογιστή στο χρήστη σε απεικονίσεις. Ωστόσο, και το GUI και η βιβλιοθήκη οπτικοποίησης είναι για την οπτική επικοινωνία μεταξύ του χρήστη και του υπολογιστή, και μπορούμε να σκεφτούμε τα συστατικά του GUI ως απεικονίσεις των απλών στοιχείων που τονίζουν την αλληλεπίδραση του χρήστη. Για παράδειγμα, ο ολισθητήρας στο σχήμα 1 είναι μία απεικόνιση ενός πραγματικού αριθμού, και ο πίνακας χρωμάτων στο Σχήμα 2 είναι μία απεικόνιση τριών πραγματικών λειτουργιών (χαρτογράφηση pixel τιμών σε κόκκινο, πράσινα και μπλε στοιχεία χρώματος). Αυτή η στήλη περιγράφει μια προσέγγιση για το χτίσιμο στοιχεία διεπαφής χρήστη 3-D χρησιμοποιώντας την Visad βιβλιοθήκη. Αυτό είναι ένα σύστημα ανοικτού κώδικα ελεύθερα διαθέσιμο από 31

32 Διαδικαστικές εναντίον περιγραφικές visualization Βιβλιοθήκες Η Visad είναι διαφορετική από άλλες βιβλιοθήκες οπτικοποίησης. Οι περισσότερες βιβλιοθήκες καθορίζουν τη μέθοδο ή τα καλέσματα λειτουργίας που οι εφαρμογές εισάγουν σε διαδικασίες για ρητή κατασκευή εικονικών απεικονίσεων δεδομένων. Αυτές οι λειτουργίες της βιβλιοθήκης συνήθως εφαρμόζουν αλγορίθμους που υπολογίζουν isosurfaces και άλλη γεωμετρία από πίνακες δεδομένων και αλγορίθμων για την παροχή τέτοιων γεωμετριών σε πλαίσια οθόνης. Σε αντίθεση, η Visad ορίζει Java κατασκευαστές κλάσεων και μεθόδους για την περιγραφή των συστατικών στοιχείων και της προβολής μέσω των metadata που τεκμηριώνουν τη σχέση τους με τον κόσμο. Διαδικασίες εφαρμογών κατασκευάζουν δεδομένα και στοιχεία εμφάνισης αλλά δεν κατασκευάζουν ρητά απεικονίσεις δεδομένων. Η παραγωγή απεικονίσεων δεδομένων γίνεται εμμέσως από το σύστημα όταν τα στοιχεία δεδομένων συνδέονται με τα στοιχεία εμφάνισης, βασιζόμενα σε αναλύσεις περιγραφικών metadata. Τα πρωταρχικά metadata των δεδομένων είναι σχημάτων δεδομένων που καθορίζουν πρωτόγονους τύπους ονομάτων (π.χ., χρόνο, τη θερμοκρασία, το γεωγραφικό πλάτος) και μονάδων (π.χ., δευτερόλεπτα από 1η Ιανουαρίου 1970, βαθμούς Kelvin, μέτρα) για όλες αλφαριθμητικές τιμές στα συστατικά στοιχεία, καθώς και τον τρόπο οπού οι πρωτόγονες τιμές ομαδοποιούνται (π.χ., γεωγραφικό πλάτος, μήκος και ύψος μπορούν να ομαδοποιηθούν ως φορέας 3-D), και λειτουργικές εξαρτήσεις μεταξύ των πρωτόγονων τύπων (π.χ., θερμοκρασία ως συνάρτηση της 3-D τοποθεσίας γης). Ο πρωταρχικός metadata των εμφανίσεων είναι αντιστοιχίσεις από πρωτόγονους τύπους δεδομένων σε πρωτόγονες μορφές εμφάνισης, όπως animation, εμφάνιση χωρικών συντεταγμένων, εμφάνιση χρωματικών συντεταγμένων και isocontouring. Ο συνδυασμός των σχημάτων δεδομένων και της απεικόνισης αντιστοιχίσεων των πρωτόγονων τύπων είναι επαρκής για τα στοιχεία εμφάνισης να αυτοματοποιήσουν τη δημιουργία απεικονίσεις δεδομένων. 32

33 Αντιστρεψιμότητα των οπτικοποιημένων λειτουργιών Σε διαδικαστικές βιβλιοθήκες οπτικοποίησης όπου οι προγραμματιστές εφαρμογών είναι ελεύθεροι να καθορίσουν αυθαίρετα ακολουθίες ή δίκτυα των εργασιών μετατρέποντας τα δεδομένα σε εικόνα, θα είναι δύσκολο για το σύστημα να αντιστρέψει τη σειρά ή το δίκτυο των διαδικασιών, προκειμένου να μεταφράσει τις κινήσεις του χρήστη σε εμφανίσεις πίσω σε ενέργειες δεδομένων. Το πρόβλημα αυτό είναι γνωστό ανάμεσα στους προγραμματιστές των συστημάτων οπτικοποίησης. Ωστόσο, σε ένα σύστημα όπου η παραγωγή των εμφανίσεων βασίζεται στην ανάλυση των δεδομένων και την απεικόνιση των metadata, το σύστημα μπορεί να χρησιμοποιήσει την ίδια ανάλυση για να καθορίσει αντίστροφη γενιά των αλλαγών των δεδομένων από τις χειρονομίες του χρήστη σε απεικονίσεις δεδομένων. Αυτή είναι η βάση χρησιμοποιόντας το Visad για να καθορίσει 3-D στοιχεία GUI. Ένα σημαντικό στοιχείο των βιβλιοθηκών GUI είναι η ικανότητά τους να ειδοποιούν ασύγχρονα τις εφαρμογές για τις πράξεις του χρήστη μέσω μεθόδων επανάκλησης. Η Visad γεμίζει αυτή την ανάγκη, παρέχοντας έναν τρόπο για να καθορίσουν τις μεθόδους που επικαλούνται κάθε φορά όποτε τα συστατικά στοιχεία τροποποιούνται, καθώς μπορεί να είναι προς απάντηση για τις χειρονομίες του χρήστη σε απεικονίσεις δεδομένων. 33

34 Βασικοί τύποι συστατικών Μια περιγραφή του πώς να οικοδομήσουμε συστατικά GUI ως απεικονίσεις θα απαιτήσει μια πιο λεπτομερή κατανόηση του Visad. Το σύστημα καθορίζει πέντε βασικά είδη των συστατικών: 1. Δεδομένα συστατικών: αυτά μπορεί να είναι απλοί πραγματικοί αριθμοί, μπορεί να είναι συμβολοσειρές κειμένου, μπορεί να είναι συντεταγμένες πραγματικών ή άλλων τιμών, μπορεί να είναι σύνολα σε χώρους πραγματικών συντεταγμένων, μπορεί να λειτουργεί από χώρους πραγματικού διανύσματος προς άλλους χώρους δεδομένων, ή μπορεί να είναι πολύπλοκοι συνδυασμοί αυτών. Είναι ως επί το πλείστον αμετάβλητα, προκειμένου να τηρηθεί η ασφάλεια των νημάτων. 2. Στοιχεία εμφάνισης: αυτά περιέχουν οπτικές απεικονίσεις ενός ή περισσότερων συνδεδεμένων συστατικών στοιχείων. Αυτά μπορεί να είναι 2-D ή 3-D, μπορεί να είναι ένα παράθυρο στην οθόνη ή σε ένα πρόγραμμα περιήγησης, ή μπορεί να είναι ένα καθηλωτικό σύστημα εικονικής πραγματικότητας. Τα στοιχεία εμφάνισης ενημερώνουν τις απεικονίσεις δεδομένων με ανταπόκριση σε αλλαγές που συνδέονται με τα συστατικά στοιχεία. 3. Υπολογιστικά στοιχεία: αυτά εκτελούν μεθόδους που ορίζονται από το χρήστη ως απάντηση σε αλλαγές που συνδέονται με τα συστατικά στοιχεία. 4. Στοιχεία DataReference: αυτά είναι μεταβλητά στοιχεία που χρησιμοποιούνται για τη σύνδεση στοιχείων εμφάνισης, με υπολογιστικά στοιχεία, τα οποία συχνά είναι αμετάβλητα. Στο "Χ = 3" ο αριθμός 3 είναι αμετάβλητος και παίζει τον ρόλο Data, ενώ το Χ είναι μεταβλητό (δηλαδή, αυτό μπορεί να αλλάξει σε μια τιμή 34

35 διαφορετική από 3) και παίζει τον ρόλο DataReference. 5. Στοιχεία περιβάλλοντος χρήστη: αυτά είναι παραδοσιακά widgets GUI που συνήθως συνδέονται με στοιχεία δεδομένων ή στοιχεία εμφάνισης, και δεν θα πρέπει να συγχέεται με το θέμα αυτής της στήλης. Υπολογιστικά και εμφάνισης στοιχεία μπορούν να συνδέονται με DataReference (και ως εκ τούτου με την αναφορά δεδομένων) στοιχεία σε άλλα μηχανήματα, μέσω της Java RMI (Remote Μέθοδος Επίκληση) τεχνολογία κατανεμημένων αντικειμένων. Αυτό διευκολύνει την συνεργατική απεικόνιση, στην οποία στοιχεία DataReference σε μια μηχανή συνδέονται με στοιχεία εμφάνισης για τις γεωγραφικά κατανεμημένες μηχανές από πολλαπλούς χρήστες. Το RMI χρησιμοποιείται επίσης για να επιτρέπει στις εφαρμογές να συνδέσουν τις ομάδες των στοιχείων εμφάνισης σε διαφορετικές μηχανές, έτσι ώστε οι αλλαγές σε οποιαδήποτε εμφάνιση να αντικατοπτρίζεται σε όλες. 35

36 Metadata για στοιχεία δεδομένων Τα στοιχεία δεδομένων περιέχουν αριθμητικές τιμές και κείμενο, καθώς και τα metadata. Τα πρωταρχικά metadata είναι ένα σχήμα δεδομένων που ορίζει τα ονόματα για πρωτόγονες αριθμητικές τιμές και το κείμενο στα δεδομένα, ο τρόπος όπου οι τιμές ομαδοποιούνται σε φορείς, και συναρτησιακές εξαρτήσεις μεταξύ των τιμών. Για παράδειγμα, μια δορυφορική εικόνα της Γης μπορεί να περιγραφεί ως μια λειτουργική εξάρτηση της ακτινοβολίας της γραμμή pixel και των συντεταγμένων του στοιχείο, μέσω του σχήματος: ((line, element) -> radiance) Η λειτουργία αυτή προσεγγίζεται από ένα πεπερασμένο δείγμα σε διακριτά εικονοστοιχεία. Τα metadata δειγματοληψίας μιας συνάρτησης μπορεί να είναι ένα κανονικό ή ακανόνιστο σύνολο σε ένα πραγματικό χώρο συντεταγμένων. Η λειτουργία αυτή μπορεί επίσης να περιλαμβάνει metadata που περιγράφουν τις θέσεις της Γης των pixel μέσω αντιστρέψιμο συντεταγμένο μετασχηματισμό: (line, element) <--> (longitude, latitude) Όλες οι πραγματικές τιμές μπορεί να περιλαμβάνουν μονάδες. Για παράδειγμα, οι τιμές γεωγραφικού πλάτους και μήκους μπορούν να έχουν μονάδες μοίρες ή ακτίνια. Τιμές φάσματος λειτουργιών, όπως η ακτινοβολία μπορεί να περιλαμβάνουν metadata που δείχνει τις τιμές που λείπουν (που προκαλείται από υπολογιστικές αποτυχίες), ή metadata που καθορίζουν τις εκτιμήσεις των σφαλμάτων. Η χρονική ακολουθία των εικόνων μπορεί να έχει το σχήμα: (time -> ((line, element) -> radiance)) 36

37 Αυτή η λειτουργία θα καθορίσει κάποια πεπερασμένη δειγματοληψία των τιμών του χρόνου, και μπορεί να καθορίζει τις μονάδες για το χρόνο, όπως δευτερόλεπτα από την 1η Ιανουαρίου Ένα σύνολο των ορίων του χάρτη μπορεί να περιγραφεί με το σχήμα: set(longitude, latitude) Το Visad καθορίζει πολλές διαφορετικές κατηγορίες για τα σύνολα σε πραγματικούς χώρους φορέα, για κανονικές και ακανόνιστες τοπολογίες, για διαφορετικές διαστάσεις χώρου, και για τα σύνολα που περιορίζονται σε sub manifolds με μικρότερη διάσταση από τις περιοχές τους. Για παράδειγμα, ένα σύνολο δειγμάτων χάρτη περιγράμματος βρίσκονται σε μια μονοδιάστατη sub manifold από ένα δισδιάστατο τομέα. Metadata για στοιχεία εμφάνισης Οι απεικονίσεις των στοιχείων δεδομένων που συνδέονται με ένα συστατικό εμφάνισης ορίζεται από ένα σύνολο αντικειμένων ScalarMap που συνδέονται με την εμφάνιση. Αυτά είναι αντιστοιχίσεις από πρωτόγονους πραγματικούς και τύπους κειμένου για τα λεγόμενα DisplayRealTypes. Για παράδειγμα, η απεικόνιση του χρόνου μιας ακολουθίας εικόνων και επικάλυψη συνόρων χάρτη στην Εικόνα 3 προσδιορίζεται από ScalarMaps: time -> Animation latitude -> YAxis longitude -> XAxis radiance -> RGB 37

38 Τα συμβατικά widgets GUI στην εικόνα 3, που επιτρέπουν στο χρήστη να ελέγχει το χρόνο animation και τα RGB χρώματα αναζητούν τον πίνακα για τις τιμές ακτινοβολίας. Κάθε αντικείμενο ScalarMap έχει ένα συσχετισμένο αντικείμενο ελέγχου που παρέχει ένα μέσο για να προσδιορίσει κινούμενα σχέδια, πίνακες χρωμάτων, περιγράμματος, ροής, 3-D σε 2-D προβολής, κ.λπ. Αυτά τα αντικείμενα ελέγχου μπορεί να συνδεθούν με GUI widgets όπως στην εικόνα 3, ή μπορεί να χειραγωγούνται από υπολογισμούς. Κάποια ScalarMaps για ορισμένα DisplayRealTypes (π.χ., XAxis, RGB) επιτρέπουν στις εφαρμογές να ελέγχουν τη γραμμική χαρτογράφηση από πρωτόγονες τιμές πραγματικών δεδομένα σε DisplayRealType τιμές. Εάν οι εφαρμογές δεν διευκρινίζουν αυτό στην χαρτογράφηση, τότε ένα σύστημα AutoScaling αλγορίθμου καθορίζει μια βέλτιστη χαρτογράφηση προεπιλογής για να κρατήσει τις απεικονίσεις δεδομένων ορατές (π.χ., για να εξασφαλίσει ότι οι τιμές γεωγραφικού μήκους και πλάτους αντιστοιχίζονται με τις τιμές XAxis και ΑξοναςΥ που είναι μέσα στην οθόνη). Τα ConstantMaps, τα οποίες δεσμεύονται σε σταθερές τιμές DisplayRealTypes, μπορεί να συνδέονται με στοιχεία εμφάνισης με ακριβώς τον τρόπο που τα ScalarMaps συνδέονται. Αυτά επιτρέπουν στις εφαρμογές να παρακάμψουν τις προεπιλεγμένες τιμές για DisplayRealTypes, για παράδειγμα, για τον έλεγχο θέσεων και τα χρώματα των απεικονίσεων δεδομένων, όταν δεν καθορίζονται από ScalarMaps τυχόν πρωτόγονες τιμές δεδομένων. 38

39 Εικόνα 3 39

40 Ένα απλό 3D-GUI στοιχείο Παρά το γεγονός ότι η γενιά των απεικονίσεων δεδομένων είναι αυτοματοποιημένη με βάση την ανάλυση των δεδομένων και την απεικόνιση των metadata, το σύστημα παρέχει έναν τρόπο για τις εφαρμογές να επαναπροσδιορίσουν αυτήν την ανάλυση και την απεικόνιση γενιάς. Όταν ένα στοιχείο δεδομένων συνδέεται με ένα στοιχείο εμφάνισης, ένα αντικείμενο μίας υποκατηγορίας DataRenderer χρησιμοποιείται για την ανάλυση metadata και δημιουργεί την απεικόνιση. Υπάρχει μια προεπιλεγμένη υποκατηγορία για κάθε υποστηριζόμενο γραφικό API (π.χ., Java3D και Java2D), αλλά οι αιτήσεις έχουν τη δυνατότητα να καθορίζουν και τη χρήση μη-default υποκατηγορίων. Οι προεπιλεγμένες υποκατηγορίες DataRenderer δεν μεταφράζουν τις κινήσεις του χρήστη σε αλλαγές των δεδομένων, επειδή στη γενική περίπτωση των σχημάτων δεδομένων και ScalarMaps εμφανίσεων μπορεί να μην υπάρχει λογικός τρόπος για να ερμηνεύσει τις κινήσεις των χρηστών, όπως οι αλλαγές των δεδομένων. Το σύστημα περιλαμβάνει μια σειρά από μη-default υποκατηγορίες DataRenderer που δεν μεταφράζουν τις κινήσεις του χρήστη σε αλλαγές των δεδομένων. Αυτές πρώτα αναλύουν ένα σχήμα δεδομένων και ένα σύνολο ScalarMaps για να βεβαιωθούν ότι είναι συνεπής με την ερμηνεία των κινήσεων του χρήστη, όπως αλλαγές των δεδομένων, και στη συνέχεια να εφαρμόσει αυτή την ερμηνεία. Για παράδειγμα, ένα στοιχείο δεδομένων με σχήμα: (latitude, longitude, altitude) και ένα στοιχείο εμφάνισης με συνδεδεμένα ScalarMaps: latitude -> YAxis longitude -> XAxis 40

41 altitude -> ZAxis θα δημιουργήσει μια απεικόνιση δεδομένων ως ένα απλό σημείο σε 3-D απεικόνιση χώρου όπου ο χρήστης μπορεί να τροποποιήσει τιμές δεδομένων, σύροντας το σημείο. Μια ανάλυση ενός αντικειμένου της DirectManipulationRendererJ3D τάξης επαληθέυει και υλοποιεί αυτόν τον τρόπο ερμηνείας χειρονομιών. Η εικόνα 4 δείχνει μια απεικόνιση μιας απλής κωνικής επιφάνειας εδάφους σε ένα κουτί 3-D, με δύο μεγάλα κίτρινα σημεία στις αντίθετες γωνίες του κιβωτίου. Τα κίτρινα σημεία είναι απεικονίσεις των δύο εξαρτημάτων δεδομένων 3 φορέα που συνδέεται με το στοιχείο εμφάνισης μέσω αντικείμενα της κλάσης DirectManipulationRendererJ3D, όπως περιγράφεται στην προηγούμενη παράγραφο. Αυτές οι 3 φορείς συνδέονται με το έναυσμα για ένα υπολογιστικό στοιχείο που τροποποιεί τις γραμμικές απεικονίσεις που σχετίζονται με τις ScalarMaps για εμφάνιση χωρικών συντεταγμένων, προκειμένου να κρατήσει τις απεικονίσεις των δύο 3 φορέων στις γωνίες του πλαισίου οθόνης. Αυτό το μικρό δίκτυο δεδομένων, εμφάνισης και υπολογιστικών στοιχείων και DirectManipulationRendererJ3D αντικειμένων ορίζει ένα embeded 3-D στοιχείο GUI για rescaling 3-D χώρο της εμφάνισης. Προσθέτοντας ένα ScalarMap: latitude -> Shape επιτρέπει την εφαρμογή για να καθορίσει αυθαίρετα σχήματα (μέσω του ελέγχου που συνδέεται με την παρούσα ScalarMap) για τις απεικονίσεις των δύο συρτών σημείων, προκειμένου να δημιουργηθούν προσαρμοσμένοι δρομείς κατά τις 3-D γωνίες κουτιού εμφάνισης όπως απεικονίζεται στην εικόνα 5. Σημειώνεται ότι αν και κάποιος πρωτόγονος τύπος δεδομένων, όπως το γεωγραφικό πλάτος, έπρεπε να επιλεγεί για αυτό το ScalarMap, ο έλεγχος ορίζεται με ένα τέτοιο τρόπο που το σχήμα δεν διαφέρει αναλογικά με το γεωγραφικό πλάτος. 41

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

Geogebra. Μακρή Βαρβάρα. Λογισµικό Geogebra

Geogebra. Μακρή Βαρβάρα. Λογισµικό Geogebra Λογισµικό Geogebra 1 Τι είναι το πρόγραµµα Geogebra; Το πρόγραµµα GeoGebra, είναι ένα δυναµικό µαθηµατικό λογισµικό που συνδυάζει Γεωµετρία, Άλγεβρα και λογισµό. Αναπτύσσεται από τον Markus Hohenwarter

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

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

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

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

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

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

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

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

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

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

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

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

Η προέλευση του Sketchpad 1

Η προέλευση του Sketchpad 1 Η προέλευση του Sketchpad 1 Το The Geometer s Sketchpad αναπτύχθηκε ως μέρος του Προγράμματος Οπτικής Γεωμετρίας, ενός προγράμματος χρηματοδοτούμενου από το Εθνικό Ίδρυμα Ερευνών (ΝSF) υπό τη διεύθυνση

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

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

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

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

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

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

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

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

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Περιεχόμενο μαθήματος: Αλγοριθμική επίλυση προβλημάτων Προγραμματισμός

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Εισαγωγή Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Κεφάλαιο 6 «Εισαγωγή στον Προγραμματισμό» Στέφανος Ουγιάρογλου Διαφάνειες από υλικό του Χ. Μουρατίδη Προγραμματισμός Η/Υ Ο προγραμματισμός είναι η διατύπωση

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

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

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

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

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

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

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

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

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

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

Λογισμικό για Μαθηματικά

Λογισμικό για Μαθηματικά Λογισμικό για Μαθηματικά Γεώργιος Χρ. Μακρής http://users.sch.gr/gmakris 6 Αυγούστου 2012 Λογισμικό 2 Λογισμικό Με τον όρο λογισμικό υπολογιστών, ή λογισμικό (software), ορίζεται η συλλογή από προγράμματα

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

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Δρ. Βασίλειος Σάλτας 1, Αλέξης Ηλιάδης 2, Ιωάννης Μουστακέας 3 1 Διδάκτωρ Διδακτικής Μαθηματικών, Επιστημονικός Συνεργάτης ΑΣΠΑΙΤΕ Σαπών coin_kav@otenet.gr

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

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

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

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

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

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

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

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

ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ

ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ 2. Εκπαιδευτικό Λογισμικό για τα Μαθηματικά 2.1 Κύρια χαρακτηριστικά του εκπαιδευτικού λογισμικού για την Διδακτική των Μαθηματικών 2.2 Κατηγορίες εκπαιδευτικού λογισμικού για

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο

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

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

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

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

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

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

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

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

Τρόποι αναπαράστασης των επιστημονικών ιδεών στο διαδίκτυο και η επίδρασή τους στην τυπική εκπαίδευση

Τρόποι αναπαράστασης των επιστημονικών ιδεών στο διαδίκτυο και η επίδρασή τους στην τυπική εκπαίδευση Τρόποι αναπαράστασης των επιστημονικών ιδεών στο διαδίκτυο και η επίδρασή τους στην τυπική εκπαίδευση Κ. Χαλκιά Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών 2 Το διαδίκτυο: αποτελεί ένα νέο διδακτικό

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

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

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

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

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

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

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Πρόβλημα Ως πρόβλημα θεωρείται μια κατάσταση που πρέπει

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και

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

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

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

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

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

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

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

Οδηγός ποιότητας χρωμάτων

Οδηγός ποιότητας χρωμάτων Σελίδα 1 από 6 Οδηγός ποιότητας χρωμάτων Ο οδηγός ποιότητας χρωμάτων βοηθά τους χρήστες να κατανοήσουν πώς μπορούν να χρησιμοποιηθούν οι λειτουργίες που διατίθενται για τη ρύθμιση και προσαρμογή της έγχρωμης

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εργαστήριο Επεξεργασία Εικόνας & Βίντεο 1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή Νικόλαος Γιαννακέας Άρτα 2018 1 Εισαγωγή Το Matlab

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

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

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

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

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

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

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

Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα

Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα Οι τίτλοι εκπαιδευτικού λογισμικού ανοικτού κώδικα που περιλαμβάνονται στον παρακάτω πίνακα εξελληνίστηκαν ή/και προσαρμόστηκαν στο ελληνικό εκπαιδευτικό σύστημα

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

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

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

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

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή Γ Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή Η χρήση των ηλεκτρονικών υπολογιστών στο τεχνικό σχέδιο, και ιδιαίτερα στο αρχιτεκτονικό, αποτελεί πλέον μία πραγματικότητα σε διαρκή εξέλιξη, που επηρεάζει

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

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

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

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

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

ΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Πολιτικών Μηχανικών ΤΕ Λάρισας Θέματα Πτυχιακών Εργασιών

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

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

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

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

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

Προγραμματισμός. Το περιβάλλον του scratch

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

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους του Σταύρου Κοκκαλίδη Μαθηματικού Διευθυντή του Γυμνασίου Αρχαγγέλου Ρόδου-Εκπαιδευτή Στα προγράμματα Β Επιπέδου στις ΤΠΕ Ορισμός της έννοιας του σεναρίου.

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

Δομημένος Προγραμματισμός

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

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

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

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

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

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Oι οπτικές επιδράσεις, που μπορεί να προκαλέσει μια εικόνα στους χρήστες, αποτελούν ένα από τα σπουδαιότερα αποτελέσματα των λειτουργιών γραφικών με Η/Υ. Τον όρο της οπτικοποίησης

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

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

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

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

4.1 Πράξεις με Πολυωνυμικές Εκφράσεις... 66

4.1 Πράξεις με Πολυωνυμικές Εκφράσεις... 66 Περιεχόμενα Ευρετήριο Πινάκων... 7 Ευρετήριο Εικόνων... 8 Εισαγωγή... 9 Κεφάλαιο 1-Περιβάλλον Εργασίας - Στοιχεία Εντολών... 13 1.1 Το Πρόγραμμα... 14 1.2.1 Εισαγωγή Εντολών... 22 1.2.2 Εισαγωγή Εντολών

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

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

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

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

Visual Flowchart Γενικά

Visual Flowchart Γενικά Visual Flowchart 3.020 -Γενικά Το Visual Flowchart ή «Data-Flow Visual Programming Language 3.020» (http://www. emu8086.com/fp) είναι ένα περιβάλλον ανάπτυξης και εκτέλεσης αλγορίθμων απευθείας σε μορφή

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

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

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

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

Διδακτική της Πληροφορικής ΙΙ

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

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

Εγχειρίδιο του Accerciser, έκδοση 0.2.0

Εγχειρίδιο του Accerciser, έκδοση 0.2.0 i Εγχειρίδιο του Accerciser, ii Copyright 2006, 2007, 2008 IBM Corporation Ανάδραση Για να αναφέρετε ένα σφάλμα ή να κάνετε μια εισήγηση σχετικά με την εφαρμογή Accerciser ή με αυτό τον εγχειρίδιο, ακολουθήστε

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