Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
 Аватар для cristaloleg
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960

Алгебраические дроби

06.11.2009, 13:50. Показов 4133. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужны советы...много:

1) Как их можно организовать дроби

2) Как их можно сокращать и тп(алгоритм)

3) Как их можно вычислять и тп(алгоритм)

ЗЫ язык Си/Си++

Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2009, 13:50
Ответы с готовыми решениями:

Даны две дроби A/B и C/D. Составить программу умножения дроби на дробь.
2. Даны две дроби A/B и C/D (A, B, C, D — натуральные числа). Составить программу умножения дроби на дробь. Ответ должен быть несократимой...

Представление рациональной дроби в виде суммы многочлена и правильной дроби
Подскажите, пожалуйста, откуда берётся последняя, выделенная красным цветом импликация.

Даны две рациональные дроби: a/b и c/d. Сложите их и результат представьте в виде несократимой дроби m/n.
Даны две рациональные дроби: a/b и c/d. Сложите их и результат представьте в виде несократимой дроби m/n. Формат входных данных ...

8
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
06.11.2009, 14:13
1) Как структуру 2-х целочисленных полей (числитель, знаменатель)

2) Находить НОД (алгоритмом Евклида, к примеру) числителя и знаменателя. Если его нет, то дробь несократима. Если есть, то числитель и знаменатель разделить на найденный НОД.

3) Тут тоже просто.

Умножение: Чумн=Ч1*Ч2, Зумн=з1*з2
Сложение:
Ч сум=Ч1*З2+Ч2*З1
Зсум=з1*з2
И можно сократить.
Вычитание: как сложение, только с "-".
Деление:
Чдел=Ч1*з2, Здел=з1*ч2.

Где Ч1 - числитель первого числа, з1 - знаменатель первого числа и т.д. Чумн - числитель дроби, полученной умножением...

В общем виде, на C++ это получится класс "Дробь" с полями "Числитель" и "Знаменатель" и методами которые нужны, напиример, сокращением.
1
 Аватар для cristaloleg
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960
06.11.2009, 15:35  [ТС]
иммется ввиду дробь алгебраическая...с переменными...
0
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
06.11.2009, 16:47
Ясно.
Алгебраическая дробь – это выражение вида A / B, где A и B могут быть числом, одночленом, многочленом.
Значит, случай у нас усложняется и тебе нужны не просто числа, а многочлены... Это нетривиальная задача, нужно подумать.
Каких-то стандартных алгоритмов нет, потому что вряд ли это где понадобится, слишком узко. Что-то подобное реализовано в прогах типа Maple, но узнать как именно не представляется возможности.
В принципе, общий порядок сохраняется. Тогда структура будет такая же, только поля будут строковые, представляющие собой запись многочлена.
Если для такой строки удастся определить операции сложения и умножения, то можно реализовать твой третий пункт как я его написал для простых чисел. Для таких операций определенно нужен парсер.
Но до этого нужно придумать общее представление многочлена в программе. Т.е. удобно его задавать строкой, но работать с ней будет неудобно. Нужно придумать как строку переделать в какое-то внутрипрограммное представление, на котором удобно делать все эти алгебраические операции. Т.о. схема будет такая:
входная строка -> ПАРСЕР -> представление -> ВЫПОЛНЕНИЕ ОПЕРАЦИИ -> новое представление -> ПАРСЕР -> выходная строка.

Имея такой механизм в программе, третий пункт можно будет легко реализовать.
А вот по второму пункту идей пока нет. Нужно вообще как-то разбить многочлен на множители, а потом их сравнивать и выкидывать, если совпадут.
1
 Аватар для cristaloleg
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960
06.11.2009, 17:17  [ТС]
Нашел прогу...но там ток представление...в виде XML-файла

MathML Weaver

Ксожалению нет вычисления(или я не нашел)

Добавлено через 1 минуту
упс...всё таки вычисления есть!
0
 Аватар для cristaloleg
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960
07.11.2009, 11:29  [ТС]
есть идея насчёт бинарного дерева...пытаюсь реализовать
0
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
07.11.2009, 23:54
cristaloleg, ты распиши подробнее задачу, которая стоит, с примерами. Что ты понимаешь под алгебраической дробью? (опять с примерами).
Приведи примеры входных и выходных данных.
Глядишь и народ подтянется, да и более понятно будет. Уже конкретнее подумать можно будет, возможно идеи свежие появятся. Пока то что рисуется выглядит нетривиально.
0
8 / 8 / 0
Регистрация: 25.11.2008
Сообщений: 32
08.11.2009, 00:43
а что именно может быть в числителе и знаменателе? полиномы, функции,другие дроби? от скольки переменных опять же?
если типов данных может быть много, то видимо лучше шаблонами реализовывать
0
 Аватар для cristaloleg
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960
10.11.2009, 11:20  [ТС]
ну вот ыыы

Добавлено через 4 минуты
Входные данные сам не знаю как представить...а вот представление в виде дерева сделал и довольно таки не плохо смотриться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2009, 11:20
Помогаю со студенческими работами здесь

Для вычисления цепной дроби найти значение данной дроби при натуральном n
#include <iostream> using namespace std; unsigned long F(int n, int x) { float a = x / (n + x); return (a); } int...

Знаменатель каждой дроби разложить на множители и полученое выражение представить в виде дроби
по моему тут какая то лажа что скажите?

Разложение правильной дроби на сумму простейшей дроби
1) Из неправильной рациональной дроби \frac{5{x}^{5}+{x}^{3}-1}{{x}^{3}-3} выделить целую часть и записать дробь в виде суммы...

Как обращать в обыкновенные дроби десятичные дроби
Добрый день! Как перевести число 1,(468) в обыкновенную дробь? я знаю, что, с помощью формулы S = a1/(1-q). Мне не понятно откуда...

Вычислить значение дроби (кажется дроби)
Доброго времени суток, возникла проблема, на днях дали вот такое интересное задание, только вот сути его понять не могу, нужно написать...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru