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

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

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

 
 Ответить  Открыть новую тему 
> Массив из многочленов второго степеня.(Delhpi/Pascal)
Wild_klas
сообщение 18.11.2010 2:15
Сообщение #1


Новичок
*

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

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


Заданный массив многочленов второй степени, состоящий из трех элементов.
Найти тот, для которого определен интеграл приобретает наименьшего значения на определенном отрезке.


Как в массив записать многочлены? Через функцию можно?
Моя попытка:
Код:



Function Mnogochlen(m1,m2,m3,x:real):real;
Begin
M1:=3*(x*x)+4*x+7;
M2:=6*(x*x)-8*x+3;
M3:=4*(x*x)-x+1;
End;

Type Massiv=array [1..10] of integer;
Const M:massiv of mnogochlen =(M1,m2,m3);

Подскажите, как правильно записать функцию в массив, или процедуру??


--------------------
Учусь учиться.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 18.11.2010 2:37
Сообщение #2


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

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

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


Цитата(Wild_klas @ 18.11.2010 2:15) *
Как в массив записать многочлены? Через функцию можно?

Это, смотря какой массив. Многочлен второй степени можно представить, как три числа. Как именно - тебе решать. Можно тоже массивом из трех элементов:
type
tPolynom = array [0..2] of double;
- или можно как запись:
type
tPolynom = record
a,b,c: double;
end;

После того, как определишься с выбором представления, организуй массив:
var
a: array [1..3] of tPolynom;

Каждый элемент этого массива есть многочлен.

Можно, конечно, сделать и массив функций, но в данном случае это неоправданно, поскольку вид функции задан довольно конкретно (а кроме того, тебе это рановато, думаю..)

Сообщение отредактировано: Lapp - 18.11.2010 2:42


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


Новичок
*

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

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


Цитата(Lapp @ 18.11.2010 3:37) *

Это, смотря какой массив. Многочлен второй степени можно представить, как три числа. Как именно - тебе решать. Можно тоже массивом из трех элементов:
type
tPolynom = array [0..2] of double;
- или можно как запись:
type
tPolynom = record
a,b,c: double;
end;

После того, как определишься с выбором представления, организуй массив:
var
a: array [1..3] of tPolynom;

Каждый элемент этого массива есть многочлен.

Ага, то есть так. Спасибо. буду разбираться.


Добавлено через 12 мин.
 Var x:real;
type
tPolynom = array [0..3] of double;
Const mnogochlen:tPolynom=((3*x*x+2*x+5),(x*x+5*x+1),(5x*x+x+4));

Выбивает constant expression expected. Что не так?

Добавлено через 1 мин.
Цитата
Можно, конечно, сделать и массив функций, но в данном случае это неоправданно, поскольку вид функции задан довольно конкретно (а кроме того, тебе это рановато, думаю..)

Правильно думаете smile.gif


--------------------
Учусь учиться.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 18.11.2010 8:50
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
Что не так?

Туда надо числа записывать (double), а ты что пытаешься запихнуть?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 18.11.2010 9:18
Сообщение #5


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

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

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


Цитата(Wild_klas @ 18.11.2010 2:41) *
 Var x:real;
type
tPolynom = array [0..3] of double;
Const mnogochlen:tPolynom=((3*x*x+2*x+5),(x*x+5*x+1),(5x*x+x+4));

Выбивает constant expression expected. Что не так?

Смотри сюда )).
Допустим, у тебя есть многочлен второго порядка (квадратный то бишь), вот такой:
3x2 + 2x +5

Он полностью задается своими тремя коэффициентами:
p2x2 + p1x1 + p0x0.
(x0 я притенил, поскольку он всегда равен 1)
В данном (первом) случае это 3, 2 и 5. Нумеровать коэффициенты принято по значению степени x, то есть в данном случае:
p0 = 5
p1 = 2
p2 = 3

Для второго твоего полинома, (x*x+5*x+1), будет так:
p0 = 1
p1 = 5
p2 = 1

Понятно?
Значит, если ты хочешь задать константами, то примерно так:
type
tPolynom = array [0..2] of double;
Const
mnogochlen: tPolynom=((3,2,5),(1,5,1),(.....));

(тут я еще поправил твою ошибку: не 0..3, а 0..2)
Третью скобку заполни сам.
А x тут совсем не нужен. Он будет нужен потом, при вычислениях по этим полиномам (при взятии интеграла, например).

Давай, разбирайся и спрашивай дальше.


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

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

 



- Текстовая версия 18.06.2025 13:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"