Title: [C++] 9η Εργασία 2010 Post by: nikitas350 on December 20, 2010, 18:56:06 pm Εργασία I (Hμ/νία λήξης δηλώσεων: 16/01/2011) Σε ένα κτίριο πρόκειται να εγκατασταθεί μια σειρά από συσκευές ορισμένου τύπου. Το κτίριο τροφοδοτείται με ηλεκτρικό ρεύμα ορισμένης τάσης και διαθέτει μια σειρά από παροχές ρεύματος (πρίζες) κάθε μια από τις οποίες μπορεί να δώσει ρεύμα μέχρι μια ορισμένη ένταση. Για κάθε συσκευή είναι γνωστή η ονομαστική της ισχύς και η τάση του ρεύματος με το οποίο λειτουργεί. Να γραφεί το λογισμικό στο οποίο να ορίζεται η παραμετρική κλάση installation η οποία να υλοποιεί μια εγκατάσταση στο κτίριο ανεξάρτητη από τον τύπο των συσκευών που θα χρησιμοποιηθούν. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να διαβάζεται ο αριθμός των παροχών που διαθέτει το κτίριο, η ένταση του ρεύματος για την κάθε παροχή και ο αριθμός των συσκευών που θα συνδεθούν σε αυτές. Η κλάση να διαθέτει ακόμη τη συνάρτηση calk_installation η οποία να σχηματίζει ένα πίνακα ο οποίος, για κάθε παροχή, να περιέχει την ταυτότητα της συσκευής που θα συνδεθεί σε αυτήν. Για να συνδεθεί μια συσκευή σε μια παροχή θα πρέπει η τιμή της έντασης λειτουργίας της συσκευής να μην υπερβαίνει την τιμή της έντασης που μπορεί να δώσει η παροχή ενώ η διαφορά των δύο αυτών τιμών να είναι ελάχιστη. Στο λογισμικό να οριστεί ακόμη η παραμετρική συνάρτηση transform η οποία για, έναν οποιονδήποτε τύπο συσκευών, να ορίζει ένα αντικείμενο στον τύπο της κλάσης installation και για το αντικείμενο αυτό να εκτυπώνει τις ταυτότητες των συσκευών που θα συνδεθούν σε κάθε παροχή. Η συνάρτηση να εκτυπώνει ακόμη για κάθε παροχή και τον λόγο μετασχηματισμού V/Vdev, όπου V η τάση με την οποία τροφοδοτείται το κτίριο και Vdev η τάση με την οποία λειτουργεί αντίστοιχη συσκευή. Στην περίπτωση που για κάποιες συσκευές δεν υπάρχουν παροχές στις οποίες να μπορούν να συνδεθούν η συνάρτηση να εκτυπώνει σχετικό μήνυμα για τη δημιουργία μιας νέας παροχής, την ένταση του ρεύματος που πρέπει να διαθέτει η παροχή και τον αντίστοιχο λόγο μετασχηματισμού. Η συνάρτηση main του προγράμματος να διαβάζει την τάση με την οποία τροφοδοτείται το κτίριο και να καλεί τη συνάρτηση transform για να εκτυπώσει τα στοιχεία της εγκατάστασης για έναν συγκεκριμένο τύπο συσκευών. Ως εφαρμογή οριστεί η κλάση device1 η οποία υλοποιεί συσκευές που περιέχουν μόνον ωμικές αντιστάσεις. Για τις συσκευές αυτές η ένταση λειτουργίας τους υπολογίζεται ως ο λόγος της ονομαστικής τους ισχύος προς την τάση τροφοδοσίας τους. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να διαβάζεται ένας ακέραιος αριθμός ως ταυτότητα της συσκευής, η ονομαστική ισχύς της συγκεκριμένης συσκευής και η τάση λειτουργίας της. Title: Re: [C++] 9η Εργασία 2010 Post by: inspired on January 16, 2011, 00:32:52 am Βοηθητικές παρατηρήσεις
Σε κάθε παροχή συνδέεται μόνο μια συσκευή. Η τάση λειτουργίας των συσκευών είναι διαφορετική για κάθε συσκευή ακόμη και αν οι συσκευές είναι του ίδιου τύπου. :p Title: Re: [C++] 9η Εργασία 2010 Post by: Dimitris1989 on January 16, 2011, 12:25:08 pm Όταν λεει παραμετρική κλάση και παραμετρική συνάρτηση τι ακριβώς εννοεί;
Title: Re: [C++] 9η Εργασία 2010 Post by: lindou on January 16, 2011, 13:10:37 pm template κλασεις και συναρτησεις η αλλιως μητρες
Title: Re: [C++] 9η Εργασία 2010 Post by: lindou on January 16, 2011, 13:15:23 pm λεει: "στην περιπτωση που για καποιες συσκευες δεν υπαρχουν παροχες στις οποιες να μπορουν να συνδεθουν η συναρτηση να εκτυπωνει σχετικο μηνυμα για τη δημιουργια μιας νεας παροχης, την ενταση του ρευματος που πρεπει να διαθετει η παροχη και και τον αντιστοιχο λογο μετασχηματισμου"
ομως σιγουρα δε θα υπαρχουν συσκευες που δε θα συνδεθουν, αφου εμεις οι ιδιοι θα κανουμε επιλογη στην calk_installation? επειδη εχω μπερδευτει λιγο,οποιος εχει την καλοσυνη...ΒΟΗΘΕΙΑ :D εννοει μηπως (αν αριθμος των παροχων ειναι μικροτερος απο τον αριθμο των συσκευων που θα συνδεθουν στην εγκατασταση),τις συσκευες που περισσευουν? Title: Re: [C++] 9η Εργασία 2010 Post by: nikos912000 on January 16, 2011, 14:09:31 pm Προφανώς...Εφόσον συνδέεται μία σύσκευη σε κάθε παροχή,θα περισσεύουν συσκευές μόνο αν Νπαροχών<Νσυσκευών... :)
Title: Re: [C++] 9η Εργασία 2010 Post by: lindou on January 16, 2011, 14:25:16 pm ευχαριστωωωωωω :D
Title: Re: [C++] 9η Εργασία 2010 Post by: inspired on January 16, 2011, 23:20:26 pm ρε παιδια πως ακριβως θα περναμε στην transform τον τυπο της συσκευης?
το "device1" στη συγκεκριμενη εργασια, αλλα κ οποιο device κανονικα :-\ Title: Re: [C++] 9η Εργασία 2010 Post by: RaiDeR on January 17, 2011, 01:03:46 am ρε παιδια πως ακριβως θα περναμε στην transform τον τυπο της συσκευης? transform<device1> a;το "device1" στη συγκεκριμενη εργασια, αλλα κ οποιο device κανονικα :-\ στην μαιν σου ;) Title: Re: [C++] 9η Εργασία 2010 Post by: inspired on January 17, 2011, 03:21:50 am ρε παιδια πως ακριβως θα περναμε στην transform τον τυπο της συσκευης? transform<device1> a;το "device1" στη συγκεκριμενη εργασια, αλλα κ οποιο device κανονικα :-\ στην μαιν σου ;) πω θενξ, εγω εκανα πινακα με στοιχεια device1 στη main κ μετα προσπαθουσα ν στειλω τον πινακα αυτον στην transform, μπερδεμα.. Title: Re: [C++] 9η Εργασία 2010 Post by: Tracy_McGrady on January 17, 2011, 05:54:32 am ρε παιδια πως ακριβως θα περναμε στην transform τον τυπο της συσκευης? transform<device1> a;το "device1" στη συγκεκριμενη εργασια, αλλα κ οποιο device κανονικα :-\ στην μαιν σου ;) Title: Re: [C++] 9η Εργασία 2010 Post by: RaiDeR on January 17, 2011, 12:38:51 pm αυτο που ειπες ειναι το σωστο ;) απλα δεν ηθελα να δωσω την λυση ετοιμη :D
|