Условные операторы (if, otherwise)
Действие условного оператора if состоит из двух частей. Сначала проверяется логическое выражение (условие) справа от него. Если оно истинно, выполняется выражение слева от оператора if. Если ложно – ничего не происходит, а выполнение программы продолжается переходом к ее следующей строке. Вставить условный оператор в программу можно следующим образом (см. рисунок 4.8):
Если необходимо, введите левую часть выражения и оператор присваивания.
- Создайте новую строку программного кода, нажав на панели Программирование (Programming) кнопку Добавить строку (Add Line).
- Нажмите кнопку условного оператора if.
- Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Булевы операторы (Boolean).
- Выражение, которое должно выполняться, если условие истинно, введите слева от оператора if.
- Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя оператор if или otherwise.
Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполняться, если ни одно из условий не оказалось истинным.
Рисунок 4.8. – Вставка условного оператора.
Операторы цикла (for, while, break)
В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию.
Диапазон значений переменной в условии цикла for можно задать как с помощью диапазона ранжированной переменной, так и с помощью вектора.
Задание 4.4. Для ознакомления с применением циклических операторов выполните листинг 4.4.
Листинг 4.4. Применение циклических операторов.
Иногда необходимо досрочно завершить цикл, т. е. не по условию в его заголовке, а в некоторой строке в теле цикла. Для этого предназначен оператор break.
Задание 4.5. Для ознакомления с применением оператора break выполните листинг 4.5.
Листинг 4.5. Применение оператора break.
Возврат значения (return)
Если для определения переменной или функции применяется программный модуль, то его строки исполняются последовательно при вычислении в документе этой переменной или функции. Соответственно, по мере выполнения программы рассчитываемый результат претерпевает изменения. В качестве окончательного результата выдается последнее присвоенное значение. Чтобы подчеркнуть возврат программным модулем определенного значения, можно взять за правило делать это в последней строке программного модуля.
Вместе с тем, можно прервать выполнение программы в любой ее точке (например с помощью условного оператора) и выдать некоторое значение, применив оператор return. В этом случае при выполнении указанного условия значение, введенное в местозаполнитель после return, возвращается в качестве результата, а никакой другой код больше не выполняется. Вставляется в программу оператор return с помощью одноименной кнопки панели Программирование (Programming).
Задание 4.6. Для ознакомления с применением оператора return выполните листинг 4.6.
Листинг 4.6. Применение оператора return.
Задание 4.5. Выполните индивидуальное задание к лабораторной работе в соответствии с номером варианта.
Вариант №1.
- Вычислить выражение:
- Значение x меняется с шагом 0.1 в диапазоне [-1…1]. Вычислить и вывести все значения при заданных x.
- Написать функцию, подсчитывающую произведение положительных элементов среди элементов X1,X2,..Xn.
- Если количество нулей в массиве А(10) вещественных чисел равно количеству единиц в массиве С(10) целых чисел, то заменить каждый третий элемент массива А на 10. В противном случае, заменить каждый третий элемент массива С на 10.
- Даны два целочисленных массива А(10)и В(8). Если среднее арифметическое массива А равно минимальному значению массива В, то увеличить каждый элемент массива В на 15.
- Найти наименьший положительный элемент в каждом столбце матрицы Х(5,5) и переписать их в одномерный массив.
Вариант №2.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.15 в диапазоне [-2…1]. Вычислить и вывести все значения при заданных x.
- Написать программу, подсчитывающую сумму квадратов отрицательных элементов среди элементов X1,X2,..Xn.
- Если количество единиц в массиве А(10) вещественных чисел равно количеству единиц в массиве С(10) целых чисел, то в массиве A найти максимальный элемент. В противном случае, отсортировать массив B.
- Даны два целочисленных массива А(10)и В(8). Если среднее арифметическое массива А больше количества положительных элементов массива В, то определить максимальный элемент массива B.
- Дана матрица А(4х5). Определить, сколько нулевых элементов находиться в каждой строке матрицы. Вывести найденное количество.
Вариант №3.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить и вывести все значения функции при изменении х от 0 с шагом 0.1. Определить на каком шаге значении у превысит 10.
- В массиве А(к) заменить элементы, расположенные после n-го, на 0. Вывести измененный массив.
- Даны два массива Х(8)и У(12). Определить есть ли в каждом из них положительные элементы кратные ‘k’.
- Даны два целочисленных массива А(10)и В(8). Если количество отрицательных элементов массива А больше количества положительных элементов массива В, то увеличить на 5 все положительные элементы массива B.
- Дана матрица А(4х5). Определить, сколько положительных элементов находиться в каждом столбце матрицы. Вывести найденное количество.
Вариант №4.
- Дано X. Вычислить значение где
Напечатать результат в следующем виде "при х=... а=... у=...". При других значениях напечатать "при х=... решения нет".
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-1…2]. Определить наименьшее значение y.
- В массиве А(к) заменить элементы, расположенные до n-го, на квадрат модуля. Вывести измененный массив.
- Дан массив А(n) произвольных чисел, сформировать из него и вывести на печать массивы отрицательных и положительных чисел.
- Дан вектор У(у1, у2, у3,...у20). Разделить каждую компоненту вектора на разность между минимальной и максимальной компонентами. Отпечатать полученный вектор.
- Дана матрица А(5х5). Определить среднее арифметическое в каждом столбце матрицы. Вывести найденные значения.
Вариант №5.
- Дано X. Вычислить значение где
Напечатать результат в следующем виде "при х=... а=... у=...". При других значениях напечатать "при х=... решения нет".
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-3…1]. Определить сумму значений y.
- Написать функцию, подсчитывающую сумму положительных элементов среди элементов X1,X2,..Xn.
- Даны два массива Х(10)и У(12). Определить есть ли в каждом из них положительные элементы больше ‘k’.
- Даны два целочисленных массива А(6)и В(6). Составить массив С, каждый элемент которого есть сумма соответствующих элементов массива А и В. Распечатать массив С и номер максимального элемента этого массива.
- Найти наименьшие элементы среди отрицательных элементов каждой строки матрицы А(6х6), пологая, что в каждой строке есть хотя бы один отрицательный элемент. Найденные наименьшие элементы записать в одномерный массив Х в порядке возрастания.
Вариант №6.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.01 в диапазоне [-0.5…0.5]. Вычислить и вывести все значения при заданных x.
- Написать функцию, подсчитывающую максимальное число среди элементов X1,X2,..Xn.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 0 все элементы до первого отрицательного, который заменить на 1, а все остальные элементы заменить их модулями.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти сумму значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих сумм и увеличить каждый элемент массива В на её значение. Распечатать значение сумм и измененный массив.
- Найти наибольший положительный элемент в каждом столбце матрицы Х(5,5) и переписать их в одномерный массив.
Вариант №7.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.1 в диапазоне [-2…1]. Вычислить и вывести все значения при заданных x.
- В массиве А(к) заменить отрицательные элементы, расположенные после n-го, на квадрат. Вывести измененный массив.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 1 все элементы после первого отрицательного, который заменить на 0, а все остальные элементы заменить возвести в квадрат.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти произведение значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих произведений и увеличить каждый элемент массива В на её значение. Вывести полученные результаты.
- Дана матрица А(4х5). Определить, сколько нулевых элементов находиться в каждой строке матрицы. Вывести найденное количество.
Вариант №8.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-2…1]. Определить сумму значений y.
- В массиве А(к) заменить положительные элементы, расположенные после n-го, на квадрат. Вывести измененный массив.
- Если количество нулей в массиве А(10) вещественных чисел равно количеству единиц в массиве С(10) целых чисел, то в массиве A найти минимальный элемент. В противном случае, отсортировать массив B.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти произведение значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих произведений и уменьшить каждый элемент массива А на её значение. Вывести полученные результаты.
- Дана матрица А(4х5). Определить сумму положительных элементов в каждой строке матрицы. Вывести найденные значения.
Вариант №9.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-2…1]. Определить произведение значений y.
- Написать программу, подсчитывающую сумму квадратов отрицательных элементов среди элементов X1,X2,..Xn. n вводится с клавиатуры.
- Если сумма положительных элементов в массиве А(10) вещественных чисел равна сумме модулей отрицательных элементов в массиве С(10) целых чисел, то в массиве A найти минимальный элемент. В противном случае, отсортировать массив B.
- Даны два целочисленных массива А(10)и В(8). Если среднее арифметическое массива А больше количества положительных элементов массива В, то определить максимальный элемент массива B.
- Дана матрица А(4х5). Определить максимальный положительный элемент в каждом столбце матрицы. Вывести найденные значения.
Вариант №10.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.1 в диапазоне [-0.5…0.5]. Вычислить и вывести все значения при заданных x.
- Написать функцию, подсчитывающую минимальное число среди элементов X1,X2,..Xn.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 1 все элементы до первого отрицательного, который заменить на 0, а все остальные элементы заменить их модулями.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти сумму значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих сумм и увеличить каждый элемент массива В на её значение. Распечатать значение сумм и измененный массив.
- Найти количество положительных элементов в каждом столбце матрицы Х(5,5) и переписать их в одномерный массив.
Вариант №11.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить факториал для n в диапазоне [0…15].
- Написать функцию, подсчитывающую произведение положительных элементов среди элементов X1,X2,..Xn.
- Если количество единиц в массиве А(10) вещественных чисел равно количеству положительных элементов в массиве С(10) целых чисел, то заменить каждый третий элемент массива А на 10. В противном случае, заменить каждый третий элемент массива С на 10.
- Даны два целочисленных массива А(10)и В(8). Если среднее арифметическое массива А равно максимальному значению массива В, то увеличить каждый элемент массива В на 10.
- Найти сумму положительных элементов в каждой строке матрицы Х(5,5) и переписать их в одномерный массив.
Вариант №12.
- Дано X. Вычислить значение где
Напечатать результат в следующем виде "при х=... а=... у=...". При других значениях напечатать "при х=... решения нет".
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-1…2]. Определить наименьшее значение y.
- В массиве А(к) заменить элементы, расположенные до n-го, на куб модуля. Вывести измененный массив.
- Дан массив А(n) произвольных чисел, сформировать из него и вывести на печать массивы чётных и нечётных чисел.
- Дан вектор У(у1, у2, у3,...у20). Увеличить каждую компоненту вектора на разность между минимальной и максимальной компонентами. Отпечатать полученный вектор.
- Дана матрица А(5х5). Определить среднее арифметическое в каждой стороке матрицы. Вывести найденные значения.
Вариант №13.
- Дано X. Вычислить значение где
Напечатать результат в следующем виде "при х=... а=... у=...". При других значениях напечатать "при х=... решения нет".
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-3…1]. Определить сумму значений y.
- Написать функцию, подсчитывающую сумму положительных элементов среди элементов X1,X2,..Xn.
- Даны два массива Х(10)и У(12). Определить есть ли в каждом из них чётные положительные элементы больше ‘k’.
- Даны два целочисленных массива А(6)и В(6). Составить массив С, каждый элемент которого есть произведение соответствующих элементов массива А и В. Распечатать массив С и номер максимального элемента этого массива.
- Найти наименьшие элементы среди положительных элементов каждой строки матрицы А(6х6), пологая, что в каждой строке есть хотя бы один отрицательный элемент. Найденные наименьшие элементы записать в одномерный массив Х в порядке убывания.
Вариант №14.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.01 в диапазоне [-0.2…0.9]. Вычислить и вывести все значения при заданных x.
- Написать функцию, подсчитывающую максимальное число среди чётных элементов X1,X2,..Xn.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 0 все элементы до первого положительного, который заменить на -3, а все остальные элементы заменить нулями.
- Даны два массива А(10) целых чисел и В(10) чисел. Найти разность значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих разностей и умножить каждый элемент массива В на её значение. Распечатать значение разности и измененный массив.
- Найти наибольший отрицательный элемент в каждом столбце матрицы Х(5,5) и переписать их в одномерный массив.
Вариант №15.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.1 в диапазоне [-2…1]. Вычислить и вывести все значения при заданных x.
- В массиве А(к) заменить отрицательные элементы, расположенные после n-го, на квадрат. Вывести измененный массив.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 1 все элементы после первого отрицательного, который заменить на 0, а все остальные элементы заменить возвести в квадрат.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти произведение значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих произведений и увеличить каждый элемент массива В на её значение. Вывести полученные результаты.
- Дана матрица А(4х5). Определить, сколько нулевых элементов находиться в каждой строке матрицы. Вывести найденное количество.
Вариант №16.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-2…1]. Определить сумму значений y.
- В массиве А(к) заменить положительные элементы, расположенные после n-го, на квадрат. Вывести измененный массив.
- Если количество нулей в массиве А(10) вещественных чисел равно количеству единиц в массиве С(10) целых чисел, то в массиве A найти минимальный элемент. В противном случае, отсортировать массив B.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти произведение значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих произведений и уменьшить каждый элемент массива А на её значение. Вывести полученные результаты.
- Дана матрица А(4х5). Определить сумму положительных элементов в каждой строке матрицы. Вывести найденные значения.
Вариант №17.
- Ввести с клавиатуры x. Вычислить выражение:
- Вычислить и вывести все значения функции при изменении х с шагом 0.1 в диапазоне [-2…1]. Определить произведение значений y.
- Написать программу, подсчитывающую сумму квадратов отрицательных элементов среди элементов X1,X2,..Xn. n вводится с клавиатуры.
- Если сумма положительных элементов в массиве А(10) вещественных чисел равна сумме модулей отрицательных элементов в массиве С(10) целых чисел, то в массиве A найти минимальный элемент. В противном случае, отсортировать массив B.
- Даны два целочисленных массива А(10)и В(8). Если среднее арифметическое массива А больше количества положительных элементов массива В, то определить максимальный элемент массива B.
- Дана матрица А(4х5). Определить максимальный чётный положительный элемент в каждом столбце матрицы. Вывести найденные значения.
Вариант №18.
- Ввести с клавиатуры x. Вычислить выражение:
- Значение x меняется с шагом 0.1 в диапазоне [-0.5…0.5]. Вычислить и вывести все значения при заданных x.
- Написать функцию, подсчитывающую минимальное число среди элементов X1,X2,..Xn.
- Составить процедуру, которая создаёт массив P1,P2,..,Pm из C1,C2,..Cm по правилу: заменить на 5 все элементы до первого чётного, который заменить на 0, а все остальные элементы заменить1.
- Даны два массива А(10) целых чисел и В(10) вещественных чисел. Найти сумму значений элементов каждого массива и вывести их на экран. Затем определить меньшую из этих сумм и увеличить каждый элемент массива В на её значение. Распечатать значение сумм и измененный массив.
- Найти количество положительных элементов в каждом столбце матрицы Х(5,5) и переписать их в одномерный массив.
Контрольные вопросы
1. Вкладка Программирования.
2. Оператор Добавления линии.
3. Создание подпрограммы.
4. Условный оператор.
5. Оператор Otherwise.
6. Локальное присвоение.
7. Оператор цикла for.
8. Оператор цикла while.
9. Оператор прерывания цикла break.
10. Оператор возврата значения return.