Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 34
1

Ошибка с sqrt

15.11.2017, 00:10. Показов 2612. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
% Copyright
 
implement main
open core
 
clauses
run() :-
console::init(),
 
stdio::writef("A = "), A= stdio::read(), stdio::nl,
stdio::writef("B = "), B= stdio::read(), stdio::nl,
S= sqrt (A*A + B*B),
stdio::writef("Sum = %",S), stdio::nl,
_ = stdio::readLine(),
_ = stdio::readLine().
 
end implement main
 
goal
console::runUtf8(main::run).
Собственно, если убрать sqrt при подсчете S(суммы), то все хорошо, с ним выдает ошибку undeclared identifier sqrt/1->, гугл говорит, что функция sqrt в прологе есть, подскажите, может кто сталкивался.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2017, 00:10
Ответы с готовыми решениями:

Дано целое положительное число n. Найти sqrt(n+ sqrt (n-1) + sqrt (n-2)+. sqrt (1)
Дано целое положительное число n. Найти sqrt(n+ sqrt ((n-1) + sqrt ((n-2)+... sqrt (1))))

[C++ Error] Sqrt x.cpp(16): E2268 Call to undefined function 'sqrt'. Что это за ошибка???
Когда я испльзую функцию sqrt() компилятор выводит: Sqrt x.cpp(16): E2268 Call to undefined...

Дано натуральное число n. Вычислить: sqrt(3+sqrt(6+.+sqrt(3*(n-1)+sqrt(3*n)
Что я делаю не так, подскажите пожалуйста. #include <stdio.h> #include <math.h> #include...

Даны натуральные числа n и k. Вычислить: sqrt(k+sqrt(2k+...+sqrt(k(n-1)+sqrt(kn))))
Даны натуральные числа n и k. Вычислить: sqrt(k+sqrt(2k+...+sqrt(k(n-1)+sqrt(kn))))

2
167 / 107 / 22
Регистрация: 02.01.2012
Сообщений: 596
15.11.2017, 08:14 2
Лучший ответ Сообщение было отмечено Defrezz как решение

Решение

В Visual Prolog 7-8 sqrt помещена в класс math.
Соответственно, нужно либо явно указать класс, как Вы делаете с stdio:
Prolog
1
  S= math::sqrt (A*A + B*B),
либо открыть этот класс в предложении open:
Prolog
1
open core, math
Кстати, так же можно открыть и stdio, Ваш код станет проще

Не по теме:

А почему, собственно, stdio? Я как-то привык, что в этих целях используют console

1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 34
15.11.2017, 11:48  [ТС] 3
Сам не знаю, дали задания на одну из аттестаций на прологе, до этого его даже в глаза не видел.
0
15.11.2017, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2017, 11:48
Помогаю со студенческими работами здесь

Вычислить значение выражения: sqrt(3+sqrt(6+.+sqrt(96+sqrt(99)
Пытаюсь решить данное выражение, но ответ выходит слишком большим, вот наработка: #include...

Цикл: Для числа N вычислить значение следующего выражения: sqrt((1) + sqrt((2) + ... + sqrt(2 * N)))
Как это решить? sqrt((1)+sqrt((2)+..+sqrt(2n)))

Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых)
Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых),с помощью...

Как вычислить S = 1/sqrt(1+ 3) + 1/sqrt(3+ 5) + . + 1/sqrt(199 +201)
Вычислить S = 1/sqrt(1+ 3) + 1/sqrt(3+ 5) + ... + 1/sqrt(199 +201). Помогите пож-та написать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru