|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.08.2022, 23:05 | #1 |
Форумчанин
Регистрация: 22.03.2019
Сообщений: 115
|
Цикл for и управляющая переменная
Код:
i, j: 0 100 i, j: 1 99 i, j: 2 98 i, j: 3 97 i, j: 4 96 i, j: 5 95 i, j: 6 94 i, j: 7 93 i, j: 8 92 i, j: 9 91 i, j: 10 90 Подскажите пожалуйста как работает в данном примере if и for в связке, а именно условие оператора if и for. Я не понимаю почему выводится результат если условие оператора if является false. Последний раз редактировалось bITA666; 26.08.2022 в 23:09. |
26.08.2022, 23:08 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Так if и не работает. В теле if только строчка done = true;
А Код:
От того, что вы добавили отступ, эта строка не стала принадлежать телу if Код:
Последний раз редактировалось macomics; 26.08.2022 в 23:10. |
26.08.2022, 23:08 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
У вас неверное форматирование кода. Тело оператора if это только "done = true;", а вывод находится уже после оператора if.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
26.08.2022, 23:45 | #4 |
Форумчанин
Регистрация: 22.03.2019
Сообщений: 115
|
BDA, как было в книги так и я вам скопировал
|
26.08.2022, 23:50 | #5 | |
Форумчанин
Регистрация: 22.03.2019
Сообщений: 115
|
Цитата:
Зачем if и условие которое не работает? Вот кстати скрин книги , можете сравнить что я ничего от себя не добавил. |
|
26.08.2022, 23:58 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Так условие if как раз сработало. Цикл же остановился на i, j: 10 90 // (10 * 10 = 100 > 90)
С тем же успехом можно написать так Код:
Последний раз редактировалось macomics; 27.08.2022 в 00:02. |
27.08.2022, 00:32 | #7 | |
Форумчанин
Регистрация: 22.03.2019
Сообщений: 115
|
Цитата:
Зачем if и условие которое не работает? Вот кстати скрин книги , можете сравнить что я ничего от себя не добавил. Хорошо. Постараюсь объяснить простыми словами что мне непонятно. Надеюсь вы сможете понять и объяснить. Метод срабатывает тогда, когда условие оператора if истинно. После первой итерации if(i*i >= j) done = true; Разве значение переменной done = true? При первой итерации i < j так как может изменяться значение в переменной i и j если done = false? |
|
27.08.2022, 01:12 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
При переводе книг листинги очень страдают. В оригинале там так:
Код:
Изначально done имеет значение ложь, но условное выражение цикла !done, то есть отрицание значения done. Поэтому это выражение будет истинно, и будет выполнено тело цикла (if и WriteLine), а затем выражение, отвечающее за итерацию (i++, j--).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
27.08.2022, 01:26 | #9 | |||
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Цитата:
Цитата:
Последний раз редактировалось macomics; 27.08.2022 в 01:42. Причина: исправил скопированные очепятки |
|||
27.08.2022, 01:31 | #10 | ||
Форумчанин
Регистрация: 22.03.2019
Сообщений: 115
|
Цитата:
Цитата:
Так я не понимаю, если условное значение for истинно и цикл выполняется, условие оператора if будет false потому что значение i меньше j а значит метод не должен выводиться. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[РЕШЕНО][Pascal ABC] Ошибка: переменная цикла for должна описываться в том же блоке что и цикл for | sudar | Помощь студентам | 1 | 17.05.2019 16:49 |
Управляющая кнопка в цикле | Tpy_BoJIK | Помощь студентам | 4 | 17.02.2013 09:24 |
Необходимо написать программу на C#, управляющая LPT и 3 COM портами. На COM висят АЦП и ЦАП | CopperRU | Фриланс | 2 | 15.04.2012 10:19 |
Управляющая инструкция If.... | Trimbl | Microsoft Office Excel | 5 | 02.05.2011 02:37 |
Нераспознная управляющая последовательность | _-Re@l-_ | Общие вопросы .NET | 1 | 25.11.2010 20:37 |