Отчет1 Чирухин Вариант18x

advertisement
Санкт-Петербургский
Государственный электротехнический университет
Кафедра МОЭВМ
Отчет
по Лабораторной работе № 1
«Вхождение точки в область»
Выполнил: Чирухин А.А.
Группа: 3304
Факультет: КТИ
Санкт-Петербург
2013г.
Цель работы:
Получение практических навыков по изучении условных операторов и
операторов цикла на языке программирования «С++».
Постановка задачи:
Программе задаются координаты точки на плоскости (X, Y). На данной
плоскости задана замкнутая фигура. Определить, принадлежит ли заданная
точка области фигуры на графике.
рис.1
Формальная постановка задачи (математическое содержание):
Требуется описать условия, которые будут ограничивать область данной
фигуры (рис.1).
1. (y<=x) && (y>=-x) && (x>=0) && (x<=1)
2. (y>=x) && (y<=-x) && (x<=0) && (x>=-1)
Если выполняются все вышеперечисленные условия вместе, наша точка
лежит в заштрихованной области (рис.2).
рис.2
Описание структуры данных:
Имя переменной
Тип переменной
Назначение
x
Float
y
Float
Хранение координаты X
точки
Хранение координаты Y
точки
Блок-схема решения задачи:
Начало
Ввод х,y
((y<=x) && (y>=-x) && (x>=0) &&
(x<=1)) || ((y>=x) && (y<=-x) &&
(x<=0) && (x>=-1))
True
Попала
False
Не попала
Да
Нет
Выйти?
Конец
Текст программы:
#include <iostream>
using namespace std;
bool IsPointInRightTriangle(float x, float y)
{
return (((y<=x) && (y>=-x) && (x>=0) && (x<=1)));
}
bool IsPointInLeftTriangle(float x, float y)
{
return (((y>=x) && (y<=-x) && (x<=0) && (x>=-1)));
}
int main()
{
float x, y;
float k;
k = 1;
while (k != 0)
{
cout << "Vvedi x: ";
cin >> x;
cout << "vvedi y: ";
cin >> y;
cout << "koordinati tochki: (" << x << ";" << y << ")" << endl;
if ((IsPointInRightTriangle(x, y)) || (IsPointInLeftTriangle(x, y)))
{
cout << "tochka popadaet v zashtrihovannuiu oblast\'";
}
else
{
cout << "tochka ne popadaet v zashtrihovannuiu oblast\'";
}
cout << "\nvvedi 0 dlya vihoda: ";
cin >> k;
}
cin.get();
cin.get();
}
Результаты решения задачи
Программа безошибочно определяет вхождение точки в область. Ошибки не
обнаружены.
Заключение
При выполнении лабораторной работы были получены практические
навыки по изучению условных операторов и операторов цикла на языке
программирования «С».
Данная лабораторная работа помогла овладеть практическими навыками
программирования на языке «С».
Download