Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

В этой задаче обе области находятся под прямой y=2-x, поэтому это условие будет общим. Получаем: C или D:

(y >= 2-x) и (y >= x*x) и (x <= 0) или (y <= 2-x) и (x >= 0) и (y >= 0) и (y <= x*x)

Переводим на язык программирования:

if (y >= 2-x) and (y >= x*x) and (x <= 0) or (y <= 2-x) and (x >= 0) and (y >= 0) and (y <= x*x) then

write('принадлежит')

else write('не принадлежит');

Задача 4. 32Это та же самая задача, что и 26, только переформулированная в соответствии с демо-вариантом ЕГЭ-2012. Сразу замечаем, что в программе else относится к последнему оператору if, то есть в самом деле структура кода такова:

if x <= 1 then

if y >= 1-x then

if y >= x*x then

write('принадлежит')

else write('не принадлежит');

Обратите внимание, что второе условие проверяется в приведенной программе только тогда, когда истинно первое, а третье – только тогда, когда истинны первые два. В остальных ячейках (если условие не проверяется) нужно ставить прочерк:

второе условие проверяется в приведенной программе только тогда, когда истинно первое, а третье – только тогда, когда истинны первые два. В остальных ячейках (если условие не проверяется) нужно ставить прочерк:

Программы выводит какой-то ответ только тогда когда истинны первые два условия; в этом случае ответ зависит от истинности третьего условия:

Видим, что верно обрабатываются только областей А и В, для области D выводится неверный ответ (эта область закрашена, но программа выдает ответ «не принадлежит»), а для остальных никакого ответа не выводится.

НЕ нашли? Не то? Что вы ищете?

Обл.

x <= 1

y >= 1-x

y >= x*x

вывод

верно?

A

да

да

нет

не принадлежит

да

B

да

да

да

принадлежит

да

C

да

нет

нет

D

да

да

нет

не принадлежит

нет

E

нет

нет

F

да

нет

нет

G

нет

нет

H

нет

нет

Для исправления программы лучше всего составить новое сложное условие. Выделенная область может быть получена как объединение двух областей: области B выше параболы y >= x*x и линии y = 1-x и (одновременно) слева от прямой x = 1, и верхней части полосы 0<=x<=1, которая снизу ограничена линией y = 1-x:

if ((y >= x*x) and (y >= 1-x) and (x <= 1)) or ((x >= 0) and (x <= 1) and (y >= 1-x)) then

write('принадлежит')

else write('не принадлежит');

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

С1_31_2012.JPG var x, y: real;

begin

readln(x, y);

if y <= 1 then

if x >= 0 then

if y >= sin(x) then

write('принадлежит')

else write('не принадлежит')

end.

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

Область

y <= 1

x >= 0

y >= sin(x)

вывод

верно?

A

да

нет

-

-

нет

B

Да

Да

нет

-

нет

C

Да

Да

да

принадлежит

да

D

да

Да

да

принадлежит

нет

E

Нет

-

-

-

нет

F

Нет

-

-

-

нет

H

да

да

нет

-

нет

1 сначала лучше отложить в сторону программу и попытаться написать условие, которым должны отвечать точки, попавшие в выделенную область

2 заштрихованная область ограничена по координате , она находится

справа от оси , что равносильно первому условию x>=0; слева от первого максимума функции y=sinx; из математики мы знаем, что эта функция достигает максимума при , поэтому получаем второе условие

3 заштрихованная область ограничена с двух сторон по координате : она находится

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6