
Область ограничена осями координат и прямыми y = 3 – 2x и x = 3 – 2y.
Программист торопился и написал программу неправильно.
Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой правильный способ доработки исходной программы).
ПРОГРАММА НА ПАСКАЛЕ | ПРОГРАММА НА БЕЙСИКЕ | ПРОГРАММА НА СИ |
var x,y: real; begin readln(x,y); if x>=0 then if y>=0 then if y<=3-2*x then if x<=3-2*y then write('принадлежит') else write('не принадлежит') end. | INPUT x, y IF x>=0 THEN IF y>=0 THEN IF y<=3-2*x THEN IF x<=3-2*y THEN PRINT "принадлежит" ELSE PRINT "не принадлежит" ENDIF ENDIF ENDIF END | void main(void) { float x,y; scanf("%f%f",&x,&y); if (x>=0) if (y>=0) if (y<=3-2*x) if (x<=3-2*y) printf("принадлежит"); else printf("не принадлежит"); } |
Решение задачи №4
1) Пример: x=2, y=2 (Любая пара (x,y), для которой выполняется x<0 или y<0 или y>3–2x или x>3–2y).
2) Возможная доработка (Паскаль):
if (x>=0) and (y>=0) and ((y<=3-2*x) or (x<=3-2*y))then
write('принадлежит')
else
write('не принадлежит')

