Определить, попадает ли точка с заданными координатами ( x , y ) в заданную область. Разработать структурный алгоритм, используя метод нисходящего проектирования с пошаговой детализацией.


Добавил:DMT
Дата создания:4 декабря 2007, 1:56
Дата обновления:4 декабря 2007, 1:56
Просмотров:8801 последний 29 ноября, 4:29
Комментариев: 0

Определить, попадает ли точка с заданными координатами ( x , y ) в заданную область. Разработать структурный алгоритм, используя метод нисходящего проектирования с пошаговой детализацией. Решить задачу для всех a < x < b и c < y < d ; a , b , c , d , hx и hy задавать самостоятельно.

Текст программы:

#include <conio.h>

#include <iostream.h>

void main(void)

{ float a, b; // Интервал по X

float c, d; //Интервал по Y

float hx, hy; //Шаг в интервале по X и Y

float tmp; //Временная переменная

float x, y; //Переменные для координат точек

int i;

clrscr();

//Вводим интервал по X

cout<<"Введите интервалы:\n";

cout<<"Введите 1-ое значение для интервала на оси X: ";

cin>>a;

cout<<"Введите 2-ое значение для интервала на оси X: ";

//Вводим интервал по Y

cin>>b;

cout<<"Введите 1-ое значение для интервала на оси Y: ";

cin>>d;

cout<<"Введите 2-ое значение для интервала на оси Y: ";

cin>>c;

//Вводим шаг по X и Y

cout<<"Введите шаг по оси X: ";

cin>>hx;

cout<<"Введите шаг по оси Y: ";

cin>>hy;

//Меняем пределы интервалов, если первый больше второго

if (a>b)

{ tmp = a;

a = b;

b = tmp;

}

if (d>c) {

tmp = c;

c = d;

d = tmp;

}

clrscr();

//Задаем координаты первой точки

//равные началу интервала

x = a;

y = d;

//Выводим точки которые попали в интервал

cout<<"Точки попавшие в заданный интервал:\n";

//Пока не пройден весь интервал

while (x<=b || y<=c)

//Если точка попадает то вывести ее

{ if ((x>=0 && y<=0) || (x>=-4 && x<=0 && y>=0 && y<=1))

cout<<"Точка с координатами ("<<x<<","<<y<<") попадает в заданную область.\n";

//Вычисляем следующие координаты точки

x = x+hx;

y = y+hy;

}

}

Блок-схема программы:

 

Результат тестирования программы:

 

Интервал по X

Интервал по Y

Шаг : hx, hy

Попадание:

1

-6 .5 < x < 3

-1.7 < y < 2.22

0.5, 0.1

(0.00, -0.40)

(0.50, -0.30)

(1.00, -0.20)

(1.50, -0.10)

2

-0.5 < x < 3.6

- 0.8 < y < 3.3

0.09, 0.08

(0.04, -0.32)

(0.13, -0.24)

(0.22, -0.16)

(0.31, -0.08)

(0.40, 0.00)

3

0 < x < 3.0

-0.5 < y < 1.0

0.3, 0.4

(0.30, -0.10)

4

-3.0 < x < -0.5

0 < y < 1.5

0.7, 0.5

(-3.00, 0.00)

(-2.30, 0.50)

(-1.60, 1.00)

(-0.90, 1.50)

up