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

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

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

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

Составьте программу вывода на экран стилизированного велосипедиста.
При нажатии клавиши 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2012, 17:03
Ответы с готовыми решениями:

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

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

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

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

13
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
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 17:30  [ТС] 3
а не подскажите что делать, пишет что GRAPH не найден???
0
3030 / 1916 / 1649
Регистрация: 30.04.2011
Сообщений: 3,060
16.04.2012, 17:53 4
Добавлено через 35 секунд
Цитата Сообщение от олька вредина Посмотреть сообщение
а не подскажите что делать, пишет что GRAPH не найден???
Если вы пишете в PascalABC, то вместо Graph напишите GraphABC
1
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:02  [ТС] 5
А если в турбо паскале????
0
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 237
16.04.2012, 18:21 6
Цитата Сообщение от олька вредина Посмотреть сообщение
А если в турбо паскале????
вот этот файл кинь в папку с программой и вроде еще надо кинуть в папку с самим кодом программы
Вложения
Тип файла: rar GRAPH.rar (15.6 Кб, 17 просмотров)
0
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:26  [ТС] 7
это не открывается))))
0
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 237
16.04.2012, 18:28 8
Цитата Сообщение от олька вредина Посмотреть сообщение
это не открывается))))
Всмысле не открывается? Может у тебя архиватора нету?)
0
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 18:35  [ТС] 9
сжатая zip папка имеет другой формат)))
0
3030 / 1916 / 1649
Регистрация: 30.04.2011
Сообщений: 3,060
16.04.2012, 19:12 10
Скачать Турбо Паскаль можно тут
Скачать Паскаль
А архиватор в нете поищите, если нету у вас (7zip, WinRAR)
0
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 19:21  [ТС] 11
архиватор есть, турбо паскаль тоже есть. но это не открывается)))) что сделать?,
0
3030 / 1916 / 1649
Регистрация: 30.04.2011
Сообщений: 3,060
16.04.2012, 19:42 12
Sturmf немного ошибся. В 93 строчке забыл апостроф, поэтому не запускается
Цитата Сообщение от Sturmf Посмотреть сообщение
else WriteLn('ошибка’) GraphErrorMsg(ErrCode)');
1
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 16
16.04.2012, 19:53  [ТС] 13
а что с эти GRAPH, все ровно пишет, что не найден...
0
3030 / 1916 / 1649
Регистрация: 30.04.2011
Сообщений: 3,060
16.04.2012, 22:30 14
У вас нету модуля GRAPH. Скачайте паскаль по ссылке, которую я давал ранее
1
16.04.2012, 22:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2012, 22:30
Помогаю со студенческими работами здесь

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

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

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

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


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

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