Προς το περιεχόμενο

Dev c++ Εργασια


Solidios

Προτεινόμενες αναρτήσεις

Καλησπερα παιδια οπως βλέπετε στην φωτογραφίες απο κατω προσπαθώ να κανω αυτην την εργασια εδω και 4 μερες αλλα παντα βγαίνει λαθος το αποτελεσμα... Θελω πραγραματικά βοήθεια το εχω κανει "ολο" αλλα βγαίνει λαθος το αποτέλεσμα οποτε μαλλον καπου υπαρχει ενα μεγαλο λαθος... 

Ευχαριστω 

post-419483-0-49409200-1478893518_thumb.png

post-419483-0-18802100-1478893530_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρκετα πολυπλοκο το εκανες. Κανε μια αναλυση πρωτα. Πχ

Στη σειρα επαναλαμβανεται το

 

x^y/y! + x^y1/y1! ...

 

Επισεις ξερεις πως το y1 = y+2

 

 

Αλλο που παιζει και να μην ξερεις, το πρωτο πατερν θα ειναι παντα μεγαλυτρρο απο το δευτερο. Δηλαδη παιζει το ρολο του βαθους.

 

 

Αρα τωρα που το αναλυσαμε.

 

Φτιαχνουμε μια συναρτηαη f(x,y) => x^y/y!+x^(y+2)/(y+2)!

Οπου x-foo(x,3) θα ειναι κοντα στο sin(x) και x-f(x,3)-f(x,7) πιο κοντα στο sin(x) κλπ

 

 

Αρα τωρα που θελουμε καλυτερο βαθος, θα βαλουμε την f σε ενα for με y=3; y<21;y+=4 και θα αφαιροθμε το αποτελεσμα της f απο το χ.

 

Αν το φτασεις εδω, λογικα θα κανεις το λαθος να μην κανεις κοπια του χ και να βαζεις στην f το χ που εχει αλλαχτει. Κανε κοπια :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστω για τον χρονο σου,

 

Να σου πω την αληθεια δεν καταλαβα σχεδον τιποτα μαλλον δεν τα εχουμε κανει ακομα στην σχολή ετσι αν μπορουσες να με βοηθήσεις λιγο περισσοτερο θα το εκτιμούσα παρα πολυ... Ειμαι ακομα στο πρωτο ετος και ειναι λιγο πιο απλα εκει περα. Σε ευχαριστω πάντως.

 

Επίσης αν μπορεις να μου γράψεις ενα παραδειγμα απο το κώδικα οπως τον σκέφτεσαι εσυ να δω αν δουλεύει η κατι τετοιο. Ευχαριστω πολυ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν ειπα κατι που να εχει να κανει με c. Αναλυση του προβληματος εκανα, και σπασιμο σε υποπροβληματα aka abstraction.

 

Φτιαξε μια συναρτηση που υπολογιζει το f που λεω παραπανω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρκετα πολυπλοκο το εκανες. Κανε μια αναλυση πρωτα. Πχ

Στη σειρα επαναλαμβανεται το

 

x^y/y! + x^y1/y1! ...

 

Επισεις ξερεις πως το y1 = y+2

 

 

Αρα τωρα που το αναλυσαμε.

 

Φτιαχνουμε μια συναρτηαη f(x,y) => x^y/y!+x^(y+2)/(y+2)!

Οπου x-foo(x,3) θα ειναι κοντα στο sin(x) και x-f(x,3)-f(x,7) πιο κοντα στο sin(x) κλπ

 

 

Αρα τωρα που θελουμε καλυτερο βαθος, θα βαλουμε την f σε ενα for με y=3; y<21;y+=4 και θα αφαιροθμε το αποτελεσμα της f απο το χ.

 

Αν το φτασεις εδω, λογικα θα κανεις το λαθος να μην κανεις κοπια του χ και να βαζεις στην f το χ που εχει αλλαχτει. Κανε κοπια :P

 

 

Ευχαριστω για τον χρονο σου,

 

Να σου πω την αληθεια δεν καταλαβα σχεδον τιποτα μαλλον δεν τα εχουμε κανει ακομα στην σχολή ετσι αν μπορουσες να με βοηθήσεις λιγο περισσοτερο θα το εκτιμούσα παρα πολυ... Ειμαι ακομα στο πρωτο ετος και ειναι λιγο πιο απλα εκει περα. Σε ευχαριστω πάντως.

 

Επίσης αν μπορεις να μου γράψεις ενα παραδειγμα απο το κώδικα οπως τον σκέφτεσαι εσυ να δω αν δουλεύει η κατι τετοιο. Ευχαριστω πολυ

Αυτό που λέει ο παπί είναι να υλοποιήσεις μία συνάρτηση που να υπολογίζει τους δύο όρους της σειράς. Έτσι το x-f(x,3) που σου έγραψε είναι το ημίτονο με ακρίβεια μέχρι το 5!. Αν υπολογίσεις το x-f(x,3)-f(x-7) έχεις ακρίβεια μέχρι και το 7! δηλαδή 4 όρους και πάει λέγοντας οπότε μετά σου λέει βάζεις ένα for και έχεις όση ακρίβεια θέλεις.

 

Αν σε μπερδεύει έτσι που σου το έδωσε επειδή έχει δύο όρους, μπορείς να υλοποιήσεις την συνάρτηση έτσι που να υπολογίζει μόνο τον νιοστό όρο και μετά να το προσθέτεις. Η γενική μορφή της σειράς αυτής, όπως μπορείς να υπολογίσεις από την εκφώνηση, είναι (-1)^n / (2n+1)! * x^(2n+1).

Αν θέσουμε n=0, τότε -1 υψωμένο στην μηδενική μας κάνει 1 διαιρούμενο με το παραγοντικό του 1 (2*0+1) που είναι ένα οπότε μας μένει σκέτο x. Για n=1 έχουμε - x^3 / 3! και πάει λέγοντας.

 

Αν παρόλα αυτά θέλεις να παρουσιάσεις τον παραπάνω κώδικα που έχεις και δεν καταλαβαίνει κανείς πώς δουλεύει :), τότε έχεις τα παρακάτω δύο λάθη:

 

α) Λες sin(x)

 

NAME

sin, sinf, sinl - sine function

 

SYNOPSIS

#include <math.h>

 

double sin(double x);

float sinf(float x);

long double sinl(long double x);

 

Link with -lm.

 

DESCRIPTION

These functions return the sine of x, where x is given in radians.

Οπότε έπρεπε να πεις sin(rad) αντί για sin(x) πράγμα που το καταλαβαίνεις και από το γεγονός ότι τα ημίτονα βγαίνουν λάθος (Έδωσες 90 μοίρες και πήρες ημίτονο 1 έτσι που το είχες ?)

 

β) Λες frac = frac * rad * rad / i * (i-1)

 

Υποθέτω πως θέλεις να διαιρέσεις με το γινόμενο των i και i-1 οπότε πρέπει να γράψεις ή /(i*(i-1)) ή να γράψεις / i / (i-1) για να προκύψει αυτό που θέλεις.

 

Με αυτές τις δύο αλλαγές τα ημίτονα υπολογίζονται σωστά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

Αυτό που σου λέει το παπι είναι να κάνεις ένα βήμα πίσω και να ξαναδείς το πρόβλημα πριν πας στην υλοποίησή του με κώδικα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

περισσοτερο μου φαινεται για ασκηση της οποιας απαντηση βρηκες καπου στο ιντερνετ προχειρα..τετοια ορολογια δεν χρησιμοποιουν στο α εξαμηνο εκτος και αν κανεις στο harvard

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δυστυχως τετοιες πιπες βαζουν, με αποτελεσμα να μην μαθαινουν τιποτα. Για καποιο λογω πολλοι πιστευουν πως ο προγραμματισμος ειναι μαθηματικα, εξου και πολλες ασκησεις εχουν να κανουν με μεταφραση μιας μαθηματικης εξισωσης σε καποια γλωσσα. Ο προγραμματισμος ωμος δεν ειναι αυτο, ο προγραμμαφισμος ειναι η λυση προβληματων.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...