Консультация № 182966
26.04.2011, 22:29
58.26 руб.
0 3 1
Здравствуйте! У меня возникли сложности с таким вопросом:


В программе нужно исправить условие(То, что в конце программы).

Program lab2;
uses crt;
var u,x,y,z:real; a,b,c,n:integer;
Begin
Clrscr;
writeln ('BBEDITE a,b,c:');
readln (a,b,c);
n:=0;
if (a>=-2) and (a<=2) then n:=n+1;
if (b>=-2) and (b<=2) then n:=n+1;
if (c>=-2) and (c<=2) then n:=n+1;
if n=3 then
Begin
x:=a;
y:=b;
z:=c;
End
else
if n=0 then
Begin
x:=a/5;
y:=b/4;
z:=c/10;
End
else
Begin
if a<b then x:=a
else x:=b;
if b>c then y:=b
else y:=c;
z:=x+y;
End;
writeln ('x=',x:5:2,'y=',y:5:2,'z=',z:5:2);

if (y>=-1) and (y<=1) and (x>=-3) and (x<=-2) then U:=sqr(abs(X*Y))*abs(X*Y)
else
if (sqr(x)+sqr(y)<=1) and (x>=0) then U:=ln(abs(sqr(x)-sqr(Y)))
else U:=Z-X;
writeln ('u=',u:7:2);
readln;
End.

Обсуждение

Неизвестный
26.04.2011, 23:31
общий
На картинке обе области обозначены как D1. Какую из двух следует считать D2?
Неизвестный
26.04.2011, 23:35
общий
Слева D1, справа D2
Неизвестный
26.04.2011, 23:49
общий
это ответ
Здравствуйте, Андрей!
В случае именования областей слева-направо условие может быть таким:
Код:
if (((x >= -3) and (x <= -2)) and ((abs(y) <= 1))) or (((x >= -2) and (x <= -1)) and ((y >= -1) and (y <= 0))) then
U := abs(sqr(X*Y)*X*Y)
else if ((x >= 0) and (y >= 0) and (sqr(x) + sqr(y) <= 1)) then
U := ln(abs(sqr(x) - sqr(y))
else
U := Z - X;

В противном случае первые две операции вычисления U следует поменять местами.
5
Форма ответа