Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Posted: Tue Jan 31, 2017 12:54 am
Το τελευταίο γιατί 28; Μόνο την τιμή του c1 δεν αλλάξαμε;Georgilakis Antonios wrote:(A) Console Output:
Code: Select all
25 0 25 25 28 28
Online κοινότητα των φοιτητών Πληροφορικής του Ο.Π.Α.
https://venus.cs.aueb.gr/
Το τελευταίο γιατί 28; Μόνο την τιμή του c1 δεν αλλάξαμε;Georgilakis Antonios wrote:(A) Console Output:
Code: Select all
25 0 25 25 28 28
Πρόσεχε:chris- wrote:Το τελευταίο γιατί 28; Μόνο την τιμή του c1 δεν αλλάξαμε;
Code: Select all
c2 = c1;
Σωστός, σωστός.Georgilakis Antonios wrote: Πρόσεχε:
Code: Select all
c2 = c1;
Code: Select all
int[] a = { 1, 2, 3 };
int[] b = { 1, 2, 3 };
println(a == b);
Θα τυπώσει false γιατί αν και έχουν ίδια περιεχόμενα, είναι διαφορετικά αντικείμενα που βρίσκονται σε διαφορετικές θέσεις μνήμης.fox0077 wrote:@Georgilakis Antonios σε ευχαριστω πολυ!!! Για καποιο λογο οταν τρεχω προγραμματα με arrays μου βγαζει διαφορα error... :/ Στην ερωτηση:
Τι εμφανίζει το παρακάτω απόσπασμα προγράμματος και γιατί;
int[] a = { 1, 2, 3 };
int[] b = { 1, 2, 3 };
println(a == b);
Η απαντηση μηπως ειναι true επειδη τα στοιχεια του πινακα ειναι ιδια;
Code: Select all
println(a == b); // Τυπώνει 'false'.
println(a.equals(b)); // Τυπώνει και αυτό 'false'.
===================================================================================================
import java.util.Arrays;
// ...
println(Arrays.equals(a, b)); // Τυπώνει 'true', δεν λειτουργεί για arrays 2 διαστάσεων και πάνω.
Code: Select all
import acm.program.*;
public class ask1 extends Program {
public void run() {
int x = 1;
incr(x);
println(x);
}
void incr(int a) {
a++;
println(a);
}
}
Code: Select all
2
1
Code: Select all
import acm.program.*;
public class ask2 extends Program {
public void run() {
int[] x= {1, -1}
incr(x);
println(x[0]);
}
void incr(int[a]) {
a[0]++;
println(a[0]);
}
}
Code: Select all
2
2
ευχαριστω! ξερετε κανενα λινκ που να τα λεει ολα σχετικα με τους τελεστες προσαυξησης γιατι με μπερδευουν ολες οι συναφεις διαφοροποιησεις;kras wrote:Στην Java τα arrays είναι αντικείμενα. Όταν περνάς σαν παράμετρο τη x στο δεύτερο πρόγραμμα, περνάς μια αναφορά προς τον πίνακα x.
https://docs.oracle.com/javase/tutorial ... s/op1.htmlHermes wrote:ξερετε κανενα λινκ που να τα λεει ολα σχετικα με τους τελεστες προσαυξησης γιατι με μπερδευουν ολες οι συναφεις διαφοροποιησεις;
Σου φαίνεται περίπλοκο επειδή πρέπει πρώτα να μάθεις την προτεραιότητα των τελεστών πριν προχωρίσεις παρακάτω. Δεν υπάρχει υπολογιστής που να υπολογίζει παραστάσεις όπως οι παραπάνω σε ένα βήμα, αλλά παράγονται εντολές που υπολογίζουν ενδιάμεσα αποτελέσματα πρώτα, και στο τέλος υπολογίζεται το final result. Ο τρόπος που θα παραχθούν τα ενδιάμεσα αποτελέσματα καθορίζεται από τους τελεστές που θα εκτελεστούν πρώτοι, κατόπιν οι επόμενοι... κ.λπ., ώστε να συντεθεί το αποτέλεσμα.Hermes wrote:οχι, ψαχνω κατι που να εξηγει τα πιο περιπλοκα, οπως αυτο
int x = 5, y = 10;
x-=--y;
int a = y++*y--%y;
println(x);
println("msg"+x+y);
println(a);
ετσι περιπλοκα που εχει τους τελεστες και παρολο που μου εξηγησες δεν καταλαβα :/
Code: Select all
int a = y++ * y-- % y;
Code: Select all
int a = 10 * y-- % y; // Το y τώρα είναι 11.
Code: Select all
int a = 10 * 11 % y; // Το y τώρα είναι 10.
Code: Select all
int a = 110 % 10;
Code: Select all
int a = 0;
Code: Select all
int x -= --y;
Code: Select all
int x -= 10;
Code: Select all
int x = 30 - 10; // int x -= 10;
Code: Select all
public void run() {
println(This program shows the number of days in a month.");
int month = readInt("Enter numeric month (Jan=1): ");
switch (month) {
case 2:
println("28 days (29 in leap years)");
break;
case 4: case 6: case 9: case 12:
println("30 days");
break;
case 1: case 3: case 5: case 7: case 8: case 11:
println("31 days");
break;
default:
println("Illegal month number");
break;
}
}
Code: Select all
for( ; ;)
;
println(“hello”);
(A) Θα εκτυπωθεί το ανάλογο κείμενο σύμφωνα και με το case που εμπίπτει ο αριθμός, συν όλα τα υπόλοιπα από εκεί και κάτω μέχρι το τέλος του switch statement.fox0077 wrote:Τι θα συμβει αν βγαλουμε τα breaks;
Και δευτερον, (ανεξαρτητο ερωτημα), τι θα συμβει στον παρακατω κωδικα;Code: Select all
public void run() { println(This program shows the number of days in a month."); int month = readInt("Enter numeric month (Jan=1): "); switch (month) { case 2: println("28 days (29 in leap years)"); break; case 4: case 6: case 9: case 12: println("30 days"); break; case 1: case 3: case 5: case 7: case 8: case 11: println("31 days"); break; default: println("Illegal month number"); break; } }
Code: Select all
for( ; ;) ; println(“hello”);
Code: Select all
while (true) // while (true);
{ }
println(“hello”);
Μέχρι στιγμής τουλάχιστον, δεν έχει πει κάτι τέτοιο. Στην εργαστηριακή εξέταση, ωστόσο, επιτρέπεται βιβλίο.Everett Lake wrote:Ξέρουμε αν επιτρέπεται κόλλα Α4?
Αυτό το γράφει κάπου στο eclass σε ανακοίνωση ή σε εγγραφο ή το έχουν πει οι καθηγητές;chris- wrote:Μέχρι στιγμής τουλάχιστον, δεν έχει πει κάτι τέτοιο. Στην εργαστηριακή εξέταση, ωστόσο, επιτρέπεται βιβλίο.Everett Lake wrote:Ξέρουμε αν επιτρέπεται κόλλα Α4?
alex_matthes wrote:Αυτό το γράφει κάπου στο eclass σε ανακοίνωση ή σε εγγραφο ή το έχουν πει οι καθηγητές;chris- wrote:Μέχρι στιγμής τουλάχιστον, δεν έχει πει κάτι τέτοιο. Στην εργαστηριακή εξέταση, ωστόσο, επιτρέπεται βιβλίο.Everett Lake wrote:Ξέρουμε αν επιτρέπεται κόλλα Α4?
Ημερομηνία: 2017-01-20 18:56:18
Το πρόγραμμα της εξέτασης εργαστηρίου έχει αναρτηθεί στα έγγραφα του μαθήματος. Στη συγκεκριμένη εξέταση μπορείτε να έχετε μαζί σας μόνο το βιβλίο.
11Mickey wrote:Οσον αφορα τις tricky ερωτησεις, οταν εχουμε: println("a result is "+1+1) εμφανίζει δύο ή έντεκα;