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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 15:46   #21
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Синус-тригонометрическая функция
Ваша же - функция,заданная графически состоит из 3-х функций
Тут тоже из 3 функций? Это похоже на мой вариант?
AZelensky вне форума Ответить с цитированием
Старый 28.11.2013, 16:02   #22
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
я ага, конечно, ессстесно только живу в Уфе, и мне уже поздновато учиться
А по поводу задачи - есть готовая! Welcome to Skype - продам

а в университетах сейчас МатАна нет что ли? или Вам про "интригалы" не расказывали
За сколько можешь, а то я не справлюсь я метематическим вычислением?
AZelensky вне форума Ответить с цитированием
Старый 28.11.2013, 16:07   #23
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

в скайп стучи
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 28.11.2013, 16:13   #24
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
в скайп стучи
Добавился.
AZelensky вне форума Ответить с цитированием
Старый 29.11.2013, 10:20   #25
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Вот, что у меня получилось после правки кода под свою задачу:
Код:
program KKP2_1_DUB3;

uses
  CRT;

var
  
  A, B, C, E, ABS_Integral: real;

procedure ENTER_DATA(var PR_1, PR_2, P_PAR, POGR_PRO: REAL);

begin
  
  ClrScr;
  
  Writeln('Программа для нахождения значения интеграла на определенном промежутке');
  
  Writeln;
  
  writeln('Введите границы интервала [A,B],причем (A<B),число C (0<C<1) и точность E (E>0): ');
  
  writeln;
  
  repeat
    
    begin
      
      writeln('Число C: '); readln(P_PAR);
      
      if not (P_PAR > 0) then
        
        writeln('C должно быть больше 0 !. Повторите ввод.')
      
      ELSE if not (P_PAR < 1) THEN
        
        WRITELN('C должно быть меньше 1!. Повторите ввод.');
      
    end;
    
  until ((P_PAR > 0) AND (P_PAR < 1));
  
  repeat
    
    begin
      
      writeln('Начало интервала A: '); readln(PR_1);
      
      writeln('Конец интервала B: '); readln(PR_2);
      
      if not (PR_1 < PR_2) then
        
        writeln('A должно быть меньше B !. Повторите ввод.');
      
    end;
    
  until (PR_1 < PR_2);
  
  repeat
    
    begin
      
      writeln('Точность E: '); readln(POGR_PRO);
      
      if not (POGR_PRO > 0) then
        
        writeln('E должно быть больше 0 !. Повторите ввод.');
      
    end;
    
  until (POGR_PRO > 0);
  
end;

function integration(var GR_1, GR_2, F_PAR, POGR_FUNC: REAL): real;

var
  
  INTEGRAL1, INTEGRAL2, X, H: REAL;
  
  N: INTEGER;
  
  READY: BOOLEAN;

begin
  
  integral1 := 0;
  
  integral2 := 0;
  
  n := 1;
  
  repeat
    
    N := N * 2;
    
    H := (GR_2 - GR_1) / N;
    
    X := GR_1;
    
    Integral2 := 0;
    
    repeat
      
      if x <= (-F_PAR) then
        
        integral2 := integral2 + ((1 / sqr(3)) * (ln(F_PAR) - F_PAR))
      
      ELSE if((-F_PAR < x) and (x <= F_PAR))
        
        THEN integral2 := integral2 + Sin(x)
      
      ELSE if (X > F_PAR) THEN
        
        Integral2 := integral2 + ln(F_PAR);
      
      X := X + H;
      
    until not (X <= B);
    
    READY := abs(integral1 - integral2) < POGR_FUNC;
    
    INTEGRAL1 := INTEGRAL2;
    
  until READY;
  
  INTEGRATION := INTEGRAL2;
  
end;

begin
  
  ENTER_DATA(A, B, C, E);
  
  ABS_Integral := INTEGRATION(A, B, C, E);
  
  Writeln;
  
  Writeln( 'Ответ: ');
  
  writeln('Интеграл на промежутке от ', A:0:2, ' до ', B:0:2, ' равен ');
  
  writeln(ABS_Integral:1:3, ' с точностью ', E:1:3);
  
  ReadKey;
  
end.
Правильно?
AZelensky вне форума Ответить с цитированием
Старый 29.11.2013, 14:20   #26
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Правильно?
нет! функция не та!
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 29.11.2013, 15:02   #27
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Правильно?
нет! функция не та!
На рисунке три функции: первая - kx+b, вторая - sin(x), а третья - ln(x). Что тут не правильного? А формула шага и левых прямоугольников одна и та же. Ещё интеграл = площади трапеции. В данном случае сумме площадей прямоугольников, ограниченных данными функциями
AZelensky вне форума Ответить с цитированием
Старый 29.11.2013, 19:20   #28
AZelensky
Пользователь
 
Регистрация: 15.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Правильно?
нет! функция не та!
А вот так правильно?
Код:
{$N+}
function y(const a,b,x: double): double;
    begin
    if x<-pi/2 then y:=(x-a)/(pi/2+a) else if x<pi/2 then y:=sin(x) else y:=1;
    end;
 
var
a,b,h,e,ip,ic: double;
i,n: longint;
 
begin
writeln('a:');
readln(a);
writeln('b:');
readln(b);
writeln('точность:');
readln(e);
 
ic:=0;
n:=16;
h:=(b-a)/n;
for i:=0 to n-1 do ic:=ic+y(a,b,a+i*h);
ic:=ic*h;
 
repeat
ip:=ic;
ic:=0;
for i:=0 to n-1 do ic:=ic+y(a,b,a+i*h+h/2);
ic:=(ic*h+ip)/2;
n:=n*2;
h:=(b-a)/n;
until abs(ic-ip)<e;
writeln('результат=',ic:6:6);
readln;
end.
AZelensky вне форума Ответить с цитированием
Старый 29.11.2013, 23:01   #29
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
а третья - ln(x)
и хде ты там ее увидал ума не приложу
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача-Написать программу для вычисления и вывода таблицы значений заданной функции на интервале (Turbo Pascal) коровук виктор Помощь студентам 1 22.11.2013 17:09
Составить программу для вычисления значения функции. марина9999 Помощь студентам 0 12.11.2012 20:01
Вычисление значения функции, заданной графически, Переделать программу на Java Sha1ne Общие вопросы по Java, Java SE, Kotlin 1 14.06.2012 01:23
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 23:34
Составить программу для вычисления значения функции!!!! QBASIC ната22 Помощь студентам 2 06.12.2011 17:06