[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 234
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
А вот дальше непонятка. В первой шапке (внешнем цикле) условие d=0 как-то напрягает. Это ж всегда true?
En C, à coup sûr (et d en est le témoin), for vérifie la vérité de l'expression LAST.
Цикл выполняется до тех пор, пока выражение b - c оценивается как true. Что такое true в Си? Кажись, любой не нуль. Значит, цикл увеличения b от нуля и заполнения массива f[] выполняется до тех пор, пока b не сравняется с с, т.е. до 2800. Массив f[] заполняется одинаковыми числами 10000/5 = 2000.
Пока не сильно ошибся?
http://www.languagec.info/oper_for.php :
for ( выражение 1 ; выражение 2 ; выражение 3 ) тело
Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 - это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.
Схема выполнения оператора for:
1. Вычисляется выражение 1.
2. Вычисляется выражение 2.
3. Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.
Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.
Concentrons-nous plutôt sur le cycle interne. Donc :
En commençant par b=c,
dans les conditions
est exécuté.
Comprenez surtout les conditions, car ce sont toutes des opérateurs d'affectation.
MetaDriver писал(а) >>
// En fait, for(; g=c*2; ) serait beaucoup mieux dans cette version : for( g=c*2; g !=0 ; )
Non, ça ne marche pas comme ça. g=c*2 - doit être recalculé dans chaque boucle.
Version suivante :
Vous n'avez pas un seul si, ça ne marche pas comme ça.
Encore une fois, vous devez comprendre les conditions, c'est l'essentiel. Je ne sais pas où trouver cela dans le manuel.
http://www.languagec.info/oper_for.php:
Давай лучше на внутреннем цикле сосредоточимся. Итак:
Начиная с b=c,
при условиях
d+=f[b]*a,f[b]=d%--g,d/=g--,--bвыполняетсяОсобо надо понять условия, т.к. это все операторы присваивания.
La condition est unique, tout le reste est réécrit vers l'extérieur.
У тебя нет ни одного if, так не пойдет.
Еще раз, нужно разобраться в условиях, это главное. Я никак не пойму, где это найти в учебнике.
Lire "virgule opérateur". :)
Операция последовательного вычисления обозначается запятой (,) и используется для вычисления двух и более выражений там, где по синтаксису допустимо только одно выражение. Эта операция вычисляет два операнда слева направо. При выполнении операции последовательного вычисления, преобразование типов не производится. Операнды могут быть любых типов. Результат операции имеет значения и тип второго операнда. Отметим, что запятая может использоваться также как символ разделитель, поэтому необходимо по контексту различать, запятую, используемую в качестве разделителя или знака операции.
Et où est la mise au rebut de tous les éléments sauf le dernier ?
Aussi :
Dans le langage SI, une affectation est également une expression, et la valeur d'une telle expression est la valeur qui est affectée.
C'est ce que je dis, beaucoup d'affectations sont des expressions, évaluées en fonction de leur position, c'est-à-dire vrai/faux.
2 C-4 : Votre interprétation de l'opérande b-c dans la toute première boucle comme une affectation n'est pas claire pour moi.
Операция последовательного вычисления обозначается запятой (,) и используется для вычисления двух и более выражений там, где по синтаксису допустимо только одно выражение. Эта операция вычисляет два операнда слева направо. При выполнении операции последовательного вычисления, преобразование типов не производится. Операнды могут быть любых типов. Результат операции имеет значения и тип второго операнда. Отметим, что запятая может использоваться также как символ разделитель, поэтому необходимо по контексту различать, запятую, используемую в качестве разделителя или знака операции.
Dans ce contexte, deuxième = dernier. La définition formelle est récursive, c'est-à-dire que le deuxième opérateur peut être composé (et contenir à nouveau une virgule).