Προγραμματισμός Η/Υ με Java

Τα posts που έγιναν κατά την διάρκεια του Ακαδημαϊκού Έτους 2016-2017 για τα προπτυχιακά μαθήματα.
efev2014
byte level
byte level
Posts: 99
Joined: Tue Oct 07, 2014 8:17 pm
Academic status: 3rd year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby efev2014 » Mon Jun 26, 2017 11:14 am

Καλημέρα, έχω μια απορία σχετικά με τα θέματα Ιουνίου 2012. Στο 3ο θέμα - 2ο υποερώτημα, η λύση που προτείνει ο κύριος Σύρης είναι η εξής:


Code: Select all

Store getStoreCheapest(String iname){
    Store storeCheapest=null;
    double priceCheapest=99999999.0;
    for (Store s: stores) 
      if (s.hasItem(iname) && s.getPrice(iname)<priceCheapest) { 
              storeCheapest=s; priceCheapest=s.getPrice(iname); }
    return storeCheapest;
  }


Εγώ σκέφτηκα αυτό εδω:

Code: Select all

Store getStoreCheapest(String iname){
    String tempName = null;
           Store s1; //Αυτό μάλλον είναι λάθος
           double min = s1.getPrice(String iname); //παίρνει την τιμή για ένα τυχαίο s1
      
         for(Store s : stores){
            if (s.hasItem(String iname)){
               if (s.getPrice<min){
                  min = s.getPrice;
                  tempName = s.getName
               }
            }
         }
   
               return tempName;
}


Είναι σωστό σαν σκέψη; Επίσης για ποιό λόγο να θεωρήσω ότι το min είναι 99999999.0 ? Δεν δίνεται πουθενά κάποιο δεδομένο για τα όρια των τιμών.

Ευχαριστώ
User avatar
pgetsos
Venus Former Team Member
Posts: 1187
Joined: Sun Oct 13, 2013 1:29 am
Academic status: MSc
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby pgetsos » Mon Jun 26, 2017 1:59 pm

double min = s1.getPrice(String iname)

Εδω που ξερεις οτι το s1.getPrice δε θα σου σκασει NullPointer? Για αυτο στο loop μεσα τσεκαρεις πρωτα if (s.hasItem(String iname))

H λογικη στο 99999999 ειναι οτι 100 εκ. ειναι αρκετα μεγαλο και αποκλειεται να βρεις κατι με τετοια αξια. Αν θες να εισαι και τυπικα σωστος, Double.MAX_VALUE θα βαλεις, αλλα και το 100εκ. ειναι, πρακτικα, μια κανονικη καλη τιμη

(Αν και σε τιμες κτλ γενικα δεν προτεινονται floating point values, αλλα αυτα ειναι για αλλη φορα, για το μαθημα αρκει :P )
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.

Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
User avatar
Georgilakis Antonios
Mbyte level
Mbyte level
Posts: 543
Joined: Mon Dec 02, 2013 11:10 pm
Academic status: MSc
Gender:
Location: Straight into your Mind

Re: Προγραμματισμός Η/Υ με Java

Postby Georgilakis Antonios » Mon Jun 26, 2017 7:17 pm

Code: Select all

Store s1;
double min = s1.getPrice(iname);

Console wrote:Error: variable s1 might not have been initialized.

Ενημερωτικά.
Spoiler: εμφάνιση/απόκρυψη
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
User avatar
pgetsos
Venus Former Team Member
Posts: 1187
Joined: Sun Oct 13, 2013 1:29 am
Academic status: MSc
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby pgetsos » Tue Jun 27, 2017 3:45 am

Ναι, είναι και αυτό :)
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.

Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Hazard
bit level
bit level
Posts: 14
Joined: Fri Oct 28, 2016 4:48 pm
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby Hazard » Fri Jun 30, 2017 5:47 pm

