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

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

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

 
 Ответить  Открыть новую тему 
> помогите!Задачка с координатами
Серый
сообщение 14.04.2003 21:36
Сообщение #1


Гость






Помогите все кто сможет !особенно прошу админов саита! Задали курсовую задачку(это в десятом то классе >:() ну  в общем слушаите
Пусть дан круг радиусом r, с  диаметром в точке C ,с декартовыми координатами x© и y©  и дан квадрат со стороной a; верхний левый угол квадрата в точке x(P) и y(P), а его стороны параллельны осям координат. Написать программу вычисляющую кол-во точек с координатами типа integer находящихся внутри фигуры образованной пересечением круга и квадрата.
С клавы вводится радиус r; сторона квадрата a; точка C(x©;y©) и точка P(x(P);y(P)); при ограничениях
r(0..30); x©>50; y©<100; a[0..50]; x(P)>0; y(P)<100;
Помогите заранее ОГРОМНОЕ СПАСИБО!!!!!!!!!!! ;D :D
 К началу страницы 
+ Ответить 
reill
сообщение 15.04.2003 4:40
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 52

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


А что такое х(С) и х(Р) - как координаты точки могут зависить от самой точки ???
Читай инструкцию лучше ;D
Напиши дословно задание.
з.ы. если это оно и было - сочувствую, если тебе что-то и напишат то это будет такого же плана ;D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Серый
сообщение 15.04.2003 12:26
Сообщение #3


Гость






нет по ходу это просто переменные типа у точки С (x;y) и у P(x;y) :-/ просто чтобы не путать x  c  x и y  c  y
а текст подлинный все как есть - бред, конечно ну это уже к нашим любимым учителям ;)
 К началу страницы 
+ Ответить 
reill
сообщение 16.04.2003 4:03
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 52

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


Воходит типа того:
Дан круг радиусом R , с  диаметром(может центром???) в точке C(х,у)   и дан квадрат со стороной a; верхний левый угол квадрата в точке Р(х,у), а его стороны параллельны осям координат(что вполне логично, это же квадрат!). Написать программу, вычисляющую кол-во точек, с координатами типа integer, находящихся внутри фигуры, образованной пересечением круга и квадрата.
С клавиатуры вводится радиус r; сторона квадрата a; точка C(x;y) и точка P(x,у); при ограничениях
0<r<30);
C(x,y):
x>50;
y<100;
0<a<50];
P(x,y):
x>0;
y<100;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Серый
сообщение 16.04.2003 15:34
Сообщение #5


Гость






Да выходит так !!!! с центром в С.  Я это нарисовал,но нарисовать то несложно...может нужно наити площадь этого пересечения а через площадь уже как-то кол-во точек...единственное что пересечение получается всегда разное то один угол квадрата то другой получается в этом пересечении , блин закончу школу информатичку убью!!!!!!!!!
 К началу страницы 
+ Ответить 
trminator
сообщение 17.04.2003 14:32
Сообщение #6


Четыре квадратика
****

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

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


Код
program tochki;
var cx, cy, px, py, r, a : integer;
   i, j, N              : integer;
   x, y                 : integer;
begin N:=0;
 Write('Square (x, y, a): '); ReadLn(px, py, a);
 Write('Round  (x, y, r): '); ReadLn(cx, cy, r);
 for i:=px to px+a do       {Тестируем все точки квадрата}
     for j:=py to py-a do
       if sqr(i-cx)+sqr(j-cy)<=sqr(r) {(x-a)^2+(y-B)^2=r^2 - ур-е окружности}
          then inc(N);
 WriteLn(N)
end.

===================
Что-то вроде этого...

Сообщение отредактировано: volvo - 17.12.2004 11:38


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Серый
сообщение 17.04.2003 17:33
Сообщение #7


Гость






Пасибо !!!!!! вроде бы идет выводит какие-то цифры хотя это ли оно или нет  :) :-/ Ну да ладно ! единственное что это за уравнение окружности  что за  a  и  b ? Но все равно СПАСИБО!!!!!!!!!
 К началу страницы 
+ Ответить 
reill
сообщение 18.04.2003 11:42
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 52

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


Я тут тоже заканчиваю твою задачку.... ЖДи скоро скину свой вариант, прада он побольше)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Vano
сообщение 18.04.2003 17:27
Сообщение #9


Гость






Пасибо!!!!!!!!   только там должно быть (py+a)  так как  отсчет x y  в Pascal'е идет с левого верхнего угла то есть   y   к низу увеличивается
 К началу страницы 
+ Ответить 
trminator
сообщение 18.04.2003 17:42
Сообщение #10


Четыре квадратика
****

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

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


Уравнение окружности привел "просто так" чтобы показать что я там проверяю, а и b там - координаты центра, в программе они - соответственно сх и су. А систему координат я брал не Паскалевскую, а "школьную", хотя тут кому как нравится smile.gif

Единственное - на больших значениях будет долго считать (рх может быть хоть миллион, если по условию), может, твоя курсовая в том и заключается чтобы сделать не такой тупой алгоритм? ;D


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
reill
сообщение 20.04.2003 9:28
Сообщение #11


Пионер
**

Группа: Пользователи
Сообщений: 52

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


Вот мой вариант...
Код
program s;
uses crt,GRAPH;
var
x1,y1,x2,y2,d,m,i,j: integer;
r: 1..30;
a: 1..50;
k: longint;
g: string;
t: text;
function prov: boolean;
begin
if (x1<x2-r) and (x2-r <x1+a) and (y1< y2-1) and (y2-r<y1+a) then prov:=true
else prov:=false;
end;
begin
clrscr;
d:=0;
assign(t,'koordinaty.txt');
reset(t);
readln(t,r,a);
readln(t,x1,y1,x2,y2);
initgraph(d,m,'D:maditpbgi');
setcolor(14);
rectangle(x1,y1,x1+a,y1+a);
setfillstyle(1,14);
floodfill(x1+1,y1+1,14);
setcolor(5);
circle(x2,y2,r);
setfillstyle(1,5);
floodfill(x2,y2,5);
{if prov then
begin
outtextxy(10,300,'Koordinaty vvedeny pravilno!');}
for i:=y1 to y1+a do
for j:=x1 to x1+a do if getpixel(i,j)=5 then inc(k);
{end
else outtextxy(10,300,'Error ispravte koordinaty!!!');}
str(k,g);
outtextxy(30,320,g);
readln;
closegraph;
end.

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

Сообщение отредактировано: volvo - 17.12.2004 11:39
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 20.04.2003 17:02
Сообщение #12


Четыре квадратика
****

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

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


Цитата
С вариантои trminator некоторые ответы не сходятся по тестируй сам..

хмм... reill, а ты границу учитываешь или нет? я - да, если ты не учитываешь то у нас ВСЕ будет различаться...

А вообще интересная прога, нарисовать все это да и посмотреть, сколько там точек. А для школьной курсовой (по своему опыту знаю) как раз побольше красивой графики нужно - в 10 классе получил 2 место только благодаря красивой презентации в PowerPoint, которая крутилась во время моего рассказа, сама курсовая была... слабовата, не курсовая, а так - реферат (тема - НЛП) , даже проги никакой не было. А в 11классе была классная прога - "Оптимизация выработки электроэнергии на <Мой-Город> ТЭЦ", но никаких красот - ввод того, что имеем и вывод того, как сделать, на Паскале, черный экран с белыми буковками. Естественно, им не понравилось (понимали бы что... )

Так что забабахай это на Дельфях, чтобы с 3D-графикой  :) и PowerPoint'ом  ;D и вперед - защищать  ;D ;D


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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