Официальный сайт студ.городка НГТУ
Программирование и БД » помощь к задаче по информатике(pascal) 

#1  24.01.11 17:43

помощь к задаче по информатике(pascal)

Задачакруг радиусом R=2 с центром в точке (2,2) делится прямыми y=x-2, y=-x-2 на четыре части!Найти число точек К лежащих внутри множества Д за д принять правую часть круга ограниченного линиями
Есть вот такой текст программы
        program lab7;
   uses wincrt;
   const
        x: array[1..6] of real=(-0.77,-0.81,-0.2,1.5,-3.91,1.5);
        y: array[1..6] of real=(1.44,-2.4,0.3,3,-1.81,0.5);
var
   i,s: integer;
   begin
  s:=0;
for i:=1 to 6 do
          begin
            if (4>=(sqr(x[i]-2)+sqr(y[i]-2))) then
    begin
    writeln('X',i,'= ',x[i]:5:2,'     ','Y',i,'= ',y[i]:5:2);
    s:=s+1;
    end;
      end;
writeln;
writeln('Количество точек попавших в область D =  ',s);
end.
требуется еще задать ему такое ограничение чтобы он выбирал точки изпространства ограниченного прямимы и окружности(т.е как мне к окружности написать еще и прямые)?

Offline

#2  24.01.11 23:53

Re: помощь к задаче по информатике(pascal)

школьная программа...
1.

C.Ronaldo написал(а):

круг радиусом R=2 с центром в точке (2,2) делится прямыми y=x-2, y=-x-2 на четыре части!

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

т.е. условия вида: если координата х точки в пределах х1...х2, то у должен быть в пределах у1 (по формуле первой прямой)..у2(по второй формуле)

все просто... когда будет рисунок перед глазами, все сам поймешь...

Offline

#3  25.01.11 21:41

Re: помощь к задаче по информатике(pascal)

рисуно это круг пересекающийся с двумя прямыми а прямы в свою очередь пересекаются между собой

Offline

#4  26.01.11 11:26

Re: помощь к задаче по информатике(pascal)

Ну, раз ты сам не можешь нарисовать, то я нарисовал это за тебя

1. То, что задано тебе (так, как ты это описал):

http://hostel.nstu.ru/uploaded/gallery/10_1296018809.png



2. То, как на мой взгляд обстоит дело:

http://hostel.nstu.ru/uploaded/gallery/10_1296018851.png



вот теперь покажи мне, где тут разделение круга на ЧЕТЫРЕ части?
или тебе нужны формулы окружности для декартовых координат?

в целом, как я уже и писал выше, вся проверка делится на два этапа... в случае, если рисунок как я указал в п.2, то при x>=0 и x<=2 сверяется значение y с формулами прямых, а при x>2 и x<=4 сверяется значение y с формулами полуокружностей...

Offline

#5  26.01.11 14:49

Hix
Профиль

Re: помощь к задаче по информатике(pascal)

Jaguar, человек нормально задание перепиать не смог а ты ему решение рассказываешь )

Offline

#6  26.01.11 21:34

Re: помощь к задаче по информатике(pascal)

Hix, ну, у него есть зачатки решения, но точно неверные... т.е. видно, что уравнение окружности для декартовых координат знает, но вот применяет немного неверно... это как когда решаешь какую-нить задачку по физике, подбираешь формулу, в которой буковки совпадают, а че это и зачем не понимаешь...

Offline

#7  27.01.11 08:14

Hix
Профиль

Re: помощь к задаче по информатике(pascal)

Jaguar, а смысл тогда решать? тут задача стоит если переписать на нормальный язык так: Проверить сколько точек из массива принадлежит (находится внутри) области ограниченной прямыми y=-x-2, y=x-2 и окружностью (x-2)^2+(y-2)^2-4=0. И собственно все.
А реализация на каком либо языке это уже творческий процесс.

Найти число точек К лежащих внутри множества Д за д принять правую часть круга ограниченного линиями

а на вопрос в цитате ответ один: бесконечность.

Offline

#8  27.01.11 09:35

Re: помощь к задаче по информатике(pascal)

Hix написал(а):

а на вопрос в цитате ответ один: бесконечность.

неверно... K - это только множество точек, которое задано

Offline

#9  27.01.11 09:40

Hix
Профиль

Re: помощь к задаче по информатике(pascal)

Jaguar, если бы было написано найти число точек из множества "К" тогда согласен.  а когда мне говорят найти число точек "К" то я подозреваю что "К" в данном случае переменная. Это как бы из условия. То что "Д" множество указанно. а То что "К" множество я не прочитал.
Поэтому  то  я и написал что условие не полное.

Исправлено Hix (27.01.11 09:43)

Offline

#10  27.01.11 13:33

Re: помощь к задаче по информатике(pascal)

я тут вот чего еще подумал... вообще для общего случая, когда прямые пересекают окружность наискосок (на три или на четыре части - не важно, главное чтобы не было у обеих прямых одновременно тупого угла к Ox) условие вхождения точки (Xt, Yt) всего 1 из 4 частей (пересечение 4-х множеств):

Код::

если Yt <= y(Xt)=x-2 AND Yt <= y(Xt)=sqrt(r^2 - (x+x0)^2)-y0 AND Yt >= y(Xt)=-x-2 AND Yt >= y(Xt)=-sqrt(r^2 - (x+x0)^2)-y0

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

Исправлено Jaguar (27.01.11 13:42)

Offline

Программирование и БД » помощь к задаче по информатике(pascal) 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.689 сек.
Выполнено 14 запросов.