Εισαγωγή στον Προγραμματισμό Υπολογιστών
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
εχει νοημα να κοιταξουμε παλια θεματα? επειδη ο καθηγητης ειναι καινουργιος..η οι ασκησεις δνε μπορουν να διαφοροποιηθουν επειδη ειναι συγκεκριμενες?
-
- Buffer underflow exception
- Posts: 2
- Joined: Mon Jan 09, 2017 6:39 pm
- Academic status: 1st year
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
ΘΕΜΑ 2:
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και να βρίσκει πόσοι διαφορετικοί αριθμοί υπάρχουν. Για παράδειγμα ο πίνακας {2,3,5,3,7,2} θα επιστρέφει 4
ΘΕΜΑ 3:
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και επιστρέφει τον δεύτερο πιο μικρό αριθμό. Μπορείτε να χρησιμοποιήσετε μόνο μια επανάληψη( if η while) και ΔΕΝ μπορείτε να ταξινομίσετε τον πίνακα. Για παράδειγμα ένας πίνακας {-9,1,1,0} θα επιστρέφει 0. Ένας πίνακας {-6,5,3,2,-6,7} θα επιστρέφει -6
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και να βρίσκει πόσοι διαφορετικοί αριθμοί υπάρχουν. Για παράδειγμα ο πίνακας {2,3,5,3,7,2} θα επιστρέφει 4
ΘΕΜΑ 3:
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και επιστρέφει τον δεύτερο πιο μικρό αριθμό. Μπορείτε να χρησιμοποιήσετε μόνο μια επανάληψη( if η while) και ΔΕΝ μπορείτε να ταξινομίσετε τον πίνακα. Για παράδειγμα ένας πίνακας {-9,1,1,0} θα επιστρέφει 0. Ένας πίνακας {-6,5,3,2,-6,7} θα επιστρέφει -6
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Στο θέμα 2 τι γράψατε;SteliosA wrote:ΘΕΜΑ 2:
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και να βρίσκει πόσοι διαφορετικοί αριθμοί υπάρχουν. Για παράδειγμα ο πίνακας {2,3,5,3,7,2} θα επιστρέφει 4
ΘΕΜΑ 3:
Να φτιάξετε μια μέθοδο που να παίρνει ως είσοδο ένα array με ακέραιους αριθμούς και επιστρέφει τον δεύτερο πιο μικρό αριθμό. Μπορείτε να χρησιμοποιήσετε μόνο μια επανάληψη( if η while) και ΔΕΝ μπορείτε να ταξινομίσετε τον πίνακα. Για παράδειγμα ένας πίνακας {-9,1,1,0} θα επιστρέφει 0. Ένας πίνακας {-6,5,3,2,-6,7} θα επιστρέφει -6
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Μια λύση είναι αυτή:fox0077 wrote:Στο θέμα 2 τι γράψατε;
Code: Select all
import java.util.ArrayList;
// ...
// 'p': Πίνακας αριθμών != NULL.
[public/private/-] [static] int countDistinctNumbers([final] int[ ] p)
{
// Το παρακάτω block μπορεί να παραλειφθεί εάν η άσκηση
// αναφέρει ότι ο πίνακας θεωρείται ότι δεν είναι ποτέ NULL.
// Εναλλακτικά:
// if (p == null) return -1;
if (p == null)
{
throw new IllegalArgumentException("\'p\' parameter is NULL.");
}
// Βοηθητική λίστα που κρατά μόνο τους αριθμούς που συναντώνται
// για πρώτη φορά.
[final] ArrayList<Integer> list = new ArrayList<Integer>();
// Περνάμε πάνω από όλο τον πίνακα.
// (δεν εκτελείται αν 'p.length == 0')
for (int i = 0; i < p.length; i++)
{
// Τρέχων αριθμός.
[final] int number = p[i];
// Έλεγχος αν ο αριθμός είναι διπλότυπος.
if (!list.contains(number))
{
// Δεν έχουμε ξαναδεί τον αριθμό πιο πριν.
list.add(number);
}
}
// Επιστροφή συνολικού πλήθους μοναδικών αριθμών.
return list.size(); // '0' αν πίνακας αριθμών κενός.
}
// ...
"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
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
επρεπε να γραψουμε και σχολια?? εγω μονο το προγραμμα εγραψα..εκανα ταξινομιση και μετα εβαλα εναν μετρητη για καθε φοραπου εβλεπε διαφορετικο στοιχειο..
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Προφανώς και τα σχόλια ΔΕΝ είναι απαραίτητα, αρκεί ο διορθωτής να καταλάβει πως έχεις προσεγγίσει το πρόβλημα.Μ123 wrote:επρεπε να γραψουμε και σχολια?? εγω μονο το προγραμμα εγραψα..εκανα ταξινομιση και μετα εβαλα εναν μετρητη για καθε φοραπου εβλεπε διαφορετικο στοιχειο..
Και επίσης προφανώς ΔΕΝ υπάρχει μια λύση.
Οπότε γιατί αγχώνεσαι ?
EDIT: Αν η λύση σου δεν προσεγγίζει το πρόβλημα, τότε μόνο ίσως πρέπει να αγχωθείς... λιγάκι.
"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
- pgetsos
- Venus Former Team Member
- Posts: 1192
- Joined: Sun Oct 13, 2013 1:29 am
- Academic status: MSc
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Παντως να συμπληρωσω πως οποτε μπορεις, γεμιζε το με σχολια. Ψαξε και πως πρεπει να γραφονται τα Javadoc σχολια, ευκολο ειναι
1) Ειναι μια ΕΞΑΙΡΕΤΙΚΑ σημαντικη συνηθεια που θα πρεπει να σου μεινει, οσο νωριτερα, τοσο το καλυτερα
2) Μελλοντικα σιγουρα θα χανετε βαθμους αν δε βαζετε σχολια, ειδικα 3-4ο ετος. Και αμα μαθεις χωρις, θα τα ξεχνας
1) Ειναι μια ΕΞΑΙΡΕΤΙΚΑ σημαντικη συνηθεια που θα πρεπει να σου μεινει, οσο νωριτερα, τοσο το καλυτερα
2) Μελλοντικα σιγουρα θα χανετε βαθμους αν δε βαζετε σχολια, ειδικα 3-4ο ετος. Και αμα μαθεις χωρις, θα τα ξεχνας
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
νομιζω οτι σωστα την ελυσα..με τοση σιγουρια η πολυ καλα τα εχω παει η πολυ χαλια θα δειξειGeorgilakis Antonios wrote:Προφανώς και τα σχόλια ΔΕΝ είναι απαραίτητα, αρκεί ο διορθωτής να καταλάβει πως έχεις προσεγγίσει το πρόβλημα.Μ123 wrote:επρεπε να γραψουμε και σχολια?? εγω μονο το προγραμμα εγραψα..εκανα ταξινομιση και μετα εβαλα εναν μετρητη για καθε φοραπου εβλεπε διαφορετικο στοιχειο..
Και επίσης προφανώς ΔΕΝ υπάρχει μια λύση.
Οπότε γιατί αγχώνεσαι ?
EDIT: Αν η λύση σου δεν προσεγγίζει το πρόβλημα, τότε μόνο ίσως πρέπει να αγχωθείς... λιγάκι.
=========================================================
η αληθεια ειναι οτι μου φαινοτναι ασημαντα προς το παρων.αλλα μαλλον νοσο δυσκολευουν τα προγραμματα θα μου φανουν χρησιμοτεραpgetsos wrote:Παντως να συμπληρωσω πως οποτε μπορεις, γεμιζε το με σχολια. Ψαξε και πως πρεπει να γραφονται τα Javadoc σχολια, ευκολο ειναι
1) Ειναι μια ΕΞΑΙΡΕΤΙΚΑ σημαντικη συνηθεια που θα πρεπει να σου μεινει, οσο νωριτερα, τοσο το καλυτερα
2) Μελλοντικα σιγουρα θα χανετε βαθμους αν δε βαζετε σχολια, ειδικα 3-4ο ετος. Και αμα μαθεις χωρις, θα τα ξεχνας
Last edited by ChrysaK on Thu Feb 09, 2017 11:34 pm, edited 1 time in total.
Reason: double post
Reason: double post
- pgetsos
- Venus Former Team Member
- Posts: 1192
- Joined: Sun Oct 13, 2013 1:29 am
- Academic status: MSc
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Όταν θα γράψετε ένα πρόγραμμα των 10 αρχείων από 300-800+ γραμμές ανά αρχείο, μόλις αφήσετε για ένα μήνα το πρόγραμμα και γυρίσετε πίσω ούτε εσείς δε θα θυμάστε τι κάνατε και γιατί
+ όταν δουλεύεις σε ομάδα, ο άλλος θα πρέπει να ξέρει τι κάνει το πρόγραμμα και γιατί σε κάθε σημείο
+ όταν δουλεύεις σε ομάδα, ο άλλος θα πρέπει να ξέρει τι κάνει το πρόγραμμα και γιατί σε κάθε σημείο
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Προσωπικα το θεωρω αδικο που ηταν μονο 3 ασκησεις και μαλιστα ολες με arrays...
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Κουράγιο, τα πάντα είναι δύσκολα και challenging σε αυτή την ζωή...Mickey wrote:Προσωπικα το θεωρω αδικο που ηταν μονο 3 ασκησεις και μαλιστα ολες με arrays...
=====================================================================================
Παραθέτω εδώ by the way μια ενδεικτική λύση για το θέμα 3, σε περίπτωση που κάποιος την χρειαστεί:
Code: Select all
// ...
// 'p': Πίνακας αριθμών != NULL.
[public/private/-] [static] int findSecondMinValue([final] int[ ] p)
{
// Το παρακάτω block μπορεί να παραλειφθεί εάν η άσκηση
// αναφέρει ότι ο πίνακας θεωρείται ότι δεν είναι ποτέ NULL.
if (p == null)
{
throw new IllegalArgumentException("\'p\' parameter is NULL.");
}
// Έλεγχος αν πίνακας 'p' κενός.
if (p.length == 0)
{
// Επιστροφή της πιο αρνητικής τιμής, μιας και δεν υπάρχουν
// στοιχεία στον πίνακα.
return Integer.MIN_VALUE;
}
// Ξεκινάμε με 'Integer.MAX_VALUE' γιατί δεν γνωρίζουμε πόσο
// μικρή είναι η ζητούμενη τιμή.
int x = Integer.MAX_VALUE; // Θα κρατά τον πρώτο μικρότερο
// αριθμό.
int y = Integer.MAX_VALUE; // Θα κρατά τον δεύτερο μικρότερο
// αριθμό.
// Περνάμε πάνω από όλο τον πίνακα.
// ('p.length != 0', διότι έχουμε κάνει έλεγχο πιο πριν)
for (int i = 0; i < p.length; i++)
{
// Τρέχων αριθμός.
[final] int number = p[i];
// Έλεγχος αριθμού.
if (number < x)
{
// 1η περίπτωση: αριθμός πιο μικρός από τον πρώτο μικρότερο
// αριθμό που έχει βρεθεί μέχρι τώρα.
// Θεωρούμε τον μικρότερο έως τώρα αριθμό ως τον δεύτερο
// μικρότερο αριθμό.
y = x;
// Ενημερώνουμε τον πρώτο μικρότερο αριθμό που έχουμε βρει
// με την νέα τιμή.
x = number;
}
else if (number < y)
{
// 2η περίπτωση: αριθμός πιο μικρός από τον δεύτερο μικρότερο
// αριθμό που έχει βρεθεί μέχρι τώρα, αλλά μεγαλύτερος από την
// τιμή του πρώτου μικρότερου αριθμού.
// Απλώς ενημερώνουμε τον δεύτερο μικρότερο αριθμό με την νέα
// τιμή.
y = number;
}
}
// Επιστροφή του δεύτερου μικρότερου αριθμού.
return y;
}
// ...
"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
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Καποιος που εγραψε 2/6 στα γραπτα σημαινει οτι το περασε;
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Μάλλον όχι, χωρίς να είμαι και πολύ σίγουρος.soreyil wrote:Καποιος που εγραψε 2/6 στα γραπτα σημαινει οτι το περασε;
EDIT: Αν εννοείς 2/6 θέματα, το πράγμα αλλάζει.
"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
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Τα θεματα 3 ηταν. Ο βαθμος στα 6 ειναι 2. Ελεγε οτι ο ελαχιστος προβιβασιμος ειναι 2...Georgilakis Antonios wrote:Μάλλον όχι, χωρίς να είμαι και πολύ σίγουρος.soreyil wrote:Καποιος που εγραψε 2/6 στα γραπτα σημαινει οτι το περασε;
EDIT: Αν εννοείς 2/6 θέματα, το πράγμα αλλάζει.
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ε ωραία, αφού ειπώθηκε ρητώς, υποθέτω ότι ισχύει.soreyil wrote:Τα θεματα 3 ηταν. Ο βαθμος στα 6 ειναι 2. Ελεγε οτι ο ελαχιστος προβιβασιμος ειναι 2...
Που σημαίνει ότι με 2/6 κάποιος μπορεί να περάσει το μάθημα. (Δηλαδή πέρασε)
"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
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Ναι αλλα, στο τελικο γραφει 4. 5 δεν επρεπε;Georgilakis Antonios wrote:Ε ωραία, αφού ειπώθηκε ρητώς, υποθέτω ότι ισχύει.soreyil wrote:Τα θεματα 3 ηταν. Ο βαθμος στα 6 ειναι 2. Ελεγε οτι ο ελαχιστος προβιβασιμος ειναι 2...
Που σημαίνει ότι με 2/6 κάποιος μπορεί να περάσει το μάθημα. (Δηλαδή πέρασε)
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Όχι απαραίτητα. Επειδή το "5" είναι η καθιερωμένη βάση δεν σημαίνει ότι όλα τα μαθήματα το ακολουθούν κατά κανόνα.soreyil wrote:Ναι αλλα, στο τελικο γραφει 4. 5 δεν επρεπε;
Το ακολουθούν όμως στην πλειοψηφία.
EDIT: Ενδέχεται για το "2/6" να πρέπει να κάνεις και κάποιους extra υπολογισμούς (συμπεριλαμβάνοντας και τον βαθμό των εργασιών) για να δεις αν τελικά πέρασες ή όχι. Συνήθως οι καθηγητές δίνουν στην έναρξη των μαθημάτων τον τρόπο υπολογισμού του τελικού βαθμού για το εκάστοτε μάθημα.
Last edited by Georgilakis Antonios on Thu Mar 16, 2017 6:21 pm, edited 1 time in total.
"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
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
ΟΟΟΟΟοοοο ωπα ωπα, θες να μου πεις οτι με 4 τελικο γι αυτο το μαθημα, το ΠΕΡΑΣΑ;Georgilakis Antonios wrote:Όχι απαραίτητα. Επειδή το "5" είναι η καθιερωμένη βάση δεν σημαίνει ότι όλα τα μαθήματα το ακολουθούν κατά κανόνα.soreyil wrote:Ναι αλλα, στο τελικο γραφει 4. 5 δεν επρεπε;
Το ακολουθούν όμως στην πλειοψηφία.
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Μην βιάζεσαι ακόμα, δες από πάνω το edit.soreyil wrote:ΟΟΟΟΟοοοο ωπα ωπα, θες να μου πεις οτι με 4 τελικο γι αυτο το μαθημα, το ΠΕΡΑΣΑ;
Αν αυτό ισχύει (η βάση είναι το 4), I'm afraid the answer is YES.
Διαφορετικά ΝΟ.
"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
- pgetsos
- Venus Former Team Member
- Posts: 1192
- Joined: Sun Oct 13, 2013 1:29 am
- Academic status: MSc
- Gender: ♂
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
2/6 είναι 3.3/10. Η εργασία σου Πόσο έπιανε;
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
Sent via personal messagepgetsos wrote:2/6 είναι 3.3/10. Η εργασία σου Πόσο έπιανε;
Re: Εισαγωγή στον Προγραμματισμό Υπολογιστών
καλησπερα και καλως σας βρηκα,
αποφασισα να δωσω κατατακτηριες για την σχολη σας και θα ηθελα μια μικρη βοηθεια;)
καταρχας συγνωμη για τις χαζες μου ερωτησεις,
εχω αρχισει και διαβαζω αυτο το μαθημα απο eclass ,
εχω προβλημα με το GLabel..τα πρωτα προγραμματα τα τρεξα με το να τα γραφω στο Notepad++ να κανω compile στην γραμμη εντoλων και να τα τρεχω στην γραμμη εντολων, εκει ολα αυτα με το acm.program οπως ελεγαν οι οδηγιες του καθηγητη.
τωρα στο GLabel πιστευω οτι πρεπει να καταβασω κατι για να μου βγουν τα σχηματα ή να αλλαξω χρωμμα ,γραμ κλπ
και εκει το χανω ..ισως ειναι κατι με το προγραμμα Eclipse (?)
πιστευω οτι πρεπει να κατεβασω κατι ακομα για να τρεξω τα παρακατω προγραμματα..
αν μπορει καποιος να βοηθησει ..σαν να μιλαει στο χαζο του ανιψακι που θελει να μαθει...
ευχαριστω για το χρονο σας
αποφασισα να δωσω κατατακτηριες για την σχολη σας και θα ηθελα μια μικρη βοηθεια;)
καταρχας συγνωμη για τις χαζες μου ερωτησεις,
εχω αρχισει και διαβαζω αυτο το μαθημα απο eclass ,
εχω προβλημα με το GLabel..τα πρωτα προγραμματα τα τρεξα με το να τα γραφω στο Notepad++ να κανω compile στην γραμμη εντoλων και να τα τρεχω στην γραμμη εντολων, εκει ολα αυτα με το acm.program οπως ελεγαν οι οδηγιες του καθηγητη.
τωρα στο GLabel πιστευω οτι πρεπει να καταβασω κατι για να μου βγουν τα σχηματα ή να αλλαξω χρωμμα ,γραμ κλπ
και εκει το χανω ..ισως ειναι κατι με το προγραμμα Eclipse (?)
πιστευω οτι πρεπει να κατεβασω κατι ακομα για να τρεξω τα παρακατω προγραμματα..
αν μπορει καποιος να βοηθησει ..σαν να μιλαει στο χαζο του ανιψακι που θελει να μαθει...
ευχαριστω για το χρονο σας