Учебники > Программирование > Задание 3–2. Запись циклов while
  
Задание 3–2. Запись циклов while
Запись основной функции while
Запишите функцию sigma, которая суммирует все числа от 0 до n.
1. Определите функцию sigma, которая принимает переменную n, и создайте новую программу.
2. Чтобы определить пустой цикл while, на вкладке Математика (Math) в группе Операторы и символы (Operators and Symbols) щелкните Программирование (Programming), а затем щелкните while.
3. Укажите, что цикл while продолжается, пока n>0, и уменьшает n на 1 в каждом цикле.
* 
В отличие от циклов for необходимо увеличивать или уменьшать итератор while.
4. Чтобы добавить текущее значение итератора в сумму, введите после оператораwhile следующую строку, как показано ниже.
5. Возвратите значение sum.
* 
Обновляйте итератор последним; в противном случае будет пропущено добавление первой итерации.
6. Рассчитайте значение sigma для 5.
Как и ожидалось, программа эквивалентна следующей сумме:
Добавление операторов continue
Добавляйте операторы continue, чтобы продолжить выполнение цикла, но пропустить конкретную итерацию.
Запишите функцию, которая суммирует все числа от 0 до n за исключением чисел, которые делятся на 17.
1. Скопируйте предыдущую функцию и переименуйте ее как sigma_not17.
2. Внутри цикла while добавьте новую строку под оператором while.
3. Добавьте оператор if и введите следующее выражение.
4. Чтобы цикл не был бесконечным, уменьшите n на 1.
5. Чтобы добавить оператор continue, на вкладке Математика (Math) в группе Операторы и символы (Operators and Symbols) щелкните Программирование (Programming), а затем щелкните continue.
6. Рассчитайте значение sigma_not17 для 16 и 17.
Добавление операторов break
Напишите программу, которая суммирует все числа и выходит из цикла, когда значение счетчика превышает 20.
1. Определите переменную sum и создайте новую программу.
2. Чтобы определить пустой цикл while, на вкладке Математика (Math) в группе Операторы и символы (Operators and Symbols) щелкните Программирование (Programming), а затем щелкните while.
3. Укажите, что цикл while должен продолжаться бесконечно.
* 
Цикл while выполняется, пока значение выражения в скобках не равняется 0.
4. Инициализируйте переменные sum и i.
5. Прибавьте значение итератора i к переменной sum и увеличьте i на 1 внутри цикла.
6. Возвратите значение sum.
* 
Пока цикл является бесконечным.
7. Чтобы прервать выполнение цикла, введите if i > 20 и добавьте оператор break. Чтобы добавить оператор break, на вкладке Математика (Math) в группе Операторы и символы (Operators and Symbols) щелкните Программирование (Programming), а затем щелкните break.
8. Рассчитайте sum.
9. Чтобы прервать цикл и выйти из программы, выберите оператор break и на вкладке Математика (Math) в группе Операторы и символы (Operators and Symbols) щелкните Программирование (Programming), а затем щелкните оператор return, чтобы изменить его в операторе return. Введите sum в местозаполнитель, как показано ниже.
* 
Используйте return для немедленного выхода из программы.
Выполнение
Прежде чем переходить к новому заданию, запишите функцию fact(n), которая реализует функцию факториал с помощью цикла while. Определите, что цикл выполняется, пока значение n превышает 1. Внутри цикла умножьте n на переменную product (сохранение результатов факториала) и уменьшите значение n на 1.
* 
В PTC Mathcad программные переменные по умолчанию получают значение 0. В начале программы необходимо присвоить product значение 1. В противном случае программа будет возвращать 0 для всех аргументов.
Перейти к заданию 3–3.