profile
Размещено 5 лет назад по предмету Информатика от avgfresco

помогите найти ошибку



задача:
Введите с клавиатуры число. Если оно отрицательное, то выведите на экран его модуль. Если дробное – выведите на экран его целую часть, дробную часть, а также округлите до ближайшего целого. Если число не подходит по условию – оставьте его без изменения.​

  1. Ответ на вопрос
    Ответ на вопрос дан KnowsUser1

    Ответ:

    Тот момент, когда попытка ужать всё в одну строку привела не к красивому коду, а к куче мусора, в которой ничего не понятно. Во первых, в чём смысл применения функций int() и frac() к целому числу (n : integer), если у него нет дробной части? Во вторых - оператор and используется для логических выражений. Список аргументов Writeln() передаётся в функцию через запятую. Так же Pascal не переварит условие 'if frac(n)' т.к логическое выражение в условии оператора if должно возвращать boolean, но никак не не число. Это не JS или пайтон, которые молча хавают такие выражения и не давятся. Паскаль - статически типизированный язык, он не может проводить неявные приведения типов в зависимости от ситуации.

    Пример примерно рабочего кода:

    begin

     var n := ReadReal('введите число: ');

     if n < 0 then Print(abs(n))

     else if frac(n) <> 0 then Println(int(n), frac(n), round(n))

     else Println('Вне диапазона', n);

     

    end.

    Объяснение:

    1. Ответ на вопрос
      Ответ на вопрос дан KnowsUser1
      Ну, С++ постоянно обновляется, современный стандарт наверняка тоже переварит. Просто когда писал, первое что пришло в голову - эти два небрата-акробата, для которых смысл жизни - неявные приведения типов и куча весёлых неочевидных моментов, особенно у JS, например его знаменитый '9' + 1 = '91', a 9 + '1' = 91, или true + true + true + false = 3 =)
    2. Ответ на вопрос
      Ответ на вопрос дан SpitefulSpamer
      В JS преобразования жуткие =)
    3. Ответ на вопрос
      Ответ на вопрос дан avgfresco
      спасибо за помощь
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.