|
8 / 8 / 0
Регистрация: 01.03.2016
Сообщений: 23
|
||||||
Цикл не делает последнюю итерацию22.06.2016, 14:57. Показов 2805. Ответов 33
Метки нет (Все метки)
1
|
||||||
| 22.06.2016, 14:57 | |
|
Ответы с готовыми решениями:
33
Функции. Не считает последнюю итерацию в цикле Цикл do.while не идет на следующую итерацию Цикл не переходит на вторую итерацию |
|
92 / 81 / 57
Регистрация: 19.02.2016
Сообщений: 336
|
||||||||
| 22.06.2016, 15:50 | ||||||||
|
Ну так на шаге 3.8, x еще не > 4, поэтому выполняется условие, к нему добавляется 0.4, вот тут уже 4.2, поэтому условие не выполняется и мы выходим из цикла Добавлено через 57 секунд В универе пару раз встречалось, делал так, как описал выше и все работало. Добавлено через 3 минуты И да, мой вариант был ![]()
0
|
||||||||
|
8 / 8 / 0
Регистрация: 01.03.2016
Сообщений: 23
|
|
| 22.06.2016, 15:53 [ТС] | |
|
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 22.06.2016, 15:57 | |
|
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
||||||
| 22.06.2016, 17:19 | ||||||
|
Наберите код программы
0
|
||||||
|
92 / 81 / 57
Регистрация: 19.02.2016
Сообщений: 336
|
|
| 22.06.2016, 17:27 | |
|
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 22.06.2016, 17:45 | ||
![]() Недавно узнали, как работает цикл, и решили поделиться с нами?
0
|
||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 22.06.2016, 17:53 | |
|
При x=3.0 работает, что то с типами данных что ли?
Добавлено через 2 минуты Liv никого не хотел обидеть, может не правильно высказал свою мысль. Самому уже интересно стало.
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 22.06.2016, 18:01 | |
|
мановар, найдите мое сообщение на предыдущей странице, там все объяснено
![]() Добавлено через 7 минут Повторю еще раз: вещественные числа - приближенные! Нельзя их сравнивать на буквальное совпадение! Разве что, на то, что модуль разности меньше малой величины! В цикле надо избегать сравнения на равенство, только надо задавать заведомо большую величину и сравнивать на строгое неравенство!
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 22.06.2016, 18:24 | |
|
Liv, почему же до этого все сравнивается и считается кроме последней итерации?
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 22.06.2016, 18:29 | |
|
мановар, 3.9999999 != 4.0
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 22.06.2016, 18:47 | |
|
Скорее 4.0000001 != 4.0 поэтому последнюю и не выводит
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 22.06.2016, 19:12 | ||
|
мановар, даже не так. Как раз 3.999999 вполне бы отработало!
Там 4.00000000001 !!!, т.е. > 4.0 Добавлено через 36 секунд ![]() Добавлено через 11 минут И это касается не только циклов. Везде, где требуется сравнение на равенство вещественных чисел, нельзя проверять на буквальное равенство! Необходимо сравнивать модуль разности чисел с маленьким числом! И только так! Добавлено через 12 минут Мне думается, надо, по возможности, избегать использовать вещественные числа, как индекс цикла. Строго говоря, даже цикл for(x=N; x< Max; x+=step) может привести к неправильному результату! Сработает случай, например, 3.999999 < 4.0 !!!! Чего не должно быть! Лучше всего использовать для индексов целые числа (третий пример на предыдущей странице )
1
|
||
|
92 / 81 / 57
Регистрация: 19.02.2016
Сообщений: 336
|
||
| 22.06.2016, 19:24 | ||
|
А кто изучает и пишет другое, тот об этом знаком будет уже. Мне так кажется
0
|
||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 22.06.2016, 19:30 | |
|
nstwf, да, и новички должны знать почему так лучше!
И какие есть подводные рифы при некорректном использовании вещественных чисел...
0
|
|
| 22.06.2016, 19:30 | |
|
Что делает данный цикл? Что делает данный цикл ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|