![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Atreides |
![]()
Сообщение
#1
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Пропустил лекцию по графики в Паскале, не знаю, как решить задачу, помогите!!!
Разработать программу, перемещающую четырехугольник в круге размером Z в правой половине экрана. Спасибо за внимание. -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Уточните пожалуйста, как просиходит перемещение в правой части экрана?
Это четырехугольник перемещается по окружности радиусом Z или фигура четырехугольник вписанный в окружность радиусом Z двиедется по экрану? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#3
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Четырехугольник в круге радиусом Z и вся эта конструкция должна находиться в правой части экрана, но не двигаться.
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#4
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата перемещающую четырехугольник то есть перемещать по нажатию клавиш что-ли? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#5
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Нет, нужно вводить круг диаметром Z, который вводится с клавиатуры пользователем.
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Так, а как-же двигать эту конструкцию? Вы не можете сразу дать полное, однозначное условие?
Сначала Вы сказали: Цитата Разработать программу, перемещающую четырехугольник в круге размером Z в правой половине экрана Потом Вы сказали: Цитата Четырехугольник в круге радиусом Z и вся эта конструкция должна находиться в правой части экрана, но не двигаться. Так должна двигаться контсрукция или не должна? Как я сечас понял: с клавиатуры вводится диаметр. Туда вписывается произвольный четырехугольник (верно?) и вся эта конструкция что должна делать? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#7
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Вот именно, круг не двигается. Его диаметр вводится в коде программы. А четырехугольник произвольный, только главное что бы размер был меньше круга, это само собой понятно.
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
GoodWind |
![]()
Сообщение
#8
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
а четырехугольник двигается внутри круга ?
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
![]()
Сообщение
#9
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ану все ясно... только последнее - многоугольник движется линейно в случайном направлениеи, пока не втсретит окружность, а поомрикошетит, так?
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#10
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Круг, не в центре, а в правой верхней части экрана, в нем произвольно движется четырехугольник. Размеры произвольны, меняются пользователем в коде программы.
Цитата ану все ясно... только последнее - многоугольник движется линейно в случайном направлениеи, пока не втсретит окружность, а поомрикошетит, так? Да, что-то вроде отталкивания от стенок круга. Сообщение отредактировано: Atreides - 1.11.2004 19:53 -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#11
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ясно.... попробую сегодня что-то намудрить ...
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#12
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Можно сделать не случайное отталкивание, а цикличное повторение перемещения в одно направление.
Если с этой нет, то подскажите, как с этой разобраться? Составить программу определения присутствия символов «Д» после символа «Л» в каждом из 4 введенных слов. создай новую тему с этим вопросом. GoodWind А ты не приставай к человеку... пусть тут написал, что такого? это не преступление, тем более в праивлах нет этого! ![]() Сообщение отредактировано: Oleg_Z - 6.11.2004 21:54 -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#13
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Так... первая задача.
С графикой. Очень интересная кстати! Вот код (колировка кирилицы -ДОС) Код {§ ¤ ЁҐ Є®®а¤Ё в Їа®Ё§ў®«м®Ј® ¬®Ј®гЈ®«мЁЄ Џ®бв ўЁ¬ ¬лб«Ґ® з «® Є®®а¤Ё в, Ё гЄ ¦Ґ¬ ўбҐ Є®®а¤Ё вл Їа¬ЁҐа: (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 - 7.11.2004 5:36 -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Atreides |
![]()
Сообщение
#14
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
А во второй, команда POS, что делает, ищет текст или заданный символ? И как во второй задаче вписать в код, поиск определенного отрывка, например, МИРЕ, во вводимых словах?
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Altair |
![]()
Сообщение
#15
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата команда POS, что делает, ищет текст или заданный символ? Команда POS объявление: function POS(substr,s):byte; Она ищет в строке s, вхождение строки substr. И возвращает номер того элемента строки с которого обнаруженно вхождение, или ноль если нет вхожднения. Пример: pos('abc','abcd') вернет значение 1, т.к. вхождение обнаруженно с 1 символа. pos('a','vfdgab') вернет 5... вместо строки substr эта функция может искать и вхождение символа. Цитата И как во второй задаче вписать в код, поиск определенного отрывка, например, МИРЕ, во вводимых словах? Очень просто, все конечно реализуется с помощью функции POS. Смотрите: в этой строчке кода: readln(AA[i]); вводится очередное слово (ну там массив из строк, длинной 4... это ввод очередного элемента массива). значит после ввода слова надо проверить вхождение: If POS('МИРЕ',aa[i])<>0 then writeln('Вхождение обнаруженно'); Т.е. мы проверяем условие и если есть вхождение какого-то слова, то что-то делаем (в примере выводим строку: "вхождение обнаруженно") -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 2:19 |