ΗΥ-252 Αντικειμενοστρεφής Προγραμματισμός Βασίλης Χριστοφίδης
|
|
- Κίμων Γλυκύς
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-252 Αντικειμενοστρεφής Προγραμματισμός Βασίλης Χριστοφίδης Ονοματεπώνυμο: Αριθμός Μητρώου: Τελική Εξέταση (3 ώρες) Ημερομηνία: 1 Φεβρουαρίου 2009 Άσκηση 1(5 μονάδες) Αφαιρετικές Κλάσεις και κατασκευή αντικειμένων Η παρακάτω κλάση Person έχει οριστεί σαν βασική κλάση (base class) για την σχεδίαση των υποκλάσεων Student και Professor. Η κλάση Person έχει δηλωθεί σαν αφαιρετική γιατί δεν θέλουμε να επιτρέπουμε την δημιουργία στιγμιοτύπων τύπου Person: το πρόγραμμα μπορεί να δημιουργεί μόνο στιγμιότυπα των κλάσεων Student και Professor. public abstract class Person { private String name; private String ssn; public Person(String name, String ssn) { this.setname(name); this.setssn(ssn); //... Rest of code omitted Ωστόσο ο βασικός λόγος για την δήλωση μιας κλάσης σαν αφαιρετική είναι όταν η κλάση χρειάζεται να δηλώσει μεθόδους οι οποίες πρέπει/μπορούν να υλοποιηθούν μόνο από τις υποκλάσεις της. Αυτό δεν ισχύει για την κλάση Person. Πως θα μπορούσατε να διορθώσετε την παραπάνω δήλωση της Person ώστε: 1. Να μην είναι αφαιρετική κλάση. 2. Να μην μπορεί ένας κώδικας πελάτης να δημιουργήσει στιγμιότυπα της Person. 3. Να μπορεί ένας κώδικας πελάτης να δημιουργήσει στιγμιότυπα των υποκλάσεων Student και Professor. The class Person must not be abstract and the constructor should be made protected: protected Person(String name, String ssn) { this.setname(name); this.setssn(ssn);
2 Clients cannot instantiate a class with only protected constructors. Subclasses can still call super in their own constructors in order to invoke the protected constructors. Άσκηση 2 (15 μονάδες) Βασική Λειτουργικότητα Αντικειμένων Σας δίνεται η παρακάτω κλάση Java η οποία αναπαριστά ρητούς αριθμούς των οποίων ο αριθμητής και παρανομαστής είναι ακέραιοι αριθμοί. public class Rational { protected int num, denom; public Rational(int num, int denom) { this.num = num; this.denom = denom; set(num, denom); protected void set(int num, int denom) { if (denom == 0) throw new Error("Divide by zero"); this.denom = denom; this.num = num; public void reciprocate() { int olddenom = this.denom; this.denom = num; this.num = olddenom; set(denom, num); public double todouble() { return ((double) num / denom); public String tostring() { return num + "/" + denom; α) (5 μονάδες) Δεδομένης της default υλοποίησης των μεθόδων hashcode() και equals(object), τι πρόβλημα μπορεί να παρουσιαστεί στον παρακάτω κώδικα που δημιουργεί ένα σύνολο από ρητούς αριθμούς; Set s = new HashSet(); s.add(new Rational(1,2)); s.add(new Rational(1,2)); The two Rational objects will each be viewed as distinct, because default hashcode is based on an object's address in memory. The Set which should have just once instance of the fraction would then have two instances. β) (10 μονάδες) Υποσκελίστε την default υλοποίηση των μεθόδων hashcode() και equals(object) ώστε να υποστηρίζουμε με συνεπή τρόπο συλλογές αντικειμένων τύπου Rational που βασίζονται σε συναρτήσεις κατακερματισμού.
3 public int hashcode() { //Give credit for any reasonable implementation Best is: return num + 39*denom; //alternatively return this.tostring().hashcode(); public boolean equals(object o) { if (o == null) return false; else if (!(o instance of Rational) return false; else { Rational r = (Rational)o;//you can assume this works return(this.num todouble() == r.todouble()num && this.denom == r.denom); // or similar Common Mistakes a) Οι φοιτητές που απάντησαν λάθος στο συγκεκριμένο ερώτημα, θεωρούσαν ότι ουσιαστικά δεν υπήρχε λάθος καθώς η μέθοδος equals και hashcode της Object λειτουργούσαν κανονικά για τα αντικείμενα τύπου Rational χωρίς να χρειαστεί να τις υποσκελίσουν. b) Η μέθοδος hashcode υλοποιήθηκε από το 5% περίπου των φοιτητών. Στη μέθοδο equals οι φοιτητές δεν την υποσκέλιζαν σωστά καθώς δεν τηρούσαν την υπογραφή της μεθόδου και δεν έκαναν του κατάλληλους ελέγχους για τις περιπτώσεις όπου το αντικείμενο ήταν null ή δεν ήταν στυγμιότυπο της κλασης Rational. Άσκηση 3 (10 μονάδες) Βασική Λειτουργικότητα Αντικειμένων Η Java ορίζει την διεπαφή Comparable ως εξής: interface Comparable { int compareto(object o) ; όπου x.compareto(y) επιστρέφει έναν αρνητικό ακέραιο εάν x < y, 0 εάν είναι ίσα, και έναν θετικό ακέραιο εάν x > y. Ορίστε μία κλάση MyArray η οποία ενθυλακώνει πίνακες ακεραίων και υλοποιεί την διεπαφή Comparable. Στιγμιότυπα της MyArray πρέπει να συγκρίνονται χρησιμοποιώντας το άθροισμα (sum) των ακεραίων που περιέχουν οι ενθυλακωμένοι πίνακες. Για παράδειγμα, η εκτέλεση του παρακάτω τεστ // create tow arrays and in initialize the elements int [ ] a = new int [ ] { 1, 2, 3, 4 ; int [ ] b = new int [ ] {-1, 2, -3, 4, -5; // create objects encapsulating these arrays MyArray m1 = new MyArray(a) ; MyArray m2 = new MyArray(b) ; // print the result of the comparison System.out.println (m1.compareto(m2)) ; θα τυπώσει έναν θετικό ακέραιο επειδή >
4 Υλοποιήστε πλήρως την κλάση MyArray ώστε ο παραπάνω κώδικας πελάτης να μπορεί να εκτελεστεί με επιτυχία. public class MyArray implements Comparable { private int[ ] thearray ; private int thesum ; public MyArray (int[] intarr ) { thearray = intarr ; int sum = 0 ; for (int i=0; i < thearray.length ; i++) { sum = sum + thearray[i] ; thesum = sum ; public int getthesum( ) { return thesum ; public int compareto(object o) { int othersum =((MyArray) o).getthesum( ) ; return thesum - othersum ; Common Mistakes Αρκετοί φοιτητές υλοποίησαν την μέθοδο compareto παίρνοντας ως όρισμα ένα αντικείμενο τύπου MyArray,αντί για Object Ένα άλλο λάθος που έκαναν άλλοι είναι ότι δεν έκαναν casting το Object σε αντικείμενο MyArray, άρα στην συνέχεια δεν ήταν σωστό να προσπελάσουν τις μεθόδους της κλάσης MyArray, μέσω του ορίσματος (που είναι Object). Άλλο λάθος ήταν ότι κάποιοι φοιτητές δεν ενθυλάκωναν καθόλου τους πίνακες ακεραίων Άσκηση 4 (28 μονάδες) Χειρισμός Πλαισίου Συλλογών Αντικειμένων α) (20 μονάδες) Όταν χειριζόμαστε συλλογές τύπου HashMap, ορισμένες φορές χρειαζόμαστε να καθορίσουμε εάν δύο αντικείμενα HashMaps έχουν κοινά ζεύγη κλειδί/τιμή. Θεωρήστε για παράδειγμα τις παρακάτω συλλογές hashmap1 και hashmap2 που αντιστοιχούν συμβολοσειρές σε συμβολοσειρές (δηλ. ο τύπος τους είναι HashMap<String,String>). Key Αλίκη Μαρία Σπύρος Βασίλης Ειρήνη Value Healthy Ecstatic Happy Sick Fine Key Μαρία Βασίλης Θοδωρής Μανώλης Σπύρος Value Ecstatic Healthy Superb Fine Happy hashmap2 hashmap1
5 Τα κοινά ζεύγη στο παραπάνω παράδειγμα είναι: "Μαρία"/"Ecstatic" και "Σπύρος"/"Happy". Σημειώστε ότι αν και το κλειδί "Βασίλης" εμφανίζεται και στις δύο συλλογές, η συσχετισμένη τιμή με αυτό το κλειδί είναι διαφορετική στο hashmap1 από ότι στο hashmap2 (κατά συνέπεια δεν υπολογίζεται στα κοινά ζεύγη των δύο HashMaps). Παρόμοια, εάν μία τιμή εμφανίζεται και στις δύο συλλογές (π.χ. η τιμή "Fine") χωρίς όμως να συσχετίζεται με το ίδιο κλειδί δεν υπολογίζεται επίσης στα κοινά ζεύγη των δύο HashMaps. Σε αυτή την άσκηση θα πρέπει να υλοποιήσετε την μέθοδο : public int commonkeyvaluepairs(hashmap<string,string> map1, HashMap<String,String> map2) η οποία δέχεται σαν ορίσματα δύο αντικείμενα τύπου HashMap<String,String> και επιστρέφει τον αριθμό των κοινών ζευγών κλειδί/τιμή των δύο HashMaps (για ευκολία υποθέστε ότι δεν έχουμε null τιμές). /** Method: commonkeyvaluepairs(map1, map2) * Returns a count of the number of common key/value * pairs in the two HashMaps that are passed in. */ public int commonkeyvaluepairs(hashmap<string,string> map1, HashMap<String,String> map2) { int count = 0; // Get iterator over map1 Iterator<String> it = map1.keyset().iterator(); while (it.hasnext()) { // Get key from map1 String key = it.next(); // See if that keys exists in map2 if (map2.containskey(key)) { //alternatively map1.get(key).equals(map2.get(key)) //Lookup values associated with key in both maps String map1value = map1.get(key); String map2value = map2.get(key); // See if values are equal if (map2value.equals(map1value)) { count++; return count; Εναλλακτικά: public int commonkeyvaluepairs(map<string,string> map1, Map<String, String> map2) {
6 map1.entryset().retainall(map2.entryset()); return map1.size(); Common Mistakes: Αρκετοί φοιτητές νόμιζαν ότι από HashMap μπορούν να πάρουν απευθείας έναν Iterator ο οπόιος είχε σαν πεδία το key και το value του κάθε στοιχείου του HashMap. Κάτι τέτοιο προφανώς δεν ισχύει. Επίσης το άλλο λάθος που έκαναν ήταν ότι προσπαθούσαν να διαχειριστούν το HashMap σαν πίνακα οπότε για κάθε i στοιχείο του προσπαθούσαν να πάρουν το key και το value του. Επίσης κάτι τέτοιο δεν ισχύει. β) (8 μονάδες) Σε συλλογές τύπου HashMap or HashSet συνήθως εκτελούμε αποδοτικά πολλές πράξεις όπως εισαγωγές (add), διαγραφές (remove), αναζητήσεις (contains) ή άλλες. Οι επιδόσεις αυτών των πράξεων εξαρτώνται από τις ιδιότητες που έχει η συνάρτηση κατακερματισμού (hash function) καθώς και ο παράγοντας φόρτωσης (load factor). (i) Ποια ιδιότητα πρέπει να έχει η συνάρτηση κατακερματισμού ώστε αυτές οι πράξεις να εκτελούνται πολύ αποδοτικά; A hash function converts a key value into an integer that is used to select the bucket (or slot) where that key should be stored. For hashing to be efficient, the hash function must distribute the keys among the buckets uniformly so no one bucket winds up with too many key values. (ii) Ποια ιδιότητα πρέπει να έχει ο παράγοντας φόρτωσης ώστε αυτές οι πράξεις να εκτελούνται πολύ αποδοτικά; The load factor is the ratio n/b of the number of items in the table (n) to the total number of buckets (b). For hashing to be efficient, this number needs to be small. Άσκηση 5 (28 μονάδες) Σαρωτές Συλλογών Αντικειμένων Σε αυτή την άσκηση θα υλοποιήσετε ορισμένους σαρωτές (Iterators) χρησιμοποιώντας άλλους που προσφέρονται από το πλαίσιο συλλογών αντικειμένων της Java. Στις υλοποιήσεις σας θα πρέπει να λάβετε υπόψη τις εξαιρέσεις που ενδεχομένως να δημιουργηθούν. α) (10 μονάδες) Υλοποιήστε έναν σαρωτή ReverseIterator ο οποίος επιστρέφει τα στοιχεία (τύπου Object) μιας λίστας (τύπου List) σε ανεστραμμένη σειρά. Η λίστα δίνεται σαν όρισμα στην μέθοδο κατασκευής (constructor) του σαρωτή. Ο σαρωτής θα πρέπει να υλοποιεί όλη την λειτουργικότητα της διεπαφής Ιterator, δηλ τις μεθόδους hasnext(),
7 next() και remove(), χρησιμοποιώντας κατάλληλες μεθόδους της διεπαφής List όπως size(), get(int) και remove(int). import java.util.*; public class ReverseIterator implements Iterator { private ListIterator listit; // 2 points public ReverseIterator(List list) { this.listit = listit.listiterator(list.size()) ; // 2 points public boolean hasnext() { return listit.hasprevious(); // 2 points public Object next() { return listit.previous(); // 2 points public void remove() { listit.remove(); // 2 points Common Mistakes: Αρκετοί ήταν οι φοιτητές που αντί για μια κλάση με τα παραπάνω χαρακτηριστικά έφτιαξαν μια μέθοδο που επέστρεφε μια λίστα με ανεστραμμένα τα στοιχεία. Επίσης κοινό λάθος ήταν η δημιουργία στον κατασκευαστή μιας λίστας με ανεστραμμένα τα στοιχεία. β) (18 μονάδες) Υλοποιήστε έναν σαρωτή ZipperIterator πού συναρμόζει ( zips") τα στοιχεία (τύπου Object) που επιστρέφουν δύο άλλοι σαρωτές που δίνονται σαν ορίσματα στην μέθοδο κατασκευής (constructor) του ZipperIterator. Πιο συγκεκριμένα, εάν ο πρώτος σαρωτής επιστρέφει τα στοιχεία με την σειρά x0; x1; ; xn; Και ο δεύτερος σαρωτής επιστρέφει τα στοιχεία με την σειρά y0; y1; ; yn;, ο σαρωτής ZipperIterator θα επιστρέφει τα στοιχεία με την σειρά x0; y0; x1; y1; ; xn; yn. Με άλλα λόγια, ο ZipperIterator επιστρέφει εναλλακτικά τα στοιχεία από τους σαρωτές που του δίνονται σαν ορίσματα. Ο ZipperIterator τερματίζει την σάρωση (δηλ. η hasnext γίνεται ψευδής) όταν ένας από τους δύο σαρωτές εισόδου εξαντλεί τα στοιχεία της συλλογής που σαρώνει. Η μέθοδος remove() του ZipperIterator διαγράφει το πιο πρόσφατα σαρωμένο στοιχείο από τον σαρωτή που το έχει επιστρέψει. Σας δίνεται στην συνέχεια ένας κώδικας πελάτης που επιδεικνύει την λειτουργία του ZipperIterator: import java.util.*; List l = new ArrayList(); List r = new ArrayList(); l.add("a"); l.add("b"); l.add("c");
8 r.add("a"); Iterator z = new ZipperIterator(l.iterator(),r.iterator()); while (z.hasnext()) { System.out.println(z.next()); z.remove(); System.out.println(l); System.out.println(r); Output a [b, c] [A] A [b, c] [] b [c] [] Βοήθεια: Στην υλοποίηση του ZipperIterator θα χρειαστείτε μια μεταβλητή στιγμιοτύπων (πχ. nextisleft) η οποία υποδεικνύει ποιος από τους δύο σαρωτές που δίνονται σαν ορίσματα θα προσφέρει το επόμενο στοιχείο που θα επιστραφεί. import java.util.*; public class ZipperIterator implements Iterator { private Iterator left, right; private boolean nextisleft; // 3 points public ZipperIterator(Iterator left, Iterator right) { this.left = left; this.right = right; nextisleft = true; // 4 points public boolean hasnext() { return nextisleft? left.hasnext():right.hasnext(); // 2 points public Object next() { E next; next = nextisleft? left.next():right.next(); nextisleft =!nextisleft; return next; // 5 points public void remove() { if (nextisleft) right.remove(); else left.remove(); // 4 points
9 Common Mistakes: Αρκετοί ήταν οι φοιτητές που αντί για μια κλάση με τα παραπάνω χαρακτηριστικά έφτιαξαν μια μέθοδο που επέστρεφε μια λίστα. Κοινό λάθος ήταν επίσης η δημιουργία μιας λίστας στον κατασκευαστή με τα στοιχεία των Iterators εναλλακτικά. Τέλος πολλοί ήταν αυτοί που θεώρησαν ότι τερματίζει ο zipperiterator μόλις ένας από τους δυο Iterators τερματίζει: return it1.hasnext() && it2.hasnext(). Άσκηση 6 (15 μονάδες) Γενικοί Τύποι στην Java α) (5 μονάδες) Η Java προσφέρει περισσότερους από έναν τρόπους για να σαρώσουμε τα στοιχεία μιας λίστας. Για παράδειγμα σε μία λίστα από συμβολοσειρές: List<String> list = new LinkedList<String>(); list.add("i"); list.add("love"); list.add("everybody"); μπορούμε να σαρώσουμε τα στοιχεία της λίστας list με τον κώδικα: for (String s: list) // Technique 1 System.out.println(s); ή εναλλακτικά με τον κώδικα: Iterator<String> i = list.iterator(); // Technique 2 while (i.hasnext()) System.out.println(i.next()); Υπάρχει κάποια διαφορά στα στοιχεία της λίστας που επιστρέφουν οι παραπάνω κώδικες? Δώστε μια σύντομη και περιεκτική εξήγηση. There is no difference. The first technique is easier to write. The second technique, using the Iterator class, is usually used only when you need to do something that is possible only with an Iterator, such as selectively delete list members during iteration. β) (5 μονάδες) Δεδομένης της παρακάτω δήλωσης της κλάσης Derived public class Derived extends Base {... είναι ο γενικός τύπος LinkedList<Derived> ένας υποτύπος του LinkedList<Base>? Δώστε μια σύντομη και περιεκτική εξήγηση. LinkedList<Derived> is not a subclass of LinkedList<Base>. If B is a subclass of A, then instances of B should be substitutable for instances of A. However, if a is a LinkedList<Base>, one can perform operations such as a.add(new Base());
10 This operation would not be permitted for a LinkedList<Derived>. Consequently, a LinkedList<Derived> is not substitutable for a LinkedList<Base>. In other words, you cannot use a LinkedList<Derived> where a LinkedList<Base> is expected. γ) (5 μονάδες) Σε ένα πρόγραμμα Java θα πρέπει να μπορεί να εκλεχθεί στατικά (δηλ. κατά την μετάφραση) η ορθότητα των τύπων όλων των εκφράσεων που χρησιμοποιεί. Π.χ αντί για την δήλωση της παραμέτρου <T>, θα πρέπει να γράψουμε την πιο περιορισμένη: <T extends...>. Πως θα μπορούσατε να συμπληρώσετε τον παρακάτω κώδικα (στην υπογραμμισμένη περιοχή) έτσι ώστε να είναι ένα σωστό ως προς τους τύπους πρόγραμμα Java; Δώστε μια σύντομη και περιεκτική εξήγηση για την συμπλήρωση πού προτείνετε περιγράφοντας όλες τις επιπλέον κλάσεις ή διεπαφές που σας είναι απαραίτητες. Προσπαθήστε να κάνετε την υπογραφή της μεθόδου όσο περισσότερο γενική μπορείτε στα πλαίσια όμως της ορθότητας. class C {... <T extends > int f (T x, T y){... x.compareto(y) We call method compareto() on T, which is defined in Comparable, so T must be a subtype of Comparable, therefore its an upper bound: <T extends Comparable>. Comparable has also a generic version (say with E) and it define its method as compareto(e e). We only pass arguments of type T to this method, so E must assignable from T, i.e. a supertype. Thus, T is a lower bound, and we need <? super T>. All together: <T extends Comparable<? super T>> <T extends Comparable> is also correct, since using the raw interface Comparable makes the argument of compareto(e e) an Object, thus assignable from any possible reference T. Generally speaking, we would avoid raw types, because the compiler only issues a warning and then drops all generic type-checking on all usages of the raw type. Common Mistakes: 6α) Πολλοί φοιτητές είπαν ότι στην τεχνική 1 το s που εκτυπώνεται είναι ένα String ενώ στην τεχνική 2 το i.next() είναι Object. Κάποιοι άλλοι είπαν ότι στην τεχνική 1 δημιουργείται ένα String με όλα τα περιεχόμενα της λίστας. Τέλος κάποιοι είπαν ότι στην τεχνική 1 το τελευταίο στοιχείο που θα εκτυπωθεί θα είναι το null και ότι στη τεχνική 2 η εκτύπωση θα αρχίσει από το δεύτερο στοιχείο.
11 6β) Το πιο κοινό λάθος ήταν ότι θεωρούσαν ότι ο τύπος LinkedList<Derived> είναι υπότυπος του LinkedList<Base>, επειδή είναι μια λίστα από αντικείμενα τύπου Derived και ο τύπος Derived είναι subclass of Base. Άσκηση 7 (8 μονάδες) Θεωρία Αντικειμενοστρεφούς Κώδικα α) (4 μονάδες) Για ποιους λόγους θα χρησιμοποιούσατε μια διεπαφή Java στην σχεδίαση μιας ιεραρχίας κλάσεων; In general, the base class in a class hierarchy has two main purposes. First, it defines the common interface for using the set of classes. Second, because subclasses inherit methods, the base class is the proper place to implement code that will be common to all subclasses. Although the base class does specify the interface, it also includes implementation information that is of no interest to clients. The usual practice is to use a Java Interface to specify the interface, and then have the base class implement that interface. Client code is typically written to the Java Interface. This not only simplifies the task of writing client code, but the resulting code is more flexible because it will also work with different implementations of the Interface. β) (4 μονάδες) Τι είναι ένας τύπος Java; Τι είναι οι πρωτογενείς (primitive) τύποι; Τι είναι οι τύποι που ορίζονται από τούς χρήστες (user-defined); Πώς η Java χρησιμοποιεί τους τύπους ώστε να διευκολύνει τον προγραμματισμό και να καθιστά τα προγράμματα πιο αξιόπιστα; A type is a set of values and operations that may be performed on them. For instance int is a 32-bit integer type, with values ranging from to Valid operations on int are addition, subtraction, multiplication, division, the bitwise operations, etc. Java's primitive types are: int, byte, short, long, float, double, char and boolean. A user-defined type is a composition of built-in types with special operations defined on it. In Java, a user-defined type is called a class or an interface. Java checks to make sure every operation is valid with respect to its operands' types at compile time. This prevents careless errors, like treating an integer value as a floating-point, or vice versa. Type checking ensures that every operation in the program is conceptually valid before the program has a chance to run and crash.
EE512: Error Control Coding
EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3
Διαβάστε περισσότεραΒασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα
Διαβάστε περισσότεραThe Simply Typed Lambda Calculus
Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραderivation of the Laplacian from rectangular to spherical coordinates
derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις
Διαβάστε περισσότεραΔομές Δεδομένων - Εργαστήριο 2. Λίστες
Λίστες Λίστες (Lists) : Συλλογή δεδομένων σε δυναμικά δεσμευμένους κόμβους. Κάθε κόμβος περιέχει συνδέσεις προς άλλους κόμβους. Προσπέλαση -στού κόμβου διατρέχοντας όλους τους προηγούμενους. Πολλές παραλλαγές
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότεραSection 8.3 Trigonometric Equations
99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές
Διαβάστε περισσότερα2 Composition. Invertible Mappings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,
Διαβάστε περισσότεραHOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:
HOMEWORK 4 Problem a For the fast loading case, we want to derive the relationship between P zz and λ z. We know that the nominal stress is expressed as: P zz = ψ λ z where λ z = λ λ z. Therefore, applying
Διαβάστε περισσότεραΠεριεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5
Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών
Διαβάστε περισσότεραEPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class
Διαβάστε περισσότεραHomework 3 Solutions
Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For
Διαβάστε περισσότεραΕργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15
Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial
ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
Διαβάστε περισσότερα(C) 2010 Pearson Education, Inc. All rights reserved.
Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.
Διαβάστε περισσότερα4 Συλλογές Αντικειμένων
4 Συλλογές Αντικειμένων Πώς χειριζόμαστε αντικείμενα σε ομάδες με επανάληψη Η Απαίτηση Συλλογών Αντικειμένων Πολλές εφαρμογές χρειάζονται πλήθος αντικειμένων: Κατάλογος βιβλίων Φοιτητολόγιο Πελατολόγιο
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραFinite Field Problems: Solutions
Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΕργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΠρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής
Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους
Διαβάστε περισσότεραEvery set of first-order formulas is equivalent to an independent set
Every set of first-order formulas is equivalent to an independent set May 6, 2008 Abstract A set of first-order formulas, whatever the cardinality of the set of symbols, is equivalent to an independent
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραPhysical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.
B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραPartial Trace and Partial Transpose
Partial Trace and Partial Transpose by José Luis Gómez-Muñoz http://homepage.cem.itesm.mx/lgomez/quantum/ jose.luis.gomez@itesm.mx This document is based on suggestions by Anirban Das Introduction This
Διαβάστε περισσότεραInstruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Διαβάστε περισσότεραWeek 7: Java Collection Classes
Week 7: Java Collection Classes Υλοποιήσεις Εβδοµάδα 7: Κλάσεις συλλογών δεδοµένων στην Java Τύποι συλλογών δεδοµένων Τεχνικές υλοποίησης linked Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης,
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραDESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.
DESIGN OF MACHINERY SOLUTION MANUAL -7-1! PROBLEM -7 Statement: Design a double-dwell cam to move a follower from to 25 6, dwell for 12, fall 25 and dwell for the remader The total cycle must take 4 sec
Διαβάστε περισσότεραΓενικοί Τύποι. 13 Ιανουαρίου 2011 Αντικειμενοστρεφής Προγραμματισμός στη Java 32
Ένας γενικός τύπος ορίζεται χρησιμοποιώντας μία ή περισσότερες μεταβλητές τύπων και έχει μία ή περισσότερες ρ ςμεθόδους που χρησιμοποιούν μεταβλητές τύπων ως σύμβολο που αντικαθιστάται από όνομα τύπου,
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.
Διαβάστε περισσότεραInverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- -----------------
Inverse trigonometric functions & General Solution of Trigonometric Equations. 1. Sin ( ) = a) b) c) d) Ans b. Solution : Method 1. Ans a: 17 > 1 a) is rejected. w.k.t Sin ( sin ) = d is rejected. If sin
Διαβάστε περισσότεραCHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS
CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =
Διαβάστε περισσότεραk A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +
Chapter 3. Fuzzy Arithmetic 3- Fuzzy arithmetic: ~Addition(+) and subtraction (-): Let A = [a and B = [b, b in R If x [a and y [b, b than x+y [a +b +b Symbolically,we write A(+)B = [a (+)[b, b = [a +b
Διαβάστε περισσότεραSection 9.2 Polar Equations and Graphs
180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify
Διαβάστε περισσότεραΗΥ-252 Οντοκεντρικός Προγραµµατισµός Βασίλης Χριστοφίδης. Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 9 Σεπτεµβρίου 2004
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Οντοκεντρικός Προγραµµατισµός Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 9 Σεπτεµβρίου 2004 Άσκηση
Διαβάστε περισσότεραOrdinal Arithmetic: Addition, Multiplication, Exponentiation and Limit
Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ting Zhang Stanford May 11, 2001 Stanford, 5/11/2001 1 Outline Ordinal Classification Ordinal Addition Ordinal Multiplication Ordinal
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή
Διαβάστε περισσότεραMain source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1
Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 A Brief History of Sampling Research 1915 - Edmund Taylor Whittaker (1873-1956) devised a
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραH κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος
H κλάση ArrayList Γιώργος Θάνος Γραφείο Γ ος όροφος Γκλαβάνη 37 Εισαγωγικά Η κλάση ArrayList δίνει την δυνατότητα να αποθηκεύσουμε δεδομένα οποιουδήποτε τύπου σε μία δομή δεδομένων η οποία επιτρέπει τα
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραApproximation of distance between locations on earth given by latitude and longitude
Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth
Διαβάστε περισσότεραAssalamu `alaikum wr. wb.
LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump
Διαβάστε περισσότεραOther Test Constructions: Likelihood Ratio & Bayes Tests
Other Test Constructions: Likelihood Ratio & Bayes Tests Side-Note: So far we have seen a few approaches for creating tests such as Neyman-Pearson Lemma ( most powerful tests of H 0 : θ = θ 0 vs H 1 :
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότερα3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β
3.4 SUM AND DIFFERENCE FORMULAS Page Theorem cos(αβ cos α cos β -sin α cos(α-β cos α cos β sin α NOTE: cos(αβ cos α cos β cos(α-β cos α -cos β Proof of cos(α-β cos α cos β sin α Let s use a unit circle
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραMath221: HW# 1 solutions
Math: HW# solutions Andy Royston October, 5 7.5.7, 3 rd Ed. We have a n = b n = a = fxdx = xdx =, x cos nxdx = x sin nx n sin nxdx n = cos nx n = n n, x sin nxdx = x cos nx n + cos nxdx n cos n = + sin
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Βελτίωση Δομής με Κληρονομικότητα Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραEcon 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1
Eon : Fall 8 Suggested Solutions to Problem Set 8 Email questions or omments to Dan Fetter Problem. Let X be a salar with density f(x, θ) (θx + θ) [ x ] with θ. (a) Find the most powerful level α test
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότεραConcrete Mathematics Exercises from 30 September 2016
Concrete Mathematics Exercises from 30 September 2016 Silvio Capobianco Exercise 1.7 Let H(n) = J(n + 1) J(n). Equation (1.8) tells us that H(2n) = 2, and H(2n+1) = J(2n+2) J(2n+1) = (2J(n+1) 1) (2J(n)+1)
Διαβάστε περισσότεραΜορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/
Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Συνάρτηση round() Περιγραφή Η συνάρτηση ROUND στρογγυλοποιεί έναν αριθμό στον δεδομένο
Διαβάστε περισσότεραΚλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack
Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει
Διαβάστε περισσότεραPARTIAL NOTES for 6.1 Trigonometric Identities
PARTIAL NOTES for 6.1 Trigonometric Identities tanθ = sinθ cosθ cotθ = cosθ sinθ BASIC IDENTITIES cscθ = 1 sinθ secθ = 1 cosθ cotθ = 1 tanθ PYTHAGOREAN IDENTITIES sin θ + cos θ =1 tan θ +1= sec θ 1 + cot
Διαβάστε περισσότεραSection 7.6 Double and Half Angle Formulas
09 Section 7. Double and Half Angle Fmulas To derive the double-angles fmulas, we will use the sum of two angles fmulas that we developed in the last section. We will let α θ and β θ: cos(θ) cos(θ + θ)
Διαβάστε περισσότεραΠανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-252 Αντικειμενοστρεφής Προγραμματισμός Βασίλης Χριστοφίδης
ΗΥ252 Τελικό Διαγώνισμα 9 Φεβρουαρίου 2012 Σελίδα 1 από 9 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-252 Αντικειμενοστρεφής Προγραμματισμός Βασίλης Χριστοφίδης Τελική Εξέταση (3 ώρες) Ημερομηνία:
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότεραΚλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1
Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Διαβάστε περισσότεραΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011
Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι
Διαβάστε περισσότεραclass object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video
ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη
Διαβάστε περισσότεραFractional Colorings and Zykov Products of graphs
Fractional Colorings and Zykov Products of graphs Who? Nichole Schimanski When? July 27, 2011 Graphs A graph, G, consists of a vertex set, V (G), and an edge set, E(G). V (G) is any finite set E(G) is
Διαβάστε περισσότεραΟδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook
Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Βήμα 1: Step 1: Βρείτε το βιβλίο που θα θέλατε να αγοράσετε και πατήστε Add to Cart, για να το προσθέσετε στο καλάθι σας. Αυτόματα θα
Διαβάστε περισσότεραDynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the
Διαβάστε περισσότεραA ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }
A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');
Διαβάστε περισσότεραExample Sheet 3 Solutions
Example Sheet 3 Solutions. i Regular Sturm-Liouville. ii Singular Sturm-Liouville mixed boundary conditions. iii Not Sturm-Liouville ODE is not in Sturm-Liouville form. iv Regular Sturm-Liouville note
Διαβάστε περισσότερα4.6 Autoregressive Moving Average Model ARMA(1,1)
84 CHAPTER 4. STATIONARY TS MODELS 4.6 Autoregressive Moving Average Model ARMA(,) This section is an introduction to a wide class of models ARMA(p,q) which we will consider in more detail later in this
Διαβάστε περισσότεραBlock Ciphers Modes. Ramki Thurimella
Block Ciphers Modes Ramki Thurimella Only Encryption I.e. messages could be modified Should not assume that nonsensical messages do no harm Always must be combined with authentication 2 Padding Must be
Διαβάστε περισσότεραST5224: Advanced Statistical Theory II
ST5224: Advanced Statistical Theory II 2014/2015: Semester II Tutorial 7 1. Let X be a sample from a population P and consider testing hypotheses H 0 : P = P 0 versus H 1 : P = P 1, where P j is a known
Διαβάστε περισσότεραΚληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1
Κληρονομικότητα Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Κληρονομικότητα 1 Ιεραρχίες Κλάσεων Στην Java (και γενικότερα στον αντικειμενοστραφή προγραμματισμό) μπορεί από μία να κλάση να δημιουργηθεί
Διαβάστε περισσότεραC.S. 430 Assignment 6, Sample Solutions
C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order
Διαβάστε περισσότεραΣυστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότερα