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

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.
August 03, 2025, 18:17:03 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[Today at 17:32:27]

[Τομέας Ενέργειας] Μαθήμα...
by chatzikys
[Today at 13:56:19]

Ρύθμιση θερμικού για μοτέ...
by chatzikys
[August 02, 2025, 21:29:19 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[August 02, 2025, 19:59:00 pm]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[August 02, 2025, 17:30:47 pm]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[August 02, 2025, 17:06:37 pm]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[August 02, 2025, 13:25:49 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[August 02, 2025, 09:51:26 am]

Οι μπράβοι του πρύτανη
by Διάλεξις
[August 02, 2025, 01:30:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[August 02, 2025, 01:04:15 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[August 02, 2025, 00:59:05 am]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427651
Total Topics: 31739
Online Today: 126
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 19
Guests: 89
Total: 108
AcDimitri
simosilias
tzortzis
AngelosAthanasiou
iliaspapam
filkilkis
Geoth
Avoiding Existence
gkaramp
femanak
Thanasis_pap
Don
prigians
AckermanMik
kvas
stefanos hios
Εμφάνιση

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

Νέα!
Επίσημη ενημέρωση για Αντιστοίχηση Μαθημάτων ΝΠΣ με ΠΠΣ και η συζήτηση στο forum.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] 3η Εργασία 2009
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 6 Go Down Print
Author Topic: [C++] 3η Εργασία 2009  (Read 7660 times)
ggpyr
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1247



View Profile WWW
[C++] 3η Εργασία 2009
« on: October 30, 2009, 11:42:17 am »

Εργασία C

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

Το λογισμικό να ορίζει ακόμη:

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

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

Στο λογισμικό να ορίζεται ακόμη η συνάρτηση min_p οι οποία δέχεται ένα πίνακα από αντικείμενα τύπου serial και ένα πίνακα από αντικείμενα τύπου parallel και βρίσκει ποιο από τα αντικείμενα τύπου serial και ποιο από τα αντικείμενα τύπου parallel καταναλώνει την μικρότερη ισχύ.

Ως εφαρμογή η συνάρτηση main του προγράμματος να ορίζει δυναμικά έναν πίνακα από αντικείμενα τύπου serial και έναν πίνακα από αντικείμενα τύπου parallel, να διαβάζει μια κοινή τιμή για την τάση V που εφαρμόζεται σε όλα τα κυκλώματα και να καλεί τη συνάρτηση min_p για να βρει ποιο από τα αντικείμενα τύπου serial και ποιο από τα αντικείμενα τύπου parallel καταναλώνει τη μικρότερη ισχύ. Για τα δύο αυτά αντικείμενα να εκτυπώνεται η ένταση του ρεύματος που τα διαρρέει.
« Last Edit: October 30, 2009, 11:46:12 am by fel-os » Logged

jason_
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 616


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #1 on: November 04, 2009, 00:18:36 am »

Στην main() έχοντας ορίσει δύο αντικείμενα serial και parallel και έχοντας πάρει από το πληκτρολόγιο δύο int κάνω malloc και δεσμεύω δυναμικά τη μνήμη για τα αντικείμενα. Κλασσικά. Τώρα το θέμα είναι πώς κάνουμε τους costructors να τρέξουν.

Ας πούμε το από κάτω είναι λάθος:

Code:

// Eχουμε int a, int b και έχουμε κάνει malloc

for (i=0; i<a; i++) {
   class1 temp(V);
   ob1[i] = temp(V);
   }


Δηλαδή το θέμα είναι το πώς θα δώσουμε αρχική τιμή την V για όλα τα αντικείμενα του πίνακα ob1[ i ] ... Για ρίχτε ιδέες...
Logged

"He who must expend his life to prolong life cannot enjoy it, and he who is still seeking for his life does not have it and can as little enjoy it."
Laza G
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 229



View Profile WWW
Re: [C++] 3η Εργασία 2009
« Reply #2 on: November 04, 2009, 00:54:24 am »

ετσι πως το έχεις κάνει υποτίθεται ότι έχεις constructor για την class1...class1::class1(float x) {V=x;} ;
αυτό εννοείς ?
Logged

ant
Guest
Re: [C++] 3η Εργασία 2009
« Reply #3 on: November 04, 2009, 00:58:10 am »

Απολιτιστε βιβλιο C++ εχεις; ( μαθετε τη C++ απο το μηδεν )
Logged
ant
Guest
Re: [C++] 3η Εργασία 2009
« Reply #4 on: November 04, 2009, 01:03:30 am »

Εγω θα προτεινα να το κανεις καπως ετσι...



Quote from: Apolitistos on November 04, 2009, 00:18:36 am
Code:

// Eχουμε int a, int b και έχουμε κάνει malloc

for (i=0; i<a; i++) {
   class1 temp(V);
   ob1[i] = temp;
   }

ή εναλλακτικα

// Eχουμε int a, int b και έχουμε κάνει malloc

for (i=0; i<a; i++) {
   class1 temp = class1 (V);
   ob1[i] = temp;
   }

Δες και σελ 294-295 στο βιβλιο

edit: α και αν τυχον τρεξει κανε ενα κοπο και ποσταρε οτι ετρεξε να ξερουμε
       βασικα κι αν δεν τρεξει κανε παλι ενα κοπο να ποσταρεις οτι δεν ετρεξε ( παλι για να ξερουμε )

 
 Cheesy Cheesy Cheesy Cheesy Cheesy


« Last Edit: November 04, 2009, 01:05:33 am by Antίλογος » Logged
jason_
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 616


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #5 on: November 04, 2009, 02:15:12 am »

Αντιλογε πολύ σωστός στην εναλλακτική λύση. Τρέχει. Το θέμα είναι ότι μου κρασάρει σε ένα σημείο κατά την εκτέλεση του constructor. Θα το ψάξω αύριο γιατί λέω να πάω για ύπνο. Πάντως, αυτό που είπες δουλεύει. Well done...
Logged

"He who must expend his life to prolong life cannot enjoy it, and he who is still seeking for his life does not have it and can as little enjoy it."
Laza G
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 229



View Profile WWW
Re: [C++] 3η Εργασία 2009
« Reply #6 on: November 04, 2009, 16:37:21 pm »

για τον υπολογισμό των αντιστάσεων σε παράλληλη σύνδεση πώς το κάνουμε ?
Logged

jason_
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 616


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #7 on: November 04, 2009, 19:12:04 pm »

Μπορείς να γράψεις κάτι τέτοιο:
Code:

void parallel::calc_R()
{
     int i;
     float sum=0, temp[k];  //όπου k ο αριθμός των αντιστατών που είναι σε παράλληλη σύνδεση
     
     for (i=0; i<k; i++)
       temp[i] = 1 / parR[i];
     for (i=0; i<k; i++)
       sum += temp[i];
     
     R = sum;
}

// Όπου τα k, *parR, R είναι private στοιχεία της parallel.


Logged

"He who must expend his life to prolong life cannot enjoy it, and he who is still seeking for his life does not have it and can as little enjoy it."
babis2
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 76



View Profile
Re: [C++] 3η Εργασία 2009
« Reply #8 on: November 05, 2009, 20:09:38 pm »

παιδάκια μου καλά και έξυπνα....     Cheesy

τι τύπους χρησιμοποιήσατε?

για serial:

Rtotal = R1+R2+R3+...+Rn

parallel:

Itotal= V (1/R1+1/R2+...+1/Rn)


P=V * I   (ισχύς) ή V = √P*R

I = V (διαφορά δυναμικού)/R     έκφραση του Ωμ..   


Αυτά μου ήρθαν μέχρι στιγμής.....
Logged

........................................
Laza G
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 229



View Profile WWW
Re: [C++] 3η Εργασία 2009
« Reply #9 on: November 05, 2009, 20:33:29 pm »

lol ρε συ...όποιον τύπο σε βολεύει πάρε..συνήθως τους πιο απλούς παίρνεις παντα..
Logged

babis2
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 76



View Profile
Re: [C++] 3η Εργασία 2009
« Reply #10 on: November 05, 2009, 20:46:07 pm »

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

........................................
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #11 on: November 05, 2009, 21:30:10 pm »

Λοιπων γραφω
Code:
class serial:public circuit{
...
public:
   serial(float V):circuit(V);
...
};
serial::serial(float V):circuit(V){
...
}
και ο compiler λεει ότι μετα από αυτο:
Code:
serial(float V):circuit(V);
ότι περιμενει ένα {

και μολις βρισκει αυτό:
Code:
serial::serial(float V):circuit(V)
μου λεει οτι την συγγεκριμένη συνάρτηση κάπου την έχω ξαναορίσει.


Ξερει κανεις τι παιζει?
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
jason_
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 616


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #12 on: November 05, 2009, 22:05:52 pm »

Quote from: il capitano on November 05, 2009, 21:30:10 pm
Λοιπων γραφω
Code:
class serial:public circuit{
...
public:
   serial(float V):circuit(V);
...
};
serial::serial(float V):circuit(V){
...
}
και ο compiler λεει ότι μετα από αυτο:
Code:
serial(float V):circuit(V);
ότι περιμενει ένα {

και μολις βρισκει αυτό:
Code:
serial::serial(float V):circuit(V)
μου λεει οτι την συγγεκριμένη συνάρτηση κάπου την έχω ξαναορίσει.


Ξερει κανεις τι παιζει?

Όταν δηλώνεις τον costructor μέσα στη κλάσση δεν το κάνεις έτσι. Δηλαδή δε γράφεις: serial(float V):circuit(V); αλλά: serial(float V);
Όταν μετά πάλι θα πας να φτιάξεις το σώμα του costructor τότε το γράφεις έτσι:
serial(float V):circuit(V) {
//μπλα μπλα
}
Logged

"He who must expend his life to prolong life cannot enjoy it, and he who is still seeking for his life does not have it and can as little enjoy it."
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #13 on: November 05, 2009, 22:32:23 pm »

tnks τωρα τρεχει, απλα βγαζει οτι να ειναι αποτελεσματα Tongue
Αντε τωρα να ψαχνεις τοσες γραμμες να δεις που εκανες λαθος crazy
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
sarovios
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 800


kill the fly!!!


View Profile
Re: [C++] 3η Εργασία 2009
« Reply #14 on: November 05, 2009, 22:45:00 pm »

για την δυναμικη δεσμευση μνημης με την malloc θα δουλεψουμε παλι ?
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...