1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Atreides |
Сообщение
#1
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Пропустил лекцию по графики в Паскале, не знаю, как решить задачу, помогите!!!
Разработать программу, перемещающую четырехугольник в круге размером Z в правой половине экрана. Спасибо за внимание. -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
| Altair |
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Так... первая задача.
С графикой. Очень интересная кстати! Вот код (колировка кирилицы -ДОС) Код {§ ¤ ЁҐ Є®®а¤Ё в Їа®Ё§ў®«м®Ј® ¬®Ј®гЈ®«мЁЄ Џ®бв ўЁ¬ ¬лб«Ґ® з «® Є®®а¤Ё в, Ё гЄ ¦Ґ¬ ўбҐ Є®®а¤Ё вл Їа¬ЁҐа: (0,0) (6,0); ------\ | \ | \ |________\ (0,3) (9,3) } uses crt,graph; Type KoordinatsPoligon = record P1X, {ЇҐаў п в®зЄ } p1Y, p2X, {ўв®а п в®зЄ } p2Y, p3X, {ваҐвЁп в®зЄ } p3Y, p4X, {зҐвўҐав п в®зЄ } p4Y:word; end; Var grDriver : Integer; grMode : Integer; Z : WORD; {RADIUS} A : KoordinatsPoligon; D : word; TX,TY,PX,PY : word; procedure Show4(x,y:word;A:KoordinatsPoligon); begin setcolor(15); with a do begin line(P1X+X,p1y+Y,p2x+X,p2y+Y); line(P2X+X,p2y+Y,p3x+X,p3y+Y); line(P3X+X,p3y+Y,p4x+X,p4y+Y); line(P4X+X,p4y+Y,p1x+X,p1y+Y) end End; procedure Hide4(x,y:word;A:KoordinatsPoligon); begin setcolor(0); with a do begin line(X+P1X,Y+p1y,X+p2x,Y+p2y); line(X+P2X,Y+p2y,X+p3x,Y+p3y); line(X+P3X,Y+p3y,X+p4x,Y+p4y); line(X+P4X,Y+p4y,X+p1x,p1y+y) end End; Begin randomize; write('Enter raduus Z='); readln(Z); With a do {Є ў¤а в} begin P1X:=0; p1Y:=0; p2X:=0; p2Y:=2; p3X:=2; p3Y:=2; p4X:=2; p4Y:=0 end; { зб «м®Ґ ¤ўЁ¦ҐЁп} PX:=2; PY:=3; clrscr; grDriver:=Detect; InitGraph(grDriver, grMode, ''); circle(GetMaxX-z,Z,Z); {аЁб㥬 ®Єа㦮бвм ў Їа ў®¬ ўҐае§Ґ¬ гз бtЄҐ нЄа } TX:=GetMaxX-z; TY:=Z; repeat show4(TX,TY,a); delay(2000); hide4(TX,TY,a); If TRUNC(SQRT(ABS(((640-z)-TX)*((640-z)-tx)+(z-ty)*(z-ty))))>=Z then begin PX:=-PX-2+random(4); PY:=-PY-2+random(4) end; If TRUNC(SQRT(ABS(((640-z)-TX)*((640-z)-tx)+(z-ty)*(z-ty))))>=Z+10 then begin {ЄаЁвЁзҐбвЄ®Ґ гЎҐЈ ЁҐ} TX:=GetMaxX-z; TY:=Z; {бЎа®б} end; TX:=TX+PX; TY:=TY+PY; until keypressed; closegraph; end. Конечно ее можно модернизировать и модернизировать ... вот втрорая программа(строки): Код var AA:array[1..4] of string; A,B,i:byte; pr:boolean; begin For i:=1 to 4 do begin writeln('ўўҐ¤ЁвҐ ',i,' б«®ў®:'); readln(AA[i]); A:=POS('‹',AA[i]); B:=POS('„',AA[i]); if B=A+1 then pr:=true; if pr then begin writeln('Ґбвм ўе®¦¤ҐЁҐ „ Ї®б«Ґ ‹!'); pr:=false; end; end; end. думаю принцип ясен... если есть вопросы, обращайтесь. GoodWind, да пусть пишет здесь! Просто хотелось порядка, а то из топика винегрет получится. GoodWind Atreides, заходите еще! здесь всегда рады помочь! Сообщение отредактировано: GoodWind - -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides Работа с графикой. 27.10.2004 22:03
Altair Уточните пожалуйста, как просиходит перемещение в … 27.10.2004 23:17
Atreides Четырехугольник в круге радиусом Z и вся эта конст… 30.10.2004 13:44
Altair
то есть перемещать по нажатию клавиш что-ли? 30.10.2004 18:05
Atreides Нет, нужно вводить круг диаметром Z, который вводи… 31.10.2004 21:03
Altair Так, а как-же двигать эту конструкцию? Вы не может… 31.10.2004 21:22
Atreides Вот именно, круг не двигается. Его диаметр вводитс… 1.11.2004 0:49
GoodWind а четырехугольник двигается внутри круга ? 1.11.2004 0:52
Altair ану все ясно... только последнее - многоугольник … 1.11.2004 1:22
Atreides Круг, не в центре, а в правой верхней части экрана… 1.11.2004 23:52
Altair ясно.... попробую сегодня что-то намудрить ... 2.11.2004 12:05
Atreides Можно сделать не случайное отталкивание, а цикличн… 6.11.2004 19:49
Atreides А во второй, команда POS, что делает, ищет текст и… 11.11.2004 2:55
Altair
Команда POS
объявление:
function POS(substr,s):b… 11.11.2004 11:41![]() ![]() |
|
Текстовая версия | 7.11.2025 21:00 |