![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 1
|
![]()
Добрый день! Хотел бы попросить помочь мне перевести программу из qBasic в Visual Basic. Или помочь найти конвертер...
Задание : Вычислить минимум функции F(x) = P(x1)x^2-2.5P(x2)x-3 на отрезке [a;b] с точностью E. P(x1), P(x2) значения интерполяционного многочлена, построенного для таблично заданной функции f(x) в точках x1, x2. Исходные данные: x1 x2 a b E 0.041770 0.587282 0 2.0 10^(-4) x 0 0.1 0.2 0.3 f(x) 1.858652 1.851659 1.851401 1.848081 x 0.4 0.5 0.6 f(x) 1.841914 1.833125 1.821948 В qBasic получилось : DIM px1 AS SINGLE, px2 AS SINGLE, R AS SINGLE DIM a AS SINGLE, b AS SINGLE, e AS SINGLE DIM X(6) AS SINGLE, Y(6) AS SINGLE DIM x1 AS SINGLE, x2 AS SINGLE INPUT "a,b,e,x1,x2="; a, b, e, x1, x2 FOR i = 0 TO 6 PRINT "X,Y("; i; ")="; INPUT X(i), Y(i) NEXT i px1 = LX(6, X(), Y(), x1) px2 = LX(6, X(), Y(), x2) PRINT "P(X1)=", px1 PRINT "P(X2)=", px2 R = ZolSec(a, b, e, px1, px2) PRINT "p(x1)="; px1, "p(x2)="; px2, "Minimum="; R FUNCTION f (X AS SINGLE, px1 AS SINGLE, px2 AS SINGLE) f = px1 * X ^ 2 - 2.5 * px2 * X - 3 END FUNCTION FUNCTION LX (k AS SINGLE, X() AS SINGLE, Y() AS SINGLE, xl AS SINGLE) DIM l AS SINGLE, l1 AS SINGLE, i AS INTEGER, j AS INTEGER l = 0 FOR i = 0 TO k l1 = 1 FOR j = 0 TO k IF i <> j THEN l1 = (xl - X(j)) / (X(i) - X(j)) * l1 END IF NEXT j l = l + l1 * Y(i) NEXT i LX = l END FUNCTION FUNCTION ZolSec (a AS SINGLE, b AS SINGLE, e AS SINGLE, px1 AS SINGLE, px2 AS SINGLE) DIM k1 AS SINGLE, k2 AS SINGLE DIM x1 AS SINGLE, x2 AS SINGLE, f1 AS SINGLE, f2 AS SINGLE, xf AS SINGLE, ff AS SINGLE k1 = (3 - SQR(5)) / 2 k2 = (SQR(5) - 1) / 2 x1 = a + k1 * (b - a) x2 = a + k2 * (b - a) f1 = f(x1, px1, px2) f2 = f(x2, px1, px2) DO UNTIL ABS(b - a) < e IF f1 < f2 THEN b = x2 x2 = x1 x1 = a + k1 * (b - a) f2 = f1 f1 = f(x1, px1, px2) ELSE a = x1 x1 = x2 x2 = a + k2 * (b - a) f1 = f2 f2 = f(x2, px1, px2) END IF PRINT USING "####.#####"; a; b; x1; x2; f(x1, px1, px2); f(x2, px1, px2) LOOP xf = (a + b) / 2 ff = f(xf, px1, px2) ZolSec = xf END FUNCTION |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужно решить задачу в Visual Basic ( Exel) и QBasic | MurNyashka | Помощь студентам | 0 | 16.11.2012 19:18 |
Перевод программы с visual basic на delphi | lordsyrius | Фриланс | 11 | 03.09.2010 09:53 |
Перевод чисел оптимизация (Visual Basic) | maxcoder_1991 | Помощь студентам | 0 | 03.03.2010 22:19 |
Перевод информации в семибитный код(Visual Basic) | maxcoder_1991 | Помощь студентам | 0 | 03.03.2010 18:45 |
Перевод десятичных чисел(Visual Basic) | ioda1986 | Помощь студентам | 1 | 03.03.2010 00:51 |