akikos
Επιφανές μέλος
Ο Ανδρέας αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Πτυχιούχος του τμήματος Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών ΕΜΠ και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 11,842 μηνύματα.
03-02-19
21:19
Το N δεν κατάλαβα τι ρόλο παίζει.... Δλδ θα κάνω do i=1,1000000
If abs(3/i*x^i) then sum=sum+(3/i*x^i)
Else exit και μετά τι;
Έκανα edit την παραπανω απάντηση.
Το Ν είναι μια από τις εξοδους της συναρτησης. Είναι ο αριθμός i ώστε abs(3/i*x^i)<h
Δεν θα βάλεις do αλλά while loop με συνθήκη abs(3/i*x^i)>=h
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
Ο Ανδρέας αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Πτυχιούχος του τμήματος Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών ΕΜΠ και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 11,842 μηνύματα.
03-02-19
20:51
Ούτε εμας μας έμαθαν Fortran ... αλλά μας έμαθαν να επιβιώνουμε στις δύσκολες καταστάσεις.Ο Άκικος έχει τελειώσει ΕΜΠ είναι καλύτερος σε αυτά.
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
Ο Ανδρέας αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Πτυχιούχος του τμήματος Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών ΕΜΠ και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 11,842 μηνύματα.
03-02-19
20:24
Εμένα με μπερδεύει η απάντηση του @johnny
Η υπόδειξη λέει ότι η άθροιση σταματά όταν η απόλυτη τιμή του όρου που προστίθεται στο άθροισμα είναι μικρότερη από h, δηλαδή όταν
το abs(3/ι*(x^ι)) < h
Αυτό που λέει ο @johnny (μόλις δυο διαδοχικά αθροίσματα έχουν διαφορά μικρότερη από το h το σταματάς) από που βγαίνει;
Άρα η λύση ειναι:
1) Mια συνάρτηση που παίρνει ως είσοδο την τιμή του x και την ακρίβεια h.
2) Μέσα στη συνάρτηση ορίζουμε και αρχικοποιουμε την τιμή του i = 1, καθώς και το άθροισμα (sum = 0)
3) Μετά βάζουμε μια while που ελέγχει ότι για όσο abs(3/ι*(x^ι)) >= h κάνουμε τον υπολογισμο sum = sum + 3/i*(x^i) και αυξάνουμε την τιμή του i κατά 1
4) Έπειτα επιστρέφουμε ως έξοδο το i και το sum μέσα σε ένα πίνακα ή άλλη δομή δεδομένων.
Η υπόδειξη λέει ότι η άθροιση σταματά όταν η απόλυτη τιμή του όρου που προστίθεται στο άθροισμα είναι μικρότερη από h, δηλαδή όταν
το abs(3/ι*(x^ι)) < h
Αυτό που λέει ο @johnny (μόλις δυο διαδοχικά αθροίσματα έχουν διαφορά μικρότερη από το h το σταματάς) από που βγαίνει;
Άρα η λύση ειναι:
1) Mια συνάρτηση που παίρνει ως είσοδο την τιμή του x και την ακρίβεια h.
2) Μέσα στη συνάρτηση ορίζουμε και αρχικοποιουμε την τιμή του i = 1, καθώς και το άθροισμα (sum = 0)
3) Μετά βάζουμε μια while που ελέγχει ότι για όσο abs(3/ι*(x^ι)) >= h κάνουμε τον υπολογισμο sum = sum + 3/i*(x^i) και αυξάνουμε την τιμή του i κατά 1
4) Έπειτα επιστρέφουμε ως έξοδο το i και το sum μέσα σε ένα πίνακα ή άλλη δομή δεδομένων.
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.