• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 10:20:57 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, 10:20:57 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: 9960
Latest: valco08
Stats
Total Posts: 1426680
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 25
Guests: 78
Total: 103
Le ece
antontsiorvas
Denisivo
Giannis_Kako
gntitsios
gpr000
jojos
sigklitiki
ppapadoe
Fotis
Giannisss
Geoth
spoun
hacky
Tolizz
papoutsas
sotos_sta
Εμφάνιση

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

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Εργασία F [2011-2012]
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: [C++] Εργασία F [2011-2012]  (Read 4193 times)
ailouros
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 236


View Profile
[C++] Εργασία F [2011-2012]
« on: December 18, 2011, 17:57:31 pm »

                                                                         
Άσκηση F
Για να επιλεγεί η πιο συμφέρουσα λύση για την εγκατάσταση ενός συστήματος κεντρικής θέρμανσης, για κάθε τύπο καυστήρα που κυκλοφορεί στην αγορά, οι καυστήρες που είναι διαθέσιμοι κατατάσσονται κατά φθίνουσα σειρά ως προς το λόγω P/FR, όπου P είναι η μέγιστη ισχύς που μπορεί να απόδοση ο καυστήρας και FR η ημερησία κατανάλωση καυσίμου για λειτουργία στη μέγιστή ισχύ. Από τη σειρά αυτή επιλέγεται ο καυστήρας με το μεγαλύτερο λόγω P/FR για τον οποίο όμως η μέγιστη ισχύς δεν είναι μικρότερη από την ελάχιστη ισχύ που απαιτείται για τις ανάγκες της εγκατάστασης και ταυτόχρονα το κόστος της αγοράς και της εγκατάστασής του δε ξεπερνά ένα ορισμένο ποσόν.
Για να γίνει σύγκριση ανάμεσα σε δύο διαφορετικούς τύπους καυστήρων, αφού επιλεγεί από κάθε τύπο ο καυστήρας που ικανοποιεί τις πιο πάνω απαιτήσεις, επιλέγεται ο φτηνότερος εφόσον έχει και το μικρότερο κόστος ετήσιας λειτουργίας. Σε διαφορετική περίπτωση επιλέγεται ο ακριβότερος και υπολογίζεται ο χρόνος απόσβεσης της επιπλέον δαπάνης για την αγορά και την εγκατάστασή του.
Να γραφεί το λογισμικό στο οποίο να ορίζεται η παραμετρική (template) κλάση device. Η κλάση να ορίζει την παράμετρο burner, η οποία δηλώνει τύπους αντικείμενων που ορίζουν οι κλάσεις που υλοποιούν διαφορετικούς τύπους καυστήρων. Η κλάση να διαθέτει μια συνάρτηση αρχικών συνθηκών η οποία να διαβάζει την τιμή της ακεραίας μεταβλητής n και να δεσμεύει δυναμικά μνήμη για έναν πίνακα με n αντικείμενα στον παραμετρικό τύπο burner. Η κλάση να διαθέτει ακόμη τη συνάρτηση b_short() η οποία να ταξινομεί τα αντικείμενα αυτά κατά φθίνουσα σειρά ως προς τον λόγω P/FR. Η συνάρτηση να επιστρέφει τη διεύθυνση του ταξινομημένου πίνακα.
Το λογισμικό να ορίζει ακόμη την παραμετρική συνάρτηση choice() η οποία να δέχεται, ως παραμέτρους, τους τύπους burner1 και burner2. Ο κάθε παραμετρικός τύπος να ορίζει έναν πίνακα από αντικείμενα που υλοποιούν καυστήρες του ίδιου τύπου ταξινομημένους κατά φθίνουσα σειρά ως προς τον λόγω P/FR. Η συνάρτηση, αφού από κάθε πίνακα, επιλέξει τον καυστήρα που ικανοποιεί τις προδιαγραφές που ορίστηκαν αρχικά, να επιστρέφει την ταυτότητα του καυστήρα που πρέπει να επιλεγεί σύμφωνα με τα κριτήρια που οριστήκαν και αφορούν την επιλογή καυστήρα ανάμεσα σε δύο καυστήρες διαφορετικού τύπου. Η συνάρτηση να υπολογίζει ακόμη και τον χρόνο απόσβεσης στην περίπτωση που επιλεγεί ο ακριβότερος καυστήρας.
Ως εφαρμογή να οριστούν οι κλάσεις oil_burner και gas_burner που υλοποιούν καυστήρες πετρελαίου και αερίου αντίστοιχα. Για τα αντικείμενα τις κάθε κλάσης, μέσα από μια συνάρτηση αρχικών συνθηκών, να διαβάζονται, για τον αντίστοιχο καυστήρα, μια ταυτότητα, η μέγιστη ισχύς, η αντίστοιχη ημερήσια κατανάλωση καυσίμου, το κόστος μιας μονάδας μέτρησης για το καύσιμό, το κόστος για την αγορά του καυστήρα και το κόστος της ετησίας συντήρησης. Για τους καυστήρες αερίου να διαβάζεται και ένα επιπλέον κόστος που αφορά τη σύνδεση του καυστήρα με το δίκτυο.
Η συνάρτηση main του λογισμικού να διαβάζει την ελάχιστη ισχύ που απαιτεί η εγκατάσταση, τα χρήματα που είναι διαθέσιμα για την αγορά και την εγκατάσταση του καυστήρα και τις ημέρες που λειτουργεί η θέρμανση κατά την διάρκεια του έτους. Στη συνέχεια να δημιουργεί δύο αντικείμενα στον τύπο της κλάσης device, το πρώτο με παράμετρο την κλάση oil_burner και το δεύτερο με παράμετρο την κλάση gas_burner. Για τους πίνακες που  θα δημιουργήσουν τα δύο αυτά αντικείμενα να κληθεί η συνάρτηση b_short() για να τους ταξινομήσει κατά φθίνουσα σειρά ως προς τον λόγω P/FR. Τέλος να κληθεί η συνάρτηση choice(), για τους δύο αυτούς πίνακες, για να υπολογιστεί και στη συνέχεια να τυπωθεί η ταυτότητα του καυστήρα που πρέπει να επιλεγεί καθώς και ο χρόνος απόσβεσης στην περίπτωση που θα επιλεγεί ο ακριβότερος καυστήρας.


Καλα χριστούγεννα  Cheesy
Logged
alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] Εργασία F [2011-2012]
« Reply #1 on: December 27, 2011, 19:06:00 pm »

Πολύ ησυχία  Cheesy

Υ.Γ Χρόνια πολλά!
Logged

Φιλικά, Αλέξης

"A computer lets you make more mistakes faster than any other human invention in history…
…with the possible exception of handguns and tequila." Mitch Radcliffe
pierikara
Νεούλης/Νεούλα
*
Posts: 30


View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #2 on: December 29, 2011, 15:57:56 pm »

Τι εννοεί να ορίσουμε 1 παράμετρο burner;
Logged
Ναταλία
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1209



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #3 on: December 29, 2011, 16:42:07 pm »

εννοει απο οτι καταλαβαινω να ειναι μεσα στα <> η παραμετρος burner!
Logged
mafalda
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1427



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #4 on: December 30, 2011, 17:48:02 pm »

Από το ppt με ονομα Mitres στο ethmmy:
"Ως μήτρες συναρτήσεων ορίζονται συναρτήσεις οι οποίες ως ορίσματα δέχονται παραμέτρους. Ο εκτελέσιμος κώδικας της συνάρτησης υλοποιείται όταν στη θέση της παραμέτρου δοθεί συγκεκριμένος τύπος δεδομένου.
Δήλωση μήτρας συνάρτησης:
template <class T>
Επιστρεφόμενη_τιμή όνομα(ορίσματα)"


