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

0 голосов
267 просмотров

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:
#include
#include
using name space std;
main ()
{
float x,y;
cin>>x>>y;
if (y >= -1)
{if (y <= sin(x)) <br> {if (y >= x-1)
cout<<”принадлежит”; <br> else
cout<<”не принадлежит”;<br> }
}
cin.get();cin.get();
}
Последовательно выполните следующее:
1.Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.
2.Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).


image

Информатика (74 баллов) | 267 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа, даже после исправления синтаксических ошибок, ничего не выведет, если y>sin(x) и/или y<-1, например, для пар чисел 1, 1 и 0 -2<br>
Вот так может выглядеть исправленная программа (Dev C++):

#include
#include
using namespace std;
int main() {
    float x,y;
    cin>>x>>y;
    if ((y>=-1) && (y<=sin(x)) && (y>=x-1))
       cout<<"принадлежит”;<br>    else
       cout<<"не принадлежит";<br>    cin.get(); cin.get();
}

(142k баллов)