6 лаба. Лабораторная работа 6 Ветвление и циклы Условный оператор
Скачать 140.49 Kb.
|
print ( "Привет!" ) уменьшить счётчик на 1 Этот вариант несколько лучше, чем предыдущий, поскольку счётчик сравнивается с нулём, а такое сравнение выполняется в процессоре автоматически (см. главу 4). этих примерах мы использовали цикл с условием, который выполняется до тех пор, пока некоторое условие не становится ложно. Циклы с условием Рассмотрим следующую задачу: определить количество цифр в десятичной записи целого положительного числа. Будем предполагать, что исходное число записано в переменную n целого типа.
Сначала нужно разработать алгоритм решения задачи. Чтобы подсчитывать что-то в про-грамме, нужно использовать переменную, которую называют счётчиком. Для подсчёта количест-ва цифр нужно как-то отсекать эти цифры по одной, с начала или с конца, каждый раз увеличивая счётчик. Начальное значение счётчика должно быть равно нулю, так как до выполнения алгоритма ещё не найдено ни одно цифры. Для отсечения первой цифры необходимо заранее знать, сколько цифр в десятичной записи числа, то есть нужно заранее решить ту задачу, которую мы решаем. Следовательно, этот метод не подходит. Отсечь последнюю цифру проще – достаточно разделить число нацело на 10 (поскольку речь идет о десятичной системе). Операции отсечения и увеличения счётчика нужно выполнять столько раз, сколько цифр в числе. Как же «поймать» момент, когда цифры кончатся? Несложно понять, что в этом случае результат очередного деления на 10 будет равен нулю, это и говорит о том, что отброшена последняя оставшаяся цифра. Изменение перемен-
Слово while переводится как «пока», то есть, цикл выполняется пока n > 0. Переменная-счётчик имеет имя count. Обратите внимание, что проверка условия выполняется в начале очередного шага цикла. Такой цикл называется циклом с предусловием (то есть с предварительной проверкой условия) или циклом «пока». Если в начальный момент значение переменной n будет нулевое или отрица-тельное, цикл не выполнится ни одного раза. данном случае количество шагов цикла «пока» неизвестно, оно равно количеству цифр введенного числа, то есть зависит от исходных данных. Кроме того, этот же цикл может быть ис- пользован и в том случае, когда число шагов известно заранее или может быть вычислено: k = 0 while k < 10: print ( "привет" ) k += 1 Если условие в заголовке цикла никогда не нарушится, цикл будет работать бесконечно дол-го. В этом случае говорят, что «программа зациклилась». Например, если забыть увеличить пере- менную k в предыдущем цикле, программа зациклится: k = 0 while k < 10: print ( "привет" ) Во многих языках программирования существует цикл с постусловием, в котором условие проверяется после завершения очередного шага цикла. Это полезно в том случае, когда нужно обязательно выполнить цикл хотя бы один раз. Например, пользователь должен ввести с клавиа-туры положительное число и защитить программу от неверных входных данных. языке Python нет цикла с постусловием, но его можно организовать с помощью цикла while: print ( "Введите положительное число:" ) n = int ( input() ) while n <= 0: print ( "Введите положительное число:" ) n = int ( input() )
Однако такой вариант не очень хорош, потому что нам пришлось написать два раза пару операто- ров. Но можно поступить иначе: |