Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка MathCad.doc
Скачиваний:
62
Добавлен:
26.02.2016
Размер:
5.51 Mб
Скачать

Цикл while

Одним из преимуществ программирования является возможность организация циклов, т.е многократного выполнения некоторой последовательности операторов. Mathcad предлагает два вида циклов: с заранее известным числом выполнений (цикл for) и с неизвестным числом повторений (цикл while).

Внимание! Цикл while выполняется до тех пор, пока истинно некоторое условие. Важно, чтобы где-нибудь внутри цикла присутствовал оператор, делающий условие ложным. В противном случае цикл будет выполняться бесконечно.

Если выполняемая программа зациклилась, то ее можно остановить нажатием клавиши <Esc>.

Чтобы вставить в программу оператор "while":

1. Создайте в программе новую строку.

2. Щелкните по кнопке while на панели программирования.

3. Введите справа от оператора цикла логическое условие, при нарушении которого должен осуществляться выход из цикла.

4. В нижний местозаполнитель введите тело цикла, т.е. выражения, которые должны выполняться циклически. Введение дополнительных полей ввода осуществляется нажатием кнопки Add Line на панели программирования.

Обнаружив заголовок цикла while, Mathcad проверяет условие цикла. Если оно истинно, то Mathcad выполняет тело цикла и снова проверяет условие. Если условие ложно, то Mathcad заканчивает выполнение цикла.

ПРИМЕР 5. Вычислить наибольший общий делитель натуральных чисел A и B с помощью алгоритма Евклида:

1. Если А=В, то А – наибольший общий делитель.

2. Если А>В, то заменить А на А-В и перейти к пункту 1.

3. Если А<В ,то заменить В на В-А и перейти к пункту 1.

Например, наибольший общий делитель 12 и 18 равен del(12,18)=6.

ПРИМЕР 6. Поиск первого элемента вектора, превосходящего заданное значение s.

1. Определите вектор vm, используя формулу 1+sin(m), где m изменяется от 0 до 2500.

2. Создайте функцию t от двух параметров, первый из которых является исходным вектором, а второй определяет заданное значение, т.е. набрать t(v,s) и символ ":", затем нажать на панели кнопку Add Line.

3. В первом поле ввода инициализировать счетчик элементов, придав ему нулевое значение (j0).

4. Во втором поле организовать цикл, щелкнув по кнопке wihle в панели программирования, и задать справа условие выполнения цикла в виде: “пока текущее значение элемента вектора не превосходит заданного значения” (vj s).

5. В следующем поле увеличить значение счетчика на единицу (j j+1).

6. Заключить 2 последние строки, составляющие цикл, в выделяющую рамку и нажать на панели кнопку Add Line, чтобы добавить поле для ввода.

7. В этом поле вывести значения счетчика j.

m:=0..2500 Vm:=1+sin(m)

- создание вектора

- инициализация счетчика

- возвращаемое программой значение

Например, t(v, 1.98)=8 - величина 1,98 впервые превосходится восьмым элементом вектора.

ЗАДАНИЕ 9. Определить, сколько чисел натурального ряда необходимо сложить, чтобы их сумма превысила заданное число К.

ЗАДАНИЕ 10. Вычислить сумму с использованием цикла While.

ЗАДАНИЕ 11. Пусть A и B - положительные вещественные числа и A>B. Найти такое натуральное m, что m*B>A.

ЗАДАНИЕ 12. Вычислить .