Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2007, 20:46   #1
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию Рассчитать полином с помощью функции. Паскаль.

Код:
program p;
uses crt;
type mas=array[1..5] of real;

var x:real; a:mas;
    i,j,n:integer;
function f1(x:real;a:mas):real;
begin
 f1:=a[1];
  for i:=1 to n do
   f1:=f1(x,a)*x+a[i+1];
 end;
begin
  readln(n);
  readln(x);
  for i:=1 to n do
   readln(a[i]);
   writeln('Rezul''tat: ',f1(x,a):5:1);

end.
Никак не пойму чего сдесь не так. Плз исправьте.
Nexx вне форума Ответить с цитированием
Старый 04.12.2007, 21:13   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Бред какойто написанн... Напиши по какой формуле вычисляется полином.

Программе явно ненравится в этой строке f1(x,a)
writeln('Rezul''tat: ',f1(x,a):5:1);

И она вылетает.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 04.12.2007, 21:17   #3
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию

Полином это кароч выражение вида
P(x)=A1*X^5+A2*X^4+A3*X^3+A4*X^2+A5 *X+A6
вот это мне и нада задать с помощью ф-ции
Nexx вне форума Ответить с цитированием
Старый 04.12.2007, 21:20   #4
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию

Он вычисляется так кароч:
p:=A[1];
for i:=1 to n do
p:=p*x+A[i+1];
Nexx вне форума Ответить с цитированием
Старый 04.12.2007, 21:29   #5
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию

Плз помогите срочно, оч надо. Это только часть проги.
Nexx вне форума Ответить с цитированием
Старый 04.12.2007, 21:35   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Вычисление полинома по схеме Горнера уже рассматривалось здесь http://www.programmersforum.ru/showthread.php?t=9099 только нумерация коэффициентов была с нуля
Код:
program p;
uses crt;
type 
  mas=array[0..5] of real;
var 
  x: real; 
  a: mas;
  i,j,n:integer;
function f1(x: real; a: mas): real;
var
  b0,b: real;
begin
  b0:=a[0];   
  for i:=1 to n do  
    begin  
      b:=a[i]+b0*x;
      b0:=b;   
    end;
  f1:=b;
end;

begin
  write('n='); readln(n);
  write('x='); readln(x);
  for i:=0 to n do
    begin
      write('a[',i,']='); readln(a[i]);
    end;
  writeln('Rezul''tat: ',f1(x,a):5:1);
end.

Последний раз редактировалось _Dmitry; 04.12.2007 в 21:38.
_Dmitry вне форума Ответить с цитированием
Старый 04.12.2007, 22:07   #7
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию

а почему она както глючит, когда n>5?
Nexx вне форума Ответить с цитированием
Старый 04.12.2007, 22:15   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

потому что
mas=array[0..5] of real;
_Dmitry вне форума Ответить с цитированием
Старый 04.12.2007, 22:19   #9
Nexx
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 28
По умолчанию

ой блин точна извини ступил))
Nexx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль...Процедуры и функции Miledi Помощь студентам 3 14.05.2012 18:22
Поиск точного значения с помощью функции БИЗВЛЕЧЬ THE_ENGINEER Microsoft Office Excel 8 23.07.2008 11:37
Паскаль. Вычисление функции СТАС48 Помощь студентам 0 30.11.2007 07:44
Паскаль. задача с помощью FOR TO DO Маринуська Помощь студентам 7 29.10.2007 18:49