Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
1

процедуры и функции модуля GRAPH

16.04.2012, 17:03. Просмотров 1080. Ответов 13
Метки нет (Все метки)

помогите, пожалуйста. есть программа, но она не работает, можете посмотреть и по возможности исправить.

Составьте программу вывода на экран стилизированного велосипедиста.
При нажатии клавиши Enter он начинает движение, вращая ногами педали.

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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
unit myunit;
interface
uses
    GraphABC, crt;
var
   kod: char;
   i: boolean;
   r: byte;
   x1, y1, x2, y2, j: integer;
procedure Main (kod: char; var i: boolean; var r: byte; var x1, x2, y1, y2: integer);
procedure Ground (i: boolean);
procedure Stop (i: boolean);
procedure Go (i: boolean; j: integer);
procedure Koleso1 (i: boolean; j: integer; var x1, y1: integer; r: byte);
procedure Koleso2 (i: boolean; j: integer; var x2, y2: integer; r: byte);
procedure Rama (i: boolean);
procedure Telo (i: boolean);
procedure Nogi (i: boolean; j: integer);
implementation
procedure Main(kod: char; var i: boolean; var r: byte; var x1, x2, y1, y2: integer);
begin
     x1:=250;
     x2:=400;
     y1:=310;
     y2:=310;
     r:=40;
     Ground (i);
     Stop (i);
     while kod<>#13 do
           begin
                i:=false;
                writeln ('для начала движения нажмите Enter'); {отриковка стоящего велосипеда}
                kod:=readkey;
           end;
     i:=true;
     Go (i, j);   {начать движение}
end;
procedure Ground (i: boolean);
begin
     Line (0, 350, 640, 350);
end;
procedure Stop (i: boolean);
begin
     Koleso1(i, j, x1, y1, r);
     Koleso2 (i, j, x2, y2, r);
     Rama (i);
     Telo (i);
     Nogi (i, j);
end;
procedure Go (i: boolean; j: integer);
begin
     for j:=1 to 1000 do
         begin
              Rama (i);
              Telo (i);
              Nogi (i, j);
              Koleso1(i, j, x1, y1, r);
              Koleso2 (i, j, x2, y2, r);
              delay (300);
         end;
end;
procedure Koleso1 (i: boolean; j: integer; var x1, y1: integer; r: byte);
begin
     if i=false then
        begin
             Circle (x1, y1, r);
             pie (x1, y1, r, 0, 30);
             pie (x1, y1, r, 60, 90);
             pie (x1, y1, r, 120, 150);
             pie (x1, y1, r, 180, 210);
             pie (x1, y1, r, 240, 270);
             pie (x1, y1, r, 300, 330);
        end
     else
         if j mod 2<>0 then
            begin
              FillRect (x1-r, y1-r, x1+r, y1+r);
              Circle (x1, y1, r);
              SetPenColor (black);
              pie (x1, y1, r, 15, 45);
              pie (x1, y1, r, 75, 105);
              pie (x1, y1, r, 135, 165);
              pie (x1, y1, r, 195, 225);
              pie (x1, y1, r, 255, 285);
              pie (x1, y1, r, 315, 345);
            end
         else
             begin
                FillRect (x1-r, y1-r, x1+r, y1+r);
                Circle (x1, y1, r);
                SetPenColor (black);
                pie (x1, y1, r, 0, 30);
                pie (x1, y1, r, 60, 90);
                pie (x1, y1, r, 120, 150);
                pie (x1, y1, r, 180, 210);
                pie (x1, y1, r, 240, 270);
                pie (x1, y1, r, 300, 330);
             end;
end;
procedure Koleso2 (i: boolean; j: integer; var x2, y2: integer; r: byte);
begin
     if i=false then
        begin
             Circle (x2, y2, r);
             pie (x2, y2, r, 0, 30);
             pie (x2, y2, r, 60, 90);
             pie (x2, y2, r, 120, 150);
             pie (x2, y2, r, 180, 210);
             pie (x2, y2, r, 240, 270);
             pie (x2, y2, r, 300, 330);
        end
     else
         if j mod 2<>0 then
            begin
              FillRect (x2-r, y2-r, x2+r, y2+r);
              Circle (x2, y2, r);
              SetPenColor (black);
              pie (x2, y2, r, 15, 45);
              pie (x2, y2, r, 75, 105);
              pie (x2, y2, r, 135, 165);
              pie (x2, y2, r, 195, 225);
              pie (x2, y2, r, 255, 285);
              pie (x2, y2, r, 315, 345);
            end
         else
             begin
                FillRect (x2-r, y2-r, x2+r, y2+r);
                Circle (x2, y2, r);
                SetPenColor (black);
                pie (x2, y2, r, 0, 30);
                pie (x2, y2, r, 60, 90);
                pie (x2, y2, r, 120, 150);
                pie (x2, y2, r, 180, 210);
                pie (x2, y2, r, 240, 270);
                pie (x2, y2, r, 300, 330);
             end;
end;
procedure Rama (i: boolean);
begin
     Line (250, 240, 380, 250);
     Line (250, 240, 325, 310);
     Line (380, 250, 325, 310);
     Line (250, 310, 250, 240);
     Line (250, 240, 240, 230);
end;
procedure Telo (i: boolean);
begin
     Line (290, 180, 370, 240);
     Line (290, 180, 280, 220);
     Line (280, 220, 240, 230);
     Circle (290, 160, 20);
end;
procedure Nogi (i: boolean; j: integer);
begin
     if i=false then
        begin
             Line (370, 240, 310, 250);
             Line (310, 250, 330, 290);
             Line (330, 290, 315, 290);
             Line (325, 290, 325, 330);
             Line (370, 240, 330, 330);
             Line (330, 330, 320, 330);
        end
     else
         if j mod 2<>0 then
            begin
                 FillRect (240, 240, 380, 330);
                 Line (370, 240, 310, 250);
                 Line (310, 250, 330, 290);
                 Line (330, 290, 315, 290);
                 Line (325, 290, 325, 330);
                 Line (370, 240, 330, 330);
                 Line (330, 330, 320, 330);
                 Line (250, 240, 380, 250);
                 Line (250, 240, 325, 310);
                 Line (380, 250, 325, 310);
                 Line (250, 310, 250, 240);
                 Line (250, 240, 240, 230);
            end
         else
             begin
                  FillRect (240, 240, 380, 340);
                  Line (370, 240, 305, 310);
                  Line (305, 310, 295, 310);
                  Line (370, 240, 330, 275);
                  Line (330, 275, 340, 310);
                  Line (340, 310, 330, 310);
                  Line (305, 310, 340, 310);
                  Line (250, 240, 380, 250);
                  Line (250, 240, 325, 310);
                  Line (380, 250, 325, 310);
                  Line (250, 310, 250, 240);
                  Line (250, 240, 240, 230);
             end;
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 17:03
Ответы с готовыми решениями:

Процедуры и функции модуля graph
Нарисовать флаг Финляндии

Процедуры и функции модуля GRAPH
Составьте программу вывода на экран стилизованной бабочки. При нажатии клавиши...

Процедуры и функции модуля GRAPH. Составить программу вывода на экран стилизованного "человека"
Составить программу вывода на экран стилизованного &quot;человека&quot;. При нажатии...

Процедуры и функции модуля CRT
Составьте программу вывода на экран горизонтального меню, состоящего из четырех...

Процедуры и функции. Создание пользовательского модуля
Вычислить Z = (Xm1 + Xm2)/2, где Xm1 и Xm2 – наименьшие элементы массивов...

13
Sturmf
0 / 0 / 0
Регистрация: 05.11.2011
Сообщений: 11
16.04.2012, 17:13 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
uses Graph,crt;
 
var
  grDriver : Integer;
  grMode   : Integer;
  ErrCode  : Integer;
 procedure mal;
    var x:integer;
  begin
 repeat
setcolor(15);
 {zadni kolesa}
circle(0+x,150,30);
circle(0+x,150,23);
{peredni kolesa}
circle(130+x,150,30);
circle(130+x,150,23);
{kriplenia do pedaliv}
line(0+x,150,80+x,150);
{pohula}
line(70+x,150,120+x,110);
{rama}
line(120+x,110,10+x,110);
{pohula}
line(10+x,110,70+x,150);
{do kolesa}
line(0+x,150,10+x,110);
{pedali kr}
circle(0+x,150,5);
circle(70+x,150,10);
{pedal}
line(70+x,150,70+x,170);
line(65+x,170,75+x,170);
{cep}
line(0+x,145,70+x,140);
line(0+x,155,70+x,160);
{do kolesa}
line(130+x,150,120+x,110);
{pedali}
line(120+x,110,120+x,78);
line(120+x,78,100+x,88);
line(10+x,110,10+x,100);
{/}
line(0+x,100,30+x,100);
line(70+x,150,70+x,130);
line(65+x,130,75+x,130);
 
settextstyle(3,0,4);
delay(40);
 
setcolor(1);
circle(0+x,150,30);
circle(0+x,150,23);
circle(130+x,150,30);
circle(130+x,150,23);
line(0+x,150,80+x,250);
line(70+x,150,120+x,110);
line(120+x,110,10+x,110);
line(10+x,110,70+x,150);
line(0+x,150,10+x,110);
circle(0+x,150,5);
circle(70+x,150,10);
line(70+x,150,70+x,170);
line(65+x,170,75+x,170);
line(0+x,145,70+x,140);
line(0+x,155,70+x,160);
line(130+x,150,120+x,110);
line(120+x,110,120+x,78);
line(120+x,78,100+x,88);
line(10+x,110,10+x,100);
line(0+x,100,30+x,100) ;
line(70+x,150,70+x,130);
line(65+x,130,75+x,130);
settextstyle(3,0,4);
if x>649 then x:=10;
 x:=x+1;
until keypressed;
end;
 
begin
 
  grDriver := Detect;
  InitGraph(grDriver, grMode, 'X:\BP');
  ErrCode := GraphResult;
  if ErrCode = grOk then
  begin
   setbkcolor(1);
mal;
    ReadLn;
    CloseGraph;
  End
else WriteLn('ошибка’) GraphErrorMsg(ErrCode));
end.
0
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 17:30  [ТС] 3
а не подскажите что делать, пишет что GRAPH не найден???
0
Kodzaev
3005 / 1894 / 1646
Регистрация: 30.04.2011
Сообщений: 3,054
16.04.2012, 17:53 4
Добавлено через 35 секунд
Цитата Сообщение от олька вредина Посмотреть сообщение
а не подскажите что делать, пишет что GRAPH не найден???
Если вы пишете в PascalABC, то вместо Graph напишите GraphABC
1
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:02  [ТС] 5
А если в турбо паскале????
0
Pacan1
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 233
16.04.2012, 18:21 6
Цитата Сообщение от олька вредина Посмотреть сообщение
А если в турбо паскале????
вот этот файл кинь в папку с программой и вроде еще надо кинуть в папку с самим кодом программы
0
Вложения
Тип файла: rar GRAPH.rar (15.6 Кб, 16 просмотров)
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:26  [ТС] 7
это не открывается))))
0
Pacan1
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 233
16.04.2012, 18:28 8
Цитата Сообщение от олька вредина Посмотреть сообщение
это не открывается))))
Всмысле не открывается? Может у тебя архиватора нету?)
0
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:35  [ТС] 9
сжатая zip папка имеет другой формат)))
0
Kodzaev
3005 / 1894 / 1646
Регистрация: 30.04.2011
Сообщений: 3,054
16.04.2012, 19:12 10
Скачать Турбо Паскаль можно тут
Скачать Паскаль
А архиватор в нете поищите, если нету у вас (7zip, WinRAR)
0
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 19:21  [ТС] 11
архиватор есть, турбо паскаль тоже есть. но это не открывается)))) что сделать?,
0
Kodzaev
3005 / 1894 / 1646
Регистрация: 30.04.2011
Сообщений: 3,054
16.04.2012, 19:42 12
Sturmf немного ошибся. В 93 строчке забыл апостроф, поэтому не запускается
Цитата Сообщение от Sturmf Посмотреть сообщение
else WriteLn('ошибка’) GraphErrorMsg(ErrCode)');
1
олька вредина
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 19:53  [ТС] 13
а что с эти GRAPH, все ровно пишет, что не найден...
0
Kodzaev
3005 / 1894 / 1646
Регистрация: 30.04.2011
Сообщений: 3,054
16.04.2012, 22:30 14
У вас нету модуля GRAPH. Скачайте паскаль по ссылке, которую я давал ранее
1
16.04.2012, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 22:30

Составить программу, вызывающую процедуры и функции созданного модуля
Составить программу, вызывающую процедуры и функции созданного модуля....

Составить программу, вызывающую процедуры и функции созданного модуля.
Подскажите пожалуйста, как разработать библиотечный модуль. program abc; uses...

Составить программу, вызывающую процедуры и функции созданного модуля.
Составить программу, вызывающую процедуры и функции созданного модуля. ...


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

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

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