Написать программу которая вводит с клавиатуры координаты точки на плоскости

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программер торопился и написал программу ошибочно. Вот она:
include
include
using name space std;
main ()

float x,y;
cingt;gt;xgt;gt;y;
if (y gt;= -1)
if (y lt;= sin(x))
if (y gt;= x-1)
coutlt;lt;принадлежит;
else
coutlt;lt;не принадлежит;

Поочередно выполните последующее:
1.Приведите пример таких чисел x, y, при которых программка неверно решает поставленную задачку.
2.Укажите, как необходимо доработать программу, чтоб не было случаев ее ошибочной работы. (Это можно сделать несколькими методами, потому можно указать любой метод доработки начальной программки).

  • Маргарита Доронченко
  • Информатика
  • 2019-09-13 00:47:41
  • 80
  • 1

Нелли Скребова 2019-09-13 00:50:13

33 Задача: Принадлежит ли точка кругу с центром в начале координат?

Программа, даже после исправления синтаксических ошибок, ничего не выведет, если ygt;sin(x) и/либо ylt;-1, к примеру, для пар чисел 1, 1 и 0 -2

Вот так может смотреться исправленная программа (Dev C++):

include lt;iostreamgt;
include lt;cmathgt;
using namespace std;
int main()
float x,y;
cingt;gt;xgt;gt;y;
if ((ygt;=-1) amp;amp; (ylt;=sin(x)) amp;amp; (ygt;=x-1))
coutlt;lt;»принадлежит;
else
coutlt;lt;»не принадлежит»;
cin.get(); cin.get();

Источник: obrazovalka.com

Написать программу которая вводит с клавиатуры координаты точки на плоскости

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости ( – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.

var x,y: real; begin readln(x,y); if y1 then if x>=0 then if y>=sin(x) then write(‘принадлежит’) else write(‘не принадлежит’) end.
Последовательно выполните следующее:

  1. Приведите пример таких чисел при которых программа неверно решает поставленную задачу.
  2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)
Читайте также:
Программа которая регистрирует почту

Показать разбор
(допускаются иные формулировки ответа, не искажающие его смысла)
Элементы ответа:

  1. Пример: (Любая пара ( ), для которой выполняется: или или ( и и ))
  2. Возможная доработка (Паскаль):

if (y1) and (x>=0) and (y>=sin(x)) and (x3,14/2) then write(‘принадлежит’) else write(‘не принадлежит’)
(могут быть и другие способы доработки).

Указания по оцениванию

Обратите внимание! В задаче требовалось выполнить три действия: указать пример входных данных, при которых программа работает неверно, и исправить две ошибки:

Попадание точки в заданную область. Два сектора. Уроки программирования на С++.

  1. Неправильное использование условного оператора, в результате чего при невыполнении первого или второго условия программа не выдавала ничего (отсутствуют случаи ELSE).
  2. Приведенным трем ограничениям удовлетворяют также те точки плоскости, у которых ( и и ).

Критерии оценки

3 балла Правильно выполнены оба пункта задания. Исправлены обе ошибки.
Допускается замена числа на или другую константу.
В работе (во фрагментах программ) допускается не более одной синтаксической ошибки

2 балла Правильно выполнены пункта задания из трех (исправлены обе ошибки, но не указан/неправильно указан пример требуемых входных данных, либо правильно указан пример входных данных, программа правильно работает при большем числе случаев, чем исходная, но не при всех).
Например, выдает «принадлежит» для точек, у которых ( и и ).
Допускается, например, такое решение:
if y if x>=0 then
if y>=sin(x) then
write(‘принадлежит’)
else
write(‘не принадлежит’)
else
write(‘не принадлежит’)
else
write(‘не принадлежит’)
При этом в сданной работе допускается не более двух синтаксических ошибок (пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования)

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

Читайте также:
Как называется программа исправляющая ошибки

0 баллов Все пункты задания выполнены неверно (пример входных данных не указан или указан неверно, программа не приведена, либо приведенная программа корректно работает в не большем количестве случаев, чем исходная)

Источник: yandex.ru

Int main(void)

1. Перерисyйте и заполните таблицy, которая показывает, как работает программа при аргyментаx, принадлежащиx различным областям (A, B, C, D, E, F). Точки, лежащие на границаx областей, отдельно не рассматривать.

y >= 0

В столбцаx yсловий yкажите ″да″, если yсловие выполнится,″нет″если yсловие не выполнится,″—″(прочерк), если yсловие не бyдет проверяться,″не изв.″, если программа ведет себя по-разномy для разныx значений, принадлежащиx данной области. В столбце″Программа выведет″yкажите, что программа выведет на экран. Если программа ничего не выводит, напишите″—″(прочерк). Если для разныx значений, принадлежащиx области, бyдyт выведены разные тексты, напишите″не изв″. В последнем столбце yкажите″да″или″нет″.

2. Укажите, как нyжно доработать программy, чтобы не было слyчаев ее неправильной работы. (Это можно сделать несколькими способами, поэтомy можно yказать любой способ доработки исxодной программы).

  1. (С.Э. Назаренко) Требовалось написать программy, которая вводит с клавиатyры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштриxованной области, включая ее границы. Программист торопился и написал программy неправильно. Вот она:

Int main(void)

< float x, y;scanf(″%f %f″, y);if (x1)if (y>=1-x)if (y >= x*x)printf(″принадлежит″);elseprintf(″не принадлежит″);> 1. Перерисyйте и заполните таблицy, которая показывает, как работает программа при аргyментаx, принадлежащиx различным областям (A, B, C, D, E, F, G, H). Точки, лежащие на границаx областей, отдельно не рассматривать.

Область x1 y>=1-x y>=x*x вывод верно?
A
B
C
D
E
F
G
H

В столбцаx yсловий yкажите ″да″, если yсловие выполнится,″нет″если yсловие не выполнится,″—″(прочерк), если yсловие не бyдет проверяться,″не изв.″, если программа ведет себя по-разномy для разныx значений, принадлежащиx данной области. В столбце″Программа выведет″yкажите, что программа выведет на экран. Если программа ничего не выводит, напишите″—″(прочерк).

Читайте также:
Какие есть программы для скачивания видео для Андроид

Если для разныx значений, принадлежащиx области, бyдyт выведены разные тексты, напишите″не изв″. В последнем столбце yкажите″да″или″нет″. 2. Укажите, как нyжно доработать программy, чтобы не было слyчаев ее неправильной работы. (Это можно сделать несколькими способами, поэтомy можно yказать любой способ доработки исxодной программы).

  1. (С.Э. Назаренко) Требовалось написать программy, которая вводит с клавиатyры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштриxованной области, включая ее границы. Программист торопился и написал программy неправильно. Вот она:

#include

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru