В 3 года моя дочка вместо "капюшон" говорила "кашипитон".
Я и мои сверстники где-то в 8-9 лет не могли без усилий произнести фамилию писателя Гюго
(Козетта, Гаврош из "Отверженные"). "Пю", "Гю" - чуть сложнее для артикуляции, чем "Па", "Га".
Англичанам, говорят, проще произнести "Татанья" вместо "Татьяна". Это преамбула.
Собственно по сабжу. Детский лепет в языках программирования.
Задача. В логическую переменную b нужно записать результат - равно a единице, или нет.
На Паскале.
1. По-взрослому:
b:=a=1;
2.
По-детски:
if a=1 then b:=true else b:=false;
более жуткий вариант:
if ((a=1)=true) then b:=true else if ((a=1)=false) then b:=false; :lool:
Где-то такое направление.
Более глубокий уровень (в котором я не копенгаген) - наверное, не всегда из языковой компактности
следует компактность машинного кода.
Детский лепет
Детский лепет
Последний раз редактировалось grigoriy 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
ну вся проблема в том- что это работает только на паскале, на C/C++ это не работает, поэтому это лишь особенности языка Паскаль, и в том что вы назвали "по детски" ничего плохого не вижу
а если хотите увидеть нечто действительно жуткое то вот [url=http://govnokod.ru]http://govnokod.ru[/url]
а если хотите увидеть нечто действительно жуткое то вот [url=http://govnokod.ru]http://govnokod.ru[/url]
Последний раз редактировалось k1ng1232 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Почему?k1ng1232 писал(а):Source of the post ну вся проблема в том- что это работает только на паскале, на C/C++ это не работает...
C++
Код: Выбрать все
b = (a == 1);
Код: Выбрать все
b = (a .eq. 1)
Последний раз редактировалось Wild Bill 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
- homosapiens
- Сообщений: 8400
- Зарегистрирован: 16 июн 2008, 10:02
Детский лепет
b = (a == 1);
Борланд дебилдер такую конструкцию временами не воспринимает. Но это не значит, что ей не стоит пользоваться. Это значит, что дебилдер - фигня.
Последний раз редактировалось homosapiens 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Wild Bill писал(а):Source of the postПочему?k1ng1232 писал(а):Source of the post ну вся проблема в том- что это работает только на паскале, на C/C++ это не работает...
C++FortranКод: Выбрать все
b = (a == 1);
Код: Выбрать все
b = (a .eq. 1)
а ну да, точно
Последний раз редактировалось k1ng1232 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Код: Выбрать все
b = !(a-1);
Последний раз редактировалось uxx 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Мы часто забываем, что сравнения точные такие же операции, как сложение и умножение.
Последний раз редактировалось Wild Bill 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
А это уже зависит от реализации языка, компилятора, вдруг там true и false не 1 и 0?
Последний раз редактировалось Wild Bill 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Wild Bill не правда. Преобразование типов int -> bool регламентировано стандартом.
Последний раз редактировалось uxx 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Детский лепет
Тогда
Если бы все компиляторы поддерживали стандарт... Почитайте сообщение Homo Sapiens.
Код: Выбрать все
b = !(bool)(a-1);
Последний раз редактировалось Wild Bill 28 ноя 2019, 19:55, всего редактировалось 1 раз.
Причина: test
Причина: test
Вернуться в «Computer Science»
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 26 гостей