Карта сайта

Это автоматически сохраненная страница от 25.11.2021. Оригинал был здесь: http://2ch.hk/b/res/258501061.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Чтв 25 Ноя 2021 07:55:33
Анончик, родчечний, помоги тупому. Я не могу
Анончик, родчечний, помоги тупому. Я не могу
Анончик, родчечний, помоги тупому.
Я не могу прочитать и осознать подчеркнутый участок кода (на остальное прошу не обращать внимания - это просто обрывки разных кодов из обучаторов).
Я читаю: пока выполняется условие (от второго операнда отнимается единица) первый операнд умножается на самого себя. Т.е., ясно что он будет возводиться в степень, понятна механика происходящего: от второго операнда (степени) отняли единицу, первый операнд (возводимое в степень число) самоумножился, от второго операнда опять отняли единицу, первый снова самоумножился...
Непонятно, откуда компилятор знает, что когда op2 станет равным 0 из цикла необходимо выйти? Почему op2 не уходит в отрицательные значения и цикл не становится бесконечным? Я не вижу в коде этого ограничения и не врубаю, почему компилятор останавливается, когда op2 принимает нулевое значение.



Чтв 25 Ноя 2021 07:56:38
Там написано
твоя мать завтра умрет если не ответишь в этот тред

Чтв 25 Ноя 2021 07:58:17
>>258501061 (OP)

Наверное значение 0 в условии цикла преобразуется в false, что и ведет к выходу из цикла.

Чтв 25 Ноя 2021 07:59:22
>>258501061 (OP)
Это некачественный язык программирования с автоматическим приведением типов +индусский код

Чтв 25 Ноя 2021 07:59:52
>>258501061 (OP)
Это че, шарпы? Скорее всего 0 примется за false, но код, конечно, по-уебански написан. Нельзя было явно прописать условие?

Чтв 25 Ноя 2021 08:00:54
ОП, перестань писать говнокод, нахуя ты это делаешь

Чтв 25 Ноя 2021 08:02:48
Это крестики, анончики.
>>258501118
>>258501155
Но почему 0 в условии цикла считается за false? Чем это определяется?
Бампать буду хачихами


Чтв 25 Ноя 2021 08:03:47
>>258501179
Учусь же.


Чтв 25 Ноя 2021 08:04:41
>>258501061 (OP)
Потому что 0 в цикле - это условие выхода в твоём языке программирования (даже если это цифра)

Чтв 25 Ноя 2021 08:05:05
>>258501061 (OP)
Какая мразь пишет в одну строчку функции?

Чтв 25 Ноя 2021 08:05:18
[email: sage]

>>258501232
Булева алгебра. Слышал когда-нибудь? Чему вас только учат...

Чтв 25 Ноя 2021 08:06:19
>>258501232
В языке c++ присутствует автоматическое приведение типов. Целое число можно привести к типу bool по таким правилам: если число равно 0, то false, иначе true. Соответственно, в условии цикла чисто автоматически приводится к true, пока op2 не станет 0

Чтв 25 Ноя 2021 08:06:25
>>258501232
Особенности языка, так принято, что 0 интовый в ситуациях проверки на true/false - это false. Но что мешает переписать нормально код, а не обмазываться говной?

Чтв 25 Ноя 2021 08:07:29
>>258501155
В шарпе как раз-таки из-за строгой типизации подобный код работать не будет. Условие выхода из цикла это всегда bool, цифры не допускаются

Чтв 25 Ноя 2021 08:08:43
>>258501061 (OP)
Нахуя тебе кресты? Учи джаву она простая.

Чтв 25 Ноя 2021 08:09:25
>>258501355
>простая
>официально самый сложный императивный язык программирования после крестов
Да-да.

Чтв 25 Ноя 2021 08:10:13
[email: sage]

>>258501370
Джава учится за выходные. Вот спринг...

Чтв 25 Ноя 2021 08:13:54
>>258501385
Собсна спринг тоже учится за 3-4 дня если не зарываться во всякие сесурити и т.д.

Чтв 25 Ноя 2021 08:14:35
>>258501284
Я сам учусь, вкатываюсь же.
>>258501302
Спасибо, b/ро. В говноуроках, по которым я тренируюсь, про это ни слова, блядь.
>>258501307
А как бы следовало написать на С++ функцию возведения в степень максимально лаконично и грамотно?

Чтв 25 Ноя 2021 08:15:42
>>258501355
Чтобы поесть говна и как можно лучше понять суть погромирования.
Когда решу, что наелся, перекачусь в С# или что-нибудь другое, чтобы писать говноигрульки

Чтв 25 Ноя 2021 08:17:03
>>258501487
>максимально лаконично и грамотно?
Не надо лаконично, надо так, чтобы любой студентик мог понять твой код. В примере только условие выхода из цикла переписать, либо добавить камент, про 0 = false

Чтв 25 Ноя 2021 08:17:42
>>258501511
Говна ты знатно поешь а вот насчет понятия сути не уверен. ООП как бы для всех языков одинаковый, лучше уж брать что полегче типа жабы или шарпов.

Чтв 25 Ноя 2021 08:18:50
>>258501487
Конкретно для этого случая лучше в условии цикла поставить проверку op2 == 0, чтобы потенциально читателю (тебе) было ясно, что делает код. И функции не стоит писать в одну строку, лучше каждую операцию писать с новой строки. И ещё одна мелочь, лучше переменные именовать по тому, что они делают (например, не op2, а power)

Чтв 25 Ноя 2021 08:21:14
>>258501061 (OP)
>Программировать
>В 2к21
Ща нейронки уже давно код пишут.

Чтв 25 Ноя 2021 08:21:35
>>258501487
> op2 == 0
!=, разумеется.

Чтв 25 Ноя 2021 08:22:52
>>258501659
Знаем мы такие нейронки. Миллард долларов потрачено а там сидит студентик внутри.

Чтв 25 Ноя 2021 08:26:35
>>258501579
>в условии цикла поставить проверку op2 == 0
Ну пздц, почему я сам не додумался? Спасибо.
>>258501556
>Говна ты знатно поешь а вот насчет понятия сути не уверен
Кресты настолько ужасны?
>>>258501538
Ок, тоже спасибо.

чмо благословил этот пост.


Чтв 25 Ноя 2021 08:28:42
>>258501787
Кресты никому не нужны. И да они настолько ужасны потому что все выделения и очистки памяти будешь делать ручками. И там куча другой хуйни. Лучше брать что-нибудь более ориентированное на рынок.

Чтв 25 Ноя 2021 08:30:19
>>258501833
Давно уже smart pointers завезли.

Чтв 25 Ноя 2021 08:34:53
>>258501787
Плюсы имеют намного меньше встроенных абстракций, чем многие другие популярные языки программирования. Из-за этого сложно работать на больших проектах. Конечно, сейчас стараются сделать множество вспомогательных фич для упрощения разработки, но учить плюсы с нуля может быть довольно трудно

Чтв 25 Ноя 2021 09:18:06
>>258501061 (OP)
Тред не читал. В С/С++ и ещё в кучи других языков 0 == false

Чтв 25 Ноя 2021 09:44:58
>>258501061 (OP)
>Непонятно, откуда компилятор знает, что когда op2 станет равным 0 из цикла необходимо выйти
В крестах целое нулевое значение рассматривается как false, остальные — как true. Тяжкое наследие C, в котором не было типа bool.

>Почему op2 не уходит в отрицательные значения
На момент выхода из цикла op2 становится равным -1, однако постфиксный -- возвращает предыдущее значение — 0.

>>258501487
>А как бы следовало написать на С++ функцию возведения в степень максимально лаконично и грамотно?
Если степень натуральная, то бинарным алгоритмом.

Чтв 25 Ноя 2021 09:48:58
>>258501556
>ООП как бы для всех языков одинаковый
Одинаковый, говоришь? Ну покажи множественное наследование классов в Java и C#.

Чтв 25 Ноя 2021 10:23:14
>>258504218
Во-первых, множественное наследование - это антипаттерн
> Why would multiple inheritance not be considered an OOP pattern?

> Multiple inheritance is a feature of some OOP implementations, notably C++. But many people consider that it, like a number of other C++ ideas, is more dangerous than its worth. And therefore when they implement, or even choose, OOP languages, they prefer to do without it. Either by banning it from the language, or banning its use.

> It can be argued that it is a bad or risky pattern, which is why several OO languages have avoided it, but I don’t see any justification in saying it’s not a pattern at all.

Multiple inheritance raised the diamond problem.
http://www.lambdafaq.org/what-about-the-diamond-problem/


Во-вторых... у джавы есть множественное наследование:
> Any language that has mixins/traits has multiple inheritance. Since Java 8 allowed default methods on interfaces, that now applies to Java.

Чтв 25 Ноя 2021 10:36:38
>>258505352
Малыш, вопрос не в том, хорошо или плохо множественное наследование, а в том, что твоё утверждение «ООП как бы для всех языков одинаковый» ошибочно. Авторы разных языков молотят, что им в голову вздумается, и называют это ООП.

>дефолтные методы в интерфейсах
Ты даже не заметил, что я спрашивал о классах. Покажи интерфейсы в плюсах или в питоне.

Чтв 25 Ноя 2021 10:49:20
>>258501061 (OP)
цикл выполняется пока условие в скобках "истина". ноль - это "ложь", false




← К списку тредов