I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1
ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2
ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3) 3
ΦΥΛΛΟ (ΣΕΙΡΑ Β) Μέρος Α. Οι ερωτήσεις αυτού του θέματος είναι βαθμολογικά ισοδύναμες. Για κάθε λανθασμένη απάντηση ΑΦΑΙΡΕΙΤΑΙ το 1/4 της βαθμολογίας της. Αναπάντητες ερωτήσεις, προφανώς, δεν έχουν επίπτωση στη βαθμολόγηση. ΕΡΩΤΗΜΑ 1: Ο αριθμός 49 (10) σε ποιον αριθμό του δυαδικού συστήματος αντιστοιχεί; 101010 (2). 100001 (2). 111001 (2). 110001 (2). Διαφορετικό. ΕΡΩΤΗΜΑ 2: Εστω αναπαράσταση αριθμών κινητής υποδιαστολής με 2-ψήφιο f και 3-ψηφίο e. Ποιο ζεύγος αριθμών ανήκει σ αυτήν; (3.13, 0.1331). (2.3, 0.41). (161.12, 2.5). (0.146, 0.20). Διαφορετικό. ΕΡΩΤΗΜΑ 3: Ποια συνάρτηση υλοποιεί η παρακάτω μέθοδος; f(n) = n!. f(n) = (n 1)!. f(n) = n(n 1). f(n) = (n!) 2. Διαφορετικό. public static int fact(int n) int p=1; if (n>1) p=n*fact(n+1); return p; ΕΡΩΤΗΜΑ 4: Τι εμφανίζει το παρακάτω πρόγραμμα Java; public class JavaBasics public static void main(string[] args) int N = 3; String r = "+"; for (int i = 1; i <= N; i++) if ((i % 2) == 0) r = r + i + r; else r = i + r + i; System.out.println(r); 1+121+131+121+1 31+121+13 15 4
Το πρόγραμμα θα τερματίσει με λάθος κατά την εκτέλεση Τίποτα από τα προηγούμενα ΕΡΩΤΗΜΑ 5: Πόσες γραμμές (κλήσεις στην System.out.println()) θα εμφανίσει το παρακάτω τμήμα κώδικα; 4 0 1 5 100 for (int i = 0; i < 100; 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==0) System.out.print("A "); else if (j==0) System.out.print("B "); else System.out.print(". "); System.out.println(); A... B. A. B.. B. A. B... A A... B. A. B... B... B. A. B... A A B B B. B A B. B B B. B B B. B A B. B B B A B... A. B. A... B... A. B. A... B 5
B B A B B ΕΡΩΤΗΜΑ 7: Ο κατασκευαστής (constructor) μιας κλάσης είναι: μία ειδική μέθοδος που καλείται κατά την μεταγλώττιση της κλάσης μία ειδική μέθοδος για τη δημιουργία αντικειμένων της κλάσης το ίδιο με το αντικείμενο μιας κλάσης μία ειδική μέθοδος για τη δημιουργία private μεταβλητών της κλάσης τίποτε από τα παραπάνω. ΕΡΩΤΗΜΑ 8: Εστω b ένας τετραγωνικός δισδιάστατος πίνακας. Τι εκτυπώνει ο ακόλουθος κώδικας; for (int i=0; i<b.length; i++) for (int j=0; j<b[0].length; j++) if (i==j) System.out.println(b[i][j]*b[i][j]); το τετράγωνο των στοιχείων της κύριας διαγωνίου του b τα στοιχεία του b στη μορφή πίνακα (ανά γραμμές και στήλες) το τετράγωνο των στοιχείων του b σε μορφή πίνακα το τετράγωνο των δεικτών των στοιχείων της κύριας διαγωνίου του b τίποτε από τα παραπάνω. ΕΡΩΤΗΜΑ 9: Τι είναι τα x, y, z, και a στον ακόλουθο κώδικα; public class x y z = new y(); public int a(int b) return z.c(b); το x κλάση, το y μέθοδος, το z μεταβλητή και το a μέθοδος το x κλάση, το y κλάση, το z αντικείμενο και το a μέθοδος το x κλάση, το y αντικείμενο, το z μέθοδος και το a μέθοδος το x αντικείμενο, το y κλάση, το z μεταβλητή και το a κατασκευαστής κανένας από τους παραπάνω συνδυασμούς. ΕΡΩΤΗΜΑ 10: Με βάση τον ακόλουθο κώδικα, ποιος είναι ο ορισμός της μεθόδου c στην κλάση στην οποία βρίσκεται; public class x y z = new y(); public int a(int b) return z.c(b); public void c(int v) 6
private int c(int v) public int c() public double c(int v) κανένας από τους παραπάνω. Μέρος Β. Να γράψετε (στο φύλλο των απαντήσεων ) κλάση Bar που να περιλαμβάνει: (α) Μέθοδο iseven() που να ελέγχει αν το όρισμά της είναι άρτιος. (β) Μέθοδο all() που να δέχεται σαν παράμετρο ένα μονοδιάστατο πίνακα με boolean τιμές και να επιστρέφει true αν όλα τα στοιχεία του είναι true. (γ) Μέθοδο main() που να διαβάζει από το πληκτρολόγιο τη διάσταση ένος μονοδιάστατου πίνακα ακεραίων, να τον δημιουργεί, να διαβάζει (πάλι από το πληκτρολόγιο) τις τιμές των στοιχείων του και στη συνέχεια να δημιουργεί ένα boolean πίνακα ίσης διάστασης, με τιμές false στις θέσεις περιττών και true στις θέσεις των αρτίων (χρησιμοποιώντας την iseven()). Τέλος η μέθοδός σας να καλεί την all() και να εμφανίζει στην οθόνη αν όλα τα στοιχεία του πίνακα εισόδου είναι άρτιοι. Να γραφεί (στο φύλλο των απαντήσεων ) μέθοδος που: 1. να δέχεται σαν παράμετρο εισόδου έναν ακέραιο αριθμό m, 2. να δημιουργεί δισδιάστατο τετραγωνικό πίνακα ακέραιων τιμών, μεγέθους m m, 3. να αρχικοποιεί το κάθε στοιχείο του κάτω τριγωνικού μέρους του πίνακα σε τιμή ίση με το γινόμενο των δεικτών της γραμμής του επί της στήλης του, και 4. να επιστρέφει τον δισδιάτατο πίνακα. Π.χ., ο πίνακας που δημιουργείται για m = 5, έχει τα εξής στοιχεία: 0 0 0 0 0 0 1 0 0 0 0 2 4 0 0 0 3 6 9 0 0 4 8 12 16 Καλή επιτυχία, Μιχάλης Χ. Δρακόπουλος Δημήτριος Μ. Θηλυκός Μαριλένα Μητρούλη Ντίνος Φερεντίνος 7