Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8

Решение уравнения SQR(x) + SQR(x+1) +.+ SQR(x+9) = 100

30.11.2016, 14:06. Показов 1409. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решить уравнение SQR(x) + SQR(x+1) +...+ SQR(x+9) = 100
(ответ 95.52058)

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
REM
REM  SQR(x) + SQR(x+1) +...+ SQR(x+9) = 100
REM
REM  x = 95.52058
REM
 
DECLARE FUNCTION f! (x!)
 
CLS
 
FOR x = 90 TO 100 STEP .0001
   IF ABS(f(x)) < .00003 THEN PRINT x
NEXT x
END
 
FUNCTION f (x)
   FOR i = 0 TO 9
      S = S + SQR(x + i)
   NEXT
   f = S - 100
END FUNCTION
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2016, 14:06
Ответы с готовыми решениями:

Диофантово уравнение x + y = [SQR(xy)] + 2
Решить в натуральных числах уравнение x + y = + 2 REM REM x + y = + 2 REM REM (1, 2); (2, 1); (2, 2) REM DECLARE...

Вычислить значение "y= sqr(x)", использую формулу Ньютона
Вот вышел на практику, вроде бы всё хорошо, но столкнулся с задачей, которую даже не смог составить... Может кто поможет? Вычислить...

В чем различие "SQR" от "^2"
Я бэйсик почти, незнаю, но нужно переделать простую программу, написанную на бэйсике на паскаль. Возникло несколько вопросов. 1. LETR1...

4
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
01.12.2016, 08:49
Лучший ответ Сообщение было отмечено echs как решение

Решение

очень не эффективный метод поиска корней, который в итоге может и не найти решения (если шаг по x будет большой и f(x) не будет находится в заданной точности.
Есть же метод половинного деления и др. (метод Ньютона) для нахождения корней

Решение на VBA, переведите на QBasic:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub www()
    Dim a As Double, b As Double, c As Double, epsx As Double
    Dim fa As Double, fb As Double, fc As Double, epsy As Double
    a = 90 'начало отрезка
    b = 100 'конец отрезка
    epsy = 0.00000000001 'точность по y
    epsx = 0.000001 'точность по x
    fa = f(a)
    If Abs(fa) < epsy Then Debug.Print a: Exit Sub 'корень в точке a
    fb = f(b)
    If Abs(fb) < epsy Then Debug.Print b: Exit Sub 'корень в точке b
    If Sgn(fa) = Sgn(fb) Then Exit Sub ' не правильно задан отрезок
    While b - a >= epsx
        c = (a + b) / 2
        fc = f(c)
        If Abs(fc) < epsy Then Debug.Print c: Exit Sub
        If Sgn(fa) = Sgn(fc) Then a = c: fa = fc Else b = c: fb = fc
    Wend
    Debug.Print (a + b) / 2
End Sub
 
Function f(x As Double) As Double
    Dim i As Long, s As Double
    For i = 0 To 9
        s = s + Sqr(x + i)
    Next i
    f = s - 100
End Function
PS: написал только что за 5 минут, поэтому может быть не очень оптимальным
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
01.12.2016, 10:51  [ТС]
m-ch
Спасибо! Вы совершенно правы в том, что есть
немало более эффективных и быстрых способов.
В прочем для данного уравнения очевидно, что оно
имеет один корень подходят все способы решения.
Но есть уравнения (я для этого создам пару тем),
где корней много и там, приведенный мною метод
более оправдан, а в ряде случаев и незаменим.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
01.12.2016, 13:30
Лучший ответ Сообщение было отмечено echs как решение

Решение

В том то и дело, что для каждой задачи нужно определять метод ее решения, и чем более оптимальным с точки зрения затрат оно будет, тем лучше (затраты по времени работы, по сложности кода и т.п.)
К данной задаче, где есть только один корень на указанном отрезке более рационально применить метод половинного деления, а где то не обойтись без перебора.
Но решение перебором это достаточно примитивно, куда интереснее реализация других методов нахождения корней.
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
01.12.2016, 14:29  [ТС]
m-ch
Я считаю "метод половинного деления" одним из лучших.
Даже лучше, чем например "метод касательных". В котором
могут возникнуть такие проблемы, как вычисление производной,
определение интервала сходимости решения (если он есть).
В общем "метод половинного деления" - универсальный.
Вы конечно имеете иное мнение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2016, 14:29
Помогаю со студенческими работами здесь

Написать программу для расчёта произведения ряда (1+(1/sqr(1)*(1+(1/sqr(2).(1+(1/sqr(n)
Прошу помощи. Требуется написать программу для расчёта формулы: (1+(1/sqr(1)))*(1+(1/sqr(2)))...(1+(1/sqr(n))). ...

Как записать выражение С:=arccos(sqr(a)+sqr(b)+sqr(c))?
Как записать выражение типа С:=arccos(sqr(a)+sqr(b)+sqr(c))

Вычислить сумму ряда (1+ 1/1*sqr)+(1+ 1/12sqr)+(1+ 1/3*sqr).....(1+1/n*sqr);
1. Дано натуральное n. Вычислить: (1+ 1/1*sqr)+(1+ 1/12sqr)+(1+ 1/3*sqr).....(1+1/n*sqr); Нужное приближение считается...

Дано натуральное число n, действительные числа a1,…,an. Получить сумму sqrt(sqr(a[1])-a[1])^2)+.+sqrt(sqr(a[n])-a[n])^2
Дано натуральное число n, действительные числа a1,…,an. Получить сумму sqrt(sqr(a))-a)^2)+...+sqrt(sqr(a))-a)^2

преобразовать функции sqr, ceil, floor и exp в sqr=>elina ceil=>demon floor=>drou exp=>coma
преобразовать функции sqr, ceil, floor и exp то есть sqr=elina ceil=demon floor=drou exp=coma нужно создать программу в которой вручную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru