Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 20

Разомкнутая система управления

23.01.2012, 10:00. Показов 1954. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста составить модель разомкнутой системы управления. Нужно нарисовать поле 400*400 с окружностью радиуса 25, посередине поля. нужно двигать по полю точку до ее попадания в окружность, используя 4 управляющие кнопки. шаг перемещения случайное число от 3 до 5. точка отображается по команде enter. Можно в паскале или в лазарусе. Пожалуйста!!!!!!! Срочно, скоро сдавать!!!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2012, 10:00
Ответы с готовыми решениями:

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

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

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

5
206 / 182 / 104
Регистрация: 10.01.2011
Сообщений: 302
23.01.2012, 17:43
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
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
uses crt, graph;
const
  l=400;
  r=25;
  dr=2;
  c1=Brown;
  c2=Blue;
  c3=Yellow;
  c4=Red;
 
  function Rnd: Integer;
  var
    r: Integer;
  begin
    r:=Random(2*r)+l div 2-2*r-dr;
    if Random(2)=0 then Rnd:=r
    else Rnd:=-r;
  end;
 
  procedure Cir(x, y, r: Integer; c: Word);
  begin
    SetColor(c);
    SetFillStyle(SolidFill, c);
    FillEllipse(GetMaxX div 2+x, GetMaxY div 2-y, r, r);
  end;
 
  function CheckMax(x: Integer): Integer;
  var
    r: Integer;
  begin
    if Abs(x)>l div 2 - dr then
    begin
      r:=l div 2 - dr;
      if x<0 then r:=-r;
    end
    else r:=x;
    CheckMax:=r;
  end;
 
  function Check(x, y: Integer): Boolean;
  begin
    if (Abs(x)>r+dr) or (Abs(y)>r+dr) then Check:=false
    else Check:=(x*x+y*y)<=Sqr(r);
  end;
 
var
  gd,gm, ErrCode, x, y, h: Integer;
  ga: String;
  ch: Char;
  stop: Boolean;
