Помогите пожалуйста исправить задачу по информатике на языке Pascal?

Информатика Паскаль Turbo pascal

Условия задачи:
Даны 2 действительных числа ''x'',''y''.Увеличить число ''x'' в два раза,если его дробная часть окажется больше дробной части числа ''y'',в противном случае уменьшить ''x''на единицу.
Пишу задачу:
Program lab2;
Uses crt;
Var x,y:real;
begin
clr scr;
writeln('vvedite x,y');
readln(x,y);
if (x-trunc(x))>(y-trunc(y)) then x:=x*x;
if (x-trunc(x))<(y-trunc(y)) then x:=x-1;
writeln('x=',x);
readln;
end.

Что тут написано не правильно?Пожалуйста те,кто что-нибудь в этом понимает подскажите?Очень прошу,срочно нужно.Заранее благодарен!!!

Примечание:
А как это исправить подскажите пожалуйста,я просто в этом совсем ничего не понимаю :(

Примечание:
Ввел всё как вы сказали,но он все равно не выполняет второе условие..
т.е теперь при проверке если дробная часть "x" больше дробной части числа "y" то он делает всё правильно и увеличивает число "x" в два раза,но если дробная часть оказывается меньше он не уменьшает "x" на единицу :(
как это исправить?!

Примечание:
А что такое компилятор?
вы можете полностью написать программу так,как она должна выглядеть.
просто очень обидно вроде бы правильно всё сделано,а при проверке какая-то ерунда выводится.

Примечание:
Сейчас моя программа выглядит следующим образом:

Program lab2;
Uses crt;
Var x,y:real;
begin
clrscr;
writeln('vvedite x,y');
readln(x,y);
if (x-trunc(x))>(y-trunc(y)) then x:=2*x else x:=x-1;
writeln('x=',x);
readln;
end.

Примечание:
Вводил следующие тесты:
сначало x=1.3 y=1.2 и он делал всё правильно увеличивая x в два раза получал 2.5999999
затем ввожу x=1.3 y=1.4 а он пишет 2.999999 хотя по идее должен уменьшать х на единицу.
Ответы:
x:=x*x;
это возведение во 2 степень
вам нужно  x:=2*x;
к тому же не учтен случай равенства дробных частей
1. Процедуры "clr scr" не существует, существует "clrscr".
2. По условию нужно x увеличить в 2 раза, а не возвести во 2-ю степень, т.е. нужно x:=2*x;
3. 2-й условный оператор лишний.
Странно, но строчка if (x-trunc(x))>(y-trunc(y)) then x:=2*x else  x:=x-1; должна работать как часы. Может у Вас с компилятором проблемы?


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.