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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.12.2013, 12:35   #1
XXX_Black_XXX
Новичок
Джуниор
 
Регистрация: 22.12.2013
Сообщений: 2
По умолчанию I need your help! Помогите пожалуйста!

Нужно выполнить программу на паскале, объединив программы для задания 1 и задания 2 в одну. Подскажите, как это сделать? И как написать программу для второго задания?

Первое задание: Найти корень уравнения, расположенный на найденном отрезке, с абсолютной погрешностью eps. Использовать метод Ньютона. Уравнение: 0,25x3 + x - 1,2502 = 0.

Второе задание: Составить программу для вычисления суммы ряда с заданной точностью eps и значения функции на заданном диапазоне изменения аргумента (кол-во расчётных точек - не менее 10); сумма S = cos x + (cos(2x))/2 + ... _ cos(nx)/n; диапазон изменения аргумента: Пи/5<=x<=9 Пи/5; функция y: y = -ln |2sin x/2|.

Программу для первого задания я сделал:
Код:
Program RASSCHET;
  uses CRT;
  var eps, x, a, b:real;
  function f(x:real):real;
begin
  f := 0.25*exp(ln(x)*3)+x-1.2502 ;
end;
  function fp(x:real):real;
begin
  fp:=3-4/x ;
end;
begin
  clrscr;
  write('Vvedite pogreshnost eps = ');
  ReadLn(eps);
  If (eps>0) and (eps<1) then
    begin
      a := 0.1;
        repeat
        x:=a-f(a)/fp(a);
        b:=a;
        a:=x;
        WriteLn('x = ',b:5:7);
      until abs(x-b)<=eps;
        Write('Koren uravnenija 3*x - 4*ln(x) - 5 = 0  x = ',x:5:7);
    end
  else
    WriteLn('Nekorrektnie dannie');
  ReadLn;
End.
P.S.: на всякий случай выкладываю картинки с заданиями.
Изображения
Тип файла: jpg Зад. 1.jpg (42.6 Кб, 119 просмотров)
Тип файла: jpg Зад. 2.jpg (52.4 Кб, 120 просмотров)

Последний раз редактировалось Stilet; 22.12.2013 в 13:34.
XXX_Black_XXX вне форума
Старый 22.12.2013, 13:28   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

При записи кода сделайте так: выделить код, нажать кнопку с символом '#', которая есть на панели. Так проще читать код.

Так понимаю, что найден пример для вашего первого задания. Вы поленились поправить так, что-бы он соответствовал вашему заданию.
Т.е. функцию f(x) вы записали, а вот для чего fp(x) - не поняли.
Предлагаю, поскольку степень x целое число, использовать другой способ вычисления функции: f := (0.25 * sqr(x) +1) * x - 1.2502;
В этом случае x может быть и отрицательным, в отличии от вашей записи.
Функция fp(x) - первая производная вашей функции и там надо написать: fp := 0.75*sqr(x) + 1;

Для второго задания:
1. Записываете функцию для поиска суммы ряда, например, так:
Код:
function fcos(x, eps : real) : real;
var n : integer;
   s, an : real;
begin
   s := 0;
   n := 1;
   while abs(an) > eps do
   begin
      an := cos(n*x)/n;
      s := s + an;
      n := n +1;
      if n > 100 then break; {число циклов должно быть достаточным}
                             {для вычисления значения, но не бесконечным}
   end;
   fcos := s;
end;
Аналогичную функцию записываете для вычисления второго выражения.
Затем формируете программу для табулирования функций, например так:
Код:
xbeg := pi/5;
xend := 9*pi/5;
dx := (xend - xbeg)/n; {n - число заданных шагов, >= 10}
xn := xbeg;
while xn <= xend do
begin
   {вычисление первой функции - суммы ряда}
   {вычисление второй функции}
   {вывод значений на эран или в файл}
   xn := xn + dx;
end;

Как-то так, ...
Как-то так, ...
ViktorR вне форума
Старый 22.12.2013, 14:50   #3
XXX_Black_XXX
Новичок
Джуниор
 
Регистрация: 22.12.2013
Сообщений: 2
По умолчанию

Спасибо тебе большое! Я спасён)))
XXX_Black_XXX вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44