Автор - hlopa96

1) Требовалось написать программу, которая вводит с
Клавиатуры координаты точки на плоскости (x, y -
действительные числа) и определяет принадлежность точки
заштрихованной области, включая ее границы. Программист
торопился и написал программу неправильно. Вот она:
var x, y: real;
begin
readln(x, y);
if y >=0 then
if y <= 1 then
if x >=0 then
if x <= pi then
ify = sin(x) then write('принадлежит')
else write('не принадлежит');
end.
Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых
программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу.
чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами,
поэтому можно указать любой способ доработки исходной программы).

Ответ

Автор - Ziorar

Ответ:

Примеры чисел x, y, при которых  программа неверно работает:

1, 0  (пишет не принадлежит, а должна писать принадлежит)

3, 1  (пишет не принадлежит, а должна писать принадлежит)

2, 2  (ничего не пишет, а должна писать не принадлежит)

Пример доработки программы:

var

x, y: real;

c: string;

begin

readln(x, y);

c := 'не принадлежит';

if y >= 0 then

if y <= 1 then

if x >= 0 then

if x <= pi then

if (x > pi / 2) or (y <= sin(x)) then c := 'принадлежит';

write(c);

end.

Ещё пример доработки программы:

var

x, y: real;

begin

readln(x, y);

if y >= 0 then

if y <= 1 then

if x >= 0 then

if x <= pi then

if (x > pi / 2) or (y <= sin(x)) then write('принадлежит')

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

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

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

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

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

end.

Объяснение:

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

А для точек вне прямоугольника она не писала никакого ответа, т.к. сообщение "не принадлежит" выводится после else, которое принадлежит к последнему if, а до него дело даже и не доходит, ведь срабатывает одно из четырёх условий, идущих перед ним.

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

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2026 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation