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

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

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

> Программа, проверяющая поподает ли точка M(x,y) в заданную область
Kosmik
сообщение 27.11.2009 18:22
Сообщение #1


...
*

Группа: Пользователи
Сообщений: 31
Пол: Женский
Реальное имя: Надежда

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


Написать программу, проверяющую, попадает ли точка M(x,y) с координатами x и y в заданную область. Нарисовать заданный рисунок в графическом режиме и закрасить ту область, в которую попала точка.
Написать программу, которая по заданной области автоматически составляет Паскаль-программу, проверяющую, попадает ли точка M(x,y) с координатами x и y в эту область.

Прикрепленное изображение

Для решения задачи организуйте арифметический цикл с заранее известным числом повторений.

Напишите, какие появились идеи на счет решения этой задачи...

График я сейчас попытаюсь сделать...в остальном возникли затруднения.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Archon
сообщение 27.11.2009 22:29
Сообщение #2


Профи
****

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

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


У тебя же два задания, верно? Как я понимаю, изображение относится к первому. Условие для него такое (я потестировал, но ты лучше сама проверь, мало ли):
(y <= 0) and (x <= 0) and ((sqr(x+2) + sqr(y) <= 4) xor ((y < (x+2)*2/3) and (y > (x+3.6641)*(-0.2837)-1.1094)))
Нарисовать картинку на экране, думаю, дело техники.

А вот со вторым заданием непонятно. Судя по всему на вход программе должна поступать некоторым образом заданная область, а на выходе она должна выдавать программу на Паскале. Вот я и спрашиваю, в каком виде должна задаваться эта область. Ну не рисунок же программа разбирать должна. Кстати, вот это:
Цитата
Для решения задачи организуйте арифметический цикл с заранее известным числом повторений.
к какой задаче относится?


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kosmik
сообщение 27.11.2009 23:27
Сообщение #3


...
*

Группа: Пользователи
Сообщений: 31
Пол: Женский
Реальное имя: Надежда

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


График я нарисовала...какой уж получился...простой такой правда...

program graphik;
uses crt,graph;

var gd,gm:integer;
fun:string;

procedure osicoordinat;
const step=25;
var x1,y1,r:integer;
s:string;
begin
line(210,240,440,240);
line(320,140,320,330);
line(430,235,440,240);
line(430,245,440,240);
line(315,150,320,140);
line(325,150,320,140);
outtextxy(330,140,'Y');
outtextxy(435,220,'X');
y1:=240; x1:=320; r:=0;
str(r div step, S);
outtextxy(x1-10,y1+6,S);
while x1+r<420 do
begin
r:=r+step;
str(r div step, S);
settextjustify (1,1);
outtextxy(x1+r,y1+10,S);
s:='-'+S;
outtextxy(x1-r,y1+10,S);
line(x1+r,y1-2,x1+r,y1+2);
line(x1-r,y1-2,x1-r,y1+2);
end;
r:=0;
while y1+r<315 do
begin
r:=r+step;
str(r div step, S);
settextjustify (1,1);
outtextxy(x1-10,y1-r,S);
s:='-'+S;
outtextxy(x1-10,y1+r,S);
line(x1+4,y1+r,x1-4,y1+r);
line(x1+4,y1-r,x1-4,y1-r);
end;
end;
begin
initgraph(gd,gm,'..\bgi');
osicoordinat;
circle (270,240,50);
line(370,165,395,315);
line(395,315,230,270);
line(230,270,370,165);
SetFillStyle(LtSlashFill,15);
FloodFill(235,250,15);
FloodFill(260,285,15);
FloodFill(315,270,15);
readln
end.



Правда я не знаю, правильно ли я его написала...или по другому нужно было сделать...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 28.11.2009 11:11
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Kosmik @ 27.11.2009 23:27) *
я не знаю, правильно ли я его написала...или по другому нужно было сделать...
ммммммммне кажется, что нужно было по-другому..
Во-первых, отвыкай (лучше, еще не привыкнув) использовать абсолютные координаты на экране. Исключительный моветон. Правильно было бы задать соответствие математических координат (типа слева x1=-5, справа x2=5 и т.д.) и сделать функцию, которая переводит математические координаты в физические на эеране. Типа так:
function xPh(x: tReal): integer;
begin
xPh=Round(x/(x2-x1)*GetMaxX)
end;

