IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа с графикой.
сообщение
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


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


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 14)
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Уточните пожалуйста, как просиходит перемещение в правой части экрана?
Это четырехугольник перемещается по окружности радиусом Z или фигура
четырехугольник вписанный в окружность радиусом Z двиедется по экрану?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Четырехугольник в круге радиусом Z и вся эта конструкция должна находиться в правой части экрана, но не двигаться.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
перемещающую четырехугольник

то есть перемещать по нажатию клавиш что-ли?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Нет, нужно вводить круг диаметром Z, который вводится с клавиатуры пользователем.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Так, а как-же двигать эту конструкцию? Вы не можете сразу дать полное, однозначное условие?
Сначала Вы сказали:
Цитата
Разработать программу, перемещающую четырехугольник в круге размером Z в правой половине экрана

Потом Вы сказали:
Цитата
Четырехугольник в круге радиусом Z и вся эта конструкция должна находиться в правой части экрана, но не двигаться.



Так должна двигаться контсрукция или не должна?

Как я сечас понял:
с клавиатуры вводится диаметр. Туда вписывается произвольный четырехугольник (верно?) и вся эта конструкция что должна делать?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Вот именно, круг не двигается. Его диаметр вводится в коде программы. А четырехугольник произвольный, только главное что бы размер был меньше круга, это само собой понятно.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


а четырехугольник двигается внутри круга ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ану все ясно... только последнее - многоугольник движется линейно в случайном направлениеи, пока не втсретит окружность, а поомрикошетит, так?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Круг, не в центре, а в правой верхней части экрана, в нем произвольно движется четырехугольник. Размеры произвольны, меняются пользователем в коде программы.
Цитата
ану все ясно... только последнее - многоугольник движется линейно в случайном направлениеи, пока не втсретит окружность, а поомрикошетит, так?

Да, что-то вроде отталкивания от стенок круга.

Сообщение отредактировано: Atreides -


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ясно.... попробую сегодня что-то намудрить ...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Можно сделать не случайное отталкивание, а цикличное повторение перемещения в одно направление.

Если с этой нет, то подскажите, как с этой разобраться? Составить программу определения присутствия символов «Д» после символа «Л» в каждом из 4 введенных слов.

создай новую тему с этим вопросом. GoodWind
А ты не приставай к человеку... пусть тут написал, что такого? это не преступление, тем более в праивлах нет этого! smile.gif Олег_Z

Сообщение отредактировано: Oleg_Z -


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Ищущий истину
******

Группа: Пользователи
Сообщений: 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.

Конечно ее можно модернизировать и модернизировать ... smile.gif
вот втрорая программа(строки):
Код

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 -


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


А во второй, команда POS, что делает, ищет текст или заданный символ? И как во второй задаче вписать в код, поиск определенного отрывка, например, МИРЕ, во вводимых словах?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
команда 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('Вхождение обнаруженно');
Т.е. мы проверяем условие и если есть вхождение какого-то слова, то что-то делаем (в примере выводим строку: "вхождение обнаруженно")


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.05.2024 16:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name