Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1
Ερώτηση 1 Ποια είναι η έξοδος των γραµµών του παρακάτω τµήµατος προγράµµατος? bc b c char a,b,c; a= b ; b= c ; c= a; System.out.println(a+ +b+ +c + c ); 2
Ερώτηση 2 Στο παρακάτω κοµµάτι κώδικα που µετατρέπει θερµοκρασίες από βαθµούς Celcius Fahrenheit, τι φαίνεται ότι δεν δουλεύει σωστά; double c = 20; double f; f = (9/5) * c + 32.0; Η ακέραια διαίρεση, η οποία δίνει πηλίκο ίσο µε 1. Άρα θα τυπώσει 52.00 3
Ερώτηση 3 Στο παρακάτω κοµµάτι κώδικα τι θα τυπωθεί στην οθόνη; int number; number = (1/3) * 3; (1/3)*3 is equal to 0 System.out.println( (1/3) * 3 is equal to + number); 4
Ερώτηση 4 Ποιο είναι το νόηµατηςπαρακάτωέκφρασης στη Java; Εάν την τυπώναµε στηνοθόνητι βλέπαµε; int x; 2 < x < 3; εν σηµατοδοτεί διάστηµα τιµών για το x. Εάν προσπαθούσαµενατην τυπώσουµε θα παρήγαγε µήνυµα σφάλµατος, γιατί πραγµατοποιείται boolean operation < µεταξύ του 2 και του x, καιαφούτοαποτέλεσµα είναι true ή false, δεν µπορούµε να συγκρίνουµε boolean µε int, δηλ., το boolean µε το3. 5
Ερώτηση 5 Προσδιόρισε την τιµή true ή false των παρακάτω εκφράσεων. int x, count=0; false false int y, limit=10; (count == 1) && (x < y);!(((count < 10) (x < y)) && (count >= 0)); 6
Ερώτηση 6 Υπάρχει λάθος στον παρακάτω κώδικα; Απαιτείται boolean τιµή if( -1 ) System.out.println( -1 is true ); else System.out.println( -1 is false ); 7
Ερώτηση 7 Ποια είναι η έξοδος του παρακάτω; int x = 10; while( x > 0 ) { System.out.println( x ); x -= 3; } 10 7 4 1 8
Ερώτηση 8 Ποια είναι η έξοδος του παρακάτω; int count = 3; while( count-- > 0 ) System.out.print( count + ); 2 1 0 9
Ερώτηση 9 Ποια είναι η έξοδος του παρακάτω; 2 1 int count = 3; while( --count > 0 ) System.out.print( count + ); 10
Ερώτηση 10 Ποια είναι η έξοδος του παρακάτω; int n = 1; do System.out.print( n + ); while( n++ <= 3 ); 1 2 3 4 11
Ερώτηση 11 Ποια είναι η έξοδος του παρακάτω; int n = 1; do System.out.print( n + ); while( ++n <= 3 ); 1 2 3 12
Ερώτηση 12 Ποια είναι η έξοδος του παρακάτω; int x = -42; do { System.out.println( x ); x = x 3; } while( x > 0 ); -42 13
Ερώτηση 13 Υπάρχει λάθος στον παρακάτω κώδικα; Εάν ναι, τότε ποιο είναι το λάθος; Εάν όχι, τότε ποια είναι η έξοδός του; int n = 1024, log = 0; for(int i=1; i<n; i*=2) log++; System.out.println( n + + log ); 1024 10 14
Ερώτηση 14 Υπάρχει λάθος στον παρακάτω κώδικα; Εάν ναι, τότε ποιο είναι το λάθος; Εάν όχι, τότε ποια είναι η έξοδός του; int n = 1024, log = 0; for(int i=1; i<n; i*=2); log++; System.out.println( n + + log ); 1024 1 15
Ερώτηση 15 Υπάρχει λάθος στον παρακάτω κώδικα; Εάν ναι, τότε ποιο είναι το λάθος; Εάν όχι, τότε ποια είναι η έξοδός του; int n = 1024, log = 0; for(int i=0; i<n; i*=2); log++; System.out.println( n + + log ); Ατέρµων βρόχος. Το i έχει πάντα τιµή 0 16
Ερώτηση 16 Ποια είναι η έξοδος του παρακάτω; int x = 10; while( x > 0 ) { System.out.println( x ); x = x + 3; } 10 13 16 19 22 Ατέρµων βρόχος 17
Ερώτηση 17 Ποια είναι η έξοδος του παρακάτω; for(int count=1; count<5; count++); System.out.print( 2*count + ); Η count είναι τοπική µεταβλητή στο βρόχο for 18
Ερώτηση 18 Ποια είναι η έξοδος του παρακάτω; for(int n=10; n>0; n=n-2) { System.out.print( Hello ); System.out.println( n ); } Hello10 Hello8 Hello6 Hello4 Hello2 19
Ερώτηση 19 Ποια είναι η έξοδος του παρακάτω; int x = 1; while( x!= 12 ) { System.out.println( x ); x = x + 2; } 1 3 5 7 9 11 13 Ατέρµων βρόχος 20
Ερώτηση 20 Ποια είναι η λειτουργία της παρακάτω συνάρτησης; Είναι αναδροµική και επιστρέφει τη δύναµη ενός ακεραίου µε ακέραιο εκθέτη 21
Ερώτηση 21 Υπάρχει λάθος στο διπλανό πρόγραµµα; εν υπάρχουν συναρτήσεις εκτός κλάσεων στη Java 22
Ερώτηση 22 Τι τυπώνει το παρακάτω πρόγραµµα; 22 4 23