Άρα μήπως εννοεί οτι το burner είναι όρισμα της κλάσης? Huh


εδιτ: ακυρο προφανώς....παραισθησεις από το πολύ φαϊ- οι κλάσεις δεν έχουν όρισμα Tongue
μεσα στα <> θα είναι μάλλον, όπως λέει και η ναταλια
« Last Edit: December 30, 2011, 18:09:15 pm by mafalda » Logged
mafalda
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1427



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #5 on: December 31, 2011, 13:15:58 pm »

Την απόσβεση που λεει,πως θα την υπολογίσουμε;Θα ζητήσουμε π.χ. έναν συντελεστή απόσβεσης απο το χρήστη ή θα βάλουμε αυθαίρετα έναν δικό μας; Και μόνο για την διαφορά (κοστος_αγοράς_καυστήρα1-κοστος_αγοράς_καυστήρα2) ή για όλο το ποσό αγοράς του 1;
Logged
ValmadiaN
Θαμώνας
****
Gender: Male
Posts: 300



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #6 on: December 31, 2011, 16:25:14 pm »

Quote from: mafalda on December 31, 2011, 13:15:58 pm
Την απόσβεση που λεει,πως θα την υπολογίσουμε;Θα ζητήσουμε π.χ. έναν συντελεστή απόσβεσης απο το χρήστη ή θα βάλουμε αυθαίρετα έναν δικό μας; Και μόνο για την διαφορά (κοστος_αγοράς_καυστήρα1-κοστος_αγοράς_καυστήρα2) ή για όλο το ποσό αγοράς του 1;

Έχεις τους καυστήρες Α και Β.
Ο Α κοστίζει 500 ευρώ και ο Β κοστίζει 1000 ευρώ.
Ο Α χρειάζεται ετησίος 100 ευρώ (για συντήρηση , καύσιμα κτλ..).
Ο Β χρειάζεται ετησίως 50 ευρώ.

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

Για την αγορά του Β έδωσες 1000-500=500 ευρώ παραπάνω
ενώ κάθε χρόνο κερδίζεις 100-50=50 ευρώ.
Συνεπώς ο χρόνος απόσβεσης είναι
500/50=10 χρόνια.
Logged

Maximus: Brothers, what we do in life... echoes in eternity.

Τις νύχτες ντύνεσαι θεός και σταματάς το χρόνο/
γίνεται ο κόσμος πιο απλός χωρίς χαρά και πόνο/
τις νύχτες μοιάζει το κερί με ήλιο που ανατέλει/
και το δωμάτιο μια γη που μόνο εσένα θέλει!!!
princess_of_the_dawn
Καταστραμμένος
********
Gender: Female
Posts: 5768


με μια σφαίρα στο κεφάλι το μυαλό σου θ αλλάξει!


View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #7 on: January 03, 2012, 17:48:15 pm »

τον λογο p/fr η b_short πώς θα τον βλέπει;
θα κάνουμε μία συνάρτηση που θα τον υπολογίζει και θα είναι friend σε oil_burner,gas_burner και device;
Logged

λευκά κελιά για σένα

https://www.behance.net/Thomas_Kef
geomade
Ανερχόμενος/Ανερχόμενη
**
Posts: 59



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #8 on: January 03, 2012, 18:53:03 pm »

Εγώ έβαλα να τον βλέπει τον λόγο p/fr μέσω συναρτήσεων get_p, get_fr.
Όμως στη συνέχεια όταν καλώ την b_short (2 φορές) από την main μου εμφανίζει σφάλμα στους pointers των 2 πινάκων....και μάλλον φταίει ο τρόπος που διαβάζει τα p και fr. Undecided

Δε νομίζω ότι μπορεί να είναι φιλική συνάρτηση η b_short επειδή είναι παραμετρική...ίσως κάνω και λάθος όμως.
« Last Edit: January 03, 2012, 18:57:20 pm by geomade » Logged
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #9 on: January 03, 2012, 20:54:17 pm »

