THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομημένος Προγραμματισμός => Topic started by: c0ndemn3d on March 29, 2012, 18:12:50 pm



Title: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on March 29, 2012, 18:12:50 pm
Συζήτηση και απορίες για την πρώτη εργασία.

Εκφώνηση της πρώτης εργασίας στο ethmmy

Μια σειρά από n ωμικές αντιστάσεις, είναι διαθέσιμες για την κατασκευή ενός κυκλώματος. Για να γίνει δεκτή μια αντίσταση πρέπει η ένταση του ρεύματος που θα τη διαρρέει, αν σε αυτήν εφαρμοσθεί μια τάση V, να είναι μικρότερη από μια μέγιστη τιμή Imax και μεγαλύτερη από μια ελάχιστη τιμή Imin.

Να γραφεί το πρόγραμμα το οποίο, αφού διαβάσει τον αριθμό n των αντιστάσεων, την τιμή της τάσης V και τις τιμές Imin και Imax να ορίζει μία ανακύκλωση σε κάθε επανάληψη της οποίας να διαβάζει την τιμή μιας από τις n αντιστάσεις και να ελέγχει αν αυτή γίνεται δεκτή ή όχι. Το πρόγραμμα να εκτυπώνει τον αριθμό των αντιστάσεων που έγιναν δεκτές, την τιμή της μεγαλύτερης και της μικρότερης από αυτές καθώς και την τιμή της αντίστασης που θα προκύψει αν οι αντιστάσεις που έγιναν δεκτές συνδεθούν σε σειρά και αν αυτές συνδεθούν παράλληλα

Σημείωση : Να μη χρησιμοποιηθούν πίνακες.
Όταν βρεθεί ότι μια αντίσταση δε γίνεται δεκτή να τυπώνεται αντίστοιχο μήνυμα.



Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: ΚΗΜΜΥ on March 29, 2012, 21:10:22 pm
Ριξτε και μια εκφωνηση να δουμε να 'ουμ


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on March 29, 2012, 21:12:45 pm
Ριξτε και μια εκφωνηση να δουμε να 'ουμ

You got it, boss.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: ΚΗΜΜΥ on March 29, 2012, 21:15:21 pm
Thank you!

Αντε καλη ειναι, αλλα τι κολλημα κι αυτο με τις αντιστασεις...

https://www.youtube.com/watch?v=TPE9uSFFxrI


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: il capitano on March 29, 2012, 21:17:39 pm
Μάλλον επειδή ο νόμος του Ohm είναι εύκολος και μπορεί να τον καταλάβει ο Κ. άνετα :D


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Niobe on March 29, 2012, 21:22:36 pm
μονο kalculate να ουμε  :D :D :D :D :D


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: ΚΗΜΜΥ on March 29, 2012, 22:26:33 pm
Μάλλον επειδή ο νόμος του Ohm είναι εύκολος και μπορεί να τον καταλάβει ο Κ. άνετα :D

Xaxaxaxaxa μην παιρνεις κι ορκο...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Σαλτιμπάγκος on April 12, 2012, 16:56:05 pm
Ρε παιδιά,την τιμή της κάθε αντίστασης πρέπει να τη βάζει ο χρήστης έτσι;;Αυτό δεν εννοεί με το ''να διαβάζει'';;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Eragon on April 12, 2012, 17:43:03 pm
Ρε παιδιά,την τιμή της κάθε αντίστασης πρέπει να τη βάζει ο χρήστης έτσι;;Αυτό δεν εννοεί με το ''να διαβάζει'';;
ναι


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: heavy melon on April 13, 2012, 18:23:09 pm
Code:
 parallhla+=(1/temp); 

Σ' αυτό το σημείο όπου βρίσκω υποτίθεται την 1/Rol
γιατί ο dev μου βγάζει parallhla=0?
Έχω δηλώσει float parallhla και int temp

