Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 40
1

постоить график y=sin(sin x)

09.12.2011, 22:44. Показов 5157. Ответов 3
Метки нет (Все метки)

напишите пожалуста програму

постоить график y=sin(sin x)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2011, 22:44
Ответы с готовыми решениями:

Найти значение выражения: sin(sin(…sin(x))), где функция sin используется n раз
uses SysUtils; function sin1(x:real; n:integer):real; var a:real; i:integer; begin...

Построить график функции v:=w*r*(Sin(a)+(y/4)*sin(2*a)
построить график функции v:=w*r*(Sin(a))+(y/4)*sin(2*a)

Цикл с предусловием и постусловием. Вычислить: sin(x)+sin(x)^2+...sin(x)^n
что в ней не так,ребят помогите Даны натуральное число n и вещественная число x....

Вычислить сумму ряда s=sin(1)+sin(2)+…+sin(n)
Вычислите сумму ряда s=sin(1)+sin(2)+…+sin(n), для n введенного с клавиатуры. Не могу понять,...

3
Модератор
63379 / 47072 / 32446
Регистрация: 18.05.2008
Сообщений: 114,099
10.12.2011, 11:36 2
Delphi
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
unit grfunc_;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.DFM}
 
// Функция, график которой надо построить
 Function f(x:real):real;
 begin
    f:=Sin(sin(x));
 end;
 
// строит график функции
procedure GrOfFunc;
var
 x1,x2:real;    // границы изменения аргумента функции
 y1,y2:real;    // границы изменения значения функции
 x:real;        // аргумент функции
 y:real;        // значение функции в точке x
 dx:real;       // приращение аргумента
 l,b:integer;   // левый верхний угол области вывода графика
 w,h:integer;   // ширина и высота области вывода графика
 mx,my:real;    // масштаб по осям X и Y
 x0,y0:integer; // точка - начало координат
 
begin
 // область вывода графика
 l:=10;                     // X - координата левого верхнего угла
 b:=Form1.ClientHeight-20;  // Y - координата левого верхнего угла
 h:=Form1.ClientHeight-40;  // высота
 w:=Form1.Width-40;         // ширина
 
 x1:=-2*pi;     // нижняя граница диапазона аргумента
 x2:=2*pi;    // верхняя граница диапазона аргумента
 dx:=0.01;  // шаг аргумента
 
 // найдем максимальное и минимальое значения
 //  функции на отрезке [x1,x2]
 y1:=-1; // минимум
 y2:=1; // максимум
 x:=x1;
 repeat
   y := f(x);
   if y < y1 then y1:=y;
   if y > y2 then y2:=y;
   x:=x+dx;
 until (x>=x2);
 
 // вычислим масштаб
 my:=h/abs(y2-y1);  // масштаб по оси Y
 mx:=w/abs(x2-x1);  // масштаб по оси X
 
 // оси
 x0:=l+w div 2;
 y0:=b-h div 2;
 
 with form1.Canvas do
 begin
   // оси
   MoveTo(x0,b);LineTo(x0,b-h);
   MoveTo(l,y0);LineTo(l+w,y0);
   TextOut(x0+5,b-h,FloatToStrF(y2,ffGeneral,6,3));
   TextOut(x0+5,b,FloatToStrF(y1,ffGeneral,6,3));
   TextOut(x0+5,y0+5,'0');
   TextOut(l+5,y0+5,'-2pi');
   TextOut((x0-w div 4+15),y0+5,'-pi');
   TextOut(l+w-5,y0+5,'2pi');
   TextOut((x0+w div 4-5),y0+5,'pi');
   // построение графика
   x:=x1;
   repeat
     y:=f(x);
     Pixels[x0+Round(x*mx),y0-Round(y*my)]:=clRed;
     x:=x+dx;
   until (x>=x2);
 end;
end;
 
 
procedure TForm1.FormPaint(Sender: TObject);
begin
  GrOfFunc;
end;
 
// изменился размер окна программы при растягивании или сжатии
procedure TForm1.FormResize(Sender: TObject);
begin
  // очистить форму
  form1.Canvas.FillRect(Rect(0,0,ClientWidth,ClientHeight));
  // построить график
  GrOfFunc;
end;
 
end.
0
57 / 34 / 0
Регистрация: 06.08.2010
Сообщений: 159
10.12.2011, 12:13 3
Добавлю, что у Delphi есть компонент TChart. Строит все диаграммы-гистограммы будет чуть красивей чем на канве формы.
0
Модератор
63379 / 47072 / 32446
Регистрация: 18.05.2008
Сообщений: 114,099
10.12.2011, 12:20 4
Цитата Сообщение от АлексейБ Посмотреть сообщение
у Delphi есть компонент TChart.
Это понятно, но обычно новичкам задают нарисовать на канве, задачки как правило из Паскалевских задачников.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2011, 12:20

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

Вычислить sin(1+sin(1+…sin(1+sin 1))…)
Вычислить sin(1+sin(1+…sin(1+sin 1))…)

график функци f=a*sin(t)
не могу построить графики.. на скрине вводим цифры в Edit1 и Edit2 и при на жатии на...

Написать программу, которая строит график функции: x=C1*(t-1/2*sin2t)+C2, y=C1*sin^2t
Здравствуйте! помогите пожалуйста написать программу которая строит график функции: ...

Постоить график функции
Разработать программу построения либо графика функций одной переменной, либо столбчатых, линейных,...

Вычислить x = (sin p + e^-p )/ 5,2
Вычислить x = (sin p + e^-p )/ 5,2, где p = y1 + cos, где y 1 – больший из корней, y 2 – меньший...

1. F(x) =sin(x) -cos(x), A =0, B=p/2M=20
F(x) =sin(x) -cos(x), A =0, B=p/2M=20 Помогите решать в delphi с оператором repeat срочно


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

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

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