• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 11:58:55 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 11:58:55 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426682
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 63
Guests: 74
Total: 137
thunder
antrikos
agis3
alexter
Lmnop
paristetos
kouf
Apaugasma
kvas
giorgosm05
filippovna
Νικη
Denisivo
Billyskotsikas
_Trob
chatzisot
georsoti
George15
Emilios
George_RT
asemas
Retroman07
mmikelo
nikos123321
dorapangeiou
Isidora
chrisdardas
kostas.13v
Petran25
Βασιλης
vasilis saitis
Captain
ONETWIN
Limpolits
DimitrisL
dedhe
andreas2000
stavr0s16
despoina15
gkougeor
Τζιτζίς
Antonis Mak
giorgostss
DKarakatsanis
chris_krkls
ioathemar
Filpan10
idchatzi
tasos gourd
kmarkad
krith
adelaine
ThanosKoutsoump
dseid
Δημήτρης Διακολουκάς
dleivadi
Local Rider
stefpapa21
Markella
JiMan5
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 6 Go Down Print
Author Topic: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01  (Read 10435 times)
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
[C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« on: December 13, 2012, 20:15:25 pm »

Συζήτηση και απορίες για την έκτη εργασία. Να μένετε εντός θέματος.

Άσκηση F
Μια παραγγελία που έφτασε σε ένα χυτήριο αποτελείται από έναν αριθμό τεμαχίων τα οποία χωρίζονται σε κατηγορίες ανάλογα με το σχήμα τους ενώ τα τεμάχια κάθε κατηγορίας χωρίζονται σε ομάδες ανάλογα με τις διαστάσεις τους. Για κάθε τεμάχιο έχει οριστεί μια τιμή πώλησης από την οποία, για να υπολογιστεί το τελικό κέρδος, αφαιρείται το κόστος του μετάλλου που θα χρησιμοποιηθεί.

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

Το χυτήριο διαθέτει μια σειρά από μέταλλα για κάθε ένα από τα οποία είναι γνωστό το ειδικό βάρος, η διαθέσιμη ποσότητα, και η αξία μιας μονάδας βάρους του μετάλλου. Η σειρά με την οποία θα χρησιμοποιηθούν τα μέταλλα είναι προκαθορισμένη. Αν ένα μέταλλο εξαντληθεί πριν τελειώσει η χύτευση όλων των τεμαχίων μιας ομάδας η χύτευση συνεχίζεται με το μέταλλό που είναι το επόμενο στη σειρά.

Να γραφεί το λογισμικό στο οποίο να ορίζονται:
α) Η κλάση metal τα αντικείμενα της οποίας να υλοποιούν τα διάφορα μέταλλα που υπάρχουν στο χυτήριο. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να διαβάζονται η ποσότητα, το ειδικό βάρος και η αξία μιας μονάδας βάρους του μετάλλου.
β) Για κάθε κατηγορία τεμαχίων να οριστεί και μία κλάση η οποία να υλοποιεί τα τεμάχια της κατηγορίας. Κάθε αντικείμενο στον τύπο της κλάσης να ορίζει μια ομάδα για την οποία να διαβάζονται οι διαστάσεις και ο αριθμός των τεμαχίων που την αποτελούν.
γ) Η παραμετρική (template) κλάση product η οποία να δέχεται, ως παράμετρο, τον τύπο μιας κλάσης η οποία ορίζει μια κατηγορία τεμαχίων. Στην κλάση να ορίζεται ένας pointer στον τύπο της παραμέτρου ο οποίος να χρησιμοποιείται από τη συνάρτηση αρχικών συνθηκών της κλάσης για να δεσμευτεί δυναμικά μνήμη για έναν πίνακα από αντικείμενα στον τύπο της κλάσης που δόθηκε ως παράμετρος. Ο αριθμός των αντικειμένων του πίνακα να διαβάζεται από την ίδια συνάρτηση.
Στην κλάση να ορίζεται ακόμη η συνάρτηση b_short() η οποία να ταξινομεί τα αντικείμενα του πίνακα κατά φθίνουσα τάξη της τιμής πώλησης των τεμαχίων των αντίστοιχών ομάδων. Η συνάρτηση να επιστρέφει τη διεύθυνση του ταξινομημένου πίνακα.
δ) Η παραμετρική (template) συνάρτηση production() η οποία να δέχεται ως παράμετρο, τον τύπο μιας κλάσης η οποία ορίζει μια κατηγορία τεμαχίων. Η συνάρτηση να δέχεται ως όρισμα έναν pointer στον τύπο της παραμέτρου ο οποίος να δείχνει σε έναν πίνακα από αντικείμενα στον τύπο της παραμέτρου.

Η συνάρτηση, όταν δεχθεί ως παράμετρο τον τύπο μιας κλάσης που υλοποιεί μια κατηγορία τεμαχίων, να υπολογίζει και να εκτυπώνει τον αριθμό και τον τύπο των τεμαχίων που θα κατασκευαστούν από το κάθε μέταλλο μέχρι να τελειώσει η χύτευση όλων των τεμαχίων που ορίζουν τα αντικείμενα του πίνακα  ή να εξαντληθούν τα αποθέματα μετάλλων που διαθέτει το χυτήριο.

Η συνάρτηση να επιστρέφει το συνολικό καθαρό κέρδος που θα προκύψει από την πώλησή των τεμαχίων που έγινε δυνατόν να κατασκευαστούν.

Ως εφαρμογή να οριστούν οι κλάσεις cylinder και cube οι οποίες να ορίζουν κατηγορίες τεμαχίων με σχήμα κυλίνδρου και κύβου αντίστοιχα. Για κάθε αντικείμενο στον τύπο αυτών των κλάσεων να διαβάζονται οι διαστάσεις και ο αριθμός των τεμαχίων που θα αποτελούν την αντίστοιχη ομάδα.

Η συνάρτηση main() του προγράμματος, αφού ορίσει έναν πίνακα ο οποίος να περιέχει αντικείμενα που να υλοποιούν τα μέταλλα που υπάρχουν στο χυτήριο, να ορίζει ένα αντικείμενο στον τύπο της κλάσης product με παράμετρο τον τύπο cylinder και ένα αντικείμενο στον τύπο της ίδιας κλάσης με παράμετρο τον τύπο cube. Στη συνέχεια, αφού καλέσει τη συνάρτηση b_short() για κάθε ένα από τα αντικείμενα αυτά, να καλέσει τη συνάρτηση production() πρώτα για τον πίνακα με στοιχεία τύπου cylinder που επέστρεψε η b_short() και στη συνέχεια να καλέσει ξανά την production() για τον πίνακα με στοιχεία τύπου cube που επέστρεψε η δεύτερη κλήση της b_short(). Σε κάθε περίπτωση το πρόγραμμα να εκτυπώνει το καθαρό κέρδος που θα υπάρχει από την πώληση των τεμαχίων που κατασκευάστηκαν
 
Βοηθητικές παρατηρήσεις:
Τα τεμάχια που ανήκουν σε μία κατηγορία έχουν όλα το ίδιο σχήμα.
Τα τεμάχια που αποτελούν μια ομάδα έχουν όλα τις ίδιες διαστάσεις. Τεμάχια με ίδιο σχήμα αλλά διαφορετικές διαστάσεις ανήκουν στην ίδια κατηγορία αλλά σε διαφορετικές ομάδες.
« Last Edit: January 07, 2013, 16:57:54 pm by Exomag » Logged

c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #1 on: December 19, 2012, 16:39:56 pm »

Θέλει να τη λύσουμε με ανεξαρτησία, έτσι;
Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #2 on: December 28, 2012, 00:50:19 am »

Quote from: goddamned on December 19, 2012, 16:39:56 pm
Θέλει να τη λύσουμε με ανεξαρτησία, έτσι;

Ο Συμεωνίδης είπε πως χρειάζεται ανεξαρτησία συνάρτησης (που θα επιτευχθεί μέσω templates), αλλά όχι ανεξαρτησία λογισμικού.

ΥΓ: By far, η χειρότερη εκφώνηση μέχρι τώρα
Logged

thanospr
Καταξιωμένος/Καταξιωμένη
***
Posts: 115


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #3 on: December 28, 2012, 16:53:48 pm »

Οι κλασεις cylinder και cube ειναι public παραγομενες της metal;
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #4 on: December 28, 2012, 17:27:15 pm »

Quote from: thanospr on December 28, 2012, 16:53:48 pm
Οι κλασεις cylinder και cube ειναι public παραγομενες της metal;

Όχι, δεν έχουν καμία σχέση (από άποψη inheritance) με την κλάση metal.
Logged

heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #5 on: December 29, 2012, 00:16:43 am »

ξέρουμε αν είναι η τελευταία κωλοεργασία;
πείτε μου ναι, να πάρω κουράγιο  Roll Eyes
Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #6 on: December 29, 2012, 01:05:21 am »

Quote from: ~Irida~ on December 29, 2012, 00:16:43 am
ξέρουμε αν είναι η τελευταία κωλοεργασία;
πείτε μου ναι, να πάρω κουράγιο  Roll Eyes

Νομίζω πως θα έχει άλλη μία, τουλάχιστον Sad Sad
Logged

manos
Νεούλης/Νεούλα
*
Posts: 44


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #7 on: December 29, 2012, 15:18:02 pm »

Κατάλαβε κανείς πως υπολογίζεται η τιμή μιας ομάδας?
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #8 on: December 29, 2012, 15:31:11 pm »

Εξήγησε τι ακριβώς εννοείς, λέει πουθενά στην εκφώνηση για "τιμή μιας ομάδας" ?
Logged

Marco
Καταξιωμένος/Καταξιωμένη
***
Posts: 226



View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #9 on: December 29, 2012, 18:02:45 pm »

Quote from: Exomag on December 29, 2012, 01:05:21 am
Quote from: ~Irida~ on December 29, 2012, 00:16:43 am
ξέρουμε αν είναι η τελευταία κωλοεργασία;
πείτε μου ναι, να πάρω κουράγιο  Roll Eyes

Νομίζω πως θα έχει άλλη μία, τουλάχιστον Sad Sad
Άλλη μία μόνο ...γιατί μετά αρχίζει η εξεταστική.

*βγάλε την τελευταία βδομάδα μαθημάτων που θα γίνουν και τα τελευταία εργαστήρια.
Logged
manos
Νεούλης/Νεούλα
*
Posts: 44


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #10 on: December 29, 2012, 18:09:25 pm »

Quote from: Exomag on December 29, 2012, 15:31:11 pm
Εξήγησε τι ακριβώς εννοείς, λέει πουθενά στην εκφώνηση για "τιμή μιας ομάδας" ?



Η εκφώνηση της άσκησης λέει:

Τα τεμάχια κάθε κατηγορίας χωρίζονται σε ομάδες ανάλογα με τις διαστάσεις τους. Για κάθε τεμάχιο έχει οριστεί μια τιμή πώλησης από την οποία, για να υπολογιστεί το τελικό κέρδος, αφαιρείται το κόστος του μετάλλου που θα χρησιμοποιηθεί.

Δηλαδή την τιμή κάθε ομάδας μιας κατηγορίας θα την ορίσουμε εμείς;Και η τιμή θα εξαρτάται από το είδος του μετάλλου που θα χρησιμοποιηθεί για την κατασκευή της ομάδας ή μόνο από τις διαστάσεις των τεμαχίων της ομάδας;
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #11 on: December 29, 2012, 18:35:46 pm »

Quote from: manos on December 29, 2012, 18:09:25 pm
Για κάθε τεμάχιο έχει οριστεί μια τιμή πώλησης
Αυτό το διαβάζεις από τον χρήστη (σταθερή τιμή για κάθε τεμάχιο μιας συγκεκριμένης ομάδας).

Quote from: manos on December 29, 2012, 18:09:25 pm
το κόστος του μετάλλου που θα χρησιμοποιηθεί.
Αυτό εξαρτάται από την αξία του μετάλλου που θα χρησιμοποιηθεί, αλλά και από τον όγκο του τεμαχίου που θα δημιουργηθεί.

Τελικά: Καθαρό Κέρδος = Τιμή Πώλησης - Κόστος Μετάλλου
Logged

thanospr
Καταξιωμένος/Καταξιωμένη
***
Posts: 115


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #12 on: December 29, 2012, 19:02:17 pm »

Αν εχω καταλαβει καλα η παραμετρικη product θα δεσμευει μνημη για ενα πινακα απο κ αντικειμενα τυπου cylinder π.χ. και το κ θα το δινουμε μεσα στην Σ.Α.Σ..Με τις ομαδες καθε κατηγοριας δεν εχω καταλαβει τι παιζει...
Logged
Halfpenny
Ανερχόμενος/Ανερχόμενη
**
Posts: 51


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #13 on: December 29, 2012, 19:23:09 pm »

Και εγώ δεν καταλαβαίνω πως θα γίνει αυτό με τις ομάδες. Λέει σε κάποιο σημείο

Quote
Κάθε αντικείμενο στον τύπο της κλάσεων (που έχουν δημιουργηθεί για κάθε κατηγορία τεμαχίων) να ορίζει μια ομάδα για την οποία να διαβάζονται οι διαστάσεις και ο αριθμός τεμαχίων που την αποτελούν

και αναφέρει επίσης στις βοηθητικές παρατηρήσεις:

Quote
Τα τεμάχια που αποτελούν μια ομάδα έχουν όλα τις ίδιες διαστάσεις. Τεμάχια με το ίδιο σχήμα αλλά διαφορετικές διαστάσεις ανήκουν στην ίδια κατηγορία αλλά σε διαφορετικές ομάδες

Δεν μπορώ να καταλάβω πως θα υλοποιήσω μια τέτοια υποκατηγοριοποίηση. Το να ορίζει κάθε αντικείμενο μια ομάδα, μπορώ να το φανταστώ, αλλά θέλει κάθε αντικείμενο να ελέγχει πρώτα από τις διαστάσεις του αν υπάρχει ήδη τέτοια ομάδα δημιουργημένη για να το εντάξει σε αυτήν ?? αυτό δεν μπορώ να το καταλάβω.. Πως γίνεται να υλοποιήσουμε την δημιουργία των ομάδων?
Logged
manos
Νεούλης/Νεούλα
*
Posts: 44


View Profile
Re: [C++] Άσκηση F - 2012/2013 - Προθεσμία 06/01
« Reply #14 on: December 29, 2012, 19:33:32 pm »

Quote from: Exomag on December 29, 2012, 18:35:46 pm
Quote from: manos on December 29, 2012, 18:09:25 pm
Για κάθε τεμάχιο έχει οριστεί μια τιμή πώλησης
Αυτό το διαβάζεις από τον χρήστη (σταθερή τιμή για κάθε τεμάχιο μιας συγκεκριμένης ομάδας).

Quote from: manos on December 29, 2012, 18:09:25 pm
το κόστος του μετάλλου που θα χρησιμοποιηθεί.
Αυτό εξαρτάται από την αξία του μετάλλου που θα χρησιμοποιηθεί, αλλά και από τον όγκο του τεμαχίου που θα δημιουργηθεί.

Τελικά: Καθαρό Κέρδος = Τιμή Πώλησης - Κόστος Μετάλλου



Δηλαδή η τιμή ενός τεμαχίου μιας ομάδας θα είναι ανεξάρτητη από το μέταλλο από το οποίο θα κατασκευαστεί?Μου φαίνεται κάπως παράλογο.
Logged
Pages: [1] 2 3 ... 6 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...