Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Програмування в програмі-функції алгоритмів, що розгалужуються




Нагадаємо, що в алгоритмах, що розгалужуються, є присутнім кілька галузей обчислювального процесу. Вибір конкретної галузі залежить від виконання (чи невиконання) заданих умов на значення змінних алгоритму.

 

Приклад 1.3. Змінна y задається наступним виразом

 

y(х) =

 

Тут алгоритм обчислень містить дві галузі і вибір залежить від значення змінної x.

Для програмування алгоритмів, що розгалужуються, у MathCAD є умовна функція if і умовний оператор. Використовуючи ці конструкції можна "змінити" послідовне виконання операторів. У цих конструкціях можуть використовуватися наступні нові поняття.

Вираз відношень. Цей вираз використовується для порівняння двох арифметичних виразів між собою. Вираз відношень записуються у виді:

< вир. А > < знак відношення > < вир. У>,

де як знак відношення виступають символи, наведені в таблиці 1. Якщо задане відношення виконується, то вираз відношення набуває значення рівне 1 ("істина"), у противному разі - 0 ("неправда").

Таблиця 1

Знак відношень Символи, що вводяться
= [ Ctrl ] + [ = ]
< [ < ]
> [ > ]
[ Ctrl ] + [ 0 ]
[ Ctrl ] + [ 9 ]
[ Ctrl ] + [ 3 ]
 

Приклад 1.4. Обчислення виразу відношень

 

На відміну від мов програмування можна одразу в одному виразі перевіряти декілька умов шляхом додавання знаків відношень і арифметичних виразів. Цю можливість ілюструє наступний приклад.

Приклад 1.5.

 

Логічні операції. Визначено дві логічних операції, що ставляться між виразами відношень.

Логічна АБО операція. Позначається знаком + і записується у виді

< логіч.вир.1 > + < логіч.вир. 2>

Результат операції дорівнює 0, якщо обидва логічних вирази дорівнюють 0 і дорівнює 1 для всіх інших значень логічних виразів.

Логічна операція ТА. Вводиться знаком * (у тексті це крапка) і записується у виді

< логіч.вир.1 >. < логіч.вир. 2>

Результат дорівнює 1, якщо обидва логічних вирази дорівнюють 1 і дорівнює 0 для всіх інших значень логічних виразів (порівняєте з логічним АБО оператором).

Логічний вираз. Логічним виразом називається конструкція, складена з виразів відношень, знаків логічних операцій і круглих дужок. Значення логічного виразу обчислюється зліва направо з урахуванням відомого правила про пріорітет операцій. Список пріорітетів (в порядку спадання):

* круглі дужки;

* логічна операція ТА;

* логічна операція АБО.

Задача 1.1. Поясніть порядок обчислення двох нижче наведених логічних виразів:

 

Рекомендація: для однозначного обчислення логічного виразу використовуйте круглі дужки.

 

Умовна функція if. Ця функція записується у виді (символи if вводяться з клавіатури):

if (< логіч. вираз. >, < ариф.вираз.1>, < ариф.вираз.2 >)

Правило обчислення умовної функції if: якщо логічний вираз дорівнює 1, то функція набуває значення рівне значенню арифметичного виразу 1; якщо логічне вираз дорівнює 0, то функція набуває значення рівне значенню арифметичного виразу 2.

Умовна функція використовується в арифметичних виразах, що стоять у правій частині локального оператора присвоєння.

Приклад 1.6. Реалізуємо алгоритм обчислення функції y(х) прикладу 1.3 у виді

Звернення до цієї програми-функції в тексті документа

 

Умовний оператор. Цей оператор використовується тільки в тілі програми-функції і для його введення необхідно клацнути на кнопці if панелі програмування чи клавіші [ } ]. На екрані з'являється конструкція з двома полями введення, зображена на наступному малюнку.

 

У поле 2 вводиться логічний вираз (у найпростішому випадку це вираз відношення). У поле 1 вводиться вираз (як правило, арифметичний), значення якого використовується, якщо логічний вираз, що перевіряється, набуває значення 1.

Умовний оператор може знаходитися тільки всередині тіла програми-функції. Наприклад:

 
 


У полі 3 задається вираз, значення якого використовується, якщо логічний вираз дорівнює 0. Для введення в поле 3 необхідно:

· вкласти це поле в рамку, що виділяє;

· клацнути на кнопці “otherwise” панелі програмування;

· у полі, що залишилося, введіть відповідний вираз.

Приклад 1.7. Складемо програму-функцію, що обчислює функцію y(x), задану в прикладі 1.3. Для цього введемо опис наступної програми-функції:

Звернення до цієї програми-функції має вигляд

Таким чином, вираз, що стоїть перед словом otherwise виконується тільки в тому випадку, якщо не виконана задана перед цим умова.

У програмі можна використовувати декілька слідуючих один за одним умовних операторів з одним виразом перед словом otherwise.

Приклад 1.8. Складемо програму-функцію для обчислення змінної z по формулі

z(t) =

У робочий документ введемо опис наступної програми-функції

 

Помітимо, що функція z(t) одержить значення ln(t) тільки тоді, коли не виконуються умови, що записані у двох рядках, які знаходяться вище.

Звернення до цієї програми - функції має вид



Якщо в поле 3 ввести оператор без слова otherwise, то цей оператор буде виконуватися завжди незалежно від виконання заданих вище умовних операторів.

 




Поделиться с друзьями:


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


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



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




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