![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
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 |
reill |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
А что такое х(С) и х(Р) - как координаты точки могут зависить от самой точки ???
Читай инструкцию лучше ;D Напиши дословно задание. з.ы. если это оно и было - сочувствую, если тебе что-то и напишат то это будет такого же плана ;D |
Серый |
![]()
Сообщение
#3
|
Гость ![]() |
нет по ходу это просто переменные типа у точки С (x;y) и у P(x;y) :-/ просто чтобы не путать x c x и y c y
а текст подлинный все как есть - бред, конечно ну это уже к нашим любимым учителям ;) |
reill |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
Воходит типа того:
Дан круг радиусом 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; |
Серый |
![]()
Сообщение
#5
|
Гость ![]() |
Да выходит так !!!! с центром в С. Я это нарисовал,но нарисовать то несложно...может нужно наити площадь этого пересечения а через площадь уже как-то кол-во точек...единственное что пересечение получается всегда разное то один угол квадрата то другой получается в этом пересечении , блин закончу школу информатичку убью!!!!!!!!!
|
trminator |
![]()
Сообщение
#6
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код 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 -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Серый |
![]()
Сообщение
#7
|
Гость ![]() |
Пасибо !!!!!! вроде бы идет выводит какие-то цифры хотя это ли оно или нет :) :-/ Ну да ладно ! единственное что это за уравнение окружности что за a и b ? Но все равно СПАСИБО!!!!!!!!!
|
reill |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
Я тут тоже заканчиваю твою задачку.... ЖДи скоро скину свой вариант, прада он побольше)))
|
Vano |
![]()
Сообщение
#9
|
Гость ![]() |
Пасибо!!!!!!!! только там должно быть (py+a) так как отсчет x y в Pascal'е идет с левого верхнего угла то есть y к низу увеличивается
|
trminator |
![]()
Сообщение
#10
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Уравнение окружности привел "просто так" чтобы показать что я там проверяю, а и b там - координаты центра, в программе они - соответственно сх и су. А систему координат я брал не Паскалевскую, а "школьную", хотя тут кому как нравится
![]() Единственное - на больших значениях будет долго считать (рх может быть хоть миллион, если по условию), может, твоя курсовая в том и заключается чтобы сделать не такой тупой алгоритм? ;D -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
reill |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
Вот мой вариант...
Код 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 |
trminator |
![]()
Сообщение
#12
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата С вариантои trminator некоторые ответы не сходятся по тестируй сам.. хмм... reill, а ты границу учитываешь или нет? я - да, если ты не учитываешь то у нас ВСЕ будет различаться... А вообще интересная прога, нарисовать все это да и посмотреть, сколько там точек. А для школьной курсовой (по своему опыту знаю) как раз побольше красивой графики нужно - в 10 классе получил 2 место только благодаря красивой презентации в PowerPoint, которая крутилась во время моего рассказа, сама курсовая была... слабовата, не курсовая, а так - реферат (тема - НЛП) , даже проги никакой не было. А в 11классе была классная прога - "Оптимизация выработки электроэнергии на <Мой-Город> ТЭЦ", но никаких красот - ввод того, что имеем и вывод того, как сделать, на Паскале, черный экран с белыми буковками. Естественно, им не понравилось (понимали бы что... ) Так что забабахай это на Дельфях, чтобы с 3D-графикой :) и PowerPoint'ом ;D и вперед - защищать ;D ;D -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:50 |