Title: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: RFed the King on May 13, 2014, 14:26:12 pm Άσκηση Ε Να γραφεί το πρόγραμμα στο οποίο να ορίζεται η συνάρτηση nroot(…) η οποία, μέσα από μια αναδρομική (recursive) διαδικασία, υπολογίζει μια πραγματική ρίζα της εξίσωσης f(x)=0 προσεγγίζοντας την με την αναδρομική σχέση xi+1=xi-f(xi)/f’(xi). Από τη σχέση αυτή παράγεται μία ακολουθία τιμών η οποία, κάτω από ορισμένες προϋποθέσεις, συγκλίνει προς μια πραγματική ρίζα της f(x)=0. Σε διαφορετική περίπτωση η ακολουθία αποκλίνει ή οι τιμές της παλινδρομούν. Ως αρχική τιμή για το x0 δίνεται ένας τυχαίος αριθμός. Στο ίδιο πρόγραμμα να οριστεί και η συνάρτηση froot(…) η οποία να υπολογίζει, μέσα από μια αναδρομική (recursive) διαδικασία, μια πραγματική ρίζα της εξίσωσης f(x)=0 προσεγγίζοντας την με την αναδρομική σχέση xi+1 = xi-(xi-xi-1)f(xi)/(f(xi-f(xi-1)). Από τη σχέση αυτή παράγεται μία ακολουθία τιμών η οποία, κάτω από ορισμένες προϋποθέσεις, συγκλίνει προς μια πραγματική ρίζα της f(x)=0. Σε διαφορετική περίπτωση η ακολουθία αποκλίνει ή οι τιμές της παλινδρομούν. Και για τις δύο συναρτήσεις η διαδικασία σταματά όταν θα ισχύει η σχέση |xi+1-xi |<e, όπου e ένας πολύ μικρός θετικός αριθμός που δηλώνει την ακρίβεια της μεθόδου. Ως αρχικές τιμές για το x0 και το x1 δίνονται τυχαίοι αριθμοί. Για να συγκριθούν οι ταχύτητες σύγκλησης προς τη ρίζα των δύο συναρτήσεων, η συνάρτηση main του προγράμματος να τις καλεί για να υπολογίσουν, η κάθε μια χωριστά, τη ρίζα μιας εξίσωσης. Η main να τυπώνει τη ρίζα και τον αριθμό των επαναλήψεων που έκανε η κάθε συνάρτηση για να την προσεγγίσει με την ίδια ακρίβεια e. Η main να τυπώνει ακόμη και τα κατάλληλα μηνύματα στις περιπτώσεις που, για τη συγκεκριμένη εξίσωση, δε μπορεί να εφαρμοστεί ο αλγόριθμός ή η αντίστοιχη ακολουθία δε συγκλείνει προς τη ρίζα. Βοηθητικές παρατηρήσεις: Να μη χρησιμοποιηθούν πουθενά γενικές μεταβλητές. Οι συναρτήσεις να μη διαβάζουν δεδομένα και να μην εκτυπώνουν μηνύματα ή αποτελέσματα Επειδή στην περίπτωση πού δε μπορεί να υπολογιστεί μια πραγματική ρίζα από τις πιο πάνω αναδρομικές σχέσεις η διαδικασία θα συνεχίζεται επ’ άπειρο, να διαβάζεται ένας μέγιστος αριθμός επαναλήψεων για την εφαρμογή του κάθε αλγόριθμου. Η έκφραση f’(xi) είναι η παράγωγος της f(x) για x ίσον με xi Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: RFed the King on May 13, 2014, 15:34:16 pm Δεν καταλαβαινω την τυφλα μου,μπορει καποιος να δωσει τα φωτα του?
Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: RFed the King on May 13, 2014, 16:34:49 pm Λοιπον εγω πηρα μονο τη συναρτηση f(x)=ax^2+bx+c
Γενικα μπορουμε να παρουμε συγκεκριμενη συναρτηση? Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: Fcoriolis on May 13, 2014, 16:44:26 pm Λοιπον εγω πηρα μονο τη συναρτηση f(x)=ax^2+bx+c Ναι όποια θέλεις παίρνεις!Γενικα μπορουμε να παρουμε συγκεκριμενη συναρτηση? Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: Turambar on May 17, 2014, 14:00:19 pm Αυτό :
xi+1 = xi-(xi-xi-1)f(xi)/(f(xi-f(xi-1)). ΕΙΝΑΙ ΛΑΘΟΣ. Το σωστό είναι xi+1 = xi-(xi-xi-1)f(xi)/(f(xi)-f(xi-1)). Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: airpap on May 17, 2014, 16:02:48 pm μπορει καποιος να ανεβασει τον κωδικα?
Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: Tsakali on May 17, 2014, 16:14:14 pm μπορει καποιος να ανεβασει τον κωδικα? 10 ευρώ περικαλώ... Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: geopas on May 17, 2014, 16:16:54 pm ασε ρε αλητη tsakali που θες και 10 ευρω :D
Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: airpap on May 17, 2014, 16:24:28 pm δε μπορω να καταλαβω που χρειαζεται η αναδρομη!!
Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης ^ Post by: Tsakali on May 17, 2014, 16:29:16 pm δε μπορω να καταλαβω που χρειαζεται η αναδρομη!! Άμα τσεκάρεις στις σημειώσεις του κορτέση εκεί που λέει για pointers σε συναρτήσεις έχει ένα παράδειγμα στο οποίο η ρίζα υπολογίζεται με επανάληψη. Ε, αυτή η επανάληψη στην περίπτωση μας αντικαθίσταται από if και αναδρομή. τα υπόλοιπα δικά σου... Άμα ενδιαφέρεσαι πάντως εγώ τον κώδικα τον πουλάω.. Τι τζάμπα ιδρώνω Μάιο μήνα... :D :D :D. Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: airpap on May 17, 2014, 16:38:28 pm χαχα...μπαα λέω να υδρωσω εγώ καλύτερα!! 8))
σε ευχαριστώ για την βοήθεια πάντως!! Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: Tsakali on May 17, 2014, 16:52:27 pm Δεν κάνει τίποτα. Ότι θές, πόσταρε.
Title: Re: [Δομημένος Προγραμματισμός] Άσκηση E (Hμ/νία λήξης δηλώσεων: 18/05/2014) Post by: lady_of_winter on May 17, 2014, 17:03:06 pm μήπως μπορεί καποιος να μου εξηγήσει τι εννοεί με αυτό που λέει στο τέλος οτι ο αλγόριθμος δεν μπορεί να εφαρμοστεί?
|