Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите пожалуйста написать программу!!!

44K
22 ноября 2008 года
Lalala
1 / / 22.11.2008
Помогите написать программу на курсовую работу... Мне надо нарисовать прямоугольник, круг... и если они пересекаются то область пересечения закрасить в какойто цвет.
45K
07 декабря 2008 года
Sadfor
2 / / 07.12.2008
Привет, Lalala! Есть похожая программа на Паскале. (PascalABC v 2.7.3.52)
Если что, пиши на [email]sadfor@ukr.net[/email]...
45K
07 декабря 2008 года
Sadfor
2 / / 07.12.2008
А вот, собственно, сама прога...
uses ABCObjects;

var
jadro: CircleABC;
r: RectangleABC;
i: integer;

procedure CheckPulyaIntersects;
var i,j: integer;
begin
for i:=ObjectsCount-1 downto 1 do
if jadro.Intersect(Objects) then
Objects.Destroy;
r.color:=ClBlue;
end;

begin
for i:=1 to 500 do
r:=RectangleABC.Create(WindowWidth-200,100,100,100,clRed);
jadro:=CircleABC.Create(10,100,100,clBlack);
for i:=1 to 700 do
begin
jadro.MoveOn(1,0);

CheckPulyaIntersects;

end;
end.
32K
07 декабря 2008 года
Serj123
36 / / 11.07.2008
Код:
{$N+}
{$E+}
Program Grafika;
 {Задание: Нарисовать прямоугольник, круг... Если они пересекаются, то
  область пересечения закрасить в какой-то цвет.}
Uses
    Graph;
Type
 Pryam_1=Record {Переменная описывающая прямоугольник}
          L_KoordX, L_KoordY, R_KoordX, R_KoordY: Word;
         End;
 Kryg_1=Record {Переменная описывающая круг}
         C_KoordX, C_KoordY, Rad: Word;
        End;
Const {Задаем координаты}
 {Прямоугольник}
 Pryam: Pryam_1 = (
  L_KoordX: 200;
  L_KoordY: 100;
  R_KoordX: 400;
  R_KoordY: 300);
 {Круг}
 Kryg: Kryg_1 = (
  C_KoordX: 450;
  C_KoordY: 200;
  Rad: 100);
 Zaris_Peres=3;
 Cvet=2;
Var
  Driver, Mode: Integer; {переменные установки графического режима}
  i,j,KoordX,KoordY:Word;
  d: Extended;
Begin
 {Определяем тип драйвера}
 Driver:=Detect;
 {Инициализируем графический режим}
 InitGraph(Driver, Mode, '');
 If GraphResult=0 then
  Begin
   With Pryam do
    Begin
     {Устанавливаем цвет прямоугольника}
     SetColor(Cvet);
     {Чертим прямоугольник}
     Rectangle(L_KoordX, L_KoordY, R_KoordX, R_KoordY);
    End;
   With Kryg do
    Begin
     {Чертим круг}
     For i:=0 to Rad do
      Begin
       d:=Sqrt(Sqr(Rad)-Sqr(i));
       {по оси Х}
       PutPixel(C_KoordX+i,C_KoordY+Round(d),Cvet);
       PutPixel(C_KoordX-i,C_KoordY+Round(d),Cvet);
       PutPixel(C_KoordX+i,C_KoordY-Round(d),Cvet);
       PutPixel(C_KoordX-i,C_KoordY-Round(d),Cvet);
       {по оси Y}
       PutPixel(C_KoordX+Round(d),C_KoordY+i,Cvet);
       PutPixel(C_KoordX+Round(d),C_KoordY-i,Cvet);
       PutPixel(C_KoordX-Round(d),C_KoordY+i,Cvet);
       PutPixel(C_KoordX-Round(d),C_KoordY-i,Cvet);
      End;
     {Текущие настройки палитры}
     SetFillStyle(1,Zaris_Peres);
     {Определяем пересечения круга с прямоугольником}
     For j:=1 to Rad-1 do
      For i:=0 to j do
       Begin
        {Определяем величину смещения}
        d:=Sqrt(Sqr(j)-Sqr(i));
        {Ось Х}
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX+i;
        KoordY:=C_KoordY+Round(d);
        {Определяем принадлежность 1}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
         Begin
          FloodFill(KoordX,KoordY,Cvet);
          Break;
         End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX-i;
        KoordY:=C_KoordY+Round(d);
        {Определяем принадлежность 2}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX+i;
        KoordY:=C_KoordY-Round(d);
        {Определяем принадлежность 3}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX-i;
        KoordY:=C_KoordY-Round(d);
        {Определяем принадлежность 4}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Ось Y}
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX+Round(d);
        KoordY:=C_KoordY+i;
        {Определяем принадлежность 1}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX+Round(d);
        KoordY:=C_KoordY-i;
        {Определяем принадлежность 2}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX-Round(d);
        KoordY:=C_KoordY+i;
        {Определяем принадлежность 3}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
        {Вычисляем координаты х,у}
        KoordX:=C_KoordX-Round(d);
        KoordY:=C_KoordY-i;
        {Определяем принадлежность 4}
        If (KoordX>Pryam.L_KoordX) and (KoordX<Pryam.R_KoordX) and
           (KoordY>Pryam.L_KoordY) and (KoordY<Pryam.R_KoordY) then
          Begin
           FloodFill(KoordX,KoordY,Cvet);
           Break;
          End;
       End;
    End;
  End;
 ReadLn;
 {Закрываем графический режим}
 CloseGraph;
End.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог