Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 01.07.2016
Сообщений: 20
1

Построение sin(x) через vcl

04.01.2017, 19:44. Показов 1260. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Прошу помочь, требуется, чтобы к программе был подключен модуль vcl, в котором создана форма и в нее вводится количество. От этого числа(которое введено), программа рисует столько графиков y=sin(x) белого цвета.
И, если это возможно, то ограничить высоту для построения от 0 до 150 по y(вниз).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2017, 19:44
Ответы с готовыми решениями:

Рассчитать функцию y=sin(sin(sin(…(sin(x))))), в которой имя функции «sin» повторяется n раз.
1. Вычислить элементы последовательности, используя рекурсию. L0(x)=1, L1(x)= +1-x,...

Вычислить сумму sin(1)+sin(2)+.+sin(n) для n введенного с клавиатуры
вычислить сумму sin(1)+sin(2)+...+sin(n) для n введенного с клавиатуры Добавлено через 10 минут...

Составить программу для вычисления выражения y=sin²(a)/sin(b²)+sin(c+d) с помощью подпрограмм и процедур
Составить программу для вычисления выражения y=sin²(a)/sin(b²)+sin(c+d) с помощью подпрограмм...

вычислить с помощью цикла:sin(1)+sin(2)+sin(3)+...sin(n)
1.Длинная последовательность двузначных чисел вводится клавиатуры. Признаком конца ввода является...

5
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.01.2017, 20:44 2
Цитата Сообщение от Getheur Посмотреть сообщение
программа рисует столько графиков y=sin(x)
А если они одинаковые, то как они должны располагаться, чтобы не совпадали? Может графики типа y=sin(ax), где а принимает разные значения?
0
0 / 0 / 1
Регистрация: 01.07.2016
Сообщений: 20
04.01.2017, 20:48  [ТС] 3
Они должны рандомно строиться в любом участке экрана.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.01.2017, 20:50 4
Цитата Сообщение от Getheur Посмотреть сообщение
в любом участке экрана.
А это?
Цитата Сообщение от Getheur Посмотреть сообщение
ограничить высоту для построения от 0 до 150 по y
0
0 / 0 / 1
Регистрация: 01.07.2016
Сообщений: 20
04.01.2017, 20:52  [ТС] 5
Это хотелось бы, чтобы строились они строго от 0 до ~150, считая от верха экрана вниз.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.01.2017, 22:08 6
Лучший ответ Сообщение было отмечено Getheur как решение

Решение

Например так.
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
uses vcl;
var
  MainForm: Form;
  L:TextLabel;
  E:Edit;
  B1,B2: Button;
  P:PaintBox;
procedure B1Click;
var x,y,mx,my:real;
    n,i,x0,y0:integer;
begin
n:=strtoint(E.Text);
mx:=10;
my:=20;
for i:=1 to n do
 begin
  x0:=P.width div 2-200+random(401);
  y0:=45+random(51);
  x:=-pi;
  P.Canvas.Pen.Color:=clWhite;
  while x<=pi do
   begin
    if x=-pi then P.Canvas.MoveTo(x0+round(x*mx),y0-round(sin(x)*my))
    else P.Canvas.LineTo(x0+round(x*mx),y0-round(sin(x)*my));
    x:=x+0.01;
   end;
 end;
end;
procedure B2Click;
begin
  MainForm.Close;
end;
 
begin
  randomize;
  MainForm:=Form.Create(Screen.Width div 2-250,Screen.Height div 2-250,500,500);
  MainForm.Caption:='SIN';
  L:=TextLabel.Create(20,435,30,25);
  L.Caption:='N=';
  E:=Edit.Create(50,430,100,25);
  B1:=Button.Create(200,430,100,25);
  B1.Caption:='Íàðèñîâàòü';
  B1.OnClick:=B1Click;
  B2:=Button.Create(350,430,100,25);
  B2.Caption:='Âûõîä';
  B2.OnClick:=B2Click;
  P:=PaintBox.Create(20,20,450,400);
  P.Canvas.Brush.Color:=clBlue;
  P.Canvas.rectangle(0,0,P.width,P.height);
end.
1
04.01.2017, 22:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2017, 22:08
Помогаю со студенческими работами здесь

Вычислить тремя видами (if , for , while)уравнение: (1-sin(0.1))+(1+sin(0.2))+...+(1+sin(1))
Вычислить тремя видами (if , for , while) уравнение: (1-sin(0.1))+(1+sin(0.2))+...+(1+sin(1)). ...

Написать программу, вычисляющую сумму Y=sin(n/2) - sin(3n/4) + sin(5n/8)
Задание по методике преподавания в школах, задали вот это а я всего та на первом курсе и в школе...

Вычислить N=sin(a)+sin(2a)+sin(3a)+.+sin(17a)
Вычислить N=sin(a)+sin(2a)+sin(3a)+...+sin(17a)

Для заданного числа x распечатать числовую последовательность: sin(x), sin(sin(x), sin(sin(sin(x), …
var x,z:integer; y:real; begin readln(x); y:=abs(sin(x)); while y&gt;0.01 do begin ...


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

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