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

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

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

 
 Ответить  Открыть новую тему 
> помогите!Задачка с координатами
сообщение
Сообщение #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
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

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

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


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


Гость






нет по ходу это просто переменные типа у точки С (x;y) и у P(x;y) :-/ просто чтобы не путать x  c  x и y  c  y
а текст подлинный все как есть - бред, конечно ну это уже к нашим любимым учителям ;)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Да выходит так !!!! с центром в С.  Я это нарисовал,но нарисовать то несложно...может нужно наити площадь этого пересечения а через площадь уже как-то кол-во точек...единственное что пересечение получается всегда разное то один угол квадрата то другой получается в этом пересечении , блин закончу школу информатичку убью!!!!!!!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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


Гость






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


Пионер
**

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

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


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


Гость






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


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

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

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


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

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


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


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

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

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


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

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

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

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


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

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

 





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