рекламная строчка Nolix

понедельник, 6 апреля 2020 г.

Директива #if в языке С

Об одном нюансе относительно использования директивы #if почему-то редко пишут в учебниках, поэтому на этом нюансе нередко спотыкаются новички. В этой статье мы рассмотрим этот нюанс.
Напомним, что директива #if является одной из директив препроцессора в языке С (как и, само собой, в языке С++). Вспомним также, что препроцессор - это программа, которая занимается подготовкой кода, написанного программистом, к компиляции. То есть тот код, который будет скомпилирован и впоследствии будет выполнятся при запуске программы, зависит от того, как отработает препроцессор.
Существует понятие условная компиляция. Суть его заключается в том, что в зависимости от некоторых условий будет скомпилирован тот или иной код. И вот одной из директив (по- простому говоря, команд) условной компиляции и является директива #if.
Синтаксис этой директивы такой:

#if константное_выражение последовательность операторов #endif
Если константное_выражение имеет ненулевое значение, тогда выполняется последовательность операторов.
Часто в учебниках не упоминают о том, что это константное_выражение обязательно должно быть целочисленным. И совсем редко пишут о том, что в этом константном выражении не могут использоваться целочисленные константы.
Напомним, что именованные константы - это такие константы, которые объявляются с применением спецификатора const, например, так:

const int M = 10;
Почему же нельзя в выражении, стоящем после #if, использовать именованные константы? Потому что директива #if используется еще на этапе препроцессинга, а компьютер на этом этапе еще не знает, что некоторая константа (например, вышеупомянутая M) имеет значение, например, 10. Поэтому такая программка (см. ниже) не приведет к выводу на экран текста "It's OK", как мог бы ожидать автор этого кода.

int main()
{
         const int M = 10;
         #if M == 10
                 cout << "It's OK\n";
        #endif
}


Для решения проблемы достаточно задать константу M другим способом - с помощью директивы #define:

#define M 10
int main()
{
    #if M == 10
          cout << "It's OK\n";
    #endif
}

среда, 28 августа 2019 г.

Необитаемые берега

Оказывается, и в разгар летнего сезона на побережье Черного моря есть места, не оккупированные отдыхающими. Люди там - явление довольно редкое, так что птицы - многочисленные обитатели этих мест - с возмущением перекрикиваются при приближении непрошеного двуногого гостя.
Дельфины - не редкость в этих местах. Они стаями подплывают к берегу и, весело выныривая из прозрачной сине-голубой стихии, показывают солнцу свои  загорелые спины. В пределах десятков километров тут - на юге Одесской области - нет ни промышленных предприятий, ни крупных населенных пунктов.
Если вы хотите почувствовать себя на необитаемом острове, то вам сюда...








воскресенье, 25 августа 2019 г.

Поздравление с Днем независимости Украины

Вот как меня поздравили с Днем независимости Украины.

Здравствуйте, Варфоломей Полиграфович. Абстракт.Поздравляю Вас с Днём Независимости страны вашей. Суммари. К сожалению, в определении этого Великого праздника отсутствуют пояснения, то есть нет ответов на отсутствующие вопросы.Хочу восполнить этот пробел, так как информация возникает только тогда, когда поставлены вопросы, для чего обычно предварительно ученые мужи вводят аксиоматику,определяют категории и напрягают общество осознанием проблем,путей,методов и исторических ролей. Восполнение.Что такое независимость и почему она вообще возникает,от чего она не зависит и в чем она состоит, чем обеспечивается и на что направлена, для чего потребна и чего требует,что даёт и на чем основывается, нужна ль она и для чего, какова она и сколько стоит? Вариант.Самым правильным ответом, предполагаю, будет тот, который дал ваш земляк Остап шахматному любителю на открытом чемпионате Васюков. Ответ прост, внятен и доходчив. Однако я уверен, что высокоинтеллектуальный Остап в глубине души, которая всеми белыми штанами искренне рвалась в Рио, не был доволен тем своим ответом, так как понимал, что в этом конкретном случае он, хотя и закончил тот эпизод успехом (унёс ноги вместе с кассой), но не добился того успеха с присущей ему элегантностью. Итого.Желаю Вам элегантности во всех делах Ваших НЕЗАВИСИМО ни от каких обстоятельств. Желаю лично Вам именно такой независимости. Ура.

-- С уважением, Гавриил Федорович Кренделёв, к.т.н.

пятница, 2 августа 2019 г.

Развитие M2M, IoT и IIoT в Украине

В последние годы стремительно набирает обороты распространение услуг M2M (Machine-to-Machine), обеспечивающие передачу данных между двумя устройствами. Как показывает мировой опыт, при внедрении 4G на услуги M2M резко возрастает спрос. Украинский оператор Киевстар имеет уже 1,6 млн. активных пользователей M2M, а к концу 2019 года ожидается, что количество подключений услуг M2M в Киевстар возрастет на 1,9 млн.
Еще бурное развитие ожидается благодаря внедрению различных услуг в рамках концепции IoT (интернет вещей), производящей фактически революционные изменения в мире. Продуманное и системное внедрение IoT может привести к значительному росту экономики за счет увеличения производительности труда и сокращения затрат (особенно ощутимо это в таких отраслях экономики, как транспорт, производство, здравоохранение, сельское хозяйство, благоустройство городов). Киевстар рассматривает IoT как фундамент для разработки новых телекоммуникационных услуг. Согласно исследованиям экспертов, потенциал рынка IIoT (промышленный интернет вещей) таков:

Индустрия
Потенциал подключенных устройств (млн. шт.)
Умное предприятие
25
Электрификация
15
Водоснабжение
15
Умное освещение
5
Газоснабжение
5
Умный город
10

воскресенье, 21 июля 2019 г.

Село Схидныця (фото и видео)

Село Схидныця - это расположенный в Прикарпатье курорт, славящийся большим количеством минеральных вод типа "Нафтуся". В последние годы Схидныця быстро набирает популярность как альтернатива более известному курорту Трускавец.
Схидныця - это не только замечательное место для лечения множества заболеваний, но и живописнейший уголок прикарпатской природы, окруженный дикими лесами.
В этой местности, кстати, когда-то добывали нефть.

понедельник, 17 июня 2019 г.

Звуки природы (шум моря)

Видео для тех, кто страдает бессонницей или просто хочет побыстрее заснуть под звуки морского прибоя. Ну или для тех, кто хочет, чтобы его нервная система была не очень нервной:
Приятных снов!

воскресенье, 9 июня 2019 г.

Анекдот про парашютиста

Анекдот, вообще-то, не особенно смешной, но пусть будет...
Один состоятельный мужчина решил однажды прыгнуть с парашюта. Пришел он в клуб парашютистов и говорит: "Хочу прыгнуть с парашюта".
Ему инструктор отвечает: "Ну надо тогда двухмесячные курсы пройти".
- Нет, курсы - это долго. Я хочу прыгнуть парашюта уже завтра. Я хорошо заплачу, - отвечает мужчина.
- Ну ладно, - говорит инструктор, - мы вам сегодня покажем, а завтра уже прыгнете. Одевайте снаряжение.
Мужчина одел снаряжение.
Инструктор продолжает:
- Вот смотрите, здесь циферблат. Когда он станет краснеть, дергайте за ручку, тогда парашют раскроется.
- А что если я вовремя не дёрну?
- Ну тогда уже будет поздно. Ну да вы не переживайте, мы вам в таком случае деньги вернём!