I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1
ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2
ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3) 3
ΦΥΛΛΟ (ΣΕΙΡΑ Α) Μέρος Α. Οι ερωτήσεις αυτού του θέματος είναι βαθμολογικά ισοδύναμες. Για κάθε λανθασμένη απάντηση ΑΦΑΙΡΕΙΤΑΙ το 1/4 της βαθμολογίας της. Αναπάντητες ερωτήσεις, προφανώς, δεν έχουν επίπτωση στη βαθμολόγηση. ΕΡΩΤΗΜΑ 1: Ο αριθμός 37 (10) σε ποιον αριθμό του δυαδικού συστήματος αντιστοιχεί; 100010 (2). 100101 (2). 111000 (2). (Δ) 110110 (2). Διαφορετικό. ΕΡΩΤΗΜΑ 2: Εστω αναπαράσταση αριθμών κινητής υποδιαστολής με 2-ψήφιο f και 3-ψηφίο e. Ποιο ζεύγος αριθμών ανήκει σ αυτήν; (3.12, 0.1231). (151.32, 1.5). (1.2, 0.31). (Δ) (0.156, 0.10). Διαφορετικό. ΕΡΩΤΗΜΑ 3: Ποια συνάρτηση υλοποιεί η παρακάτω μέθοδος; f(n) = n! 1. f(n) = (n 1)!. f(n) = n(n 1). (Δ) f(n) = n! n. public static int fact(int n) int p=1; if (n>1) p=(n-1)*fact(n-1); return p; Διαφορετικό. ΕΡΩΤΗΜΑ 4: Τι εμφανίζει το παρακάτω πρόγραμμα Java; public class JavaBasics public static void main(string[] args) boolean b = (((13 > 0) (4 < 3) && (21%7 == 0))); System.out.println(b); int c; for (c=0; c < 10; c++) c = c + 3; System.out.println(c); String d0 = " "; String d1 = "1" + d0 + "0" + d0 + "1"; String d2 = "0" + d1 + "1" + d1 + "0"; System.out.println(d2); 4
false 12 01 0 110 0 10 false 12 01 0 111 0 10 true 30 01 0 111 0 10 (Δ) true 12 01 0 111 0 10 false 33 01 0 111 0 10 ΕΡΩΤΗΜΑ 5: Πόσες γραμμές (κλήσεις στην System.out.println()) θα εμφανίσει το παρακάτω τμήμα κώδικα; 4 0 1 (Δ) 5 100 for (int i = 0; i < 100; i++) i = i*i*i; System.out.println("Πληροφορική Ι"); ΕΡΩΤΗΜΑ 6: Τι από τα παρακάτω εμφανίζει το παρακάτω πρόγραμμα για Ν = 2; import java.util.*; public class Pattern public static void main(string[] args) Scanner in = new Scanner(System.in); int N = in.nextint(); for (int j=-n; j<=n; j++) for (int i=-n; i<=n; i++) if (i==j) System.out.print("A "); else if (i==-j) System.out.print("B "); else System.out.print(". "); System.out.println();.. B.... B.. 5
(Δ).. B.. B B A B B ΕΡΩΤΗΜΑ 7: Ο κατασκευαστής (constructor) μιας κλάσης καλείται όταν: (Δ) γίνεται μεταγλώττιση της κλάσης από τον μεταγλωττιστή της Java καλείται κάποια public μέθοδος της κλάσης δημιουργείται κάποια private μεταβλητή μέσα στην κλάση δημιουργείται ένα αντικείμενο της κλάσης σε καμμία από τις παραπάνω περιπτώσεις. ΕΡΩΤΗΜΑ 8: Εστω a ένας τετραγωνικός δισδιάστατος πίνακας. Τι εκτυπώνει ο ακόλουθος κώδικας; for (int i=0; i<a.length; i++) for (int j=0; j<a[0].length; j++) if (i==j) System.out.println(a[i][j]); (Δ) τα στοιχεία του a στη μορφή πίνακα (ανά γραμμές και στήλες) τα στοιχεία της κύριας διαγωνίου του a τους δείκτες των στοιχείων του a στη μορφή πίνακα (ανά γραμμές και στήλες) τους δείκτες των στοιχείων της κύριας διαγωνίου του a τίποτε από τα παραπάνω. ΕΡΩΤΗΜΑ 9: Τι είναι τα a, b, c και d στον ακόλουθο κώδικα; public class a b c = new b(); public int d(int e) return c.g(e); (Δ) το a κλάση, το b μέθοδος, το c μεταβλητή και το d μέθοδο το a αντικείμενο, το b κλάση, το c μεταβλητή και το d κατασκευαστής το a κλάση, το b κλάση, το c αντικείμενο και το d μέθοδος το a κλάση, το b αντικείμενο, το c μέθοδος και το d μέθοδος κανένας από τους παραπάνω συνδυασμούς. 6
ΕΡΩΤΗΜΑ 10: Με βάση τον ακόλουθο κώδικα, ποιος είναι ο ορισμός της μεθόδου g στην κλάση στην οποία βρίσκεται; public class a b c = new b(); public int d(int e) return c.g(e); public void g(int x) private int g(int x) public int g() (Δ) public double g(int x) Μέρος Β. κανένας από τους παραπάνω Να γράψετε (στο φύλλο των απαντήσεων ) κλάση Foo που να περιλαμβάνει: (α) Μέθοδο isodd() που να ελέγχει αν το όρισμά της είναι περιττός (β) Μέθοδο any() που να δέχεται σαν παράμετρο ένα μονοδιάστατο πίνακα με boolean τιμές και να επιστρέφει true αν τουλάχιστον ένα από τα στοιχεία του πίνακα είναι true. (γ) Μέθοδο main() που να διαβάζει από το πληκτρολόγιο τη διάσταση ένος μονοδιάστατου πίνακα ακεραίων, να τον δημιουργεί, να διαβάζει (πάλι από το πληκτρολόγιο) τις τιμές των στοιχείων του και στη συνέχεια να δημιουργεί ένα boolean πίνακα ίσης διάστασης, με τιμές true στις θέσεις περιττών και false στις θέσεις των αρτίων (χρησιμοποιώντας την isodd()). Τέλος η μέθοδος σας να καλεί την any() και να εμφανἰζει στην οθόνη αν ο πίνακας εισόδου περιέχει τουλάχιστον ένα περιττό αριθμό. Να γράψετε (στο φύλλο των απαντήσεων) μέθοδο που: 1. να δέχεται σαν παράμετρο εισόδου έναν ακέραιο αριθμό n, 2. να δημιουργεί δισδιάστατο τετραγωνικό πίνακα ακέραιων τιμών, μεγέθους n n, 3. να αρχικοποιεί το κάθε στοιχείο του άνω τριγωνικού μέρους του πίνακα σε τιμή ίση με το γινόμενο των δεικτών της γραμμής του επί της στήλης του, και 4. να επιστρέφει τον δισδιάτατο πίνακα. Π.χ., ο πίνακας που δημιουργείται για n = 5, έχει τα εξής στοιχεία: 0 0 0 0 0 0 1 2 3 4 0 0 4 6 8 0 0 0 9 12 0 0 0 0 16 Καλή επιτυχία, Μιχάλης Χ. Δρακόπουλος Δημήτριος Μ. Θηλυκός Μαριλένα Μητρούλη Ντίνος Φερεντίνος 7