Θα ηθελα να ρωτησω σχετικα με τη βαθμολογηση του Συρη.Χρειαζομαι οπως το κοβω 2.5/4.5 στις ασκησεις θεμα Β,Γ για να περασω.Εχω κανει λαθη ομως τυπου εβαλα void αντι για boolean στι θεμα Γ,εκανα μερικα συντακτικα λαθη οπως να βαλω στο for την ανω κατω τελεια μπροστα απ τη πρωτη λεξη αντι για τη δευτερη κ.λ.π.Απο θεμα λογικης νομιζω οτι ειναι ενταξει ολες οι απαντησεις.Λετε να με περασει η κοβει πολυ?(Επισης αν μου βαλει 3.5 στο γραπτο το στρογγυλοποιει σε 4 η οχι?)Ευχαριστω.
User avatar
Georgilakis Antonios
Mbyte level
Mbyte level
Posts: 543
Joined: Mon Dec 02, 2013 11:10 pm
Academic status: MSc
Gender:
Location: Straight into your Mind

Re: Προγραμματισμός Η/Υ με Java

Postby Georgilakis Antonios » Sat Jul 01, 2017 11:20 pm

Το 3.5 θα παραμείνει.
Spoiler: εμφάνιση/απόκρυψη

"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist

Hazard
bit level
bit level
Posts: 14
Joined: Fri Oct 28, 2016 4:48 pm
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby Hazard » Sun Jul 02, 2017 4:22 pm

Καταλαβα.Παντως γενικα στη βαθμολογηση ειναι ελαστικος στις ασκησεις η κοβει κι αυτος οπως ο Τιτσιας?
User avatar
Georgilakis Antonios
Mbyte level
Mbyte level
Posts: 543
Joined: Mon Dec 02, 2013 11:10 pm
Academic status: MSc
Gender:
Location: Straight into your Mind

Re: Προγραμματισμός Η/Υ με Java

Postby Georgilakis Antonios » Sun Jul 02, 2017 7:13 pm

Hazard wrote:Καταλαβα.Παντως γενικα στη βαθμολογηση ειναι ελαστικος στις ασκησεις η κοβει κι αυτος οπως ο Τιτσιας?

Αυτό προσωπικά δεν το γνωρίζω, αλλά φαντάζομαι ότι θα υπάρχει τουλάχιστον μια μικρή ποινή για τα συντακτικά σφάλματα. Είναι όμως στην ευχέρεια του καθηγητή να κρίνει ποια από αυτά τα σφάλματα θεωρούνται σημαντικά λάθη για ένα προγραμματιστή, και ποια θεωρούνται "σχεδόν" ασήμαντα. (όσο αφορά διόρθωση κώδικα πάνω σε γραπτό, και έχοντας υπόψη ότι αυτός συντάχθηκε χωρίς την παρουσία υπολογιστή και, πόσο μάλλον, μεταγλωττιστή)
Spoiler: εμφάνιση/απόκρυψη

"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist

nikitas64
Buffer underflow exception
Buffer underflow exception
Posts: 1
Joined: Mon Jan 25, 2016 6:55 pm
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby nikitas64 » Sun Jul 02, 2017 7:35 pm

Αν υπάρχουν τιποτα θέματα-λυσεις του 17 παρακαλώ ανεβάστε τα αν είναι εύκολο
User avatar
chris-
bit level
bit level
Posts: 31
Joined: Sun Aug 28, 2016 8:45 pm

Re: Προγραμματισμός Η/Υ με Java

Postby chris- » Tue Jul 04, 2017 3:36 am

nikitas64 wrote:Αν υπάρχουν τιποτα θέματα-λυσεις του 17 παρακαλώ ανεβάστε τα αν είναι εύκολο

Υποθέτω θα ανέβουν σύντομα από τον ίδιο τον Σύρη στο e-class.
fox0077
byte level
byte level
Posts: 117
Joined: Sun Oct 09, 2016 2:19 pm
Academic status: 2nd year

Re: Προγραμματισμός Η/Υ με Java

Postby fox0077 » Sat Jul 22, 2017 5:00 pm

