
12.09.2009, 13:33
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами:
8912059
Репутация:
249
|
|
Код:
program z1n17;
uses crt;
var
x,t: real;
begin
clrscr;
writeln ('Enter X,T');
read(x,t);
{ ШАГ 1 }
if (x < 0) and (t < 0) then
begin
x:=abs(x);
t:=abs(t);
clrscr;
writeln('Result:');
writeln('|X|=', x:5:3, ' and |T|=', t:5:3);
readkey;
exit;
end;
{ ШАГ 2 }
if (x < 0) or (t < 0) then
begin
x:=x+0.5;
t:=t+0.5;
clrscr;
writeln('Result:');
writeln('X+0.5=', x:5:3, ' and T+0.5=', t:5:3);
readkey;
exit;
end;
{ ШАГ 3 }
{Проверяем условия по порядку}
if (x>t) and (t>0) then
if ((x<0.5) or (x>2)) and ((t<0.5) or (t>2)) then
begin
x:=x*10;
t:=t*10;
clrscr;
writeln('Result:');
writeln('X*10=', x:5:3, ' and T*10=', t:5:3);
readkey;
exit;
end;
clrscr;
writeln('Result:');
writeln('X=', x:5:3, ' and T=', t:5:3);
writeln;
writeln('Without changes');
readkey;
end.
мну ушел. Вроде все так, все должно работать.
если Х < 0, то X и Т заменить модулем. Если так то заменить первое условие на if (x < 0). Но тогда второе не будет выполнятся никогда. Так что ты скорее всего ошибся, когда написал нам условие, а в коде сделал все верно.
Последний раз редактировалось Dosia; 12.09.2009 в 13:51..
|
|
|