Задача: на основе переменной выдать то или иное значение. Причем решение принимается путем вычисления из данных переменной.
Понимаю, что тупой вопрос, но не нашел, как это сделать с помощью стандартных блоков.
Конкретно, хочу на основе года получать количество месяцев в феврале. Или как минимум выяснять високосный ли год.
Или блок пользователя писать? Пока другого пути не вижу.
Отправлено спустя 4 минуты 54 секунды:
Возможно ли создать такой блок, чтобы на одном входе были данные, а на втором некое выражение на С++? Внутри этого блока в это выражение вставлялись бы данные, и оно вычислялось. А результат на выход.
На основе года получать количество месяцев в феврале
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Вычисляющий блок
Количество дней в феврале вычисляется просто - если остаток от деления года на 4 равен нулю - год високосный. Увы, modulo пока отсутствует в программе, придётся сделать( или взять на форуме) пользовательский блок.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Phazz
- Полковник
- Сообщения: 3125
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Вычисляющий блок
примерно так
[spoiler] [/spoiler]
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Вычисляющий блок
[ref]Phazz[/ref], Я дико извиняюсь - но жестоко...
Может так?
Внутри:
Может так?
Внутри:
Код: Выделить всё
if( Year % 4) Fevral = 28;
else Fevral = 29;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Вычисляющий блок
Проблема в том, что это не полная проверка на високосность.
(year > 1582 && year % 4 == 0 && (year % 100 == 0 && year % 400 != 0)
Вот полная.
Отправлено спустя 1 минуту 51 секунду:
Так короче.
(year > 1582 &&!( year % 4) && (!(year % 100) && year % 400)
(year > 1582 && year % 4 == 0 && (year % 100 == 0 && year % 400 != 0)
Вот полная.
Отправлено спустя 1 минуту 51 секунду:
Так короче.
(year > 1582 &&!( year % 4) && (!(year % 100) && year % 400)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость