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

Рекурсия: как организовать решение функции y = 1/(1+x^2) ? -Prolog

12.04.2016, 10:14. Показов 1991. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, жители форума!
Нужна ваша помощь со SWI-Prolog!
Как организовать решение функции?
https://www.cyberforum.ru/cgi-bin/latex.cgi?y = \frac{1}{1+{x}^{2}} = 1-{x}^{2}+{x}^{4}-{x}^{6}+...+{(-1)}^{n-1}{x}^{2n-2}+...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2016, 10:14
Ответы с готовыми решениями:

Рекурсия: как организовать решение функции 1/4 * (pi - 3)?
Приветствую жителей форума! Prolog окончательно сломал мне мозг %) Подскажите, как организовать решение функции? ...

Как записать это решение в Turbo Prolog?
1:bis(,). 2:bis(,):-Hh is H/2,bis(T,Tt).

Как перевести из Lisp на Prolog или решение задач
Всем добрый вечер. К сожалению, в Prolog не работал, нужно перевести из Lisp в Prolog, либо сделать в упрощённом варианте. Знаю, что язык...

5
0 / 0 / 1
Регистрация: 09.02.2016
Сообщений: 22
13.04.2016, 11:20  [ТС]
Лююдиии... на любом прологе! Сам переведу куда нужно, только помогите
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
13.04.2016, 15:57
Лучший ответ Сообщение было отмечено Кирсан как решение

Решение

Например, так:
Prolog
1
2
3
4
5
calc(_, 1, 1) :- !.
calc(X, N, Y) :-
    NN is N - 1,
    calc(X, NN, YY),
    Y is 1 - X*X*YY.
Добавлено через 1 час 55 минут
Code
1
2
3
4
5
1 ?- calc(0.5, 10, Y).
Y = 0.7999992370605469.
 
2 ?- Y is 1/(1+0.5*0.5).
Y = 0.8.
1
0 / 0 / 1
Регистрация: 09.02.2016
Сообщений: 22
14.04.2016, 01:40  [ТС]
Цитата Сообщение от Black Fregat Посмотреть сообщение
Например, так:
Prolog
Выделить код
calc(_, 1, 1) :- !.
calc(X, N, Y) :-
NN is N - 1,
calc(X, NN, YY),
Y is 1 - X*X*YY.
Элегантное решение. Только вопрос, а для чего вообще формулу приравнивают к 1/(1+x^2)?
Ведь в это случае все Y будут >0. Тогда как при calc(100,4,Y). Y=-999900009999.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.04.2016, 02:34
Лучший ответ Сообщение было отмечено Кирсан как решение

Решение

Цитата Сообщение от Кирсан Посмотреть сообщение
Только вопрос, а для чего вообще формулу приравнивают к 1/(1+x^2)?
Потому что это равенство на самом деле верное.
Это стандартное разложение указанной функции в ряд Тейлора.

Цитата Сообщение от Кирсан Посмотреть сообщение
Тогда как при calc(100,4,Y).
Ряд сходится только при https://www.cyberforum.ru/cgi-bin/latex.cgi?\left|x\right| < 1
1
0 / 0 / 1
Регистрация: 09.02.2016
Сообщений: 22
14.04.2016, 04:08  [ТС]
Большое спасибо за лаконичное объяснение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2016, 04:08
Помогаю со студенческими работами здесь

Рекурсия Prolog
Здравствуйте, нужна помощь с реализацией рекурсии в Прологе. Вот программа: переход(1,3). переход(3,1). переход(3,30). ...

Вычисление суммы ряда: восходящая и нисходящая рекурсия
Помогите, пожалуйста, построить восходящую и нисходящую рекурсию. Хотя бы одну из них. Не очень разбираюсь в рекурсии, не понимаю как...

Правая рекурсия в Prolog
Есть такая задача: Спортсмен пробегает за 1-й день М км, каждый последующий день он увеличивает норму пробега на К%. Определите через...

Хвостовая рекурсия в Prolog
Здравствуйте, помогите пожалуйста с хвостовой рекурсией. Никак не могу найти ошибку. Задание: &quot;Вычислить сумму ряда целых нечетных...

Turbo Prolog 2.0 рекурсия
Письменный отчет по работе кроме текста задания и исходного текста программы содержит пошаговое описание реализуемой рекурсии для 5 шагов. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru