Практическая часть. Для примера приведём простую программу возвращающую 1, если число чётное, и 0 в противном случае

Для примера приведём простую программу возвращающую 1, если число чётное, и 0 в противном случае.

– начинаем создание программы с кнопки Add Line. Вертикальная линия играет роль операторных скобок.

– оператор локального присваивания. В программе нельзя использовать оператор присваивания ":=", вместо него используется оператор локального присваивания, отличие которого заключается в том, что локальная переменная определена только внутри своего блока и при выходе из программы теряет своё значение.

Пример:

– условный оператор создаёт конструкцию вида:

где первый операнд выполняется, если справедливо условие являющееся вторым операндом. Из всех программных операторов оператор условия является, пожалуй, наиболее важным. Его приходится использовать практически во всех создаваемых алгоритмах. Как уже показано, условный оператор if имеет два маркера. В правый маркер вводится условие, в левый – операция, которая должна быть проделана в случае, если условие выполнится (если же оно не выполнится, система просчитывает программу, пропуская данный фрагмент). В маркер оператора может быть внесено несколько выражений условий или операций. В случае задания комплекса условий будьте предельно внимательны и всегда помните, чем отличаются формы его определения через программный блок и с использованием логического умножения. Неверное задание формы комплекса условий – самая распространенная ошибка при работе с данным оператором.

Пример: Функция возвращает остаток от деления на 2:

После того, как функция определена, она может использоваться наравне со встроенными функциями.

С оператором if возможны более сложные конструкции при использовании ещё одного оператора

– реализующего альтернативу. Аналог традиционной конструкции Если... То... Иначе.... Т.е. оператор предназначен для определения того действия, которое должно быть выполнено, если условие оператора if окажется истинным. Одновременно может быть использовано несколько условных операторов if. Оператор otherwise в таком случае будет задействован, если не выполняется условия всех операторов if.

– оператор цикла обеспечивает повторяющиеся вычисления, если известно количество шагов.

Первый операнд – переменная цикла, это интервальная переменная и её значения определены во втором операнде. Третий операнд – тело цикла может состоять из блока операторов и выполняется пока не исчерпаются все значения переменной цикла.

Пример:

Рассмотрим программу упорядочения чисел по убыванию в одномерном массиве. Пусть дан массив чисел: Мы воспользуемся вложенными циклами и в качестве тела цикла по i используем ещё один цикл по j.

Здесь реализован простейший алгоритм сортировки, так называемый "метод пузырька". На самом деле, большие числа как бы всплывают наверх при каждом шаге цикла по i, в то время как в цикле по j на каждом шаге происходит сравнение пары чисел и замена, если большее число находится ниже, причём эта замена осуществляется снизу.

Отметим, что в системе имеется стандартная функция сортировки sort().

Примечание: второй цикл мы организовали с отрицательным шагом от конечного значения к начальному. Можно использовать программные возможности Mathcad просто для задания функций более сложного вида.

– оператор break введён для повышения гибкости программирования и позволяет закончить цикл досрочно, не исчерпав всего списка. Как правило, ввиду того, что цикл бывает нужным остановить при выполнении некоторого условия, данный оператор почти всегда используется с условным оператором if.

Рассмотрим следующую задачу: нам необходимо найти первое вхождение 0 в числовом массиве и вернуть его индекс. Мы приводим работающую программу, где введена функция last(M) которая возвращает последний индекс массива. Возвращаемым значением программы является последний выполняемый оператор - k.

– ещё один полезный оператор позволяющий прервать выполнение текущей итерации и перейти к следующей.

Рассмотрим например задачу нахождения максимального и минимального элемента

массива.

Действительно, если , то нет смысла проверять , а лучше перейти к следующему шагу цикла.

– оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно количество шагов необходимых для решения задачи. Условие проверяется перед началом каждого шага цикла.

Реализуем, например алгоритм вычисления квадратного корня a используя итерационную формулу

