Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Програмування ітераційних циклів

Для програмування таких циклів використовується оператор циклу while. Для введення цього оператору необхідно виконати наступні дії:

· клацнути на кнопці while панелі Програмування. На екрані з'являються елементи, показані на рис. 1.5.

Рис. 1.5. Структура оператора циклу while

· у поле 1 ввести умову виконання циклу;

· у поле 2 ввести оператори тіла циклу. У тілі циклу повинні бути присутнім оператори, що роблять умову циклу помилковою, інакше цикл буде продовжуватися нескінченно.

Оператор циклу while виконується в такий спосіб: знайшовши оператор while, Mathcad перевіряє зазначену умову. Якщо вона істина, то виконується тіло циклу і знову перевіряється умова. Якщо вона ложна, то цикл закінчується.

 

Приклад 1.12. Складемо програму-функцію, що реалізує ітераційну процедуру наближеного обчислення кореня квадратного, описану в прикладі 1.9.

 

 

Як видно з тексту програми-функції, немає необхідності зберігати в пам'яті всі наближені розв’язки x0, x1, x2, ..., і т.д. Досить зберігати попереднє (“старе”) значення xc і наступне (“нове”) значення xn.

Звернення до описаної програми буде мати вид

Нажаль організація ітераційного циклу за допомогою оператора while, без додаткових засобів контролю може привести до зациклення. Наприклад, задавши при зверненні до програми eps < 0 одержуємо зациклення.

Тому в Mathcad є спеціальний оператор break, що дозволяє вийти з циклу чи призупинити виконання програми при виконанні заданій в операторі break умові. Для введення оператора break необхідно клацнути на кнопці break панелі Програмування (не можна вводити цей оператор з клавіатури по символах). Оператор break використовується в лівому полі введення умовного оператор if, а в правому розміщується умова, при виконанні якої відбувається припинення роботи циклу чи програми, у нижнім полі - оператор, який виконується, якщо умова не виконана. Тому спочатку вводиться оператор if, а потім заповнюються поля цього оператора.

Наступний приклад показує написання програми, що не зациклюється з оператором break.

Приклад 1.13. Складемо програму-функцію, що реалізує ітераційну процедуру обчислення кореня квадратного (див. приклад 1.9) без зациклення. Опис такої програми-функції має вигляд:

 

У цій програмі число повторень тіла обмежено 1000. Якщо за це число ітерацій наближене значення кореня з заданою точністю не знайдено, то параметр ierr одержує значення 1, що говорить про помилку обчислювального процесу (якщо були виконані 1000 ітерацій). Тому що через ім'я програми передається значення тільки однієї змінної, то для передачі двох значень xn, ierr використовується вектор, компоненти якого формуються всередині програми.

Значення ierr потрібно перевіряти після звернення до програми sqroot1. Наприклад,

 

 


<== предыдущая лекция | следующая лекция ==>
Програмування циклу типу арифметичної прогресії | Додаткові оператори програмування циклів у пакеті Mathcad7Professional
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 434; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.