[Archiv!] Reine Mathematik, Physik, Chemie usw.: Gehirntrainingsprobleme, die in keiner Weise mit dem Handel zusammenhängen - Seite 234
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
А вот дальше непонятка. В первой шапке (внешнем цикле) условие d=0 как-то напрягает. Это ж всегда true?
In C ist es sicher (und d ist ein Zeuge dafür), dass die Wahrheit des LAST-Ausdrucks überprüft wird.
Цикл выполняется до тех пор, пока выражение 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.
Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.
Konzentrieren wir uns stattdessen auf den internen Kreislauf. Also:
Beginnend mit b=c,
unter den Bedingungen
ausgeführt wird.
Verstehen Sie vor allem die Bedingungen, denn sie sind alle Zuweisungsoperatoren.
MetaDriver писал(а) >>
// Eigentlich würde for(; g=c*2; ) in dieser Version viel besser aussehen: for( g=c*2; g !=0; )
Nein, so funktioniert das nicht. g=c*2 - sollte in jeder Schleife neu berechnet werden.
Nächste Version:
Sie haben kein einziges Wenn, so funktioniert das nicht.
Noch einmal: Sie müssen die Bedingungen verstehen, das ist die Hauptsache. Ich habe keine Ahnung, wo ich dies im Lehrbuch finden kann.
http://www.languagec.info/oper_for.php:
Давай лучше на внутреннем цикле сосредоточимся. Итак:
Начиная с b=c,
при условиях
d+=f[b]*a,f[b]=d%--g,d/=g--,--b
выполняетсяОсобо надо понять условия, т.к. это все операторы присваивания.
Die Bedingung ist eine, alles andere wird nach außen hin umgeschrieben.
У тебя нет ни одного if, так не пойдет.
Еще раз, нужно разобраться в условиях, это главное. Я никак не пойму, где это найти в учебнике.
Lesen Sie "Operator Komma". :)
Операция последовательного вычисления обозначается запятой (,) и используется для вычисления двух и более выражений там, где по синтаксису допустимо только одно выражение. Эта операция вычисляет два операнда слева направо. При выполнении операции последовательного вычисления, преобразование типов не производится. Операнды могут быть любых типов. Результат операции имеет значения и тип второго операнда. Отметим, что запятая может использоваться также как символ разделитель, поэтому необходимо по контексту различать, запятую, используемую в качестве разделителя или знака операции.
Und wo werden alle bis auf den letzten verworfen?
Auch:
In der SI-Sprache ist eine Zuweisung auch ein Ausdruck, und der Wert eines solchen Ausdrucks ist der Wert, der zugewiesen wird.
Das ist es, was ich meine, viele Aufgaben sind Ausdrücke, die nach ihrem Stand, d.h. wahr/falsch, bewertet werden.
2 C-4: Ihre Interpretation des Operanden b-c in der allerersten Schleife als Zuweisung ist mir nicht klar.
Операция последовательного вычисления обозначается запятой (,) и используется для вычисления двух и более выражений там, где по синтаксису допустимо только одно выражение. Эта операция вычисляет два операнда слева направо. При выполнении операции последовательного вычисления, преобразование типов не производится. Операнды могут быть любых типов. Результат операции имеет значения и тип второго операнда. Отметим, что запятая может использоваться также как символ разделитель, поэтому необходимо по контексту различать, запятую, используемую в качестве разделителя или знака операции.
In diesem Zusammenhang ist der zweite Platz der letzte. Die formale Definition ist rekursiv, d. h. der zweite Operator kann zusammengesetzt sein (und wieder ein Komma enthalten).