Главная страница
Навигация по странице:

  • Область Условие 1 (y >= x*x-6) Условие 2 (x*x+y*y

  • (y>=x*x-6) and (x*x+y*y область выше параболы и ниже оси OX: (y>=x*x-6) and (y правый полукруг: (x*x+y*y =0)

  • Область Условие 1 (y >= 1-x) Условие 2 (y

  • (y >= 1-x) and (y области E и F: (y = 0) and (y >= x*x-5) область M: (y = 2-2*x*x) and (y >= x*x-5)

  • (y = 2-2*x*x) and (y >= x*x-5) and (x >= 0) then write(принадлежит) else write(не принадлежит);

  • (y >= 0) and (y область E и часть области F: (y = x*x-5) and (y >= 2-2*x*x)

  • Ответы на задачи 24 (С1)


    Скачать 1.99 Mb.
    НазваниеОтветы на задачи 24 (С1)
    Дата21.04.2018
    Размер1.99 Mb.
    Формат файлаdoc
    Имя файлаansw24-C1.doc
    ТипПрограмма
    #41783
    страница12 из 18
    1   ...   8   9   10   11   12   13   14   15   ...   18

    Наконец, для четвертой строки третье условие не проверяется, значит, первое истинно. Второе проверяется, и результат верный. Это значит, что второе условие истинно и выведено сообщение «принадлежит». Это точки, расположенные выше параболы и внутри круга, то есть области F, G, L и M.




    Область

    Условие 1

    (y >= x*x-6)

    Условие 2 (x*x+y*y <= 16)

    Условие 3 (x >= 0)

    Вывод

    Верно

    1

    B, C, Q, R

    да

    нет





    нет

    2

    D, S

    нет



    да

    принадлежит

    нет

    3

    A, E, K, P

    нет



    нет

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

    да

    4

    F, G, L, M

    да

    да



    принадлежит

    да

    Для того, чтобы написать правильную программу, составим одно сложное условие. Проще всего сложить полную область из трех:

    1. область внутри круга и выше параболы:

    (y>=x*x-6) and (x*x+y*y<=16)

    1. область выше параболы и ниже оси OX: (y>=x*x-6) and (y<=0)

    2. правый полукруг: (x*x+y*y<=16) and (x>=0)

    Остается объединить эти области с помощью операции ИЛИ:

    if (y>=x*x-6) and (x*x+y*y<=16) or

    (y>=x*x-6) and (y<=0) or

    (x*x+y*y<=16) and (x>=0)

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

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

    1. Рассмотрим таблицу, в которую добавлена нумерация строк:




    Область

    Условие 1

    (y >= 1-x)

    Условие 2
    (y <= 2-2*x*x)


    Условие 3 (y >= x*x-5)

    Вывод

    Верно

    1


















    2













    принадлежит

    нет

    3













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

    да

    4















    да

    Напомним программу:

    if y >= 1-x then begin

    if y <= 2-2*x*x then

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

    end

    else

    if y >= x*x-5 then

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

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

    В строке 1 ничего не выводится, значит ответ неверный. Такой вариант (отсутствие вывода) говорит о том, что первое условие выполнено, а второе – нет. То есть, эта область расположена выше прямой и выше параболы y = 2 - 2x2; это могут быть область B, C, D, N, P:




    Область

    Условие 1

    (y >= 1-x)

    Условие 2
    (y <= 2-2*x*x)


    Условие 3 (y >= x*x-5)

    Вывод

    Верно

    1

    B, C, D, N, P

    да

    нет





    нет

    2













    принадлежит

    нет

    3













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

    да

    4















    да

    Теперь рассмотрим строку 2. Программа выдает ответ «принадлежит», что может быть

    1. при выполнении первых двух условий (точки выше прямой и ниже параболы y = 2 - 2x2) или

    2. если первое условие на выполняется (точки ниже прямой), а третье – выполняется (точки выше параболы y = x2 - 5).

    При этом ответ «принадлежит» неверный. Поскольку ВСЕ точки, для которых выполняются первые два условия, принадлежат заштрихованной области G, первый вариант исключается. Поэтому для второй строки первое условие ложно (точки ниже прямой), второе не проверяется, а третье – истинно (точки выше параболы y = x2 - 5); эти области не заштрихованы, поэтому это могут быть только области K и L:




    Область

    Условие 1

    (y >= 1-x)

    Условие 2
    (y <= 2-2*x*x)


    Условие 3 (y >= x*x-5)

    Вывод

    Верно

    1

    B, C, D, N, P

    да

    нет





    нет

    2

    K, L

    нет



    да

    принадлежит

    нет

    3













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

    да

    4















    да


    Третья строка. Сообщение «не принадлежит» выводится для точек, которые ниже прямой и ниже параболы y = x2 - 5, эти точки не принадлежат выделенной области; это могут быть области A, H, Q, R.




    Область

    Условие 1

    (y >= 1-x)

    Условие 2
    (y <= 2-2*x*x)


    Условие 3 (y >= x*x-5)

    Вывод

    Верно

    1

    B, C, D, N, P

    да

    нет





    нет

    2

    K, L

    нет



    да

    принадлежит

    нет

    3

    A, H, Q, R

    нет



    нет

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

    да

    4















    да

    Наконец, для четвертой строки третье условие не проверяется, значит, первое истинно. Второе проверяется, и результат верный. Это значит, что второе условие истинно и выведено сообщение «принадлежит». Это точки, расположенные выше прямой и ниже параболы y = 2 - 2x2, то есть область G.




    Область

    Условие 1

    (y >= 1-x)

    Условие 2
    (y <= 2-2*x*x)


    Условие 3 (y >= x*x-5)

    Вывод

    Верно

    1

    B, C, D, N, P

    да

    нет





    нет

    2

    K, L

    нет



    да

    принадлежит

    нет

    3

    A, H, Q, R

    нет



    нет

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

    да

    4

    G

    да

    да



    принадлежит

    да

    Для того, чтобы написать правильную программу, составим одно сложное условие. Проще всего сложить полную область из трех:

    1. область G: (y >= 1-x) and (y <= 2-2*x*x)

    2. области E и F: (y <= 1-x) and (y >= 0) and (y >= x*x-5)

    3. область M: (y <= 1-x) and (y >= 2-2*x*x) and (y >= x*x-5)

    and (x >= 0)

    Остается объединить эти области с помощью операции ИЛИ:

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

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

    (y <= 1-x) and (y >= 2-2*x*x) and (y >= x*x-5)

    and (x >= 0)

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

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

    Возможен и более хитрый способ:

    1. области F и G: (y >= 0) and (y <= 2-2*x*x)

    2. область E и часть области F:

    (y <= 1-x) and (y >= x*x-5) and (y >= 2-2*x*x)
    1   ...   8   9   10   11   12   13   14   15   ...   18


    написать администратору сайта