Quote from: geomade on January 03, 2012, 18:53:03 pm
Εγώ έβαλα να τον βλέπει τον λόγο p/fr μέσω συναρτήσεων get_p, get_fr.
Όμως στη συνέχεια όταν καλώ την b_short (2 φορές) από την main μου εμφανίζει σφάλμα στους pointers των 2 πινάκων....και μάλλον φταίει ο τρόπος που διαβάζει τα p και fr. Undecided

Δε νομίζω ότι μπορεί να είναι φιλική συνάρτηση η b_short επειδή είναι παραμετρική...ίσως κάνω και λάθος όμως.

Δεν χρειαζεσαι accessors - ειναι ενας απο τους λογους που υπαρχουν οι friends. Οι template functions (προς Θεου - οχι "παραμετρικες"!  Tongue) γινεται να ειναι και friends, αλλα θελει προσοχη στο declaration τους μεσα στην κλαση σου.
Logged

This one doesn't have time for your solid waste excretions.
Κάρβουνο
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1593


Πρόεδρας.


View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #10 on: January 05, 2012, 18:07:13 pm »

Δεν υποτίθεται ότι είναι προτιμότερο να χρησιμοποιούμε accessors, άμα μπορούμε;
Logged

Για κήνσορα τάξεων/αριστερών πεποιθήσεων απευθυνθείτε στον Μανωλάκη.
Για ορθογραφία στον Άπλυτο.

Guest    22:15:25    Viewing Κάρβουνο's profile. (11.3.11)
Ποιός με κατασκοπεύει;
raf
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130


do it well...!


View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #11 on: January 05, 2012, 20:21:03 pm »

"Το λογισμικό να ορίζει ακόμη την παραμετρική συνάρτηση choice() η οποία να δέχεται, ως παραμέτρους, τους τύπους burner1 και burner2. Ο κάθε παραμετρικός τύπος να ορίζει έναν πίνακα από αντικείμενα που υλοποιούν καυστήρες του ίδιου τύπου ταξινομημένους κατά φθίνουσα σειρά ως προς τον λόγω P/FR. "
Βασικά εδώ δημιουργείς μια κλάση, που εχει μια συνάρτηση  template και αυτή η κλάση κληρονομεί τα χαρακτηριστικά της κλάσης device ,σωστά?
Γιατί αλλιώς τι..? θα κάθεσαι να δευσμευεις δυναμικά ξανά πίνακα και μετά θα κάνεις ξανά ταξινόμηση???
εεεε??? Undecided
Logged
Endeavour X
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3346



View Profile
Re: [C++] Εργασία F [2011-2012]
« Reply #12 on: January 06, 2012, 18:29:04 pm »

Quote from: raf on January 05, 2012, 20:21:03 pm
Βασικά εδώ δημιουργείς μια κλάση, που εχει μια συνάρτηση  template και αυτή η κλάση κληρονομεί τα χαρακτηριστικά της κλάσης device ,σωστά?
Και τί κλάση θα 'ναι αυτή; Βασικά γιατί να κληρονομηθούν τα χαρακτηριστικά της device;
Logged
Salvation
Guest
Re: [C++] Εργασία F [2011-2012]
« Reply #13 on: January 07, 2012, 23:27:36 pm »

Η συνάρτηση choice που λεει, δεν θα πρεπει να παιρνει σαν ορισματα τις διευθυνσεις των πινακων και τον αριθμο στοιχείων του καθενος; Γιατι έτσι οπως την γραφει ειναι σαν να μην παιρνει ορισματα.
Logged
Salvation
Guest
Re: [C++] Εργασία F [2011-2012]
« Reply #14 on: January 08, 2012, 01:10:11 am »

Τότε πως θα έχει πρόσβαση στους πίνακες; Αφού η b_short καλείται στη main.
Logged
Pages: [1] 2 Go Up Print
Jump to:  

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