begin
  Randomize;
  gd:=VGA;
  gm:=VGAHi;
  ga:='c:\tp7\bgi';
  InitGraph(gd,gm,ga);
  if GraphResult = grOk then
  begin
    x:=(GetMaxX-l-2) div 2;
    y:=(GetMaxY-l-2) div 2;
    SetColor(c1);
    SetFillStyle(SolidFill, c2);
    Bar3D(x, y, x+l+2, y+l+2, 0, TopOff);
    OutTextXY(200, 460, 'ESC               Enter');
    SetColor(LightGray);
    OutTextXY(235, 460, '- Exit');
    OutTextXY(275, 460, '- Start');
    repeat
      stop:=false;
      Cir(0, 0, r, c3);
      x:=Rnd;
      y:=Rnd;
      Cir(x, y, dr, c4);
      repeat
        ch:=ReadKey;
        if not stop and (ch=#0) and KeyPressed then
        begin
          ch:=ReadKey;
          if ch in  [#72, #75, #77, #80] then
          begin
            Cir(x, y, dr, c2);
            h:=Random(3)+3;
            case ch of #72:y:=CheckMax(y+h);
                       #75:x:=CheckMax(x-h);
                       #77:x:=CheckMax(x+h);
                       #80:y:=CheckMax(y-h);
            end;
            Cir(x, y, dr, c4);
            stop:=Check(x, y);
          end;
        end;
      until ch in [#13, #27];
      Cir(x, y, dr, c2);
    until ch=#27;
    CloseGraph;
  end
  else begin
    Writeln('Ошибка инициализации графики');
    ReadKey;
  end;
end.
0
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 20
24.01.2012, 09:00  [ТС]
спасибо за программу, но точка двигается только по краю, и она неуправляема, никакие кнопки не действуют.мы не понимаем, что делать

Добавлено через 12 минут
Извините пожалуйста, возможно мы недостаточно точно сформулировали условие. Нам нужно, чтобы точка не отображалась до нажатия enter и шаг был случайным числом от 3 до 5. Помогите пожалуйста!!!
0
206 / 182 / 104
Регистрация: 10.01.2011
Сообщений: 302
24.01.2012, 10:14
Цитата Сообщение от анна2 Посмотреть сообщение
спасибо за программу, но точка двигается только по краю, и она неуправляема, никакие кнопки не действуют.мы не понимаем, что делать
Перемещение стрелками.
Цитата Сообщение от анна2 Посмотреть сообщение
Нам нужно, чтобы точка не отображалась до нажатия enter
Даже если она попала в круг?

Цитата Сообщение от анна2 Посмотреть сообщение
шаг был случайным числом от 3 до 5
Это условие выполнено. Каждый шаг задается случайно
Pascal
1
h:=Random(3)+3;
Добавлено через 1 час 7 минут
Вот такой вариант подойдет?
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
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
uses crt, graph;
const
  l=400;
  r=25;
  dr=2;
  c1=Brown;
  c2=Blue;
  c3=Yellow;
  c4=Red;
 
  function Rnd: Integer;
  var
    r: Integer;
  begin
    r:=Random(2*r)+l div 2-2*r-dr;
    if Random(2)=0 then Rnd:=r
    else Rnd:=-r;
  end;
 
  procedure Cir(x, y, r: Integer; c: Word);
  begin
    SetColor(c);
    SetFillStyle(SolidFill, c);
    FillEllipse(GetMaxX div 2+x, GetMaxY div 2-y, r, r);
  end;
 
  function CheckMax(x: Integer): Integer;
  var
    r: Integer;
  begin
    if Abs(x)>l div 2 - dr then
    begin
      r:=l div 2 - dr;
      if x<0 then r:=-r;
    end
    else r:=x;
    CheckMax:=r;
  end;
 
  function Check(x, y: Integer): Boolean;
  begin
    if (Abs(x)>r+dr) or (Abs(y)>r+dr) then Check:=false
    else Check:=(x*x+y*y)<=Sqr(r+dr);
  end;
 
var
  gd,gm, ErrCode, x, y, h: Integer;
  ga: String;
  ch: Char;
  visible: Boolean;
begin
  Randomize;
  gd:=VGA;
  gm:=VGAHi;
  ga:='c:\bp\bgi';
  InitGraph(gd,gm,ga);
  if GraphResult = grOk then
  begin
    x:=(GetMaxX-l-2) div 2;
    y:=(GetMaxY-l-2) div 2;
    SetColor(c1);
    SetFillStyle(SolidFill, c2);
    Bar3D(x, y, x+l+2, y+l+2, 0, TopOff);
    OutTextXY(170, 460, 'ESC        Enter        Spase');
    SetColor(LightGray);
    OutTextXY(200, 460, '- Exit');
    OutTextXY(305, 460, '- View');
    OutTextXY(410, 460, '- Start');
    repeat
      visible:=false;
      Cir(0, 0, r, c3);
      x:=Rnd;
      y:=Rnd;
      repeat
        ch:=ReadKey;
        if (ch=#0) and KeyPressed then
        begin
          ch:=ReadKey;
          if ch in  [#72, #75, #77, #80] then
          begin
            if visible then
            begin
              Cir(x, y, dr, c2);
              if Check(x, y) then Cir(0, 0, r, c3);
            end;
            h:=Random(3)+3;
            case ch of #72:y:=CheckMax(y+h);
                       #75:x:=CheckMax(x-h);
                       #77:x:=CheckMax(x+h);
                       #80:y:=CheckMax(y-h);
            end;
            if visible then Cir(x, y, dr, c4);
          end;
        end else if ch=#13 then
          begin
            visible:=true;
            Cir(x, y, dr, c4);
          end;
      until ch in [#27, ' '];
      Cir(x, y, dr, c2);
    until ch=#27;
    CloseGraph;
  end
  else begin
    Writeln('Ошибка инициализации графики');
    ReadKey;
  end;
end.
0
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 20
24.01.2012, 10:57  [ТС]
Когда пропадет в enter отображается
0
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 20
25.01.2012, 14:27  [ТС]
нет попадая в круг программа останавливается и точка видна)
а насчет случайного попадания лично когда я ее тестировала в паскале, то она рандомно генировалась в расположении причем только по краям поля а движение стрелками было четко на 1 единцу..посмотрите пожалуйста!!!!это и не нравится преподавателю(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.01.2012, 14:27
Помогаю со студенческими работами здесь

Разомкнутая СМО
На обработку в вычислительную систему поступают задания с интенсивностью λ=4 (заданий в секунду). Задания обрабатываются одним из 6-ти...

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

Многофазная замкнутая и разомкнутая СМО
Народ, нужна помощь. Для дипломного проекта нужно смоделировать многофазные СМО. 1)Разомкнутая имеется 2) а вот с замкнутой беда:...

Система управления боем
&quot;Цель программы – помочь командиру взвода или отделения руководить бойцами в условиях, когда речевые команды не слышны или их отдача...

Система управления версиями
Здравствуйте! Подскажите, пожалуйста, какую нибудь хорошую систему управления версиями. Желательно с возможностью включить русскоязычный...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru