Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Программирование ветвлений





Задача №1. Определить, попадет ли точка с координатами (х, у) в заштрихованную область.

Исходные данные: х, у.

Результат: да или нет.

Математическая модель:

Ok=I || II || III || VI, где I, II, III, IV – условия попадания точки в заштрихованную область для каждого квадранта.

Квадрант I: Область формируется прямыми ОХ и ОY, прямой, проходящей через точки (0, 1) и (1, 0) и прямой, проходящей через точки (0, 3) и (2, 0).

Уравнения прямых:

y=-x+1;

y=-2/3*x+1;

Тогда условие попадания точки в I квадрант будет выглядеть следующим образом:

y>=-x+1 && y<=-2/3*x+2 && y>=0 && x>=0.

Квадранты II и III: Область формируется прямой 0Y и двумя окружностями, описываемыми формулами x2+y2=1, x2+y2=9.

Тогда условие попадания точки во II и III квадранты будет выглядеть следующим образом:

x2+y2>=1 && x2+y2<=9 && x<=0.

Квадрант IV:

Область формируется двумя прямоугольниками. Точка может попадать либо в первый прямоугольник, либо во второй.

Условие попадания точки в IV квадрант будет выглядеть следующим образом:

(x>=0 && x<=1 && y<=-1 && y>=-3)|| (x>=1 && x<=2 && y<=0 && y>=-3).

Программа:

#include <stdio.h>

#include <math.h>

void main()

{

float x,y;

printf(“\nEnter x,y");

scanf(“%f %f”,&x, &y);

bool Ok=(y>=-x+1&&y<=2/3*x+2&&x>=0&&y>=0)||

(pow(x,2)+pow(y,2)>=1&&pow(x,2)+pow(y,2)<=9&&x<=0)||

(x>=0&&x<=1&&y<=-1&&y>=-3)||

(x>=1&&x<=2&&y<=0&&y>=-3);

if (Ok)

printf(“попадает\n”);

else printf(“ не попадает\n”);

}

Тесты к данной программе представлены в таблице 5.1.

 

Таблица 5.1 – Тесты к приведенной в примере программе

Квадрант Исходные данные (X,Y) Результат (Ok)
I 0.2,0.2  
I 0.7,0.5  
II -0.5, 0.5  
II -2,0  
III -0.5,-0,5  
III -2,-1  
IV 0,5,-0.5  
IV 1.5, -1  
Центр системы координат 0,0  

5.2. Программирование арифметических циклов







Date: 2016-11-17; view: 299; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию