• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 22:20:14 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.
June 17, 2025, 22:20:14 pm

Login with username, password and session length

Αναζήτηση

Google

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

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[Today at 21:25:42]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[Today at 20:59:13]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 19:46:54]

[Γραφική] Λυμένα θέματα
by okanpala
[Today at 18:56:22]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

[Οργάνωση Υπολογιστών] Γε...
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 _Trob
[June 16, 2025, 13:28:21 pm]

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

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

[Σ.Π.Η.Ε.] Παλιά θέματα -...
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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426698
Total Topics: 31710
Online Today: 242
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 61
Guests: 130
Total: 191
elischat
ThanosKoutsoump
msandr
giorgosm05
ecevz
Fidelity
geo66
mavropan
kmarkad
Jimlam
ikallima
Νικη
bit11
EvP
Elenit
Farmengineer
alexandraskol
ioannisfa
el mariachi
rafail zisiadis
Pumpakos
Raphael
giorgosss03
lasef
donnis
dimchin
meliou
Manifold
plapas
vagelismo
tzortzis
dtsiamis
aachmet
andreassifo
stergiosb
iakov
Ioakeim Zisis
Eleniiii
mmikelo
unreasonable
pordozoumis
pavlaras
Giannis Masterio
Soterd52
nikos123321
eirinistyl
elenak
mdimitrig
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
ΦΙδανης Αριστοτελης
alexanton
apapathe
Balourdos
pkoko
Fenia04
Lemonia
chrisg
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
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 7293 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...