Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке. Вроде бы задание элементарное, но мои познания в математики на столько скудны, что я не смог справиться с треугольником, попытался найти формулу, но у меня не вышло
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 < class Program < static void Main(string[] args) < float R = 0f; float X = 0f; float Y = 0f; while (R Console.Write(«Введите Х «); X = Convert.ToSingle(Console.ReadLine()); Console.Write(«Введите Y «); Y = Convert.ToSingle(Console.ReadLine()); if (X >= -R X = -R) < if (X = 0 Math.Pow(X, 2) + Math.Pow(Y, 2) 😉 попала в закрашенную область», X.ToString(), Y.ToString()); > else if (X >= 0 Y = -R)//treygolnik < double tx1 = -(Y / 2); double ty2 = -(X * 2); double tx3 = (R + Y + 4) / 2; double ty4 = 2 * (X — (R / 2)) — 4; if (X = -R X 😉 попала в закрашенную область», X.ToString(), Y.ToString()); > else if (X>=(R/2) tx3>=X ty4=-R) < Console.WriteLine(«3Точка с координатами (;) попала в закрашенную область», X.ToString(), Y.ToString()); > else < Console.WriteLine(«1Точка с координатами (;) не попала никуда.», X.ToString(), Y.ToString()); > > > else < Console.WriteLine(«2Точка с координатами (;) не попала никуда.», X.ToString(), Y.ToString()); > Console.ReadKey(); > > >
Код к задаче: «Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке»
Листинг программы
Программирование на С++. Урок 11. Попадает ли точка в заштрихованную область 2.
float R = 0f; float X = 0f; float Y = 0f; while (R Console.Write(«Введите Х «); X = Convert.ToSingle(Console.ReadLine()); Console.Write(«Введите Y «); Y = Convert.ToSingle(Console.ReadLine()); if (X >= -R X = -R) < if (X = 0 Math.Pow(X, 2) + Math.Pow(Y, 2) 😉 попала в закрашенную область(фигура1)», X.ToString(), Y.ToString()); > else if (X >= 0 Y = -R)//treygolnik < if(Y>=-2*X Y>=2*X-2*R X>=-Y/2 X<=R-(-Y/2)) < Console.WriteLine(«2Точка с координатами (;) попала в закрашенную область(фигура2)», X.ToString(), Y.ToString()); > else < Console.WriteLine(«1Точка с координатами (;) не попала никуда.», X.ToString(), Y.ToString()); > > else < Console.WriteLine(«2Точка с координатами (;) не попала никуда.», X.ToString(), Y.ToString()); > > else < Console.WriteLine(«3Точка с координатами (;) не попала никуда.», X.ToString(), Y.ToString()); > Console.ReadKey();
Источник: studassistent.ru
Дана заштрихованная область и точка с координатами (x, y). Написать программу, определяющую, попадает ли точка в область. Результат вывести в виде текстового сообщения.
Программирование на С++. Урок 10. Попадает ли точка в заштрихованную область
Запишем условия попадания точки в область в виде формул. Область можно описать как круг, пересекающийся с треугольником. Точка может попадать либо в круг, либо в треугольник, либо в их общую часть:
Первое условие задает попадание точки в круг, второе – в треугольник. Переменные x и y – вещественного типа. Программа для решения задачи выглядит следующим образом:
ProgramSHOT;
Var X, Y : real;
Begin
Writeln(‘Введите значения x и y’);
then writeln(‘Точка попадает в область’)
else writeln(‘Точка не попадает в область’);
Приоритет операций отношения самый низкий, поэтому они заключаются в скобки. Три условия попадания точки в треугольник должны выполняться одновременно, поэтому они объединяются с помощью операции and. Ее приоритет выше, чем or, поэтому дополнительных скобок не требуется.
Для удобочитаемости программы можно ставить скобки даже в тех местах, где они не обязательны, например, для визуальной группировки условий.
Приложение № 3.
Написать программу, которая по номеру месяца выводит время года.
Эта программа не нуждается в дополнительных комментариях:
ProgramSEASON;
Var month : word;
Begin
Writeln(‘Введите номер месяца’);
1, 2, 12 : writeln(‘ Зима ’);
3 . . 5 : writeln(‘ Весна ‘);
6 . . 8 : writeln(‘ Лето ‘);
9 . . 11: writeln(‘ Осень ‘);
else writeln( ‘ Такие месяцы встречаются редко ‘)
End.
Приложение № 4.
Написать программу, реализующую калькулятор на четыре арифметических действия.
Исходными данными для этой программы являются два вещественных операнда и знак операции, представляющий собой символ. Алгоритм работы программы очевиден: в зависимости от значения введенного знака операции выполнить соответствующее действие над операндами:
ProgramCALCULATOR;
Var A, B, RES : real;
Begin
Writeln(‘Введите первый операнд:’);
Writeln(‘Введите второй операнд: ‘);
writeln( ‘ Недопустимая операция ‘);
writeln(‘ RES= ‘, RES:6:2)
End.
Следует обратить внимание на то, что если по какой-либо ветви требуется записать не один, а несколько операторов, они заключаются в блок с помощью операторных скобок begin и end.
СПИСОК ЛИТЕРАТУРЫ
1. Аболрус С. Программирование на Pascal, 3-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2003. – 328 с.
2. Адаменко А.Н. Pascal на примерах из математики. – СПб.: БХВ-Петербург, 2005. – 416 с.
3. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. 3-є вид. – Львів: «Деол», 2002. – 144 с.
4. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. – СПб.: BHV – Санкт-Петербург, 1997. – 240 с.
5. Новиков В.С., Парфилова Н.И., Пылькин А.Н. Алгоритмизация и программирование на Турбо Паскале: Учебное пособие. – М.: Горячая линия – Телеком, 2005. – 438 с.
6. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2003. – 393 с.
7. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Практикум. – СПб.: Питер, 2006. – 317 с.
8. Попов В.Б. Turbo Pascal для школьников. Версия 7.0: Учеб. Пособие. – М.: Финансы и статистика, 1996. – 464 с.
9. Решение задач средствами языка Turbo Pascal 7.0 / А.Н. Моргун – К.: Юниор, 2002. – 216 с.
10. Турбо Паскаль 7.0 / Е.Р.Алексеев и др. – М.: ООО «Издательство АСТ»: Издательство «НТ Пресс», 2004. – 270 с.
Последнее изменение этой страницы: 2018-05-31; просмотров: 614.
stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда.
Источник: stydopedya.ru
Как решить задачу про попадании точки?
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом?
Хотелось бы особо узнать само условие попадания в заштрихованную область.
бонус за лучший ответ (выдан): 7 кредитов
комментировать
в избранное
ОлегТ [35.8K]
3 месяца назад
Программу тут уж точно писать смысла нет.
А вот условия по проверке вывести можно.
Надо понимать, что области ограничены несколькими линиями.
1-я линия основная: это окружность радиуса R
Уравнение окружности с центром в точке (0;0) и радиуса R: х² + y² = R²
Соответсвенно точки на кругу должны удовлетворять: х² + y² ≤ R²
Следующие линии, которые ограничат одно из областей (нижний сектор)
Это х = 0 и y = 0
Соответсвенно точки будут в нижнем секторе, если х ≤ 0 и y ≤ 0
Теперь вторая область ограничена линиями: х = 0 и y = (x-1)²
Для попадания в область х ≥ 0 и y ≥ (x-1)²
А теперь надо объединить логически эти условия
Если (х² + y² ≤ R²) и [ < (x ≤ 0) и (y ≤ 0) >или < (х ≥ 0) и (y ≥ (x-1)²) >] > то точка (х; y) попадает в область.
Источник: www.bolshoyvopros.ru