IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> нахождение рациональных корней многочлена с целым коэффициентом, вот не знаю как и что дальше делать...
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  -1  +


program abc;
var
A1,X1n,A2,X2n,A3,X3n,s:real;
begin
writeln('нахождение рациональных корней многочлена с целым коэффициентом');
writeln('Введите первый коэффициент и степень Х при нем');
read(A1);
read(X1n);
writeln('Введите второй коэффициент и степень Х при нем');
read(A2);
read(X2n);
writeln('Введите третий коэффициент и степень Х при нем');
read(A3);
read(X3n);
writeln('Введите своббодный коэффициент');
read(n);
for del:=1 to n do
if (i mod del)=0 then
write(делители свободного члена,' ');
for del:=1 to A1 do
if (i mod del)=0 then
write(делители первого коэффициента,' ');
Type
Age=n/A1;
while s=0 do


вот что-то написал. сам толком не знаю, что, но охота дописать. но в этом случаи можно сказать"выше головы..".
Взял самую сложную задачу в тетради и решил решить ее через паскаль. и в итоге остановился почти сразу... я сам толком не могу объяснить, что это, но думаю вы разберетесь и поможет. хотя если что то обойдусь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(krofik @ 27.11.2010 0:25) *
вот что-то написал. сам толком не знаю, что, но охота дописать. но в этом случаи можно сказать"выше головы..".
...
я сам толком не могу объяснить, что это, но думаю вы разберетесь и поможет.

Чуть ли не впервые встречаю тут совершенно адекватное описание сделанного! Это заслуживает по крайней мере ответа )).

Во-первых, krofik, поставь задачу точнее. Какие многочлены? Какой степени? Почему именно рациональные? Какой ты собираешься применить алгоритм?
Все эти вопросы нужно четко себе уяснить ДО начала написания проги. Если есть малейшая неясность - плохо, надо избавиться.
И, пожалуйста, дублируй текст задания в теле темы, даже если он есть в заголовке.

Пока я вижу, что у тебя непонятки с постановкой задачи. Зачем вводить степени? Что ты этим хотел сказать? Попробуй словами промоделировать прогу. Типа так:
1. собираемся решить КВАДРАТНОЕ уравнение;
2. вводим а0, а1, а2;
....


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  -1  +


1. Решаем (я точно не уверен) или находим рациональные корни уравнения 3х(в 4степ)-8х(в 3)-2х²+7x-2=0 (ЛОЛ!)

2. Считываем значения коэффициентов первого, второго, третьего, четвертого и свободного члена (остатка).

3. находи p-делители(для свободного члена) and q-делители( для первого коэффициента)

4. Делим каждый p-делитель на все q-делители т.е. например здесь у нас должны получиться p: -+1 и -+2, а для q: -+1 и-+ 3 т.е получаем -+1/1, -+1/3, -+2/1, -+2/3.

5. Берем из предыдущего действия только целые числа (-+1, -+2). Приравниваем х равным -+1 -+2. (верным ответом будет х=-1)

6. Затем я не знаю, как это описать но попытаюсь нарисовать таблицу
3 -8 -2 7 -2

х=1 3 -5 -7 0 -2 (число для того чтобы быть ответом должно под -2 быть нулем)

х=-1 3 -11 9 -2 0 (х=-1 является ответом т.е. тут остаток равен 0, а нам это и надо)

х=2 3 и считаем...... тут тоже остаток не равен нулю он нам не подходит. Так как мы считаем? - 3 всегда просто сноситься, затем х умножаем на 3 и прибавляем следующие число из верхнего ряд т.е -8 и тд.

х=-2 также не равен нулю... не подходит
(на этом этапе у меня возникла сложность поскольку я не разобрался, как заставить прогу повторять этот цикл умножения и прибавления следующего числа до тех пор пока не получим над -1 ноль.)

7. И потом надо каким то образом получить уравнение (x+1)(3x(в третей)-11x²+9x-2)=0 то есть мы выносим за скобки х+1 и из-за этого степени сдвигаются на одну т.е 4ая становиться 3ей и тд.

а дальше я ещё просто как я понял на уроке не успел пример с доски переписать Т_Т , но думаю тут уже достаточно чтобы подумать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Решить уравнение,это найти все корни,а они могут быть и комплексными.Еще поясни,тебе надо найти рациональные корни,для именно этого уравнения или для уравнения такого вида?
Цитата
число для того чтобы быть ответом должно под -2 быть нулем)

