Составить программу, которая запрашивает у пользователя год количество дней в текущем...

0 голосов
153 просмотров

Составить программу, которая запрашивает у пользователя год количество дней в текущем месяце и сегодняшнее число. После этого выводит сообщение о том, сколько дней осталось до конца месяца.(программа в виде таблицы с ромбом,паралело-мм ,прямоугольником и т.д. Пример работы программы: Сколько дней в текущем месяце?31 Какое сегодня число?26 Количество дней до конца текущего месяца: 5.


image
image

Информатика (56 баллов) | 153 просмотров
0

в общем, в вычислениях там только добавить в 1 a-b (дней в месяце - число), в выводе результатов это же, и все

0

Спасибо

Дан 1 ответ
0 голосов

написал на js. по аналогии и на паскаль можно:

начало

var year = prompt('Какой сегодня год?'); ввод


var days = prompt('Сколько дней в текущем месяце?'); ввод


var today = prompt('Сегодняшнее число?'); ввод



var total = +days - +today; вычисление


alert('До конца месяца осталось: ' + total); вывод

конец

(55 баллов)
0

Я, к примеру, тоже люблю вместо "Math.floor" использовать "| 0", но, в отличие от плюса в пустоту, это не неочевидное и не тупое решение. Ты сильно удивишься, если попробуешь в этом выражении использовать строки как строки.

0

я к тому, что если вместо минуса ты попробуешь подставить плюс Без перевода в числовое значение то тебе выведет сдожение двух строк, что бы этого избежать нужно перевести строки в числовое значение. либо Number(), либо как я писал уже выше + перед переменной.

0

Верно. Если JS увидел в цепочке сложений строку, то все слагаемые он принимает за строки и выполняет конкатенацию. Попытка же включить в это выражение числовые операции просто выдаст "Не число" (NaN).

0

И тут ты такой предлагаешь записать это как "+д + +м". Ну я бы за такой код своим программистам бы клавиатуру об голову разбивал.

0

без перевода сложение чисел не будет.

0

Да. Поэтому их надо перевести, но в момент получения из prompt, а не не пойми где. И в реальном коде выдать ошибку, если то не число, прямо там, а не по ходу вычислений.

0

И не плюсом, потому что плюс подействует только на корректное число.

0

в данном случае плюс явлеятся унарным оператором и поэтому, никакой ошибки нету.

0

Да, я и не спорю. Проблема только в том, что тут они абсолютно лишние, а будучи применёнными на практике, сильно снижают читаемость кода и могут провоцировать не самые очевидные логические ошибки. Унарный плюс - это плохая практика в данном случае.

0

согласен, выше писал что по привычке написал.