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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2014, 00:24   #1
Koparzo
Новичок
Джуниор
 
Регистрация: 27.04.2014
Сообщений: 1
По умолчанию Товарищи!Необходимо перевести код из Pascal в C.Надеюсь на Вашу отзывчивость.

Код:
Program prsimps;
var
      a,b,y1,y2,eps     :real;
      g                 :text;
      name              :string;
      n                 :longint;

function f(x:real):real;
   begin
      if x=0 then f:=0 else f:=sin(0.9*x)/x;
   end;
Procedure simps(a,b:real; var n:longint; var y:real);
var
   i        :longint;
   h,x      :real;
   begin
            h:=(b-a)/n; y:=0; x:=a;
            for i:=1 to n do
                          begin
                          y:=y+f(x)+4*f(x+0.5*h)+f(x+h);
                          x:=x+h
                          end;
            y:=y*h/6
   end;
   begin
       write('Введите число частичных отрезков N  '); readln(n);
       write('Введите концы отрезка интегрирования a,b  '); readln(a,b);
       write('Введите условие останова eps  '); readln(eps);
  write('Введите имя выходного файла  '); readln(name);
       assign(g,name); rewrite(g);
       writeln(g,'  Лабораторная работа N 4'); writeln(g);
       writeln(g,'          Численное интегрирование');
       writeln(g,'              Правило Симпсона    ');
       writeln(g);
       writeln(g,'Выполнил студент 4 курса группы             ');
       writeln(g);
       writeln(g,'Стартовое число частичных отрезков  ',n);
       writeln(g,'Условие останова eps = ', eps);
       writeln(g);
       simps(a,b,n,y1); n:=2*n; simps(a,b,n,y2);
       while abs(y1-y2)>=eps do
       begin y1:=y2; n:=2*n; simps(a,b,n,y2); writeln(n,' ',abs(y1-y2)) end;
       writeln(g,'Интеграл равен  ',y2); writeln(g);
       writeln(g,'Число частичных отрезков  ',n);
       writeln(g);
       close(g)
end.

Последний раз редактировалось Stilet; 27.04.2014 в 08:42.
Koparzo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо перевести с Pascal на с++ nowhow Общие вопросы C/C++ 5 02.04.2014 23:58
Перевести код с Pascal на C++ Sbobukh Помощь студентам 1 17.12.2013 19:28
необходимо перевести код с паскаля на C# kiraone Общие вопросы C/C++ 2 09.06.2013 23:17
Очень срочно критически мало времени Пожалуйста, очень надеюсь на вашу помощь. Задачки на Паскале VADOS2009-1 Помощь студентам 0 03.06.2009 00:00
Перевести код с Pascal в C++ gigaman Общие вопросы C/C++ 1 26.03.2008 12:18