– оператор return служит для прекращения работы программы и возврата результата. Обычно данный оператор используется при описании действий алгоритма в случае ошибочной ситуации.

Допустим нам необходимо вычислить позицию первого вхождения числа в массив.

Рассмотрим в качестве ещё одного примера вопрос, как программным способом построить скалярное произведение.

Вычислим квадрат модуля вектора

Оператор return здесь может быть опущен.

В качестве возвращаемого значения в программе используется результат последней операции. Обратите внимание, что в программах мы не пользуемся оператором присваивания:=, а вводим оператор локального присваивания. Переменные, определённые в программе, теряют значение при выходе из неё.

– оператор on error служит для обработки ошибочных ситуаций типа "деления на нуль". Данный оператор по своему синтаксису полностью соответствует условному оператору if. В правый его маркер следует внести величину или выражение, ошибка в вычислении которого должнв быть зарегистрирована. В левом маркере следует прописать условие, которое должно быть выполнено в случае ошибочной ситуации.

Например, нам необходимо описать функцию , чтобы не было особенности в 0. тогда:

Варианты заданий

Вариант 1

1. Составить программу которая будет менять местами 2 строки матрицы.

2. Используя оператор on error для предотвращения появления ошибки "деление на нуль", вычислить функцию .

3. Написать программу, где функции, возвращающая –1, 0 или 1 в зависимости от знака аргумента (соответственно «-», 0, «+»).

Вариант 2

1. Составить программу, которая будет выводить сумму геометрической прогрессии, при заданных значениях .

2. Написать программу по выводу матрицы размером 3х3, где на второстепенной диагонали стояли бы 1.

3. Вычислить значение функции .

Вариант 3

1. Вычислить сумму чисел 1+2+3+....+n.

2. Для x изменяющего от -2 до 2 вычислить значение .

3. Составить программу по вычислению длины вектора.

Вариант 4

1.Создайте программу pr(n) для вычисления произведениячисел 1*2*3*....*n.

2.Создайте программу для вычисления и вывода двух корней квадратного уравнения .

3.Используя оператор on error для предотвращения появления ошибки "деление на нуль", вычислить функцию .

Вариант 5

1. Создайте программу для вычисления и вывода двух корней квадратного уравнения f(x)=ax2+bx+c.

2. Дано натуральное число n, действительное x. Вычислить .

3. Написать программу по выводу на экран знака «+» («-»), если значение .

Вариант 6

1. Написать программу, которая будет выводить единичную матрицу.

2. Вычислить значение , используя итерационную процедуру В качестве приближенного значения корня квадратного берется такое значение , которое удовлетворяет условию , где – заданная точность вычисления.

3. Вычислить , где меняется от 0 до 10.

Вариант 7

1. Составить программу, которая будет выводить сумму арифметической прогрессии при заданных значениях .

2. Составим программу для вычисления переменной z по формуле .

3. Написать программу, которая выводит абсолютное значение функции .

Вариант 8

1. Определить функцию, которая равна 1, если аргумент размещён между чётным и нечётным числом, и 0 в противном случае.

2. Вычислить сумму бесконечной геометрической прогрессии со знаменателем 0,4 и начальным элементом -8.

3. Написать программу по выводу на экран матрицы, каждый элемент которой будет вычисляться по правилу: , где и – элементы матриц соответственно

Вариант 9

1.Написать программу по выводу диагональной матрицы, с произвольным значением величины, стоявшей на главной диагонали.

2.Составить программу по вычислению скалярного произведения двух векторов.

3.Вычислить сумму .

Вариант 10

1. Вывести единичную матрицу, где элементу будет присвоено значение -5.

2. Используя оператор on error для предотвращения появления ошибки "деление на нуль", вычислить функцию .

3. Написать программу, которая возвращает число 5, если функции отлична от нуля и -5, если равна нулю.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow