
Последовательно выполните следующее:
1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).
ПРОГРАММА НА ПАСКАЛЕ | ПРОГРАММА НА БЕЙСИКЕ | ПРОГРАММА НА СИ |
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= –1, y= –3 (Любая пара (x,y), для которой выполняется: x2+y2<4 или x< –2 или (y<0 и y<= –x))
- Возможная доработка (Паскаль):
if (x*x+y*y>=4) and (x>= –2) and (y<= –x) and (y>=0) then
write('принадлежит')
else
write('не принадлежит')

