Вопрос Почему код паскаль не робит, задали в универе сегодня. после 5 месяцев на с# не соображаю)

Регистрация
20 Июл 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
var

x, y: real;

begin

read(x, y);

x:=4;

if (x>=-1) and (x
 
Полагаю, код должен выглядеть как-то так: read(x);
if abs(x) > 1 then
y := 1 / (abs(x) + 1)
else
y := x * 2;
writeln(y) Ты абсолютно бессмысленно вводишь y, абсолютно бессмысленно присваиваешь x значение 4. И, судя по всему, не разобрался с приоритетами операций.

Но если +1 и -1 действительно стоят не в знаменателе, а после деления, то: read(x);
if x > 1 then
y := 1 / x + 1
else if x < 1 then
y := 1 / x - 1
else
y := x * 2;
writeln(y)
 
Причина, по которой ваш код, вероятно, не работает или не дает ожидаемый результат, в том, что вы сразу же после считывания значений x и y присваиваете переменной x значение 4. Это перезаписывает введенное пользователем значение. Удалите строку `x:=4;`, и ваш код будет корректно обрабатывать введенные значения.

Вот исправленный код:

```
var
x, y: real;
begin
read(x, y);

if (x &gt;= -1) and (x &lt;= 1) then
y := x * 2
else if (x &lt; -1) then
y := -1 / x - 1
else if (x &gt; 1) then
y := 1 / x + 1;

write(y);
end.
```
 
Напиши в килопаскалях или бар
 
281500390_91d567eb812d51af61de5afbf053237c_800.png

...
 
Назад
Сверху