Как написать условие которое определяет заштрихованную область

1 / 1 / 0

Регистрация: 12.02.2017

Сообщений: 11

1

Напишите условие, определяющее заштрихованную область

12.02.2017, 20:55. Показов 33596. Ответов 1


Напишите условие, которое определяет заштрихованную область.

Миниатюры

Напишите условие, определяющее заштрихованную область
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



1



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

12.02.2017, 20:55

1

Puporev

Почетный модератор

64273 / 47572 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

13.02.2017, 11:07

2

Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Вроде так.

Pascal
1
2
3
4
5
6
7
var a.b:boolean;
...............................
a:=((y>=2-x)and(y<=x*x))or((y>=x*x)and(y<=4-x*x)and(y<=2-x)and(x<=0))
 or((y<=x*x)and(y>=0)and(y<=2-x))or((y>=4-x*x)and(y>=x*x)and(x>=0));
 
b:=((x*x+y*y<=1)and(((y>=x)and(y<=0))or(y>=abs(x))or((y>=-x)and(y<=0))))
 or((x*x+y*y>=1)and(y<=x)and(y<=-x));



3



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

13.02.2017, 11:07

2

Заштрихованная область [закрыт]

Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу

Закрыт 1 год назад .

Что писать в if? Я очень долго думал, но никак не могу придумать. Нужно определить входит ли точка с координатами (x, y) в закрашенную область.введите сюда описание изображения

Python-сообщество

Прикреплённый файлы:
attachment2020-10-21_124757.png (4,8 KБ)

#2 Окт. 21, 2020 19:45:17

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

Это система неравенств.

#3 Окт. 24, 2020 10:22:47

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

не решение вашей задачи но очень похожее на вашу
правда на си
но тут перделать на питон не сложно


1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например) , нажмите и вставьте ссылку на его url

есчщо

#4 Окт. 24, 2020 11:58:26

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

Ты бы решил бы ему задачу на питоне. Она решается очень просто.

#5 Окт. 24, 2020 17:26:11

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

меня так учат … хотя … намекните как правильно …
зы заранее спсб

1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например) , нажмите и вставьте ссылку на его url

есчщо

#6 Окт. 24, 2020 19:21:07

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

Онлайн

#7 Окт. 25, 2020 00:48:32

Принадлежит ли точка с координатами (x, y) заштрихованной фигуре

Это функция getchar(), которая может быть и макросом (макросы нельзя сохранять в указатели на функции и передавать, соответственно, в другие функции). А getch() — это функция Borland C++ Compiler (сокращённо bcc).
https://ru.wikipedia.org/wiki/Borland_C%2B%2B
То есть если ты код с этой функцией захочешь скомпилировать в другом компиляторе, то там может быть функция getch(), а может и не быть её. Так и ещё если она там даже есть, то она не обязана работать точно так же, как в Borland C++ Compiler, и запросто может иметь другое поведение. В каждом компиляторе может быть собственная функция getch() с собственным поведением.
Поэтому эту штуку никто не использует, даже если есть такая возможность. Стандарт языка C точно описывает поведение функции/макроса getchar(), что в итоге скомпилирует её/его одинаково любым компилятором. А функции getch() вообще нет в стандарте языка C.

Потому что это не равносильно void. Пустые скобки задействуют вариант языка C, который был до стандарта C89 — то есть старый стиль определения функции.

При этом ты часто можешь видеть в современных кодах

А почему ты видишь это, хотя это неправильно? Потому что ты видишь код не языка C, а код языка C++, в котором пустота равносильна void.

Так что если ты хочешь заниматься языком C, тебе надо сначала разделить между собой языки C и C++. Не изучать так называемый “язык C/C++”; это путь очень плохой, что видно на многочисленных глупостях, исходящих даже от профессионалов разработки (не зная разницы между языками, они часто переносят тупые правила с языка C++ на язык C, которых в языке C нет и не было никогда). А после разделения C и C++ тебе нужно разделить язык C на стандарты языка C. Есть K&R C (достандартный), есть C89 (американский стандарт языка C), есть C90 (международный стандарт языка C), есть C99 (международный стандарт языка C), есть C11 (международный стандарт языка C).
wiki. C
И изучать тебе нужно два стандарта — C89 и C99.

Это всё изучать нужно, если ты собрался работать с существующим кодом в мире. Тот же интерпретатор питона сделан на C89. А новые программы на C пишутся на C99.

Напишите условие которое определяет заштрихованную область нужен и «А» вариант и «В» ПРОГРАММА НУЖНА НА Python Помагите

На мото все видно, помогите пожалуйста .

Не уточняется, включена ли граница или нет. Вот условия без границы.
Если граница включена, замените ‘>’ на ‘>=’, ‘<‘ на ‘<=’.
Функция sin и константа pi взяты из math [from math import sin, pi]

В



Скачать материал

Решение задач на попадание точки в заданную область



Скачать материал

  • Сейчас обучается 81 человек из 30 регионов

  • Курс добавлен 19.01.2023

Описание презентации по отдельным слайдам:

  • Решение задач на попадание точки в заданную область

    1 слайд

    Решение задач на попадание точки в заданную область

  • Примеры задач №1. Написать программу, которая определяет, попала ли точка с з...

    2 слайд

    Примеры задач
    №1. Написать программу, которая определяет, попала ли точка с заданными координатами (вводятся пользователем) в заштрихованную область. Попадание на границу считаем попаданием в область.
    Нужная область – пересечение двух областей: единичной окружности и прямой 𝑦=−𝑥+1.

  • Примеры задач Для проверки попадания точки в заданную область нужно проверить...

    3 слайд

    Примеры задач
    Для проверки попадания точки в заданную область нужно проверить условия:
    1. Точка лежит внутри единичной окружности:
    𝑥 2 + 𝑦 2 ≤1.
    2. Точка лежит на прямой или выше нее:
    𝑦≥−𝑥+1 (т.е. ординаты точек из заштрихованной области больше, чем ординаты точек, лежащих на прямой)
    Точка принадлежит нужной области, если эти условия выполняются одновременно (пересечение областей на рисунках ниже). Т.е. условия должны быть объединены конъюнкцией (логическая операция «И»).

  • Примеры задачСоставим блок-схему к этой задаче:
НачалоВвод х, уДаТочка попада...

    4 слайд

    Примеры задач
    Составим блок-схему к этой задаче:

    Начало
    Ввод х, у
    Да
    Точка попадает в область
    Точка не попадает в область
    Да
    Нет
    Нет
    Конец
    𝑥 2 + 𝑦 2 ≤1?
    𝑦≥−𝑥+1?

  • Примеры задачЗапишем теперь программу.1 способ – использование составного ус...

    5 слайд

    Примеры задач
    Запишем теперь программу.
    1 способ – использование составного условия

    var x, y: real;
    begin
    readln(x,y);
    if (y>=-x+1)and(sqr(x)+sqr(y)<=1) then writeln(‘Точка попадает в область)
    else
    writeln(‘Точка не попадает в область’);
    end.

  • Примеры задач2 способ – использование вложенных конструкций if-else
var x, y:...

    6 слайд

    Примеры задач
    2 способ – использование вложенных конструкций if-else
    var x, y: real;
    begin
    readln(x,y);
    if sqr(x)+sqr(y)<=1 then
    if y>=-x+1 then
    writeln(‘Точка попадает в область’)
    else
    writeln(‘Точка не попадает в область’);
    end.
    Какая ошибка допущена в программе? Подберите примеры координат точек, при которых программа будет работать неверно. Как исправить программу?

  • Примеры задач№2. Написать программу, которая определяет, попала ли точка с за...

    7 слайд

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

  • Примеры задачДанную область можно представить как объединение двух областей A...

    8 слайд

    Примеры задач
    Данную область можно представить как объединение двух областей A и B. Составим условия.
    Точка попадает в область А, если выполняются условия:
    Точка лежит выше прямой: 𝑦≥𝑥 (ординаты точек из области А больше, чем ординаты точек на прямой)
    Точка лежит ниже параболы: 𝑦≤2− 𝑥 2 (ординаты точек из области А меньше, чем ординаты точек параболы)
    Эти два условия должны выполняться одновременно, т.е. соединены оператором «И»
    Точка попадает в область В, если выполняются условия:
    Точка лежит ниже параболы: 𝑦≤2− 𝑥 2
    Точка лежит выше прямой 𝑦=0: 𝑦≥0
    Точка лежит ниже прямой 𝑦=𝑥 : 𝑦≤𝑥 (ординаты точек из области В меньше, чем ординаты точек на прямой)
    Эти три условия также должны быть соединены конъюнкцией.
    Так как исходная область представлена объединением областей А и В, то условия для А и В между собой должны быть соединены дизъюнкцией (оператор «ИЛИ»).
    Запишем условие на Паскале:
    (y>=x)and(y<=2-sqr(x))or(y<=2-sqr(x))and(y>=0)and(y<=x)
    Допишите программу самостоятельно.

  • Упражнения№1. Требовалось написать программу, которая вводит с клавиатуры коо...

    9 слайд

    Упражнения
    №1. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у – действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.
    var x, y:real;
    begin
    readln(x,y);
    if x*x+y*y>4 then
    if y>=-2 then
    if y<=x then
    write(‘Принадлежит’)
    else
    write(‘Не принадлежит’)
    end.
    Последовательно выполните следующее:
    Приведите пример таких чисел х и у, при которых программа работает неправильно.
    Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы.

  • Упражнения№2. Требовалось написать программу, которая вводит с клавиатуры коо...

    10 слайд

    Упражнения
    №2. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у – действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.
    var x,y:real;
    begin
    readln(x,y);
    if y<=x then
    if y<=-x then
    if y>=x*x-2 then
    write(‘Принадлежит’)
    else
    write(‘Не принадлежит’);
    end.
    В областях A, B, C, E1, E2, F не включаются границы закрашенной области D. Последовательно выполните следующее.
    1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих разным областям (A,B,C,D,E,F)

  • Упражнения№2. Требовалось написать программу, которая вводит с клавиатуры коо...

    11 слайд

    Упражнения
    №2. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у – действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.
    var x,y:real;
    begin
    readln(x,y);
    if y<=x then
    if y<=-x then
    if y>=x*x-2 then
    write(‘Принадлежит’)
    else
    write(‘Не принадлежит’);
    end.
    В областях A, B, C, E1, E2, F не включаются границы закрашенной области D.
    2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы.

  • Домашнее задание1.https://informatics.mccme.ru/mod/statements/view3.php?chapt...

    12 слайд

    Домашнее задание
    1.https://informatics.mccme.ru/mod/statements/view3.php?chapterid=112169#1
    2.https://informatics.mccme.ru/mod/statements/view3.php?chapterid=112172#1
    3.https://informatics.mccme.ru/mod/statements/view3.php?id=16730&chapterid=112171#1

  • Использованные источники1. Информатика: пособие для подготовки к ЕГЭ/ Е. Т. В...

    13 слайд

    Использованные источники
    1. Информатика: пособие для подготовки к ЕГЭ/ Е. Т. Вовк [и др.]; под ред. Е. Т. Вовк. – М.: БИНОМ. Лаборатория знаний, 2013. – 322 с.

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 144 786 материалов в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Другие материалы

Вам будут интересны эти курсы:

  • Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»

  • Курс повышения квалификации «Организация работы по формированию медиаграмотности и повышению уровня информационных компетенций всех участников образовательного процесса»

  • Курс повышения квалификации «Облачные технологии в образовании»

  • Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»

  • Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»

  • Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»

  • Курс повышения квалификации «Применение MS Word, Excel в финансовых расчетах»

  • Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»

  • Курс повышения квалификации «Современные тенденции цифровизации образования»

  • Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»

  • Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»


Пройти тестирование по этим заданиям
Вернуться к каталогу заданий

Версия для печати и копирования в MS Word

1

Задания Д24 C1 № 2801

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

Паскаль Бейсик

var x,y: real;

begin

readln(x,y);

if x*x+y*y>=4 then

if x>= –2 then

if y<= –x then

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

else

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

end.

INPUT x, y

IF x*x+y*y>=4 THEN

IF x>= –2 THEN

IF y<= –x THEN

PRINT «принадлежит»

ELSE

PRINT «не принадлежит»

ENDIF

ENDIF

ENDIF

END

Си++ Алгоритмический

int main()

{

float x,y;

cin >> x >> y;

if (x*x+y*y>=4)

if (x>= –2)

if (y<= –x)

cout << «принадлежит»;

else

cout << «не принадлежит»;

}

алг

нач

вещ x,y

ввод x,y

если x*x+y*y>=4 то

    если x>= –2 то

        если y<= –x то

            вывод ‘принадлежит’

        иначе

            вывод ‘не принадлежит’

        все

    все

все

кон

Python

x = float(input())

y = float(input())

if x*x+y*y >= 4:

    if x >= −2:

        if у <= -x:

            print(«принадлежит»)

        else:

            print(«не принадлежит»)

Последовательно выполните следующее.

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

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

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

Область Условие 1

(x*x+y*y>=4)

Условие 2

(x>= –2)

Условие 3

(y<= –x)

Программа выведет Область обрабатывается верно
A
В
С
D
Е
F
G
Н

2

Задания Д24 C1 № 3597

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

Паскаль Бейсик

var х,у: real;

begin

readln(x,y);

if x*x+y*y >= 4 then

if у >= −2 then

if у <= x then

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

else

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

end.

INPUT x, у

IF x*x+y*y >= 4 THEN

IF у >= −2 THEN

IF у <= x THEN

PRINT «принадлежит»

ELSE

PRINT «не принадлежит»

ENDIF

ENDIF

ENDIF

END

Си++ Алгоритмический язык

int main(void)

{ float x, у;

cin >> x >> y ;

if (x*x+y*y >= 4)

if (у >= −2)

if (у <= x)

cout << «принадлежит»;

else

cout << «не принадлежит»;

}

алг

нач

вещ х, у

ввод х, у

если x*x+y*y >= 4 то

если у >= −2 то

если у <= x то

вывод 1 принадлежит’

иначе

вывод 1 не принадлежит’

все

все

все

кон

Python

x = float(input())

y = float(input())

if x*x+y*y >= 4:

    if у >= −2:

        if у <= x:

            print(«принадлежит»)

        else:

            print(«не принадлежит»)

 Последовательно выполните следующее:

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

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

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

Область Условие 1

(x*x+y*y >= 4)

Условие 2

(у >= −2)

Условие 3

(у <= x)

Программа выведет Область обрабатывается верно
A
В
С
D
Е
F
G
Н

3

Задания Д24 C1 № 3629

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

Паскаль Бейсик

var x,y: real; begin

readln(x,y);

if y<=x+2 then

if x<=0 then

if x*x+y*y<=25 then

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

else

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

end.

INPUT x, y

IF y<=x+2 THEN

IF x<=0 THEN

IF x*x+y*y<=25 THEN

PRINT «принадлежит»

ELSE

PRINT «не принадлежит»

ENDIF

ENDIF

ENDIF

END

Си++ Алгоритмический язык

#include <iostream>

using namespace std;

int main(){

float x,y;

cin >> x >> y;

if (y<=x+2)

if (x<=0)

if (x*x+y*y<=25)

cout << «принадлежит»;

else

cout << «не принадлежит»;

}

алг

нач

вещ x,y

ввод x,y

если y<=x+2 то

если x<=0 то

если x*x+y*y<=25 то

вывод ‘принадлежит’

иначе

вывод ‘не принадлежит’

все

все

все

кон

Python

x = float(input())

y = float(input())

if y<=x+2:

    if x<=0:

        if x*x+y*y<=25:

            print(«принадлежит»)

        else:

            print(«не принадлежит»)

Последовательно выполните следующее.

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

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

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

Область Условие 1 (y<=2+x) Условие 2 (x<=0) Условие 3 (x*x+y*y<=25) Программа выведет Область обрабатывается

верно

A
В
С
D
Е
F
G
Н
K

4

Задания Д24 C1 № 3787

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

Бейсик Паскаль

INPUT х, у

IF x*x + у*у <= 49 THEN

IF x*x + у*у >= 16 THEN

PRINT «принадлежит»

ELSE

PRINT «не принадлежит»

ENDIF

END IF

END

var x, у: real;

begin

readln(x,y);

if x*x + y*y <= 49 then

if x*x + y*y >= 16 then

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

else

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

end.

Си++ Алгоритмический

#include <iostream>

using namespace std;

int main (void) {

float x,y;

cin >> x >> y;

if (x*x + y*y <= 49)

if (x*x + y*y >= 16)

cout << «принадлежит»;

else

cout << «не принадлежит»;

}

алг

нач

вещ х,у

ввод х,у

если х*х + у*у <= 49 то

если х*х + у* у >= 16 то

вывод ‘принадлежит’

иначе

вывод ‘не принадлежит’

все

все

кон

Python

x = float(input())

y = float(input())

if x*x + у*у <= 49:

    if x*x + у*у >= 16:

        print(«принадлежит»)

    else:

        print(«не принадлежит»)

Последовательно выполните следующее.

1.   Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D). Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите «да» или «нет».

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

Область Условие 1

(х*х+у*у <= 49)

Условие 2

(х*х+у*у >= 16)

Программа выведет Область

обрабатывается верно

A
В
С
D

5

Задания Д24 C1 № 3788

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

Бейсик Паскаль

INPUT х, у

IF х*х + у*у >=1 THEN

IF x*x + у*у >= 49 THEN

PRINT «принадлежит»

ELSE

PRINT «не принадлежит»

ENDIF

END IF

END

var x, у: real;

begin

readln(x,y);

if x*x + y*y >= 1 then

if x*x + y*y >= 49 then

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

else

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

end.

Си++ Алгоритмический язык

#include <iostream>

using namespace std;

int main (void) {

float x,y;

cin >> x >> y;

if (x*x + y*y >= 1 )

if (x*x + y*y >= 49)

cout << «принадлежит»;

else

cout << «не принадлежит»;

}

алг

нач

вещ х,у

ввод х,у

если х*х + у*у >= 1 то

если х*х + у* у >= 49 то

вывод ‘принадлежит’

иначе

вывод ‘не принадлежит’

все

все

кон

Python

x = float(input())

y = float(input())

if x*x + y*y >= 1 :

    if x*x + y*y >= 49:

        print(«принадлежит»)

    else:

        print(«не принадлежит»)

Последовательно выполните следующее.

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

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

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

Область Условие 1

(х*х+у*у >= 1)

Условие 2

(х*х+у*у >= 49)

Программа выведет Область

обрабатывается верно

A
В
С
D

Пройти тестирование по этим заданиям

Пусть необходимо определить попадает ли заданная точка с координатами (x,y) в заданную область:

В данном случае, очевидно, что точка (x,y) попадает на линию графика, если у=x. Точка попадает в закрашенную область, лежит выше линии графика, если y>x. Наконец, точка (x, y) лежит ниже линии графика, если yif y>x then writeln(‘Да, попадает’) else writeln(‘Нет’);

Аналогично, точка (x, y) попадает в закрашенную область,

если y>x2.

if y>x*x then writeln('Да, попадает')
         else writeln('Нет');

Рассмотрим попадание точки в круг. Уравнение окружности: x2+y2=r2, в представленном на рисунке случае r=1.

Точка (x, y) лежит на линии окружности, если расстояние до нее

$$l=sqrt{x^2+y^2}$$

, если l=r. Если l>r, то точка лежит вне окружности. Если l
readln(x,y);
l:=sqrt(x*x+y*y);
if l<1 then writeln(‘Да, попадает’)
else writeln(‘Нет’);

Для закрашенной области программный код имеет вид:

readln(x,y);
l:=sqrt(x*x+y*y);
if (l<1) and (y>x*x) 
    then writeln('Да, попадает') 
    else writeln('Нет'); 

Использование связок and, or весьма эффективно:

readln(x,y);
l:=sqrt(x*x+y*y);
if (l<1) and ((x>0) and (y>Sin(x)) or 
                (x<0) and (y<Sin(x))) 
				then writeln('Да, попадает')
                else writeln('Нет'); 

В демоверсии ЕГЭ 2010 была следующая графическая задача:

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

программа на паскале:

var x,y:real;
begin
  readln(x,y);
  if x*x+y*y >= 4 then
  if x > -2 then
  if y < -x then
    write('принадлежит')
  else
  write('не принадлежит')
end.

программа на бэйсике

INPUT X,Y 

IF X*X=Y*Y>=4 THEN
IF X>=-2 THEN
IF Y<=-X THEN
  PRINT "принадлежит"

ELSE
  PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF

END

программа на Си

void main(void) { 
  float x,y;
  scanf("%f%f",&x,&y);
  
  if (x*x+y*y>=4)
  if (x>-2)
  if (y<=-x)
    printf ("принадлежит");
  else
    printf("не принадлежит");
}

Последовательно выполните следующее:

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

В соответствии с приведенными программами нарисуем блок-схему алгоритма

из которой сразу видно, где программист сделал ошибку. Конструкция Else всегда отностится к ближайшему If. При X*X+Y*Y<4 программа НИЧЕГО НЕ ВЫВОДИТ. Это соответствует, например, точке X=1, Y=1. Из условия задачи достаточно указать ОДНУ точку.

Доработка программы:

var x,y:real;
	    begin 
		readln(x,y);
		if (x*x+y*y>=4) and(x>=-2) and (y<-x) 
		   then  write('принадлежит')
		   else  write('не принадлежит')
		end.
	

Однако, эта доработка также не верна! Она не учитывает тот факт, что Y≥0. Приведенная программа будет считать лишние точки принадлежащими закрашенной области.

Правильная доработка программы:

var x,y:real;
	    begin 
		readln(x,y);
		if (x*x+y*y>=4) and(x>=-2) 
		  and (y<-x) and (y>=0) 
		   then  write('принадлежит')
		   else  write('не принадлежит')
		end.

10класс.jpg

«A»: Напишите условие, которое определяет заштрихованную область.
1.jpg

Показать скрытое содержание

«B»: Напишите условие, которое определяет заштрихованную область.
2.jpg
«C»: Напишите условие, которое определяет заштрихованную область.
3.jpg

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

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

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

Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

begin

readln(x, y);

if y <= 3x*x then

if y >= 0 then

if y >= x+1 then

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

else

write(‘не принадлежит’);

end.

#include <stdio.h>

int main(void)  

{ float x, y;

scanf(%f %f, &x, &y);

if (y <= 3x*x)

if (y >= 0)

if (y >= x+1)

printf(″принадлежит″);

else

printf(″не принадлежит″);

}

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

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

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

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

Понравилась статья? Поделить с друзьями:
  • Как написать уравнять
  • Как написать уравнение электролитической диссоциации
  • Как написать уравнение электролиза
  • Как написать уравнение траектории
  • Как написать уравнение токообразующей реакции