Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 5
1

Построение графика y=(exp(ln(X) * 3) + exp(ln(X) * 2)-15)/2;

17.05.2019, 10:30. Просмотров 1040. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста доделать программу. При запуске программы пишет
"Program1.pas(62) : Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32."


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
program zadanie;
uses
  graphABC;
function F(x: real): real;
begin
  F := (exp(ln(X) * 3) + exp(ln(X) * 2)-15)/2;
  end;
var
  x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer;
  a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real;
  i: byte;
  s: string;
  begin
  SetWindowSize(800, 800);
   xLeft := 100;
   yLeft := 100;
   
   xRight := 600;
   yRight := 500;
   a:= -2; b := 6; dx := 0.5;
   fmin := -10; fmax := 20; dy := 2;
   mx := (xRight - xLeft) / (b - a); //масштаб по Х
   my := (yRight - yLeft) / (fmax - fmin); // масштаб по Y
   x0 := trunc(abs(a) * mx) + xLeft;
   y0 := yRight - trunc(abs(fmin) * my);
   line(xLeft, y0, xRight + 10, y0); 
   line(x0, yLeft - 10, x0, yRight);
   SetFontSize(12);
   SetFontColor(clBlue);
   TextOut(xRight + 20, y0 - 15, 'X');
   TextOut(x0 - 10, yLeft - 30, 'Y');
   SetFontSize(8);
   SetFontColor(clRed);
   n := round((b - a) / dx) + 1;
     begin
    num := a + (i - 1) * dx; //Координата на оси ОХ
    x := xLeft + trunc(mx * (num - a)); //Координата num в окне
    Line(x, y0 - 3, x, y0 + 3); //рисуем засечки на оси OX
    str(Num:0:1, s);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OX
      TextOut(x - TextWidth(s) div 2, y0 + 10, s)
  end;
 { Засечки на оси OY: }
  n := round((fmax - fmin) / dy) + 1; //количество засечек по ОY
  for i := 1 to n do
  begin
    num := fMin + (i - 1) * dy; //Координата на оси ОY
    y := yRight - trunc(my * (num - fmin));
    Line(x0 - 3, y, x0 + 3, y); //рисуем засечки на оси Oy
    str(num:0:0, s);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OY
      TextOut(x0 + 7, y - TextHeight(s) div 2, s)
  end;
 
  TextOut(x0 - 10, y0 + 10, '0'); //Нулевая точка
  { График функции строим по точкам: }
  x1 := a; //Начальное значение аргумента
  while x1 <= b do
  begin
    y1 := F(x1); //Вычисляем значение функции
    x := x0 + round(x1 * mx); //Координата Х в графическом окне
    y := y0 - round(y1 * my); //Координата Y в графическом окне
   
  end
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2019, 10:30
Ответы с готовыми решениями:

Exp(x)
Решить задачу с помощью цикла. Целью решения задачи, приведенной в табл. 3, является вычисле- ние...

вычисление exp
Дано вещественное число X и целое число N&gt;0.Вывести 1+Х+Х2/2!+..+XN/N! (N!=1*2*..*N).Полученное...

Что такое exp
Приветствуюю Объясните пожалуйста , что такое exp. Расскажите что это вообще такое Такое слово я...

через exp сделать 10 в степени i.
Ребят, подскажите как через exp сделать 10 в степени i.

2
Модератор
61164 / 45851 / 31653
Регистрация: 18.05.2008
Сообщений: 110,434
17.05.2019, 11:01 2
Лучший ответ Сообщение было отмечено margolica как решение

Решение

ln(x) при не положительных х не определен, напишите функцию так.
Pascal
1
 F :=(power(x,3)+power(x,2)-15)/2;
1
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 5
17.05.2019, 11:17  [ТС] 3
Огромное вам спасибо!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2019, 11:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычислить значение Y=exp(n*ln(10))/n! , где n<=10
Вычислить значение Y=exp(n*ln(10))/n! , где n&lt;=10

Что значит exp в коде?
в решении задачи присутсвует вот такая строчка if (exp(i*ln(x))&gt;max) then max:=exp(i*ln(x)) никак...

Вычисляем значение exp ( -x * x) !! ряд Тейлора
Дана функция exp( - x * x) имеет вот такой ряд...

Вычислить, не используя стандартные функции LN(x) и EXP(x) 2^n, n - натуральное число;
Вычислить, не используя стандартные функции LN(x) и EXP(x) 2^n, n - натуральное число;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.