Оно не должно быть нулем,а будет нулем,потому что -1 является корнем твоего уравнения.Тобиш твое уравнение можно будет сократить на x+1.Что у тебя будет. первые 2 коэффициента будут 3 и -8 ,значит коэффциент первый будет 3 дальше ты смотриш,а что с -8 ты так же отнимаеш 3,получаеш -11,затем ты уже рассматриваеш 3 коэффициент и измененный второй,они у тебя -11 и -2,новый коээфициент многочлена будет
-11 теперь ты отнимаеш от -2 - (-11) получаеш 9,дальше береш новый третий и старый 4 коэффициенты они у тебя 9 и 7,новый коэффициент многочлена 9 ,отнимаеш 7-9,получаеш -2 и наконец то у тебя коэффициенты -2 и -2,новый коэффициент -2 и от последнего отнимаеш -2-(-2) получаеш 0 следовательно преобразование закончено.Мне кажется то,что я написал более наглядно показывает алгоритм который тебе надо выполнять.Далее у тебя уже есть новые,запомненные коэффициенты. 3 -11 9 -2,опять для них находиш корень и понижаеш степерь аналогично описанному выше и в итоге ты придеш к виду ( x....)(x...)(x...)(x....)=0 вот ты нашел все корни.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(krofik @ 27.11.2010 17:32) *
думаю тут уже достаточно чтобы подумать.
Да, тут достаточно.
Задача интересная. Начни с простого. Сделай нормальный ввод начальных данных. Нпример, сначала запрашиваешь максимальную степень (то есть степень уравнения). А потом делаешь ввод коэффициентов по одному на строку, начиная со старшего. Нумеруй их по степеням:

a4x4+a3x3+a2x2+a1x1+a0 = 0

Потом сделай процедурку (или функцию) для разложения числа на множители.

А потом обсудим, как сделать общий цикл (хорошо бы нарисовать блок-схемку, она тут точно была бы не лишней).


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  -1  +


Цитата(Krjuger @ 28.11.2010 17:11) *

Решить уравнение,это найти все корни,а они могут быть и комплексными.Еще поясни,тебе надо найти рациональные корни,для именно этого уравнения или для уравнения такого вида?

Оно не должно быть нулем,а будет нулем,потому что -1 является корнем твоего уравнения.Тобиш твое уравнение можно будет сократить на x+1.Что у тебя будет. первые 2 коэффициента будут 3 и -8 ,значит коэффциент первый будет 3 дальше ты смотриш,а что с -8 ты так же отнимаеш 3,получаеш -11,затем ты уже рассматриваеш 3 коэффициент и измененный второй,они у тебя -11 и -2,новый коээфициент многочлена будет
-11 теперь ты отнимаеш от -2 - (-11) получаеш 9,дальше береш новый третий и старый 4 коэффициенты они у тебя 9 и 7,новый коэффициент многочлена 9 ,отнимаеш 7-9,получаеш -2 и наконец то у тебя коэффициенты -2 и -2,новый коэффициент -2 и от последнего отнимаеш -2-(-2) получаеш 0 следовательно преобразование закончено.Мне кажется то,что я написал более наглядно показывает алгоритм который тебе надо выполнять.Далее у тебя уже есть новые,запомненные коэффициенты. 3 -11 9 -2,опять для них находиш корень и понижаеш степерь аналогично описанному выше и в итоге ты придеш к виду ( x....)(x...)(x...)(x....)=0 вот ты нашел все корни.


Соглашусь что ваша версия объяснения намного белее ясно излагает суть дела.
Я бы первоначально хотел сделать программу которая "просто" будет решать любые уравнения такого типа, но сейчас я понимаю, что для моего уровня я слишком многого хочу. Т.е. как вы спросили для уравнения такого вида, да.

Добавлено через 5 мин.
Цитата(Lapp @ 29.11.2010 2:32) *


Потом сделай процедурку (или функцию) для разложения числа на множители.

А потом обсудим, как сделать общий цикл (хорошо бы нарисовать блок-схемку, она тут точно была бы не лишней).

А вот этот момент я не понял, извиняюсь, но это, как? (блок схема)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Вбей в гугл и там тебе все скажут.Если в кратце,то блок схема,это визуальное изображение алгоритма решения задачи.В блок смеже есть четкие правила о том,как изображаются те или иные действия(циклы,условия,вводимые выводимые данные).Для чего нужна блок схема....Ну когда задачу делает несколько человек и она достаточно обширна,то это помогает каждому пишущему ее понимать что вообще происходит откуда что берется и как что получается.Для новичков ,решающих начальные задачи,блок схема,это некая последовательность элементарных действий которые надо сделать,чтобы получить желаемый результат.Блок схема не имеет никакой привязки к языку программирования,она зависит только от задачи.Короче,чтобы решить задачу,нужно придумать алгоритм,тобиш последовательность действий которые дадут желаемый результат.Первый этам это создание алгоритма.Его можно описать вербально.Затем.надо его как то перенести на блок схему,потому что на ней более наглядно можно увидеть и проработать то,как связываются те или иные части задачи.И наконецто когда у тебя есть блок схема,ты приступиш к реализации ее непосредственно на языке программирования,учитывая все особенности выбранного тобой языка.Когда ты научишся решать более сложные задачи,ты можеш перестать рилосать блок схемы и начнеш держать алгоритм в голове.Но когда задачи станут серьезными.то надобность в блок схемах сново появится,поэтому научитсья их рисовать лишним не будет.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 16:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name