Εργασία 2 και 3 (Moodle) [2014-2015]

Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 28 Νοέμ 2014, 20:46

Εδώ μπορείτε να υποβάλετε ερωτήσεις σχετικά με την 2η και την 3η εργασία.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό alekos94 » 29 Νοέμ 2014, 13:46

•Ο πίνακας που δίνεται ως όρισμα μπορεί να έχει πολλαπλές φορές το ίδιο στοιχείο και θα πρέπει ο αλγόριθμος να δουλεύει και σε αυτές τις περιπτώσεις.
Τι εννοείτε να δουλεύει ο αλγόριθμος και σε αυτές τις περιπτώσεις; Παρακάτω ζητάει μόνο την πρώτη ευρεθείσα ομάδα. Αν η πρώτη τριπλή ομάδα είναι πχ 654 653 652 μας ενδιαφέρει αν θα έχει το 654 ξανά;
Η ερώτησή μου αφορά την αναζήτηση διαδοχικών ακεραίων
alekos94
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 28 Οκτ 2012, 22:55

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 29 Νοέμ 2014, 17:39

alekos94 έγραψε:•Ο πίνακας που δίνεται ως όρισμα μπορεί να έχει πολλαπλές φορές το ίδιο στοιχείο και θα πρέπει ο αλγόριθμος να δουλεύει και σε αυτές τις περιπτώσεις.
Τι εννοείτε να δουλεύει ο αλγόριθμος και σε αυτές τις περιπτώσεις; Παρακάτω ζητάει μόνο την πρώτη ευρεθείσα ομάδα. Αν η πρώτη τριπλή ομάδα είναι πχ 654 653 652 μας ενδιαφέρει αν θα έχει το 654 ξανά;
Η ερώτησή μου αφορά την αναζήτηση διαδοχικών ακεραίων

Από την πλευρά μας, προσπαθούμε να προλάβουμε την περίπτωση που κάποιος θα θεωρήσει (λανθασμένα) ότι τα στοιχεία είναι μοναδικά. Αν το κάνει κάποιος, μπορεί στη συνέχεια να το λάβει αυτό υπόψιν στην υλοποίηση του αλγορίθμου και μετά ο αλγόριθμός να μην λειτουργεί σωστά όταν θα εμφανιστούν πολλαπλές φορές κάποια στοιχεία.
Έτσι, διευκρινίζουμε ότι υπάρχει περίπτωση να εμφανιστεί το ίδιο στοιχείο πολλαπλές φορές, και ότι αυτό δεν θα πρέπει να δημιουργεί πρόβλημα στην υλοποίησή σας.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό virusx2 » 02 Δεκ 2014, 01:33

Αν θέλουμε μπορούμε στον κώδικα που θα βάλουμε στο moodle να κάνουμε import κάποιες βιβλιοθήκες (εσωτερικές της java εννοώ) ?
π.χ import java.math.*;
Άβαταρ μέλους
virusx2
Jr. Member
 
Δημοσιεύσεις: 93
Εγγραφή: 15 Δεκ 2010, 02:18

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό petris » 02 Δεκ 2014, 01:35

Στην άσκηση Simple Intiger Stack αναφέρεται ότι όταν η στοίβα είναι άδεια τότε η εντολή top επιστρέφει τιμή -1. Ουσιαστικά ο πίνακας θα πρέπει πρώτα να αρχικοποιηθεί και μόλις αρχικοποιηθεί από τον κατασκευαστή, ας πούμε με maxSize 3, τότε δημιουργείται ένας πίνακας με 3 θέσεις και αυτές αυτόματα παίρνουν τιμές μηδέν λόγω της αρχικοποίησης. Επομένως εμείς μπορούμε να διαβάζουμε στοιχεία ακόμα και όταν δεν έχουμε προσθέσει κάποιο στοιχείο. Εννοώ ότι χωρίς να χρησιμοποιήσω την push ο πίνακας έχει ήδη στοιχεία. μπορείτε να διευκρινίσετε τι ακριβώς εννοείται όταν λέτε ότι είναι άδεια μία στοίβα??
petris
Newbie
 
Δημοσιεύσεις: 7
Εγγραφή: 10 Δεκ 2012, 20:32

Δημοσίευσηαπό male » 02 Δεκ 2014, 02:01

1.Για να περάσουμε την εργασία θέλει να πάρουμε 15/30 μονάδες ;

2.Αν πάρουμε 30/30 θα υπάρξει κάποιο bonus;
male
Newbie
 
Δημοσιεύσεις: 33
Εγγραφή: 24 Οκτ 2012, 12:33

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 10:25

virusx2 έγραψε:Αν θέλουμε μπορούμε στον κώδικα που θα βάλουμε στο moodle να κάνουμε import κάποιες βιβλιοθήκες (εσωτερικές της java εννοώ) ?
π.χ import java.math.*;

Ναι, μπορείτε να βάλετε ό,τι imports θέλετε, αρκεί να μην είναι από εξωτερικές βιβλιοθήκες, δηλαδή αρκεί να μην απαιτούν επιπλέον jars.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 10:34

petris έγραψε:Στην άσκηση Simple Intiger Stack αναφέρεται ότι όταν η στοίβα είναι άδεια τότε η εντολή top επιστρέφει τιμή -1. Ουσιαστικά ο πίνακας θα πρέπει πρώτα να αρχικοποιηθεί και μόλις αρχικοποιηθεί από τον κατασκευαστή, ας πούμε με maxSize 3, τότε δημιουργείται ένας πίνακας με 3 θέσεις και αυτές αυτόματα παίρνουν τιμές μηδέν λόγω της αρχικοποίησης. Επομένως εμείς μπορούμε να διαβάζουμε στοιχεία ακόμα και όταν δεν έχουμε προσθέσει κάποιο στοιχείο. Εννοώ ότι χωρίς να χρησιμοποιήσω την push ο πίνακας έχει ήδη στοιχεία. μπορείτε να διευκρινίσετε τι ακριβώς εννοείται όταν λέτε ότι είναι άδεια μία στοίβα??


Υπάρχουν δύο έννοιες περιεχομένου δομής δεδομένων:
- Πόσα "πραγματικά" στοιχεία περιέχει η εκάστοτε δομή δεδομένων (όχι μόνο στοίβα), δηλαδή πόσα στοιχεία έχει τοποθετήσει μέσα της ο χρήστης της.
- Πόσα δεδομένα δεσμεύει "κρυφά" η δομή δεδομένων για την αποθήκευση στοιχείων του χρήστη. Αυτά δεν πρέπει να είναι ορατά στον χρήστη της δομής.

Για παράδειγμα, έστω ότι εγώ έχω μια ειδική έκδοση πίνακα, η οποία για λόγους απόδοσης, πάντα δεσμεύει περιοχές μνήμης που είναι πολλαπλάσια των 4096 bytes. Αν ο χρήστης ζητήσει να δεσμεύσει 61 bytes, η δομή μου εσωτερικά θα δεσμεύει 4096, αλλά στον χρήστη θα επιτρέπει να προσπελάσει μόνο 61 από αυτά. Αντίστοιχα, αν ο χρήστης ζητήσει 5000 bytes, η δομή θα δεσμεύσει 8192, αλλά θα εμφανίζει μόνο τα 5000.

Σε όλες τις δομές όπου χρειάζεται κάτι τέτοιο (και η στοίβα με υλοποίηση πίνακα από κάτω είναι μια τέτοια περίπτωση), πρέπει αυτός που υλοποιεί την δομή να καταγράφει εσωτερικά ποιο μέρος της εσωτερικής μνήμης είναι ορατό στον χρήστη. Χρειάζεται, λοιπόν, να κάνεις εσύ κάτι παραπάνω για να ξέρεις ποιο τμήμα του πίνακά σου χρησιμοποιείται πραγματικά από τον χρήστη.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re:

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 10:37

male έγραψε:1.Για να περάσουμε την εργασία θέλει να πάρουμε 15/30 μονάδες ;

2.Αν πάρουμε 30/30 θα υπάρξει κάποιο bonus;


Δεν περνάτε την Εργασία 2 και την Εργασία 3 ανεξάρτητα. Οι μονάδες που θα συγκεντρώσετε από τις δύο εργασίες αθροίζονται απλά και αν είναι περισσότερες από 60/100 περνάτε, αν όχι, δεν περνάτε. Δεν έχει διαφορά (πέρα από περισσότερες γνώσεις για εσάς) το να επιτύχετε μεγαλύτερο βαθμό από 60/100.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό virusx2 » 02 Δεκ 2014, 17:10

Αν τα τεστ μας βγάζουν σωστά αποτελέσματα (όλα σωστά, πράσινο) δεν έχει σημασία ο τρόπος υλοποίησης του αλγορίθμου, σωστά?
Άβαταρ μέλους
virusx2
Jr. Member
 
Δημοσιεύσεις: 93
Εγγραφή: 15 Δεκ 2010, 02:18

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό alehunter » 02 Δεκ 2014, 18:52

virusx2 έγραψε:Αν τα τεστ μας βγάζουν σωστά αποτελέσματα (όλα σωστά, πράσινο) δεν έχει σημασία ο τρόπος υλοποίησης του αλγορίθμου, σωστά?

ΝΑΙ ΣΩΣΤΑ 8)
αν τρεχει τελειωσες ακομα και να ειναι ο χειροτερος κωδικας τ κοσμου.δεν υπαρχει κριτηριο αποδοτικοτητας κτλπ O0
Άβαταρ μέλους
alehunter
Hero Member
 
Δημοσιεύσεις: 1527
Εγγραφή: 24 Δεκ 2011, 01:33
Τοποθεσία: ακριβώς εκεί που θες να 'μαι
Φοιτητής ΗΜΜΥ: Ναι

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 19:13

alehunter έγραψε:
virusx2 έγραψε:Αν τα τεστ μας βγάζουν σωστά αποτελέσματα (όλα σωστά, πράσινο) δεν έχει σημασία ο τρόπος υλοποίησης του αλγορίθμου, σωστά?

ΝΑΙ ΣΩΣΤΑ 8)
αν τρεχει τελειωσες ακομα και να ειναι ο χειροτερος κωδικας τ κοσμου.δεν υπαρχει κριτηριο αποδοτικοτητας κτλπ O0

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

Κριτήριο αποδοτικότητας, πάντως, υπάρχει, σας το ανέφερα στο φροντηστηριακό μάθημα, 200 millisecond, ανά test. Άρα αν μια εργασία έχει 30 tests, έχετε 200 ms για καθένα από αυτά τα tests. Πρακτικά, για να ξεπεράσετε τα 200ms πρέπει να προσπαθήσετε να φτιάξετε κακή υλοποίηση δεδομένων των προβλημάτων που έχετε να λύσετε.

Επιπλέον, είναι πρόβλημα να κάνετε αντιγραφή/plagiarism, αλλά το θεωρούσα δεδομένο ότι αυτό είναι αυτονόητο :)
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό dimitris12 » 02 Δεκ 2014, 19:28

όταν τρέχω τον κώδικα στο Eclipse και βλέπω πως υπάρχει κάποιο λάθος , ενώ έχω επιλέξει το τεστ που εχει λαθος δεν μου επιτρέπει να πατήσω το κουμπάκι "Compare Actual With Expected Test Result". Είναι γκριζαρισμένο και δεν μπορώ να το πατήσω. Τι φταίει και τι να κάνω για να το διορθώσω;
dimitris12
Newbie
 
Δημοσιεύσεις: 20
Εγγραφή: 10 Νοέμ 2012, 16:47

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 20:15

dimitris12 έγραψε:όταν τρέχω τον κώδικα στο Eclipse και βλέπω πως υπάρχει κάποιο λάθος , ενώ έχω επιλέξει το τεστ που εχει λαθος δεν μου επιτρέπει να πατήσω το κουμπάκι "Compare Actual With Expected Test Result". Είναι γκριζαρισμένο και δεν μπορώ να το πατήσω. Τι φταίει και τι να κάνω για να το διορθώσω;


Απ' όσο βλέπω, είναι Bug του Eclipse και του JUnit (https://bugs.eclipse.org/bugs/show_bug.cgi?id=163309), οπότε δεν μπορείς να κάνεις πολλά. Πρακτικά, αυτό που βολεύει είναι με: δεξί κλικ στο AssertionError και επιλογή Copy Trace.
Συνημμένα
Failure trace.png
Δεξί κλικ στο AssertionError και επιλογή Copy Trace
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Re: Εργασία 2 και 3 (Moodle) [2014-2015]

Δημοσίευσηαπό akoutsia » 02 Δεκ 2014, 20:38

Ένα αρκετά καλό και σύντομο εισαγωγικό video για το πως κάνουμε debugging στην Java στο Eclipse, στα Αγγλικά πάντα, βρίσκεται εδώ: https://www.youtube.com/watch?v=i_Gonsk_qGA.

Οι δύο κύριες διαφορές με την μεθοδολογία που περιγράφεται στο video για να κάνετε debug στα projects που δίνονται ως εργασίες είναι:
  1. Για να εκκινηθεί το debugging, αντί να επιλέξετε Debug As .. -> Java Application, στα project των εργασιών επιλέγετε στο Referenced Libraries->project-testing.jar (δεξί κλικ) -> Debug As .. -> JUnit Test
  2. Πρέπει να ρυθμίσετε τα breakpoints να σταματούν όλο το VM. Αν δεν ξέρετε τι σημαίνει αυτό, απλά πηγαίνετε στο μενού Window -> Preferences -> Java -> Debug και στην επιλογή "Default suspend policy for new breakpoints" θέστε "Suspend VM". Επίσης, αν έχετε ήδη φτιάξει breakpoints, διαγράψτε και ξαναφτιάξτε τα αμέσως μετά την αλλαγή.
akoutsia
Newbie
 
Δημοσιεύσεις: 45
Εγγραφή: 08 Δεκ 2010, 13:43

Επόμενο

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 4 επισκέπτες