Τα θέματα του Σεπτεμβρίου είναι ίδια με του Ιουλίου; Πχ αν τον Ιούλιο έβαλε Γ θέμα άσκηση με γενεαλογικό δέντρο (findSiblings, addChildren, κλπ) θα το ξαναβάλει τον Σεπτέμβριο;
billk97
Buffer underflow exception
Buffer underflow exception
Posts: 2
Joined: Tue Nov 24, 2015 1:34 am
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby billk97 » Sat Sep 16, 2017 8:01 pm

Γεια σας μπορεί κάποιος να μου εξηγήσει πως ακριβός βγαίνει ?? το σκεπτικό .Μέσα στο χchange μπερδεύομαι .
Image
:) :)
User avatar
Funk
Venus Former Team Member
Posts: 1835
Joined: Wed Oct 06, 2010 10:29 pm
Gender:
Location: Korriban

Re: Προγραμματισμός Η/Υ με Java

Postby Funk » Sat Sep 16, 2017 10:28 pm

billk97 wrote:Γεια σας μπορεί κάποιος να μου εξηγήσει πως ακριβός βγαίνει ?? το σκεπτικό .Μέσα στο χchange μπερδεύομαι .
Image
:) :)

Λίγο απλοϊκά:
Όταν καλείται η xchange παίρνει ως παραμέτρους το 2, το οποίο περνάει στη μεταβλητή "int a" και το Test ob με τιμές (2,4).
ob.a = ob.a+ob.b; <<< Από τις τιμές του Test ob (2,4) κάνει την πρώτη (δηλ. το 2) ίση με το άθροισμα 2+4 (δηλ. 6)
ob.b = 2*ob.b; <<< Από τις τιμές του Τest ob (2,4) κάνει τη δεύτερη (δηλ. το 4) ίση με 2 επί τον εαυτό της (δηλ. 2*4 = 8)
a = ob.b; <<< Κάνει τη μεταβλητή a (δηλ. την int a) ίση με το ob.b, άρα την τιμή από την προηγούμενη γραμμή (δηλ. 8)

Στο τέλος τυπώνει τις τιμές του Test ob. (Η μεταβλητή a δεν τυπώνεται πουθενά, ούτε επηρεάζει τις τιμές του Test ob)
Educate yourself. In time· share what you have learned.
shrinked imageshrinked image
Hazard
bit level
bit level
Posts: 14
Joined: Fri Oct 28, 2016 4:48 pm
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby Hazard » Tue Sep 19, 2017 12:38 pm

Καλησπερα.Το τελευταιο θεμα του Σεπτεμβρη ειχε ListNode που δεν ειχαν ξαναπεσει απ το 2009 και μας ηρθε πολυ αποτομο.Εγω προσωπικα θελω 1/2.1 εκει για να περασω το μαθημα και θελω να ρωτησω σχετικα με τη διορθωση.Πρωτη φορα εβαλε ασκηση με ξεχωριστη λιστα "l" οποτε ενα λαθος που σκεφτηκα ειναι οτι στο loop εβαλα l.length(),γιατι δεν εχει σταθερο μηκος η λιστα.Εβαλα και l.firstNode.getNext() για να προχωραει το firstNode συνεχως το οποιο στο stackoverflow βλεπω πως ειναι σωστο.Κατα τ αλλα θεωρω οτι εκανα ολα οσα μου ζηταγε σαν θεμα με μερικα λαθακια παραπλησια βιασυνης.Βαζει γενικα βαθμους για προσπαθεια και σωστη σκεψη και μερικως ορθη επιλυση η το κοβει ολο?(Ποσο μαλλον σε θεμα που ειχε να πεσει απ το 2009 και ακομα σε πιο δυσκολη μορφη...)
billk97
Buffer underflow exception
Buffer underflow exception
Posts: 2
Joined: Tue Nov 24, 2015 1:34 am
Academic status: 1st year
Gender:

Re: Προγραμματισμός Η/Υ με Java

Postby billk97 » Wed Sep 20, 2017 4:42 pm

ok το κατάλαβα thanks

Return to “Ακαδημαϊκό Έτος 2016-2017”

Who is online

Users browsing this forum: No registered users and 0 guests