0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 2
1

График функции

17.10.2018, 19:57. Показов 413. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что исправить нужно
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
66
67
68
69
70
71
72
73
74
75
graphABC; //Подключаем графический модуль
 
const
  W = 1200; H = 500;//Размеры графического окна
 
function F(x: real): real;
begin
 if (x>=3) and (x<6) then F:= sqrt(3-sqr(x-6));
  //Функции
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(W, H); //Устанавливаем размеры графического окна
 
  xLeft := 50;
  yLeft := 50;
  //Координаты правой нижней границы системы координат:
  xRight := W - 50;
  yRight := H - 50;
  //интервал по Х;
  a := -10; b := 8; dx := 1;
  //Интервал по Y;
  fmin := -3; fmax := 3; dy := 1;
  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); //ось ОY
  SetFontSize(12); //Размер шрифта
  SetFontColor(clBlue); //Цвет шрифта
  TextOut(xRight + 30, y0 - 20, 'X'); //Подписываем ось OX
  TextOut(x0 - 20, yLeft - 40, 'Y'); //Подписываем ось OY
  SetFontSize(8); 
  SetFontColor(clRed);
  { Засечки по оси OX: }
  n := round((b - a) / dx) + 1; //количество засечек по ОХ
  for i := 1 to n do
  begin
    num := a + (i - 1) * dx; //Координата на оси ОХ
    x := xLeft + trunc(mx * (num - a));
    Line(x, y0 - 6, x, y0 + 6); //рисуем засечки на оси OX
    str(Num:0:1, s);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OX
      TextOut(x - TextWidth(s) div 2, y0 + 18, s)
  end;
  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 - 6, y, x0 + 6, y); //рисуем засечки на оси Oy
    str(num:0:0, s);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OY
      TextOut(x0 + 10, 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 в графическом окне
    //Если y попадает в границы [yLeft; yRight], то ставим точку:
    if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);
    x1 := x1 + 0.001
  end
end.
4.pas(75) : Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2018, 19:57
Ответы с готовыми решениями:

Составить график функции. Дана функция нужно построить график по полученным точкам
Помогите составить график функции. Дана функция нужно построить график по полученным точкам...

Для функции y=f(x) получить таблицу значений и график этой функции на отрезке
Для функции y=f(x) получить таблицу значений и график этой функции на отрезке. Количество точек на...

Написать блок-схему и программу вычисления функции на заданном промежутке с шагом 0.2 и построить график этой функции
Написать блок-схему и программу вычисления функции на заданном промежутке с шагом 0.2 и построить...

График функции и ошибка "Неверное число параметров функции"
Program aaa; Uses GraphABC; Var x,y:integer; Begin For x:=0 to 360 do Begin Y:=Round(...

1
2309 / 1420 / 516
Регистрация: 07.04.2017
Сообщений: 4,723
18.10.2018, 00:14 2
Цитата Сообщение от Галина4 Посмотреть сообщение
sqrt(3-sqr(x-6))
Ну опять в том же месте проблема. Хотя код вы зачем то изменили, и теперь проблема немного другая. Но всё ещё в том что берётся корень из отрицательного числа.

Добавлено через 49 секунд
Научитесь всё же пользоваться отладкой, очень поможет.
0
18.10.2018, 00:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2018, 00:14
Помогаю со студенческими работами здесь

График функции
Выводит оси координат y=x+2 зеленым золотым цветом как написать код в графабс?

График функции
PascalABC Цель работы - изобразить функцию Крест &quot;Cruciform&quot; P=2a/sin(2φ). Для этого выбрать...

График функции
Написать программу построения графика функции y=1/x для x\epsilon

Построить график функции
В графическом режиме экран монитора делится на m×n пикселей. В СП PascalABC.Net по умолчанию...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru