С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 14.12.2016
Сообщений: 22

Нарисовать движение шарика по графику y=(e^x)+2

31.05.2017, 19:36. Показов 2104. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать программу. Нарисовать график y=(e^x)+2 (с координатными осями) и построить движение шарика по этой линии. Заранее спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2017, 19:36
Ответы с готовыми решениями:

Движение шарика
Здравствуйте. В двухмерной системе координат есть некий шарик. У него есть Масса, Скорость, Радиус и координаты (центра). Как организовать...

Движение шарика.
Нарисовать движущийся шарик в замкнутом прямоугольнике.помогите пожалуйста.

Движение шарика
круг - это мячик, который постоянно прямолинейно двигается, при столкновении с границами формы или лаптой меняет свое на-правление на...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
31.05.2017, 20:12
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
uses graphABC;
function F(x: real): real;
begin
  F:=exp(x)+2;
end;
const a=0;
      b=3;
var x0,y0:integer;
    mx,my:real;
procedure grafic;
var i:integer;
    x:real;
begin
setpencolor(clBlack);
line(x0,y0,windowwidth,y0);
line(x0,0,x0,y0);
setbrushstyle(bsClear);
for i:=1 to trunc(f(b)) do
 begin
  line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),y0+3);
  textout(x0+round(i*mx/2),y0+10,floattostr(i/2));
  line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));
  textout(x0-25,y0-round(i*my),inttostr(i));
 end;
textout(x0+5,y0+10,'0');
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10,'Y');
x:=a;
setpencolor(clBlue);
while x<=b do
 begin
  if x=a then moveto(x0+round(x*mx),y0-round(F(x)*my))
  else lineto(x0+round(x*mx),y0-round(F(x)*my));
  x:=x+0.1;
 end;
end;
procedure sharik(x,y:integer);
begin
setpencolor(clRed);
setbrushcolor(clRed);
circle(x,y,10);
end;
var x,y:real;
    x1,y1:integer;
begin
setwindowsize(800,500);
centerwindow;
x0:=50;
y0:=windowheight-50;
mx:=(windowwidth-x0-10)/b;
my:=(y0-30)/F(b);
lockdrawing;
x:=a;
y:=F(a);
x1:=x0+round(x*mx);
y1:=y0-round(F(x)/my);
repeat
clearwindow;
grafic;
sharik(x1,y1);
sleep(100);
x:=x+0.05;
x1:=x0+round(x*mx);
y1:=y0-round(F(x)*my);
redraw;
until x>b;
end.
1
0 / 0 / 0
Регистрация: 14.12.2016
Сообщений: 22
01.06.2017, 11:31  [ТС]
Спасибо большое. А как сделать так, что была нарисована вся координатная плоскость?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.06.2017, 12:45
Цитата Сообщение от Олеся Островска Посмотреть сообщение
вся координатная плоскость?
Что Вы имеете ввиду?
0
0 / 0 / 0
Регистрация: 14.12.2016
Сообщений: 22
01.06.2017, 14:23  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Что Вы имеете ввиду?
Там берутся только положительные X. А хочется, что была вся координатная плоскость, а не только одна координатная четверть
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.06.2017, 14:44
Лучший ответ Сообщение было отмечено Олеся Островска как решение

Решение

Ну III-IV четверти не нужны поскольку функция exp(x)+2 всегда >2.
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
uses graphABC;
function F(x: real): real;
begin
  F:=exp(x)+2;
end;
const a=-3;
      b=3;
var x0,y0:integer;
    mx,my:real;
procedure grafic;
var i:integer;
    x:real;
begin
setpencolor(clBlack);
line(0,y0,windowwidth,y0);
line(x0,0,x0,windowheight);
setbrushstyle(bsClear);
for i:=1 to trunc(f(b)) do
 begin
  line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),y0+3);
  textout(x0+round(i*mx/2),y0+10,floattostr(i/2));
  line(x0-round(i*mx/2),y0-3,x0-round(i*mx/2),y0+3);
  textout(x0-round(i*mx/2),y0+10,floattostr(-i/2));
  line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));
  textout(x0-25,y0-round(i*my),inttostr(i));
 end;
textout(x0+5,y0+10,'0');
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10,'Y');
x:=a;
setpencolor(clBlue);
while x<=b+0.1 do
 begin
  if x=a then moveto(x0+round(x*mx),y0-round(F(x)*my))
  else lineto(x0+round(x*mx),y0-round(F(x)*my));
  x:=x+0.1;
 end;
end;
procedure sharik(x,y:integer);
begin
setpencolor(clRed);
setbrushcolor(clRed);
circle(x,y,10);
end;
var x,y:real;
    x1,y1:integer;
begin
setwindowsize(800,600);
centerwindow;
x0:=windowwidth div 2;
y0:=windowheight-50;
mx:=(x0-10)/b;
my:=(y0-30)/F(b);
lockdrawing;
x:=a;
y:=F(a);
x1:=x0+round(x*mx);
y1:=y0-round(F(x)/my);
repeat
clearwindow;
grafic;
sharik(x1,y1);
sleep(100);
x:=x+0.05;
x1:=x0+round(x*mx);
y1:=y0-round(F(x)*my);
redraw;
until x>b;
end.
1
0 / 0 / 0
Регистрация: 14.12.2016
Сообщений: 22
01.06.2017, 23:08  [ТС]
Большое вам спасибо))это именно то, что нужно))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.06.2017, 23:08
Помогаю со студенческими работами здесь

Движение шарика
Нужно изменить программу, чтобы шарик начинал движение после нажатия лкм, а не при выборе движения в меню. using System; using...

Движение шарика
Задача: Написать программу, в которой по экрану должен двигаться шарик. Движение шарика должно задаваться стрелками

Движение шарика
Помогите с таким движением шарика. И объясните,пожалуйста

Движение шарика
создайте программу, где шарик падает сверху вниз в произвольном направлении

Движение шарика
Посоветуйте пожалуйста формулу по которой можно будет сделать более менее правдивые движения шарика в квадрате. То есть он просто летает...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru