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

Автоматическая система управления

25.01.2012, 17:03. Просмотров 983. Ответов 6
Метки нет (Все метки)


Помогите пожалуйста с задачкой. Нужно создать модель автоматической системы управления. Она представляет из себя поле 400*400 с окружностью радиуса 25 посредине. У нас есть точка которую нужно двигать по полю до тех пор. пока она не попадет в круг. Точка отображается на экране. Выбор направления и шаг точки определяется случайно (шаг точки от 3 до 5). Очень нужна помощь, скоро сдавать, а даже идей нет!!!!!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2012, 17:03
Ответы с готовыми решениями:

Разомкнутая система управления
Помогите пожалуйста составить модель разомкнутой системы управления. Нужно нарисовать поле 400*400...

Система поддержки управления библиотекой
Система поддержки управления библиотекой должна обеспечивать операции (добавление, удаление и...

Файловая система и система управления вводом-выводом в ОС Linux
Дали задание написать вот что: "Разработать программу, которая выводит на экран содержимое...

Почему не работает автоматическая блокировка элементов управления
Доброго времени суток. Недавно начал изучение ВБ6 (интересуют базы данных). Наставником выбрал...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
6
Модератор
63228 / 46981 / 32382
Регистрация: 18.05.2008
Сообщений: 113,871
25.01.2012, 17:14 2
Для какого Паскаля нужно.

Цитата Сообщение от Ni Посмотреть сообщение
точка которую нужно двигать по полю
Чем двигать, как?
Где находится точка изначально, что делать если она попадет за пределы поля?

Цитата Сообщение от Ni Посмотреть сообщение
Точка отображается на экране.
Как отображается, когда?
0
Ni
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 5
25.01.2012, 17:44  [ТС] 3
Free Pascal
начальное положение выбирается случайно
двигается в любом направлении (направление выбирается случайно)
изначально ограничить предел перемещения точки размерами поля

Добавлено через 38 секунд
Отображается где точка была и где появилась, как робот
0
Модератор
63228 / 46981 / 32382
Регистрация: 18.05.2008
Сообщений: 113,871
25.01.2012, 18:17 4
Если с нервами и временем в порядке, то вот.

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
uses graph,wincrt;
var xc,yc,x,y,n,d:integer;
begin
randomize;
initgraph(x,y,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
setcolor(14);
rectangle(xc-200,yc-200,xc+200,yc+200);
setcolor(10);
circle(xc,yc,25);
repeat
x:=xc-199+random(400);
until (x<xc-25)or(x>xc+25);
repeat
y:=yc-199+random(400);
until (y<yc-25)or(y>yc+25);
setcolor(12);
circle(x,y,2);
repeat
delay(100);
setcolor(0);
circle(x,y,2);
n:=random(4);
d:=random(3)+3;
case n of
0:y:=y-d;
1:x:=x+d;
2:y:=y+d;
3:x:=x-d;
end;
if (x<=xc-195)or(x>=xc+195)or(y<=xc-195)or(y>=xc+195) then d:=-d;
setcolor(12);
circle(x,y,2);
if x*x+y*y<625 then
 begin
  outtextXY(xc-10,40,'End');
  readln;
  exit;
 end;
until keypressed or(x*x+y*y<625)
end.
0
Ni
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 5
26.01.2012, 15:21  [ТС] 5
Спасибо большое! А насчет нервов,то от них благодаря этому уже ничего не осталось)

Добавлено через 21 час 1 минуту
Извините, но обращаюсь с просьбой снова, т.к. мне нужно данную программу изменить. Теперь нужно чтобы точка выбирала направление движения, исходя из оптимального пути, высчитывая наименьшее расстояние до окружности. Пожалуйста подскажите как ее изменить можно!!!
0
Модератор
63228 / 46981 / 32382
Регистрация: 18.05.2008
Сообщений: 113,871
26.01.2012, 16:29 6
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
uses graph,crt;
var xc,yc,r,x,y,n,d:integer;
begin
randomize;
initgraph(x,y,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
r:=25;
setcolor(14);
rectangle(xc-200,yc-200,xc+200,yc+200);
setcolor(10);
circle(xc,yc,r);
repeat
x:=xc-199+random(400);
until (x<xc-r)or(x>xc+r);
repeat
y:=yc-199+random(400);
until (y<yc-r)or(y>yc+r);
setcolor(12);
circle(x,y,2);
repeat
delay(100);
setcolor(0);
circle(x,y,2);
d:=random(3)+3;
if abs(x-xc)>=abs(y-yc) then
 begin
  if x<xc then x:=x+d
  else if x>xc then x:=x-d
  else if x=xc then
   begin
    if y<yc then y:=y+d
    else y:=y-d;
   end;
 end
else
 begin
  if y<yc then y:=y+d
  else if y>yc then y:=y-d
  else if y=yc then
   begin
    if x<xc then x:=x+d
    else x:=x-d;
   end;
 end;
setcolor(12);
circle(x,y,2);
if sqr(x-xc)+sqr(y-yc)<sqr(r-d) then
 begin
  setcolor(12);
  circle(x,y,2);
  outtextXY(xc-10,yc-180,'End');
  readln;
  exit;
 end;
until keypressed or(x*x+y*y<r*r)
end.
0
Ni
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 5
26.01.2012, 19:14  [ТС] 7
Спасибо вам большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2012, 19:14

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

Автоматическая система проверки олимпиадных заданий (2)
И вот ещё такая задачка: Напишите программу, которая переворачивает все слова в строке. Символы,...

Автоматическая система проверки олимпиадных заданий (1)
Всем доброго времени суток! Пишу заочную олимпиаду по программированию, такой вопрос: написал код,...

Автоматическая система обработки и приема платежей
Здраствуйте! Подскажите, реально ли осуществить следующее: у меня есть сайт где я продаю...

система управления
сделал программку, но нужно чтобы круг при нажатии на (начальное положение) заново рисовался на...


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

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

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