Χρησιμοποιώντας Τύπους Δεδομένων. Διαφάνειες από τους Robert Sedgewick και Kevin Wayne Ι-1
|
|
- Κλαύδιος Καλλιγάς
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Χρησιμοποιώντας Τύπους Δεδομένων Ι-1
2 Θεμελιώδη για Προγραμματισμό Οποιοδήποτε πρόγραμμα το οποίο θα θέλεις να γράψεις αντικείμενα Για δημιουργία των δικών σας τύπων δεδομένων Συναρτήσεις και ενότητες γραφικά, ήχος, και εικόνα Ε/Ε πίνακες Συνθήκες and επαναλήψεις Μαθηματικά Κείμενο Ε/E Αρχέγονοι τύποι δεδομένων Προτάσεις ανάθεσης Ενότητα ΙΙΙ 2
3 Τύποι Δεδομένων Τύπος Δεδομένων. Ένα σύνολο από τιμές και λειτουργίες σε αυτές τις τιμές. Βασικοί τύποι. Λειτουργίες που μεταφράζονται άμεσα σε εντολές μηχανής Τύπος Δεδομένων boolean Σύνολο τιμών true, false Λειτουργίες not, and, or, xor int double to any of 2 64 possible reals add, subtract, multiply add, subtract, multiply Εμείς θέλουμε να γράψουμε προγράμματα τα οποία επεξεργάζονται άλλους τύπους δεδομένων. Χρώματα, εικόνες, συμβολοσειρές, ροές εισόδου, Πολύπλοκους αριθμούς, διανύσματα, πίνακες, πολυώνυμα, Σημεία, πολύγωνα, φορτισμένα σωματίδια, ουράνια σώματα, 3
4 Αντικείμενα Αντικείμενο. Κρατά μία τιμή τύπου δεδομένων. Το όνομα της μεταβλητής αναφέρεται στο αντικείμενο. Επιρροή. Δίνει τη δυνατότητα σε εμάς να δημιουργούμε τους δικούς μας τύπους δεδομένων, να ορίζουμε λειτουργίες σε αυτούς, και να τους ενσωματώσουμε στα προγράμματά μας. Τύπος Δεδομένων Color Σύνολο Τιμών 24 bits Λειτουργίες get red component, brighten Picture 2D πίνακας χρωμάτων get/set color of pixel (i, j) String Ακολουθία χαρακτήρων length, substring, compare ΑΝΑΠΑΡΙΣΤΟΥΝ ΤΟΝ ΠΡΑΓΜΑΤΙΚΟ ΚΟΣΜΟ 4
5 Κατασκευαστές και Μέθοδοι Για να κατασκευάσετε ένα νέο αντικείμενο: Χρησιμοποιήστε τη λέξη κλειδί new και το όνομα του τύπου δεδομένων. Για να εφαρμόσετε μία λειτουργία: Χρησιμοποιήστε το όνομα του αντικειμένου, τον «dot» τελεστή, και το όνομα της μεθόδου. 5
6 Βασικοί τύποι vs. Αναφορές Βασικοί τύποι. Λειτουργίες που μεταφράζονται άμεσα σε εντολές μηχανής int, long, double, boolean, char, short, byte, float Οι πραγματικές τιμές αποθηκεύονται στη μεταβλητή Αναφορές. Οι τύποι των αναφορών είναι πίνακες και αντικείμενα String, int[], 6
7 7 Πως η java αποθηκεύει τους βασικούς τύπους Οι μεταβλητές μπορούν να παρομοιαστούν με σταθερού μεγέθους φλιτζάνια. Οι βασικοί τύποι είναι αρκετά μικροί και χωρούν στο φλιτζάνι.
8 Πως η java αποθηκεύει τα αντικείμενα Τα αντικείμενα είναι πολύ μεγάλα για να ταιριάξουν σε μία μεταβλητή. Αποθηκεύονται κάπου αλλού. Η μεταβλητή αποθηκεύει έναν αριθμό που εντοπίζει το αντικείμενο. 8
9 Πως η java αποθηκεύει τα αντικείμενα Τα αντικείμενα είναι πολύ μεγάλα για να ταιριάξουν σε μία μεταβλητή. Αποθηκεύονται κάπου αλλού. Η μεταβλητή αποθηκεύει έναν αριθμό που εντοπίζει το αντικείμενο. 9
10 Αναφορές Η θέση του αντικειμένου ονομάζεται αναφορά Ο τελεστής == συγκρίνει τις αναφορές Ισχύει ότι shiloh1 == shiloh2 ; OXI 10
11 Αναφορές 11
12 Αναφορές 12
13 Αναφορές 13
14 Αναφορές Χρησιμοποιώντας τον τελεστή = ενημερώνονται οι αναφορές 14
15 Αναφορές Χρησιμοποιώντας τον τελεστή = ενημερώνονται οι αναφορές 15
16 Αναφορές Ακολουθώντας τις κατευθύνσεις για να οδηγηθείς στο σπίτι Μετακινώντας ένα έπιπλο Οι παραπάνω ενέργειες είναι ανάλογες με: Ακολουθώντας την αναφορά σε ένα αντικείμενο Αλλάζοντας τα πεδία σε ένα αντικείμενο 16
17 Διάκριση ανάμεσα σε βασικούς τύπους και αντικείμενα Οι τιμές των βασικών τύπων δεδομένων είναι αδιάσπαστες και έχουμε απευθείας πρόσβαση στις τιμές μεταβλητών τέτοιων τύπων Στις κλήσεις συναρτήσεων, οι τιμές μεταβλητών βασικών τύπων δεδομένων αντιγράφονται τοπικά, χωρίς να επηρεάζονται οι ίδιες οι μεταβλητές Πέρασμα δια τιμής (call by value) Το ίδιο συμβαίνει και σε εντολές ανάθεσης, όπου οι τιμές αντιγράφονται Μεταβλητές βασικών τύπων δεδομένων, δημιουργούνται και καταργούνται αυτόματα Στατική διαχείριση μνήμης κανόνες εμβέλειας ονομασιών 17
18 Διάκριση ανάμεσα σε βασικούς τύπους και αντικείμενα Τα αντικείμενα αποτελούν νέους τύπους δεδομένων, και μπορούν να έχουν σύνθετη εσωτερική δομή, η οποία αναπαριστά τα διάφορα χαρακτηριστικά/ιδιότητες τους, κτλ. Υπάρχουν σημαντικοί λόγοι γιατί δεν πρέπει να γνωρίζουμε, δηλαδή να έχουμε απευθείας πρόσβαση στην εσωτερική δομή των αντικειμένων Ενδεικνυόμενη απόκρυψη πληροφοριών (information hiding) Συνεπώς τα αντικείμενα συνιστούν Αφηρημένους Τύπους Δεδομένων (ΑΤΔ) Abstract Data Types (ADT) Στιγμιότυπα (τύπων) αντικειμένων, δηλαδή συγκεκριμένες περιπτώσεις δεδομένου τύπου αντικειμένου, κατασκευάζονται με δυναμικό τρόπο ύστερα από συγκεκριμένο αίτημα μέσω του τελεστή new. Δυναμική διαχείριση μνήμης Παρασκηνιακά, ο σκουπιδιάρης (garbage collector) ανακτά τη μνήμη όταν συγκεκριμένο αντικείμενο πάψει να χρησιμοποιείται, δηλαδή κανένα μέρος του προγράμματος δεν αναφέρεται στο εν λόγω αντικείμενο 18
19 Διάκριση ανάμεσα σε βασικούς τύπους και αντικείμενα Τα αντικείμενα ονομάζονται τύποι αναφοράς (reference types) διότι το τι παρέχεται είναι η διεύθυνση του χώρου της μνήμης που κατανέμεται για την κατασκευή τους δεν αντιγράφονται οι (σύνθετες) τιμές τους σε κλήσεις συναρτήσεων, εντολές ανάθεσης, κτλ. το τι αντιγράφεται/ανατίθεται είναι οι διευθύνσεις τους, οι οποίες συνιστούν τις αναφορές προς τα αντικείμενα Πέρασμα διά διευθύνσεως (call by reference) Οι πίνακες αποτελούν ενσωματωμένα αντικείμενα και χειρίζονται με τον ίδιο τρόπο call by reference Εάν πολλαπλά σημεία του προγράμματος αναφέρονται στο ίδιο συγκεκριμένο αντικείμενο (αποτελούν δείκτες προς το αντικείμενο multiple aliases) τυχόν τροποποιήσεις στο εν λόγω αντικείμενο, επηρεάζουν όλα τα σημεία αναφοράς. 19
20 Παράδειγμα: Συνάρτηση για την εναλλαγή των περιεχομένων δύο μεταβλητών τύπου double. public static void swap (double x, double y) {double temp = x; x = y; y = temp; } double num1 = 1.5, num2 = 3.8; swap(num1, num2); Ποιές είναι οι τιμές των μεταβλητών num1 και num2 μετά την εκτέλεση της πιο πάνω κλήσης της συνάρτησης swap; 20
21 num1 num swap x y temp 21
22 num1 num swap x y temp 22
23 num1 num swap x 1.5 y 3.8 temp
24 num1 num swap x 3.8 y 3.8 temp
25 num1 num swap x 3.8 y 1.5 temp
26 num1 num Παρατηρήσεις 1. Οι τιμές των μεταβλητών num1 και num2 δεν έχουν εναλλαγεί 2. Η εναλλαγή έγινε στις τιμές των τοπικών μεταβλητών, x και y, της swap με τη χρήση της τοπικής βοηθητικής μεταβλητής temp 3. Οι τοπικές μεταβλητές παύουν να υφίστανται με την ολοκλήρωση της εκτέλεσης της κλήσης της swap 26
27 Αναδιατύπωση της swap Ποια είναι η λειτουργία της; public static void swap (double[] x) {for (int i = 0; i < x.length-1; i=i+2){ double temp = x[i]; x[i] = x[i+1]; x[i+1] = temp; } double[] table = {1.5, 3.8}; swap(table); Ποιές είναι οι τιμές των εισόδων της table μετά την εκτέλεση της πιο πάνω κλήσης της συνάρτησης swap; 27
28 table swap x temp i 0 28
29 table swap x temp 1.5 i 0 29
30 table swap x temp 1.5 i 0 30
31 table swap x temp 1.5 i 0 31
32 table swap x temp 1.5 i 2 32
33 table Παρατηρήσεις 1. Η εναλλαγή στις τιμές των table[0] και table[1] έχει επιτευχθεί, διότι η swap είχε πρόσβαση στην μεταβλητή table 2. Όταν εμπλέκονται τύποι αναφοράς, π.χ. η table, αφού όλοι οι πίνακες είναι τύποι αναφοράς, το όρισμα (table) ταυτίζεται με την παράμετρο (x). Αυτή είναι η σημασιολογία του περάσματος διά διευθύνσεως/αναφοράς. 33
34 table y 0.5 pair double y = 0.5; double[] pair = table; pair[0] = y; double[] tab = new double[2]; tab[0] = table[0]; tab[1] = table[1]; 34
35 table y 0.5 pair tab double y = 0.5; double[] pair = table; pair[0] = y; double[] tab = new double[2]; tab[0] = table[0]; tab[1] = table[1]; 35
36 table y 0.5 pair table == pair? NAI tab tab == table? OXI y == tab[0]? NAI double y = 0.5; double[] pair = table; pair[0] = y; double[] tab = new double[2]; tab[0] = table[0]; tab[1] = table[1]; 36
37 Μέθοδοι Αναφοράς Δύο Κατασκευαστές (Reference Methods) save width Picture height Η εσωτερική αναπαράσταση των pictures και colors δεν μας αφορά!! show getred get Ένας Κατασκευαστής set brighter getgreen Color getblue darker tostring equals 37
38 Έστω ότι η εσωτερική δομή των pictures είναι 2D πίνακες με στοιχεία colors, δηλαδή αναφορές σε colors 38
39 Downscaling: 4 pixels στο source αντιστοιχούν σε 1 στο target Στο κάτω παράδειγμα τα 4 εμπλεκόμενα κοινά colors ανάμεσα στο source και το target αναφέρονται και από τα δύο pictures, και τυχόν τροποποίησή των αντικειμένων αυτών μέσω του ενός picture επηρεάζει και το άλλο picture source target 39
40 Up scaling: 1 pixel στο source αντιστοιχεί σε 4 στο target Στο κάτω παράδειγμα τα 4 colors του source καταλήγουν να έχουν 5 αναφορές το καθένα, μια από το source και τέσσερις από το target - και πάλι τυχόν τροποποίηση των αντικειμένων αυτών μέσω του ενός picture επηρεάζει και το άλλο picture target source 40
41 Επεξεργασία Εικόνας
42 Color Τύπος Δεδομένων Χρώμα. Η αίσθηση του ματιού από την ηλεκτρομαγνητική ακτινοβολία. Σύνολο τιμών. [RGB αναπαράσταση] δυνατές τιμές, οι οποίες ποσοτικοποιούν το μέγεθος του κόκκινου, πράσινου και μπλε, το καθένα σε κλίμακα από το 0 στο 255. R G B Χρώμα
43 Τύπος Δεδομένων Color Χρώμα. Η αίσθηση του ματιού από την ηλεκτρομαγνητική ακτινοβολία. Σύνολο τιμών. [RGB αναπαράσταση] δυνατές τιμές, οι οποίες ποσοτικοποιούν το μέγεθος του κόκκινου, πράσινου και μπλε, το καθένα σε κλίμακα από το 0 στο 255. API. Application Programming Interface. 43
44 Τα τετράγωνα του Albers Josef Albers. Επαναστάτησε τον τρόπο με τον οποίο οι άνθρωποι σκέπτονται για τα χρώματα. Φόρος τιμής στα τετράγωνα του Josef Albers ( ) 44
45 Τα τετράγωνα του Albers Josef Albers. Επαναστάτησε τον τρόπο με τον οποίο οι άνθρωποι σκέπτονται για τα χρώματα. blue gray % java AlbersSquares
46 Χρησιμοποιώντας χρώματα στη Java import java.awt.color; Για να έχουμε πρόσβαση στη βιβλιοθήκη Color public class AlbersSquares { public static void main(string[] args) { int r1 = Integer.parseInt(args[0]); int g1 = Integer.parseInt(args[1]); int b1 = Integer.parseInt(args[2]); Color c1 = new Color(r1, g1, b1); int r2 = Integer.parseInt(args[3]); int g2 = Integer.parseInt(args[4]); int b2 = Integer.parseInt(args[5]); Color c2 = new Color(r2, g2, b2); StdDraw.setPenColor(c1); StdDraw.filledSquare(.25,.5,.2); StdDraw.setPenColor(c2); StdDraw.filledSquare(.25,.5,.1); Πρώτο χρώμα Δεύτερο χρώμα Πρώτο τετράγωνο } } StdDraw.setPenColor(c2); StdDraw.filledSquare(.75,.5,.2); StdDraw.setPenColor(c1); StdDraw.filledSquare(.75,.5,.1); Δεύτερο τετράγωνο 46
47 Μονόχρωμη Φωτεινότητα Μονόχρωμη φωτεινότητα. Αποτελεσματική φωτεινότητα του χρώματος. NTSC φόρμουλα: Y = 0.299r g b. import java.awt.color; public class Luminance { } public static double lum(color c) { int r = c.getred(); int g = c.getgreen(); int b = c.getblue(); return.299*r +.587*g +.114*b; } 47
48 Συμβατότητα χρώματος Ερώτηση: Ποια χρώματα γραμματοσειράς θα είναι πιο ευανάγνωστα με ποια χρώματα φόντου σε οθόνες ηλεκτρονικών υπολογιστών και οθόνες κινητών τηλεφώνων; Απάντηση: Βασικός κανόνας: η διαφορά στη φωτεινότητα θα πρέπει να είναι public static boolean compatible(color a, Color b) { return Math.abs(lum(a) - lum(b)) >= 128.0; } 48
49 Αποχρώσεις του Γκρι Απόχρωση του γκρι. Όταν και οι τρεις τιμές, R, G, και B, είναι οι ίδιες, το αποτέλεσμα του χρώματος είναι στην απόχρωση του γκρι από 0 (μαύρο) σε 255 (άσπρο). Μετατροπή σε απόχρωση του γκρι. Χρησιμοποιήστε φωτεινότητα για τον προσδιορισμό της τιμής. public static Color togray(color c) { int y = (int) Math.round(lum(c)); Color gray = new Color(y, y, y); return gray; } round double to nearest int Μέθοδοι στην ίδια Βιβλιοθήκη - Luminance Τελικό συμπέρασμα: Γράφουμε προγράμματα τα οποία χειραγωγούν το χρώμα. 49
50 OOP Πλαίσιο για Χρώμα Δυνατή αναπαράσταση της μνήμης. D0 D1 D2 D3 D4 D5 D6 D7 D magenta A0 D0 B0 D6 gray Διεύθυνση μνήμης («δείκτης") Η αναφορά αντικειμένου είναι ανάλογη με το όνομα μεταβλητής. Μπορούμε να χειραγωγήσουμε την τιμή που έχει. Μπορούμε να την περάσουμε σε (ή να την επιστρέψουμε από) μία μέθοδο. 50
51 Τύπος Δεδομένων Picture Raster γραφικά. Η βάση για την επεξεργασία εικόνας. (0, 0) j Σύνολο τιμών. 2D πίνακας από Color αντικείμενα (εικονοστοιχεία - pixels). i API. 51
52 Επεξεργασία Εικόνας: Grayscale Φίλτρο Στόχος. Να μετατραπεί το χρώμα της εικόνας σε απόχρωση του γκρι σύμφωνα με τον τύπο φωτεινότητας. import java.awt.color; public class Grayscale { public static void main(string[] args) { Picture pic = new Picture(args[0]); for (int i = 0; i < pic.width(); i++) { for (int j = 0; j < pic.height(); j++) { Color color = pic.get(i, j); Color gray = Luminance.toGray(color); pic.set(i, j, gray); } } pic.show(); } } 52
53 Επεξεργασία Εικόνας: Grayscale Φίλτρο Στόχος. Να μετατραπεί το χρώμα της εικόνας σε απόχρωση του γκρι σύμφωνα με τον φόρμουλα φωτεινότητας. mandrill.jpg % java Grayscale mandrill.jpg 53
54 Επεξεργασία Εικόνας: Φίλτρο κλιμάκωσης Στόχος: Συρρίκνωση ή μεγέθυνση μίας εικόνας στο επιθυμητό μέγεθος. Κλιμάκωση προς τα κάτω (downscaling): Να συρρικνώσετε, διαγράφοντας τις μισές γραμμές και στήλες. Κλιμάκωση προς τα πάνω (upscaling): Να μεγαλώσετε, αντικαθιστώντας κάθε εικονοστοιχείο με 4 αντίγραφα. 54
55 Επεξεργασία Εικόνας: Φίλτρο κλιμάκωσης Στόχος. Συρρίκνωση ή μεγέθυνση μίας εικόνας στο επιθυμητό μέγεθος. Ομοιόμορφη στρατηγική. Να μετατρέψετε από w s -επί-h s σε w t -επί- h t : Κλιμάκωση του δείκτη γραμμής σε w s / w t. Κλιμάκωση του δείκτη στήλης σε h s / h t. Θέστε το χρώμα του εικονοστοιχείου (i, j) στην εικόνα στόχο στο χρώμα του εικονοστοιχείου (i w s / w t, j h s / h t ) στην πηγαία εικόνα. j h s / h t j i w s / w t? i πηγαία εικόνα (w s χh s ) εικόνα στόχος (w t χh t ) 55
56 Επεξεργασία Εικόνας: Φίλτρο κλιμάκωσης import java.awt.color; public class Scale { public static void main(string args[]) { String filename = args[0]; int w = Integer.parseInt(args[1]); int h = Integer.parseInt(args[2]); Picture source = new Picture(filename); Picture target = new Picture(w, h); for (int ti = 0; ti < w; ti++) { for (int tj = 0; tj < h; tj++) { int si = ti * source.width() / w; int sj = tj * source.height() / h; Color color = source.get(si, sj); target.set(ti, tj, color); } } source.show(); target.show(); } } 56
57 Επεξεργασία Εικόνας: Φίλτρο κλιμάκωσης Φίλτρο κλιμάκωσης. Δημιουργεί δύο Picture αντικείμενα και δύο παράθυρα. mandrill.jpg % java Scale mandrill.jpg 57
58 Περισσότερες επιπτώσεις στην επεξεργασία εικόνας RGB διαχωρισμός χρώματος swirl φίλτρο wave φίλτρο glass φίλτρο Sobel εντοπισμός ακμής 58
59 Επεξεργασία κειμένου
60 Τύπος δεδομένων String (συμβολοσειρές) Τύπος δεδομένων String: Αποτελεί τη βάση για επεξεργασία κειμένου. Σύνολο τιμών: Ακολουθία από Unicode χαρακτήρες. API.
61 Τυπικός κώδικας για επεξεργασία συμβολοσειρών 61
62 Εύρεση Γονιδίου Προ-γονιδιακή περίοδος. Ακολουθία ενός ανθρώπινου γονιδιώματος. Μετά-γονιδιακή περίοδος. Ανάλυση των δεδομένων και κατανόηση της δομής. Γονιδιωματική. Τα γονιδιώματα αντιπροσωπεύονται ως συμβολοσειρές σε σχέση με το αλφάβητο {A, C, T, G} Γονίδιο. Μία υποσυμβολοσειρά του γονιδιώματος το οποίο αντιπροσωπεύει μία λειτουργική μονάδα. Προηγείται από ATG. [κωδικόνιο έναρξης] Πολλαπλάσια των 3 νουκλεοτίδια. [κωδικόνιο εκτός έναρξης και τερματισμού] Ακολουθείται από TAG, TAA, ή TGA. [κωδικόνιο τερματισμού] Στόχος: Να βρούμε όλα τα γονίδια A T A G A T G C A T A G C G C A T A G C T A G A T G T G C T A G C έναρξη γονίδιο λήξη γονίδιο
63 Εύρεση γονιδίου: Αλγόριθμος Αλγόριθμος: Σαρώστε από αριστερά προς τα δεξιά εντός του γονιδιώματος. Εάν εντοπισθεί το κωδικόνιο έναρξης, τότε θέστε beg στο δείκτη i. Εάν εντοπισθεί το κωδικόνιο τερματισμού και η υποσυμβολοσειρά είναι πολλαπλάσια του 3 Γονίδιο εξόδου Επαναφορά του beg στο -1 start multiple of 3 stop
64 Εύρεση γονιδίου: Υλοποίηση public class GeneFind { public static void main(string[] args) { String start = args[0]; String stop = args[1]; String genome = StdIn.readAll(); } } int beg = -1; for (int i = 0; i < genome.length() - 2; i++) { String codon = genome.substring(i, i+3); if (codon.equals(start)) beg = i; if (codon.equals(stop) && beg!= -1) { String gene = genome.substring(beg+3, i); if (gene.length() % 3 == 0) { StdOut.println(gene); beg = -1; } } % more genometiny.txt } ATAGATGCATAGCGCATAGCTAGATGTGCTAGC % java GeneFind ATG TAG < genometiny.txt CATAGCGCA TGC 64
65 OOP Πλαίσιο για συμβολοσειρές Δυνατή αναπαράσταση της μνήμης για μία συμβολοσειρά. genome = "aacaagtttacaagc"; genome D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE A0 A1 a a c a a g t t t a c a a g c D0 15 Διεύθυνση μνήμης μήκος 65
66 OOP Πλαίσιο για συμβολοσειρές Πιθανή αναπαράσταση της μνήμης για μία συμβολοσειρά. genome = "aacaagtttacaagc"; genome D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE A0 A1 a a c a a g t t t a c a a g c D0 15 s t Διεύθυνση μνήμης μήκος s = genome.substring(1, 5); B0 B1 B2 B3 t = genome.substring(9, 13); D1 4 D9 4 s και t είναι διαφορετικές συμβολοσειρές οι οποίες διαμοιράζονται την ίδια τιμή "acaa" (s == t) is false, but (s.equals(t)) is true. Συγκρίνει δείκτες Συγκρίνει ακολουθίες χαρακτήρων 66
67 OOP Σύνοψη Αντικείμενο. Κρατά μία τιμή τύπου δεδομένων. Το όνομα της μεταβλητής αναφέρεται στο αντικείμενο. Στη Java, τα προγράμματα χειρίζονται τις αναφορές στα αντικείμενα. Εξαίρεση: αρχέγονοι τύποι, π.χ., boolean, int, double. Τύποι αναφορών: String, Picture, Color, πίνακες, οτιδήποτε άλλο. Καθαρός OOP : η γλώσσα δεν θα πρέπει να έχει ξεχωριστούς αρχέγονους τύπους. Γενικό συμπέρασμα: Γράψαμε προγράμματα τα οποία επεξεργάζονται χρώματα, εικόνες και συμβολοσειρές. Την επόμενη φορά. Θα γράψουμε προγράμματα τα οποία θα επεξεργάζονται τα δικά μας abstractions. 67
68 Επιπλέον Διαφάνειες
69 Color Separation import java.awt.color; public class ColorSeparation { public static void main(string args[]) { Picture pic = new Picture(args[0]); int width = pic.width(); int height = pic.height(); Picture R = new Picture(width, height); Picture G = new Picture(width, height); Picture B = new Picture(width, height); } } for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { Color c = pic.get(i, j); int r = c.getred(); int g = c.getgreen(); int b = c.getblue(); R.set(i, j, new Color(r, 0, 0)); G.set(i, j, new Color(0, g, 0)); B.set(i, j, new Color(0, 0, b)); } } R.show(); G.show(); B.show(); 69
70 Color Separation ColorSeparation.java. Δημιουργεί 3 Picture αντικείμενα και παράθυρα. 70
71 Επεξεργασία εικόνας: Swirl Filter Swirl.java. Δημιουργεί 2 Picture αντικείμενα και παράθυρα. 71
72 Επεξεργασία εικόνας : Swirl Filter Στόχος. Να δημιουργηθεί ένα στρόβιλος ειδικό εφέ θέτοντας το χρώμα του εικονοστοιχείου εξόδου (i, j) σε χρώμα κάποιου άλλου εικονοστοιχείου εισόδου (ii, jj). double i0 = 0.5 * width; double j0 = 0.5 * height; for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { double di = i - i0; double dj = j - j0; double r = Math.sqrt(di*di +dj*dj); double a = Math.PI / 256 * r; int ii = (int)(-di*math.cos(a) + dj*math.sin(a) + i0); int jj = (int)( di*math.sin(a) + dj*math.cos(a) + j0); if (ii >= 0 && ii < width && jj >= 0 && jj < height) pic2.set(i, j, pic1.get(ii, jj)); } } 72
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότερα1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Δοµικά στοιχεία Πίνακες Το κόσκινο του Ερατοσθένη Αντιγραφή πινάκων
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008 Εκτέλεση μεθόδου του αντικειμένου μιας κλάσης: 1) Δημιουργία αντικειμένου (στιγμιότυπου) της κλάσης: = new ( ); 2) Κλήση μεθόδου της κλάσης (στην
Διαβάστε περισσότεραMεταβλητές (variables) και Σταθερές (constants)
Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/4/216 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραΔεδομένα, τελεστές, είσοδος/έξοδος
2 Δεδομένα, τελεστές, είσοδος/έξοδος Τι θα δούμε σε αυτό το μάθημα 1. βασικοί τύποι δεδομένων 2. ακέραιοι 3. κινητής υποδιαστολής 4. ο τύπος decimal 5. χαρακτήρες 6. bool 7. string 8. χρήση μεταβλητών
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07
Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07
Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2 Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότερα> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό
5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων
Διαβάστε περισσότεραΔοµές Δεδοµένων. 3η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες. Ε. Μαρκάκης
Δοµές Δεδοµένων 3η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες Ε. Μαρκάκης Αλλαγή αίθουσας Τις Παρασκευές 1-3, το µάθηµα θα γίνεται στη Δ23 Δοµές Δεδοµένων 03-2 Περίληψη Σύνοψη 1 ου κεφαλαίου Δοµικά
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning Αποθήκευση αντικειμένων Οι θέσεις μνήμης των αντικειμένων κρατάνε μια διεύθυνση στο
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΤο πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Εαρινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 15 Μαρτίου 2017 ΔΙΑΡΚΕΙΑ: 4:00μμ 6:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο ΧΩΔ01,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΕΠΛ Φροντιστήριο 3
ΕΠΛ 131 - Φροντιστήριο 3 Ας δημιουργήσουμε τη δική μας Βιβλιοθήκη μεθόδων για το σχηματισμό κύκλων διαφόρων μορφών CircleDefs public class CircleDefs void line_circle (double x, double y, double r, double
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Στην άσκηση αυτή θα υλοποιήσετε μια κλάση RandomVector η οποία διαχειρίζεται ένα τυχαίο διάνυσμα ακεραίων το οποίο μπορεί να έχει οποιοδήποτε
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 3: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αριθμητική Δεικτών Δείκτες και Πίνακες Παραδείγματα Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διαβάστε περισσότεραAPI: Applications Programming Interface
ÒØ Ñ ÒÓ ØÖ ÔÖÓ» Ñ ÒØ Ñ ÒÓ ØÖ ÔÖÓ Ö ÑÑ Ø Ñ ½ Ö Ø Ò Ô Ö Ø ÒØ Ñ ÒÛÒ ÒÒÓ ôòøóù ÔÖ Ñ Ø Ó ÑÓÙ Ì ÔÓ ÓÑ ÒÛÒ Ì µ (i) ÒÓÐÓØ ÑôÒ (ii)ôö Ü º Ð ØÖ Ò Ò ÖÛÔÓ ØÖ ÔÐ Ò Ø Ó Ó Ù Ø Ñ Ø ººº ½ºÈÖÛØ ÓÒØ Ø ÔÓ int double char
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2017/18 Χειμερινό Εξάμηνο ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΞΑΜΗΝΟΥ ΗΜΕΡΟΜΗΝΙΑ: 11 Δεκεμβρίου 2017 ΔΙΑΡΚΕΙΑ: 12:30μμ 3:30μμ ΑΙΘΟΥΣΑ: Κτήριο
Διαβάστε περισσότεραΔιάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage
Διαβάστε περισσότεραΕισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.
Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Ένα ιστόγραμμα τιμών μετράει για ένα σύνολο από τιμές πόσες φορές εμφανίστηκε η κάθε τιμή. Για παράδειγμα
Διαβάστε περισσότεραΑντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Διαβάστε περισσότεραΠρογραμματισμός 2 Σημειώσεις εργαστηρίου
Προγραμματισμός 2 Σημειώσεις εργαστηρίου 02-Java, Τύποι Δεδομένων ως Αντικείμενα Νεβράντζας Βάιος-Γερμανός Λάρισα, Μάρτιος 2013 02-iProgramminginJava, Τυ ποι δεδομε νων ως Αντικει μενα, σελίδα 1 Περίληψη
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΔΙΚΕΣ ΜΑΣ ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με
Διαβάστε περισσότερα3 ο Εργαστήριο Μεταβλητές, Τελεστές
3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται
Διαβάστε περισσότερα1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα
1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1. Σύστημα Συντεταγμένων Το σύστημα συντεταγμένων που έχουμε συνηθίσει από το σχολείο τοποθετούσε το σημείο (0,0) στο σημείο τομής των δυο αξόνων Χ και Υ.
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 2 Είσοδος από το πληκτρολόγιο: 1) Προσθήκη απαραίτητης βιβλιοθήκης
Διαβάστε περισσότερα4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος
4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό Έτος 2010-2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου 1. Κωδικοποίηση και Δυαδική Αναπαράσταση 2. Κωδικοποίηση ASCII Κωδικοποίηση Unicode Εισαγωγή
Διαβάστε περισσότεραΕΠΛ 131 Φροντιστήριο 2
ΕΠΛ 131 Φροντιστήριο 2 Όπως και για το έμβλημα του Πανεπιστημίου Κύπρου Από πού θα αντλήσουμε τα βασικά δομικά στοιχεία για τη λύση μας; Από τη Βιβλιοθήκη StdDraw, και επίσης θα κατασκευάσουμε και δικές
Διαβάστε περισσότεραΓράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από
Διαβάστε περισσότεραΤύποι δεδομένων, τελεστές, μεταβλητές
Τύποι δεδομένων, τελεστές, μεταβλητές Βασικά στοιχεία της γλώσσας Η Java χαρακτηρίζεται από ένα αρκετά καλά οργανωμένο σύνολο εντολών κι ένα μέρος της επιτυχίας της οφείλεται στα διάφορα APIs (βιβλιοθήκες)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Μ έ θ ο δ ο ι Οι μέθοδοι είναι εκείνα τα τμήματα του κώδικα όπου εκτελούνται οι ουσιαστικές
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Χειμερινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 29 Οκτωβρίου 2016 ΔΙΑΡΚΕΙΑ: 10:00πμ 12:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies Μαθήματα από το εργαστήριο Όταν η εκφώνηση σας ζητάει να φτιάξετε μία μέθοδο που παίρνει
Διαβάστε περισσότεραΒασικά στοιχεία προγραµµατισµού στη JAVA
Βασικά στοιχεία προγραµµατισµού στη JAVA Τελεστές, Επαναλήψεις και Παραδείγµατα 2 Οι τελεστές της JAVA Η Java χρησιμοποιεί τους ίδιους τελεστές με την C και την C++, και κατά τον ίδιο γενικά τρόπο. Σχεδόν
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Κων. Κόκκινος ΠΙΝΑΚΕΣ (ARRAYS) Είναι χώροι της μνήμης για προσωρινή αποθήκευση δεδομένων του ίδιου τύπου. Οι πίνακες είναι δομές δεδομένων που τις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΣυναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων
Συναρτήσεις Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων ιεπαφή Συναρτήσεων (Πρωτότυπα Συναρτήσεων function prototypes): εδοµένα εισόδου (παράµετροι parameters): πέρασµα δια τιµής ή µέσω
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις, Αντικείμενα και η Σύνταξη της Java Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ
ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΑ ΤΕΙ 2.2.2.3ζ ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΓΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ Εγχειρίδιο χρήσης λογισμικού ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΕΥΘΥΝΟΣ: ΣΤΡΟΥΘΟΠΟΥΛΟΣ ΧΑΡΑΛΑΜΠΟΣ ΣΕΡΡΕΣ, ΜΑΙΟΣ 2007 ΠΕΡΙΕΧΟΜΕΝΑ
Διαβάστε περισσότεραΔοκιμή και Αποσφαλμάτωση Testing and Debugging
Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότεραΕισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Κλάσεις Αντικειμενοστραφής Προγραμματισμός Κλάσεις-Αντικείμενα Ένα παράδειγμα Συναρτήσεις κατασκευής (Constructors) Συνάρτηση καταστροφής (Destructor) Συναρτήσεις πρόσβασης (Access Functions) Συνάρτηση
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 4ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Συναρτήσεις (functions) 56 Τεμαχισμός του προγράμματος σε μικρότερα κομμάτια που είναι πιο κατανοητά, πιο εύκολα
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΜονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading
Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading Μονοδιάστατοι πίνακες Οι πίνακες είναι µεταβλητές που έχουν οµαδοποιηθεί µε ένα κοινό όνοµα. ηµιουργία πινάκων µετηδήλωσηnew
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες
Διαβάστε περισσότεραΕικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1
Εικόνα Εισαγωγή Ψηφιακή αναπαράσταση Κωδικοποίηση των χρωμάτων Συσκευές εισόδου και εξόδου Βάθος χρώματος και ανάλυση Συμβολική αναπαράσταση Μετάδοση εικόνας Σύνθεση εικόνας Ανάλυση εικόνας Τεχνολογία
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότερα