2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Conversion of Visual Basic to C
Сообщение27.01.2011, 03:28 


29/12/10
33
привет!

Я бы хотел транслировать эту программу из Basic в С. Может ли ктонебуть помочь?

The Visual Basic code is below:
Код:
1  REM   POLYNOMIAL EQUATION SOLUTION PROGRAM
2  REM   THIS PROGRAM USES NEWTON'S METHOD TO FIND 
3  REM    A SOLUTION FOR A POLYNOMIAL EQUATION OF DEGREE 4
10 DIM  A(4)
20 FOR  I = 0 TO 4
30     PRINT "ENTER COEFFICIENT OF X^"; I; " :  "; : INPUT A(I)
40 NEXT I
50 INPUT  "INITIAL GUESS FOR SOLUTION: " ; X
60 GOSUB  200   'CALCULATE Y = F(X)
65     IF ABS(Y) < 0.0001  THEN GOTO 100 
70 GOSUB  300     'CALCULATE DENOMINATOR
80 X = X - Y/D
90 GOTO 60
100   REM -- SOLUTION FOUND --
110   PRINT  "SOLUTION: " ; X
120   END
200   REM CALCULATE Y = F9X0
210   Y = 0
220   FOR I = 0 TO 4
230       Y = Y + A(I)*X^I
240   NEXT I
250   RETURN
300   REM CALCULATE DENOMINATOR
310   D = 0
320   FOR I = 0 TO 3
330       D = D + A(I + 1)*(I = 1)*X^I
340   NEXT I
350   RETURN
360   REM   WARNING  --  SOMETIMES THIS PROGRAM WILL GO AROUND
370   REM   IN AN ENDLESS LOOP
380   REM   IN THAT CASE, INTERRUPT THE PROGRAM AND TRY AGAIN
390   REM   WITH ANOTHER INITIAL GUESS
400   REM   HOWEVER, IF THERE ARE NO REAL SOLUTIONS, THEN
410   REM   THE PROGRAM WILL NEVER FIND A SOLUTION


If you're interested, here's the problem:

Write a computer program that reads in the coefficients of a fourth degree polynomial $f(x) = a_4x^4 + a_3x^3 + a_2x^2 + a_1x + a_0$ and then finds the solution to the equation $f(x) = 0$. Have the computer read in an initial guess for the solution $(x_1)$, and then calculate a closer guess $(x_2)$ from this formula:

$\displaystyle x_2 = x_1 - \frac{a_4x^4 + a_3x^3 + a_2x^2 + a_1x + a_0}{4a_4x^3 + 3a_3x^2 + 2a_2x + a_1}$

Keep repeating the process of using this formula to find guesses that become closer to the solution. When you find a value of $x$ such that $|f(x)| < 0.0001$, then treat that as the solution.

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 12:31 


16/06/10
199
Кое-что нужно исправить:
Код:
200   REM CALCULATE Y = F(X)
...
310   D = A(0)
...
330       D = D + A(I + 1)*(I + 1)*X^I

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 19:02 


29/12/10
33
The Visual Basic code was taken directly from a book I have.
I looked at the lines you pointed out, compared them to the book's lines and they seem okay.
Am I missing something?

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 19:27 
Заслуженный участник


22/11/10
1184
CrypticMath в сообщении #405109 писал(а):
330       D = D + A(I + 1)*(I = 1)*X^I 

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 19:59 


29/12/10
33
sup в сообщении #405427 писал(а):
CrypticMath в сообщении #405109 писал(а):
330       D = D + A(I + 1)*(I = 1)*X^I 


The book has an error then.

Thanks!

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 20:20 
Заслуженный участник


27/04/09
28128

(Оффтоп)

CrypticMath в сообщении #405399 писал(а):
Visual Basic
This is not a Visual Basic code (because line numbering isn't supported by VB). Rather simply Basic (or maybe Q-Basic).

 Профиль  
                  
 
 Re: Conversion of Visual Basic to C
Сообщение27.01.2011, 20:27 


29/12/10
33
arseniiv в сообщении #405473 писал(а):

(Оффтоп)

CrypticMath в сообщении #405399 писал(а):
Visual Basic
This is not a Visual Basic code (because line numbering isn't supported by VB). Rather simply Basic (or maybe Q-Basic).


Thanks. I thought the terms were the same :-)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group