edit: Και το 1/12 μηδέν μου βγάζει πως κάνει  :D
άρα κάτι παίζει με τις μεταβλητές?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 13, 2012, 18:37:20 pm
δοκιμασε 1./12. και βαλε το temp float γιατι αλλιως νομιζω ο compiler κανει ακεραια διαιρεση


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: heavy melon on April 13, 2012, 18:50:59 pm
θενκ γιου


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: vagus on April 18, 2012, 16:56:04 pm
Kαι τωρα που δεν εχουμε bubblesort, τι κανουμε κοριτσια ;  :-\


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 18, 2012, 17:01:36 pm
Kαι τωρα που δεν εχουμε bubblesort, τι κανουμε κοριτσια ;  :-\

1ον για πιο λογο να χρησιμοποιησεις bubblesort; :???:
2ον  η ασκ λεει χωρις πινακες οποτε δεν μπορεις να χρησιμοποιησεις bubblesort


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: vagus on April 18, 2012, 17:08:56 pm
Kαι τωρα που δεν εχουμε bubblesort, τι κανουμε κοριτσια ;  :-\

1ον για πιο λογο να χρησιμοποιησεις bubblesort; :???:
2ον  η ασκ λεει χωρις πινακες οποτε δεν μπορεις να χρησιμοποιησεις bubblesort

Μολις ειπες τα ιδια πραγματα μ εμενα :)
Για να βρεις μεγιστη και ελαχιστη απο τις αντιστασεις, η bubblesort σου λυνει τα χερια. Τωρα ομως ;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 18, 2012, 17:17:30 pm
αρχικοποιεις max,min επαναληψη ελεγχο και τελειωσες simple as that 8))


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: vagus on April 18, 2012, 17:22:57 pm
Οντως ηταν πολυ απλο και μολις μου ρθε :) Thanks


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: vasilis1005 on April 19, 2012, 00:23:05 am
μηπως μπορειτε να πειτε μια ιδεα για το πως να ξεκινησω
να γραφω τον κωδικα; :-\


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 00:32:47 am
μηπως μπορειτε να πειτε μια ιδεα για το πως να ξεκινησω
να γραφω τον κωδικα; :-\

τι εννοεις πως να ξεκινησεις; :???:
απλα διαβασε αριθμο αντιστασεων,V,Imax,Imin μετα μπες σε μια επαναληψη διαβασε την αντισταση και χρησιμοποιησε if για να κανεις τους ελεγχους/υπολογισμους κτλ και τελος εμφανισε τα αποτελεσματα (μην ξεχασεις να δηλωσεις τις μεταβλητες)
ελπιζω να βοηθησα ;) 


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: vasilis1005 on April 19, 2012, 02:29:20 am
εννοω με ποια εντολη να ξεκινησω να γραφω
πως δλδ να διαβασω αυτα που λες και πως να μπω σε επαναληψη;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 12:00:25 pm
διαβασμα: scanf("%d", &n);
η παραπανω εντολη χρησιμοποιειται για διαβασμα ( το n ειναι η μεταβλητη που θελεις να διαβασεις και το d δειχνει οτι ο τυπος της μςταβλητης ειναι int αν πχ η n ηταν float θα εγραφες  οπου d f δηλαδη scanf("%f", &n);

επαναληψη
: for (i=0;i<n;i++) {...}
οπου n ο αριθμος των αντιστασεων
μεσα στο { } θα γραψεις αυτο που θελεις να γινεται σε επαναληψη
[ η παρενθεση (i=0;i<n;i++) σημαινει οτι την πρωτη φορα το i θα γινει 0 και μετα σε καθε επαναληψη θα αυξανεται κατα 1 συμφωνα με το i++ μεχρι να γινει n-1 ]

εμφανιση
: printf("%f\n", R);
οπου R η μεταβλητη που θελεις να εμφανισεις
παλι για d και f ισχυουν τα ιδια πραγματα με scanf
το n σημαινει οτι αν ξαναεμφανισης κατι μετα το R τοτε αυτο θα εμφανιστει σε καινουρια σειρα
αν ηθελες να γραψεις να φαινεται στην εμφανιση κατι τοτε πχ
printf("Η συνολικη αντισταση αν οι αντιστασεις μπουν σε σειρα θα ειναι %f\n", Rol); 
δηλαδη στην ουσια οπου βαλεις %f (ή %d ) εκει θα εμφανιστει και η μεταβλητη που εχεις μετα το κομμα


και μην ξεχνας στο τελος απο scanf printf και πραξεων (πχ χ=χ+1) να βαζεις ; 

 


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Σαλτιμπάγκος on April 19, 2012, 15:28:44 pm
Ρεεε, αν χρησιμοποιήσω αντι για printf  την εντολή cout που έχει κ στο βιβλίο είναι λάθοσ;;;;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 15:32:43 pm
Ρεεε, αν χρησιμοποιήσω αντι για printf  την εντολή cout που έχει κ στο βιβλίο είναι λάθοσ;;;;

H cout ειναι μονο στην C++...H αντιστοιχη στη C ειναι η printf...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 15:35:52 pm
Παιδια ξερεις κανεις πχ για να βρω την min την αρχικοποιω βαζωντας μια πολυ μεγαλη τιμη...Αυτο ο Κορτεσης καπως το εκανε με μια εντολη..Βεβαια αυτο δεν χρειαζετομαστε στην συγκεκριμενη ασκηση γιατι το βρισκουμε απο το Imax...Aλλα αυτην την μεγαλη τιμη πως την εβαζε ο Κορτεσης...?Θυμαται κανεις...?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 15:47:00 pm
η αρχικοποιηση γινεται στη δηλωση πχ int x=10;
αυτο που λες μαλλον ειναι η define και χρησιμοποιειται ως εξης: εκει που γραφεις #include <stdio.h> κτλ απο κατω ακριβως γραφεις #define x [10]


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Xleboniaris on April 19, 2012, 16:20:15 pm
παιδιά κολλάω λίγο κάπου , στο σημείο που πρέπει να τυπώσω τον αριθμό των αντιστάσεων που έγιναν δεκτές.
Αρχικά πήρα την if και ξεχώρισα από την μια τις μη δεκτές αντιστάσεις στις οποίες τυπώνεται το αντίστοιχο μήνυμα και από την άλλη έχω τις αντιστάσεις που είναι δεκτές. Εδώ θέλω να βάλω μια δεύτερη μεταβλητή η οποία θα αυξάνει για κάθε μια  από τις δεκτές αντιστάσεις , αλά δεν ξέρω πως να το γράψω αυτό μες τον κώδικα. Απλώς είμαι πρωτοετής και ήμουν από θετική και μου λείπει λίγο η εξάσκηση στο γράψιμο του κώδικα. Επίσης, αν γίνεται να δώσετε μερικές ακόμα πληροφορίες για την ταξινομήσει των δεκτών αντιστάσεων. Από ότι κατάλαβα ορίζω δύο τιμές μια μέγιστη και μια ελάχιστη και μετά συγκρίνω τις δεκτές αντιστάσεις με αυτές;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 16:33:29 pm
παιδιά κολλάω λίγο κάπου , στο σημείο που πρέπει να τυπώσω τον αριθμό των αντιστάσεων που έγιναν δεκτές.
Αρχικά πήρα την if και ξεχώρισα από την μια τις μη δεκτές αντιστάσεις στις οποίες τυπώνεται το αντίστοιχο μήνυμα και από την άλλη έχω τις αντιστάσεις που είναι δεκτές. Εδώ θέλω να βάλω μια δεύτερη μεταβλητή η οποία θα αυξάνει για κάθε μια  από τις δεκτές αντιστάσεις , αλά δεν ξέρω πως να το γράψω αυτό μες τον κώδικα. Απλώς είμαι πρωτοετής και ήμουν από θετική και μου λείπει λίγο η εξάσκηση στο γράψιμο του κώδικα. Επίσης, αν γίνεται να δώσετε μερικές ακόμα πληροφορίες για την ταξινομήσει των δεκτών αντιστάσεων. Από ότι κατάλαβα ορίζω δύο τιμές μια μέγιστη και μια ελάχιστη και μετά συγκρίνω τις δεκτές αντιστάσεις με αυτές;

-οριζεις μια μεταβλητη int counter=0;
-βαζεις μεσα στο if σου που γινονται δεκτες counter=counter+1 ή counter++ ή counter+=1(και οι 3 εντολες κανουν ακριβως την ιδια δουλεια-δλδ καθε φορα που θα μπαινει το προγραμμα στο if οπου γινονται δεκτες θα αυξανει τον counter κατα 1.Στην δηλωση τον αρχικοποιουμε counter=0 ετσι ωστε να εχει μια τιμη 0 στην αρχη και την πρωτη φορα που θα μπει στο if να γινει 1)
-αυτο που θα εμφανισεις στο τελος ειναι ο counter,o oποιος θα ειναι ισος με οσες φορες μπηκε στο if το προγραμμα και ετσι θα δειχνει ποσες αντοστασεις εγιναν δεκτες...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Niobe on April 19, 2012, 16:34:26 pm
Από ότι κατάλαβα ορίζω δύο τιμές μια μέγιστη και μια ελάχιστη και μετά συγκρίνω τις δεκτές αντιστάσεις με αυτές;

μολις κανεις μια αντισταση δεκτη με δυο if που φυσικα θα εκτελειται μονο το 1αφου δεν γινεται μια τιμη αντιστασης να ειναι μεγαλυτερη απο ενα max και μικροτερη απο ενα min (το max και το min δεν ειναι ισα).


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Xleboniaris on April 19, 2012, 16:40:30 pm
οκ , κατάλαβα πως θα το κάνω , θενκς πολύ


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 16:41:00 pm
η αρχικοποιηση γινεται στη δηλωση πχ int x=10;
αυτο που λες μαλλον ειναι η define και χρησιμοποιειται ως εξης: εκει που γραφεις #include <stdio.h> κτλ απο κατω ακριβως γραφεις #define x [10]
Δεν με καταλαβες...στη συγκεκριμενη εργασια θελω π.χ. να βρω την max...οριζω max=0 και μετα συγκρινω καθε τιμη αν ειναι μεγαλυτερη και την αντικαθιστω...γνωριζω ομως οτι η πρωτη τιμη που θα συγκρινω σιγουρα θα ειναι μεγαλυτερη απο 0 οποτε δεν θα χασω καμια τιμη...σε περιπτωση ομως που θελω να βρω την ελαχιστη πρεπει να ορισω μια min οποια θα ειναι παρα πολυ μεγαλη ετσι ωστε η πρωτη που θα μπει να ειναι σιγουρα μικροτερη ετσι ωστε να μην χασω καμια τιμη μετα...αυτην την μεγαλη τιμη ο Κορτεσης καπως την οριζει...ξερει κανεις πως...???


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 17:01:42 pm
στη συγκεκριμενη εργασια θελω π.χ. να βρω την max...οριζω max=0 και μετα συγκρινω καθε τιμη αν ειναι μεγαλυτερη και την αντικαθιστω...γνωριζω ομως οτι η πρωτη τιμη που θα συγκρινω σιγουρα θα ειναι μεγαλυτερη απο 0 οποτε δεν θα χασω καμια τιμη...σε περιπτωση ομως που θελω να βρω την ελαχιστη πρεπει να ορισω μια min οποια θα ειναι παρα πολυ μεγαλη ετσι ωστε η πρωτη που θα μπει να ειναι σιγουρα μικροτερη ετσι ωστε να μην χασω καμια τιμη μετα...αυτην την μεγαλη τιμη ο Κορτεσης καπως την οριζει...ξερει κανεις πως...???

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


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 17:09:56 pm
η αρχικοποιηση γινεται στη δηλωση πχ int x=10;
αυτο που λες μαλλον ειναι η define και χρησιμοποιειται ως εξης: εκει που γραφεις #include <stdio.h> κτλ απο κατω ακριβως γραφεις #define x [10]
Δεν με καταλαβες...στη συγκεκριμενη εργασια θελω π.χ. να βρω την max...οριζω max=0 και μετα συγκρινω καθε τιμη αν ειναι μεγαλυτερη και την αντικαθιστω...γνωριζω ομως οτι η πρωτη τιμη που θα συγκρινω σιγουρα θα ειναι μεγαλυτερη απο 0 οποτε δεν θα χασω καμια τιμη...σε περιπτωση ομως που θελω να βρω την ελαχιστη πρεπει να ορισω μια min οποια θα ειναι παρα πολυ μεγαλη ετσι ωστε η πρωτη που θα μπει να ειναι σιγουρα μικροτερη ετσι ωστε να μην χασω καμια τιμη μετα...αυτην την μεγαλη τιμη ο Κορτεσης καπως την οριζει...ξερει κανεις πως...???

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

Aυτο που λες δεν γινεται...Θα γινοταν σε περιπτωση που ειχα πινακα...καποιος ρε παιδια να θυμηθει...?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Xleboniaris on April 19, 2012, 17:25:04 pm
Ισχύει ότι Rmax=V/Imin , όπου η Rmax είναι η μέγιστη τιμή που μπορεί να πάρει μια δεκτή αντίσταση , ετσι άμα βάλεις min=V/Imin ξέρεις σίγουρα ότι κάθε δεκτή αντίσταση έχει τιμή μικρότερη απο αυτήν , η ταξινόμίση  πρέπει να γίνει για τις δεκτές αντιστάσεις οπότε όσες έχουν τιμή μεγαλύτερη από V/Imin δεν είναι δεκτές


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 17:34:50 pm
Ισχύει ότι Rmax=V/Imin , όπου η Rmax είναι η μέγιστη τιμή που μπορεί να πάρει μια δεκτή αντίσταση , ετσι άμα βάλεις min=V/Imin ξέρεις σίγουρα ότι κάθε δεκτή αντίσταση έχει τιμή μικρότερη απο αυτήν , η ταξινόμίση  πρέπει να γίνει για τις δεκτές αντιστάσεις οπότε όσες έχουν τιμή μεγαλύτερη από V/Imin δεν είναι δεκτές

Aυτο ακριβως ειπα...οτι στην εργασια αυτη μπορεις να το υπολογισεις και το ξερεις το οριο..Τ θεμα μου εμενα ειναι γενικα τι γινεται γιατι σε καποια εργασια περσυ δεν μπορουσαμε να υπολογισουμε το οριο και εγω εβαλα αυθαρετα π.χ. double min=10000000000000...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 17:38:10 pm
Aυτο που λες δεν γινεται...Θα γινοταν σε περιπτωση που ειχα πινακα...?
Τ θεμα μου εμενα ειναι γενικα τι γινεται γιατι σε καποια εργασια περσυ δεν μπορουσαμε να υπολογισουμε το οριο και εγω εβαλα αυθαρετα π.χ. double min=10000000000000...

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

ΥΣ: Ο τρόπος του Xleboniaris είναι ολόσωστος απλά, όπως κατάλαβες και μόνος σου, περιστασιακός...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 17:44:38 pm
ρε παιδια δικιο εχει ο exomag απλα κανεις το 1ο διαβασμα εξω απο την επαναληψη κανεις εκχωρηση το min και μετα μπαινεις στην επαναληψη


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 17:48:43 pm
ρε παιδια δικιο εχει ο exomag απλα κανεις το 1ο διαβασμα εξω απο την επαναληψη κανεις εκχωρηση το min και μετα μπαινεις στην επαναληψη

Γίνεται και μέσα στην επανάληψη με ένα if i==1 (όπου i ο μετρητής των loops)...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 17:52:13 pm
Και να μπεις στην επανάληψη το ίδιο είναι... Απλά όχι τόσο αποδοτικό.. Αν δεν μπορείτε να το καταλάβετε αλλιώς, κάντε το με τον εύκολο και σίγουρο τρόπο...

Εάν έχουμε έναν μετρητή i, τότε

Code:
scanf("%f",&R);
if(i==1) {
    Rmax=Rmin=R;
}
else if(Rmin>R) {
    Rmin = R;
}
else if(Rmax<R) {
    Rmax = R;
}





Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 17:59:59 pm
Και να μπεις στην επανάληψη το ίδιο είναι... Απλά όχι τόσο αποδοτικό.. Αν δεν μπορείτε να το καταλάβετε αλλιώς, κάντε το με τον εύκολο και σίγουρο τρόπο...
Εάν έχουμε έναν μετρητή i, τότε
Code:
scanf("%f",&R);
if(i==1) {
    Rmax=Rmin=R;
}
else if(Rmin>R) {
    Rmin = R;
}
else if(Rmax<R) {
    Rmax = R;
}

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


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 18:05:30 pm
κοιτα δεν ειναι ασημαντο θεμα γιατι αν ποτε χρειαστει να γραψεις ενα σοβαρο προγραμμα τοτε θα σε νοιαζει αν υπαρχει πιο γρηγορος τροπος ουτως ωστε να ειναι πιο αποδοτικο
βεβαια στις ασκησεις που κανουμε οι διαφορες αυτες δεν φαινονται



Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: gt on April 19, 2012, 18:06:18 pm
Ακριβως συμφωνω με ολους...Και μεσα στο loop γινεται και εξω απο το loop γινεται φαντασια να υπαρχει..αλλα ο Κορτεσης το εχει κανει γενικα με μια μεταβλητη...κατι με inf-infintiy νομιζω ειχε να κανει και θελω αυτο να θυμηθω...η εργασια βγαινει με ολους τους τροπους που ειπατε απλα θυμαμαι περσι δεν εβγαινε με κανεναν απ τους παραπανω και ηθελε αυτο το inf κατι..αν καποιος το θυμηθει η το βρει καπου θα του ειμαι πολυ ευγνωμων γιατι τοσα χρονια που κανω εργασιες δεν το βρηκα πουθενα...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 18:12:24 pm
Μήπως λες αυτό;

http://www.gnu.org/software/libc/manual/html_node/Infinity-and-NaN.html


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 18:14:28 pm
κοιτα δεν ειναι ασημαντο θεμα γιατι αν ποτε χρειαστει να γραψεις ενα σοβαρο προγραμμα τοτε θα σε νοιαζει αν υπαρχει πιο γρηγορος τροπος ουτως ωστε να ειναι πιο αποδοτικο
βεβαια στις ασκησεις που κανουμε οι διαφορες αυτες δεν φαινονται

Συμφωνώ απόλυτα. Αυτό που εννοούσα πριν είναι ότι δεν μπορώ να καταλάβω γιατι υπάρχει διαφορά στην απόδοση άμα κάνεις την διαδικασία έξω/μέσα από την επανάληψη.

ΥΣ: Το θέμα της απόδοσης των αλγορίθμων/προγραμμάτων είναι ένα πολύ σημαντικό θέμα που, δυστυχώς, δεν έχει διδαχθεί επαρκώς...


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 18:15:31 pm
κοιτα δεν ειναι ασημαντο θεμα γιατι αν ποτε χρειαστει να γραψεις ενα σοβαρο προγραμμα τοτε θα σε νοιαζει αν υπαρχει πιο γρηγορος τροπος ουτως ωστε να ειναι πιο αποδοτικο
βεβαια στις ασκησεις που κανουμε οι διαφορες αυτες δεν φαινονται

Συμφωνώ απόλυτα. Αυτό που εννοούσα πριν είναι ότι δεν μπορώ να καταλάβω γιατι υπάρχει διαφορά στην απόδοση άμα κάνεις την διαδικασία έξω/μέσα από την επανάληψη.

ΥΣ: Το θέμα της απόδοσης των αλγορίθμων/προγραμμάτων είναι ένα πολύ σημαντικό θέμα που, δυστυχώς, δεν έχει διδαχθεί επαρκώς...

Κάθε πράμα στον καιρό του!


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Xleboniaris on April 19, 2012, 18:17:59 pm
Θέλω να ρωτήσω κάτι, η ταξινόμιση έχει να κάνει με την ταξινόμιση όλων των αντιστατών ή μόνο των δεκτών αντιστάσεων, γιατί δεν καταλαβαίνω ακριβώς. Αν όμως μιλά για ταξινόμιση των δεκτών αντιστάσεων τότε το Rmin για τον έλεγχο δεν αρκεί να είναι μεγαλύτερο-ίσο από την τιμή της μεγαλύτερης αντίστασης αλλά θα πρέπει να είναι και μικρότερο-ίσο από την τιμή της μέγιστης δεκτής αντίστασης, Αν μιλάει για δεκτές λοιπόν αντιστάσεις πως ακριβώς κάνουμε τον έλεγχο?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 18:22:50 pm
Ναι, το κομμάτι που έγραψα θα βρίσκεται μετά από κάποιον έλεγχο που θα βρίσκει τις έγκυρες αντιστάσεις.

Όταν διαβάζεις μια αντίσταση, εφαρμόζοντας τον τύπο Ι=V/R θα ελέγχεις αν το Ι είναι μεγαλύτερο απο Ιmin και Imax και μόνο τότε θα συνεχίζεις στον παρακάτω έλεγχο.

Υ.Γ. Αν μια αντίσταση δεν είναι δεκτή, μπορείς να προχωρήσεις με την εντολή continue.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 18:35:00 pm
Μπορεί να είναι λίγο off-topic, αλλά δε θα μπορούσαμε να ανεβάζουμε μια εργασία/πρότυπο λίγο πριν τη προθεσμία της παράδοσης της κάθε εργασίας;


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 18:38:36 pm
Μπορεί να είναι λίγο off-topic, αλλά δε θα μπορούσαμε να ανεβάζουμε μια εργασία/πρότυπο λίγο πριν τη προθεσμία της παράδοσης της κάθε εργασίας;

Καλό ακούγεται.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 19, 2012, 18:49:23 pm
πολυ καλη σαν ιδεα το θεμα ομως ειναι ποια εργασια θα ανεβαινει δλδ ποια θα ειναι τα κριτηρια; :???:


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 19, 2012, 18:51:22 pm
πολυ καλη σαν ιδεα το θεμα ομως ειναι ποια εργασια θα ανεβαινει δλδ ποια θα ειναι τα κριτηρια; :???:

May the best programmer win.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 19, 2012, 18:58:24 pm
Quote
πολυ καλη σαν ιδεα το θεμα ομως ειναι ποια εργασια θα ανεβαινει δλδ ποια θα ειναι τα κριτηρια; :???:
May the best programmer win.
aka "Εγώ είμαι ο moderator, άρα κάνω ότι θέλω, άρα η δικιά μου" :D


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: 020400e on April 19, 2012, 20:17:38 pm
Quote
πολυ καλη σαν ιδεα το θεμα ομως ειναι ποια εργασια θα ανεβαινει δλδ ποια θα ειναι τα κριτηρια; :???:
May the best programmer win.
aka "Εγώ είμαι ο moderator, άρα κάνω ότι θέλω, άρα η δικιά μου" :D

Τελικά όντως είναι σατανικός...   ;D


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Σαλτιμπάγκος on April 20, 2012, 13:43:46 pm
Λετε να υπαρξει προβλημα που το προγραμμα μου δουλευει με greeklish?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: xristosak on April 20, 2012, 14:08:47 pm
Μπορεί κανείς να δώσει μια γενική εικόνα για το κομμάτι της παραλληλης και της συνδεσης σε σειρά των αντιστάσεων??


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 20, 2012, 14:26:38 pm
Μπορεί κανείς να δώσει μια γενική εικόνα για το κομμάτι της παραλληλης και της συνδεσης σε σειρά των αντιστάσεων??

τι εννοεις; τους τυπους θες; :???:


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 20, 2012, 14:37:26 pm
Λετε να υπαρξει προβλημα που το προγραμμα μου δουλευει με greeklish?

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



Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: giannaros on April 20, 2012, 15:01:00 pm
Αγαπητοι-ες,ποιες εντολες εχει δειξει μεχρι στιγμης ο Κορτεσης;για να ξερω ποιες θα χρησιμοποιησω στην εργασια!


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Jim D. Ace on April 20, 2012, 15:21:30 pm
Αγαπητοι-ες,ποιες εντολες εχει δειξει μεχρι στιγμης ο Κορτεσης;για να ξερω ποιες θα χρησιμοποιησω στην εργασια!

τιποτα το ιδιαιτερο τα βασικα μονο (επαναληψεις,if,2-3 πραγματακια για τους πινακες και τις scanf και printf ) ;)


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: giannaros on April 20, 2012, 15:45:05 pm
ευχαριστω φιλτατε


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Xleboniaris on April 20, 2012, 22:23:39 pm
μια τελευταία απορία, στο τελικό κομμάτι της εργασίας που πρέπει αν τυπωθεί η τιμή της συνολικής αντίστασης. Αρχικά όταν είναι σε σε σειρά έβαλα για παράδειγμα ότι η τιμή της αντίστασης δινεται από τον τύπο Rseira=Rseira+R, με Rseira=0 . Πώς θα γίνει ο αντίστηχως τύπος όταν είναι παράλληλα? έχω δοκιμάσει αρκετά πράγματα αλλά είναι λάθος όταν τα διορθώνει ο κομπίλερ. H Rol σε παράληλη σύνδεση είναι στον παρονομαστή , με τί τιμή θα την ορίσω αρχικά?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 20, 2012, 23:11:55 pm
μια τελευταία απορία, στο τελικό κομμάτι της εργασίας που πρέπει αν τυπωθεί η τιμή της συνολικής αντίστασης. Αρχικά όταν είναι σε σε σειρά έβαλα για παράδειγμα ότι η τιμή της αντίστασης δινεται από τον τύπο Rseira=Rseira+R, με Rseira=0 . Πώς θα γίνει ο αντίστηχως τύπος όταν είναι παράλληλα? έχω δοκιμάσει αρκετά πράγματα αλλά είναι λάθος όταν τα διορθώνει ο κομπίλερ. H Rol σε παράληλη σύνδεση είναι στον παρονομαστή , με τί τιμή θα την ορίσω αρχικά?

Θα βάλεις πρώτη τιμή στην R_ol σε παράλληλη σύνδεση την πρώτη (δεκτή) τιμή που θα εισάγει ο χρήστης. Έπειτα ο τύπος θα είναι R_ol=(R_ol+R)/(R_ol*R), όπου R η τιμή της κάθε αντίστασης που θα εισάγει ο χρήστης, στην κάθε επανάληψη.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Infinite Loop on April 21, 2012, 00:45:09 am
μια τελευταία απορία, στο τελικό κομμάτι της εργασίας που πρέπει αν τυπωθεί η τιμή της συνολικής αντίστασης. Αρχικά όταν είναι σε σε σειρά έβαλα για παράδειγμα ότι η τιμή της αντίστασης δινεται από τον τύπο Rseira=Rseira+R, με Rseira=0 . Πώς θα γίνει ο αντίστηχως τύπος όταν είναι παράλληλα? έχω δοκιμάσει αρκετά πράγματα αλλά είναι λάθος όταν τα διορθώνει ο κομπίλερ. H Rol σε παράληλη σύνδεση είναι στον παρονομαστή , με τί τιμή θα την ορίσω αρχικά?

Αθροισε τις αγωγιμοτητες.


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 21, 2012, 15:26:21 pm
What infinite loop said.

Άθροισε τις αγωγιμότητες, δηλαδή πρόσθεσε κάθε φορά σε μια μεταβλητή Gpar το 1/R, όπου R κάθε δεκτή αντίσταση που διαβάζεις. Από εκεί και πέρα τα πράγματα είναι απλά..

printf("Rparallel: %f",1/Gpar);


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: heavy melon on April 21, 2012, 18:11:06 pm
Εάν έχουμε έναν μετρητή i, τότε

Code:
scanf("%f",&R);
if(i==1) {
    Rmax=Rmin=R;
}
else if(Rmin>R) {
    Rmin = R;
}
else if(Rmax<R) {
    Rmax = R;
}





Αυτό το i=1 μπορεί όμως ρε παιδιά μπορεί να μην είναι δεκτή τιμή αντίστασης!?


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: Exomag on April 21, 2012, 18:20:22 pm
Εάν έχουμε έναν μετρητή i, τότε
Code:
scanf("%f",&R);
if(i==1) {
    Rmax=Rmin=R;
}
else if(Rmin>R) {
    Rmin = R;
}
else if(Rmax<R) {
    Rmax = R;
}
Αυτό το i=1 μπορεί όμως ρε παιδιά μπορεί να μην είναι δεκτή τιμή αντίστασης!?

Εννοείται ότι το i θα μετράει μόνο τις δεκτές αντιστάσεις (επομένως δε θα χρησιμοποιείται ως μετρητής των loop της επανάληψης).


Title: Re: [Δομημένος Πρ.] Εργασία Α
Post by: c0ndemn3d on April 21, 2012, 19:08:19 pm
Παιδιά αυτό που έχω γράψει αποτελεί ένα παράδειγμα και όχι τμήμα του προγράμματος. Θα πρέπει να το προσαρμόσετε.