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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2009, 00:26   #1
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию Процедуры на паскале

Добрый вечер!!!! У меня есть задание:
Разработать алгоритм и составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд.
Задание полностьюд вложено в файл.
Вот код программы, она не правильно высчитывает, не могли бы вы посмотреть в чем ошибка???
Код:
program task2;

procedure TheTask;
begin
  writeln('программа вычисляет таблицу значений функции(ряд)');
  writeln('с шагом на интервале с заданной точностью');
  writeln;
end;

procedure InputIntegration(var a:integer; var b:integer);
begin
  writeln('Введите нижнюю границу интегрирования');
  readln(a);
  writeln('Введите верхнюю границу интегрирования');
  readln(b);
  if a>=b then
  begin
    writeln('Верхняя граница интегрирования далжна быть больше нижней.Выход');
    readln;
    halt
  end;
end;

procedure InputStep(var step:real);
begin
  repeat
  writeln('Введите шаг изменения х');
  readln(step);
  until step>0;
end;

procedure InputAccuracy(var eps:real);
begin
  repeat
    writeln('Введите точность вычисления eps=');
    readln(eps);
  until (eps>0) and (eps<1);
end;

procedure OutputTheTable(var n:integer; s:real; k:integer;a,b:integer;var i:integer);
begin
  writeln(n,' ',i,' ',s:3:23,' ',k);
end;

procedure ParametrsTable;
begin
  writeln ('N  x     f(x)    № члена ряда');
end;
procedure ProcessingTable(i:integer;var a,b:integer; step:real; eps:real; var s:real; var k:integer; var number:integer);
begin
  step:=1;
  s:=0;
  k:=1;
  number:=0;
  for i:=a to b do
  begin
    number:=number+1;
    repeat
      step:= step*sqr(sin(i));
      s:=s-0.5*step/k;
      k:=k+1;
    until abs(0.5*step/k)<eps;
   OutputTheTable(number,s,k,a,b,i);
end;
end;


var
  s,eps,x,step:real;
  number,a,b,k,i,j:integer;

begin
  TheTask;
  InputIntegration(a,b);
  InputStep(step);
  InputAccuracy(eps);
  ParametrsTable;
  ProcessingTable(i,a,b,step,eps,s,k,number);
  readln;
End.
зарание спасибо!
Вложения
Тип файла: txt задание.txt (14.5 Кб, 9 просмотров)
tanek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль процедуры и функции в Паскале HECTOR.A. Помощь студентам 3 26.12.2008 14:29
Мои функции и процедуры на Паскале Dmit41683 Помощь студентам 1 05.12.2008 18:26
Процедуры и функции пользователя в Паскале Alex1991 Помощь студентам 8 02.12.2008 13:11
Задачи на Паскале. Строковые процедуры и функции Мент Паскаль, Turbo Pascal, PascalABC.NET 3 25.06.2008 13:24