Страница 1 из 1

На основе года получать количество месяцев в феврале

Добавлено: 09 апр 2018, 09:41
bamik
Задача: на основе переменной выдать то или иное значение. Причем решение принимается путем вычисления из данных переменной.
Понимаю, что тупой вопрос, но не нашел, как это сделать с помощью стандартных блоков.
Конкретно, хочу на основе года получать количество месяцев в феврале. Или как минимум выяснять високосный ли год.
Или блок пользователя писать? Пока другого пути не вижу.

Отправлено спустя 4 минуты 54 секунды:
Возможно ли создать такой блок, чтобы на одном входе были данные, а на втором некое выражение на С++? Внутри этого блока в это выражение вставлялись бы данные, и оно вычислялось. А результат на выход.

Вычисляющий блок

Добавлено: 09 апр 2018, 10:10
Sancho
bamik писал(а): 09 апр 2018, 09:41Конкретно, хочу на основе года получать количество месяцев в феврале. Или как минимум выяснять високосный ли год.
Количество дней в феврале вычисляется просто - если остаток от деления года на 4 равен нулю - год високосный. Увы, modulo пока отсутствует в программе, придётся сделать( или взять на форуме) пользовательский блок.

Вычисляющий блок

Добавлено: 09 апр 2018, 10:25
Phazz
примерно так
[spoiler]
Screenshot_5.png
[/spoiler]

Вычисляющий блок

Добавлено: 09 апр 2018, 10:55
Sancho
[ref]Phazz[/ref], Я дико извиняюсь - но жестоко...
Может так?
Внутри:

Код: Выделить всё

if(  Year  % 4) Fevral  = 28;
else  Fevral  = 29;

Вычисляющий блок

Добавлено: 09 апр 2018, 11:05
bamik
Проблема в том, что это не полная проверка на високосность.
(year > 1582 && year % 4 == 0 && (year % 100 == 0 && year % 400 != 0)
Вот полная.

Отправлено спустя 1 минуту 51 секунду:
Так короче.
(year > 1582 &&!( year % 4) && (!(year % 100) && year % 400)