![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну и так помечайте сколько раз в if выполнится то, что если истина (после then) или ложь (после else). Посмотрите в пошаговом дебагинге если не очень понятно как это происходит.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#22 |
Новичок
Джуниор
Регистрация: 19.06.2011
Сообщений: 11
|
![]()
спасибо за помощь
|
![]() |
![]() |
![]() |
#23 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Хоть тут уже много советов прозвучало.
И ответ Косюра был отличный. ну и я попробую ещё раз "разжевать" материал. смотрите, Ваша задача состоит в том, чтобы выполнять построчно записанный код. Вы же можете взять Y (вначале оно равно 10 и проверить, выполняются ли условия... (ну надо знать правила вычисления логических выражений, операции OR AND NOT и т.п.) если условие выполнилось - идём по одной веточке, не выполнилось - по другой. решение "в лоб" я преобразовал вашу программку в такой вид: Код:
смотри h662.txt Это предложеный вариант с прохождением в отладчике. Этот способ (выполение кода в уме, последовательно) долгий, трудоёмкий, но зато он будет работать всегда, вне зависимости от сложности алгоритма. Второе решение. Аналитический подход. Выделяем условие цикла и смотрим, как изменяется в цикле переменная, которая влияет на то, выполняется ли цикл или уже хватит. В нашем случае это переменная Y вначале она равна 10 цикл прекратиться, когда она (переменная) станет больше 150. в цикле она наращивается на два за каждое выполнение тела цикла (кстати, что важно - переменная увеличивается ровно на два НЕЗАВИСИМО от прочих условий, значений других переменных и т.д.). поэтому мы можем быстро и чётко сказать, сколько раз выполнится цикл. (150 - 10)/2 = 70 + 1 (1 раз, т.к. в 70 цикле переменная станет равной 150 и, значит, т.к. условие цикла меньше или равно, тог цикл выполнится ещё раз. или, если так понятнее, то выйдем мы из цикла, когда Y станет больше 150. больше, это 151 (151-10)/2 - получаем 70.5. Т.к. цикл не может выполнится полраза, значит тело цикла выполнится 71 раз. Теперь по поводу значения N Вам нужно посчитать сколько раз Y в диапазоне от 10 до 150 с шагом 2 кратно 10 или входит в [50, 100[ считаем Y 10 20 30 40 50-98 (тут ровно 25 раз) 100 110 120 130 140 150 итого условие выполняется ровно 35 раз. значит увеличивать N на 2 мы будем 35 раз. а сколько раз мы будем увеличивать N на единичку? Очевидно, что в остальных случаях. 71 (всего циклов) - 35 = 36 раз. итого получаем формулу N после цикла равно -25+35*2+36 = 81 звери у Вас преподаватели... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
в результате выполнения программы выдает -1.#IND | Mors13 | Помощь студентам | 1 | 01.06.2011 23:10 |
Как получить десятичное число в результате деления | ArtGrek | Visual C++ | 1 | 20.04.2011 01:55 |
Как узнать что число не Float(без остатка) при результате деления? | zotox | Помощь студентам | 7 | 19.07.2009 15:49 |
Написать программу в результате выполнения которой булевская переменная t получает true если выполняется | Корделия | Общие вопросы C/C++ | 1 | 28.04.2009 13:53 |
присвоить переменной целого типа значение поля key полученное в результате выполнения SQL запроса | Worms | БД в Delphi | 5 | 10.01.2008 21:07 |