|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
Вычисление корня квадратного функции f(x)06.11.2015, 02:03. Показов 3489. Ответов 19
Метки нет (Все метки)
Программа на вычисление корня квадратного функции f(x) в пределе <a, b> методом бисекции.
Помогите найти ошибку в коде. Корень квадратный должен получится 0,917481. Еще нужно посчитать количество шагов цикла (должно быть 24), это вообще не знаю как воплотить. #include #include "conio.h" #define _USE_MATH_DEFINES #include using namespace std; int main() { int a, b; int c, eps; double koren; cout << "a: "; cin >> a; cout << "b: "; cin >> b; cout << "eps: "; cin >> eps; if (exp(-1.5 * a) - 0.3 * a * a == 0) koren = sqrt (a); else if (exp(-1.5 * b) - 0.3 * b * b == 0) koren = sqrt (b); else (c = (a + b) / 2); do { if (exp(-1.5 * c) - 0.3 * c * c == 0) koren = sqrt (c); else if (((exp(-1.5 * a) - 0.3 * a * a == 0) * (exp(-1.5 * c) - 0.3 * c * c == 0) < 0)) b = c; else (a == c); } while ((a - b) < eps); koren = sqrt (c); cout << "koren: " << koren; _getch(); }
0
|
|
| 06.11.2015, 02:03 | |
|
Ответы с готовыми решениями:
19
Вычисление квадратного корня из числа Вычисление корня квадратного из комплексного числа
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
||||||
| 06.11.2015, 02:18 | ||||||
1
|
||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 02:23 [ТС] | |
|
исправила на: else (a = c);
результата нет
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|
| 06.11.2015, 02:24 | |
|
Далее... Сколько раз вы написали в коде конструкцию вида (exp(-1.5 * a) - 0.3 * a * a - неужеле не надоело?
Почему не сделать: float f(float a) { return (exp(-1.5 * a) - 0.3 * a * a); } Далее...Почему у вас a, b , с , eps - целочисленные? И напоследок - c = (a + b) / 2 нужно внести в цикл.
1
|
|
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 02:34 [ТС] | |
|
Простите, но я мало что поняла из Вашего ответа. Задачу нужно решить двумя способами (без функции и с ней). Пока я пытаюсь сделать первый вариант, поэтому пришлось много раз писать это выражение.
float a,b,c,eps - так правильно? что значит внести c = (a + b) / 2 в цикл?
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|||||||||||||
| 06.11.2015, 02:38 | |||||||||||||
|
И еще косяк:
![]() Тут либо наоборот, либо, что более правильно:
Без функций - можно использовать макрос: #define f(x) (exp(-1.5 * x) - 0.3 * x * x)
Вы итеративно должны "сужать" границы a и b, в зависимости от условия присваивая серединке диапазона то a, то b. То есть саму "серидинку" диапазона вы тоже должны менять в цикле. В вашем случае это переменная "c". А у вас она один раз присвоилась значению (a + b) / 2 до входа в цикл, а в нем - не меняется.
1
|
|||||||||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 02:39 [ТС] | |
|
о, начало что-то считать, но пока не верно.
и все-таки, как внести c = (a + b) / 2 в цикл?
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|||||||
| 06.11.2015, 02:41 | |||||||
1
|
|||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 02:45 [ТС] | |
|
да, это цикл, но я не могу понять в какое место и в каком виде вставить c = (a + b) / 2.
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
||
| 06.11.2015, 03:12 | ||
|
Кстати, что значит "корень квадратный функции в пределах а и b"?
Может, речь все-таки просто о "корне функции в пределах а и b"?
И еще - поиск происходит до тех пор, пока разница границ БОЛЬШЕ eps, а не меньше. Вы нарисуйте графическое отображение этого алгоритма, и сразу все ясно станет.
1
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
||||||
| 06.11.2015, 03:22 [ТС] | ||||||
|
Я явно что-то сделала не так.
0
|
||||||
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
||||||||||||
| 06.11.2015, 03:34 | ||||||||||||
|
А зачем вы делаете вот это?
Ваш код каждый раз перечитываю - и каждый раз нахожу что-нибудь "эдакое" - просто бездонный кладезь находк ![]() Вот, откопал:
Скорее всего, имелось в виду что-то другое, не? И первые три строки перед циклом - вообще лишние по сути..
1
|
||||||||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 03:34 [ТС] | |
|
Возможно речь шла о корне функции в пределах а и b, я переводила задание с другого языка, поэтому не уверена.
А что написать вместо этого sqrt? В ответе должны получить корень.
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
||
| 06.11.2015, 03:35 | ||
1
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
||
| 06.11.2015, 03:37 [ТС] | ||
|
0
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 03:44 [ТС] | |
|
вот есть алгоритм
0
|
|
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 03:45 [ТС] | |
|
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|||||||
| 06.11.2015, 04:21 | |||||||
Сообщение было отмечено Kvitkaa как решение
Решение
Поскольку данный метод дает не точное, а приближенное вычисление - то в качестве корня возвращается либо одна из границ вашего сужающегося диапазона, либо его серединка. Добавлено через 17 минут Ладно, не буду вас больше мучить. Держите.
1
|
|||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 06.11.2015, 06:11 [ТС] | |
|
Спасибо, что подробно объясняли, а не выдали сразу готовый ответ. А это я так поняла уже с функцией? Не все правда тут понимаю, например, printf и fabs. Еще раз спасибо!
Добавлено через 17 минут увы, выдает ошибку "LNK1561 entry point must be defined" Добавлено через 16 секунд увы, выдает ошибку "LNK1561 entry point must be defined" Добавлено через 7 минут увы, выдает ошибку "LNK1561 entry point must be defined" Добавлено через 1 час 2 минуты все, разобралась
0
|
|
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|||||||||
| 06.11.2015, 11:10 | |||||||||
![]()
fabs - это аналог функции abs, но для вещественных чисел (float). (Это взятие функции по модулю) Так как если примените abs, то аргументы преобразуются к int и функция будет возвращать не верный результат. Можно ее не использовать, написав вместо нее вот такой макрос:
1
|
|||||||||
| 06.11.2015, 11:10 | |
|
Помогаю со студенческими работами здесь
20
Вычисление корня квадратного из комплексного числа Вычисление квадратного корня, не применяя функцию sqrt Вычисление квадратного корня четных элементов массива Многопоточность (вычисление корня квадратного уравнения, используя несколько независимых потоков) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|