function yPh(y: tReal): integer;
begin
yPh=Round((1-y/(y2-y1))*GetMaxY)
end;


Во-вторых, тебе надо было закрасить область, куда попала точка (предварительно, видимо, запросив ее ввход). Куда ПОПАЛА, а не заданная область. Чувствуешь разницу? smile.gif

А в третьих, задание не очень ясное. Я имею в виду второе.. Как там задается область? ее что, сканировать нужно?? smile.gif Я бы, может, придумал некий язык для задания и читал бы из файла тогда. В файле что-то типа такого:

Код
area

circle
-2
0
2
inner

line
0
1.5
-2
0
right

line
0
0
-2
0
left

area
....

че скажешь? smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kosmik
сообщение 28.11.2009 11:45
Сообщение #5


...
*

Группа: Пользователи
Сообщений: 31
Пол: Женский
Реальное имя: Надежда

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


Цитата(Lapp @ 28.11.2009 13:11) *

че скажешь? smile.gif

Скажу что для меня пока все это сложно blush.gif а на счет задания абсолютных координат я подумаю smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kosmik
сообщение 28.11.2009 16:40
Сообщение #6


...
*

Группа: Пользователи
Сообщений: 31
Пол: Женский
Реальное имя: Надежда

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


Что-то у меня вообще ничего не получается ypriamii.gif если такие задачи нам дают на первом курсе sad.gif то что будет дальше?..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Kosmik   Программа, проверяющая поподает ли точка M(x,y) в заданную область   27.11.2009 18:22
Archon   А в каком виде задается область?   27.11.2009 19:35
Kosmik   А в каком виде задается область? В заштрихованн...   27.11.2009 20:58
Archon   У тебя же два задания, верно? Как я понимаю, изобр...   27.11.2009 22:29
Kosmik   График я нарисовала...какой уж получился...простой...   27.11.2009 23:27
Lapp   я не знаю, правильно ли я его написала...или по др...   28.11.2009 11:11
Kosmik   че скажешь? :) Скажу что для меня пока все это с...   28.11.2009 11:45
Lapp   Скажу что для меня пока все это сложноНе так страш...   28.11.2009 12:31
Kosmik   Что-то у меня вообще ничего не получается :ypriami...   28.11.2009 16:40
Lapp   Что-то у меня вообще ничего не получается :ypriami...   28.11.2009 16:52
Kosmik   Что именно у тебя не выходит? Я не могу построи...   28.11.2009 18:11
Lapp   стали выходить ошибки...одну исправлю выходит друг...   28.11.2009 18:55
Kosmik   Очень часто приходится переделывать всю программу...   28.11.2009 19:15
Lapp   Помогите, если вам будет это не трудно Во-первых,...   28.11.2009 19:58
Kosmik   А может попробуем мою переделать? :blush: окружнос...   28.11.2009 20:24
Kosmik   вот моя программка все координаты абсолютные :) п...   28.11.2009 21:10
Kosmik   Оставляю здесь мой "шедевр" Сделала все...   29.11.2009 1:27
Lapp   Сделала все что смогла...Уверена? :) Я так и не по...   29.11.2009 8:32
Kosmik   Я так и не понял, что тебе не было понятно в мое...   29.11.2009 10:15
Archon   Рисует красиво :)   27.11.2009 23:35
Kosmik   Рисует красиво :) Спасибо :blush:   27.11.2009 23:37
Kosmik   У меня тут возникла идея на счет того: поподает ли...   29.11.2009 11:21
Lapp   я не люблю работать с функциями :nea: я начинаю в ...   29.11.2009 13:09
Kosmik   Я и не думал, что у тебя с этим недопонимание.. ...   29.11.2009 13:17
Archon   Надеюсь учебник есть? Не стесняйся с ним сверяться...   29.11.2009 13:29
Kosmik   Надеюсь учебник есть? Не стесняйся с ним сверятьс...   29.11.2009 14:03


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

 



- Текстовая версия 18.07.2025 18:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"