χημεια4λαιφ
Νεοφερμένος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
![](https://www.ischool.gr/imagehosting/939515c56b86d609e2.jpg)
Πως λύνεται αυτό?
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Johnny15
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 336742
Επισκέπτης
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Η υπόδειξη λέει ότι η άθροιση σταματά όταν η απόλυτη τιμή του όρου που προστίθεται στο άθροισμα είναι μικρότερη από 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 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Johnny15
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Ο Άκικος έχει τελειώσει ΕΜΠ είναι καλύτερος σε αυτά.
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Ούτε εμας μας έμαθαν FortranΟ Άκικος έχει τελειώσει ΕΜΠ είναι καλύτερος σε αυτά.
![Mpliaks :mpliaks: :mpliaks:](https://www.e-steki.gr/images/smilies/mpliaks.gif)
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
χημεια4λαιφ
Νεοφερμένος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Εμένα με μπερδεύει η απάντηση του @johnny
Η υπόδειξη λέει ότι η άθροιση σταματά όταν η απόλυτη τιμή του όρου που προστίθεται στο άθροισμα είναι μικρότερη από h, δηλαδή όταν
το abs(3/ι*(x^ι)) < h
Αυτό που λέει ο @johnny (μόλις δυο διαδοχικά αθροίσματα έχουν διαφορά μικρότερη από το h το σταματάς) από που βγαίνει;
Άρα η λύση ειναι:
1) Mια συνάρτηση που παίρνει ως είσοδο την τιμή του x και την ακρίβεια h.
2) Μέσα στη συνάρτηση ορίζουμε και μηδενίζουμε την τιμή του Ν, καθώς και το άθροισμα (sum)
3) Μετά βάζουμε μια while που ελέγχει ότι για όσο abs(3/ι*(x^ι)) >= h κάνουμε τον υπολογισμο sum = sum + 3/i*(x^i) και αυξάνουμε την τιμή του Ν κατά 1
4) Έπειτα επιστρέφουμε ως έξοδο το Ν και το sum μέσα σε ένα πίνακα ή άλλη δομή δεδομένων.
Το N δεν κατάλαβα τι ρόλο παίζει.... Δλδ θα κάνω do i=1,1000000
If abs(3/i*x^i) then sum=sum+(3/i*x^i)
Else exit και μετά τι;
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Το 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
![](https://www.ischool.gr/imagehosting/251735c573f5c06a02.jpg)
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
χημεια4λαιφ
Νεοφερμένος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
s=s+(3/i)*x**i)
i=i+1 αυτο;;;; ειμαι αχτηστος στην πληροφορικη δεν εχω το σκεπτικο για να γινω καλος
do while ABS((3/i)*x**i)>=h
s=s+(3/i)*x**i)
i=i+1 αυτο;;;; ειμαι αχτηστος στην πληροφορικη δεν εχω το σκεπτικο για να γινω καλος
με enddo sto telos
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
akikos
Επιφανές μέλος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
do while ABS((3/i)*x**i)>=h
s=s+(3/i)*x**i)
i=i+1 αυτο;;;; ειμαι αχτηστος στην πληροφορικη δεν εχω το σκεπτικο για να γινω καλος
με enddo sto telos
δεν ξέρω τη σύνταξη της fortran αλλά η λογική αυτή ειναι.
Δεν είναι αρχαία, έκθεση, ιστορία και άλλες θεωρητικές μπούδρες. 2, 3 εντολές είναι που αν καταλάβεις τη λογική τους μπορεί να λύσεις οποιοδήποτε αλγόριθμο. Η άσκηση αυτή προσπαθεί να σε ψαρώψει από την εκφώνηση αλλά αν καταλάβεις τι ζητά ο αλγόριθμος η λύση είναι εύκολη.
Μην προσπαθείς να λύσεις την άσκηση στο χαρτί αλλά σε υπολογιστή κατευθείαν.
Ένας online compiler είναι εδώ
https://www.tutorialspoint.com/compile_fortran_online.php
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
χημεια4λαιφ
Νεοφερμένος
![Ημερομηνία Ημερομηνία](images/general/calendar.png)
![Ώρα Ώρα](images/general/clock.png)
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:Tα παρακάτω 3 μέλη διάβασαν αυτό το θέμα:
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.