Вызов подпрограммы-функции
Рис. 5.3.8. Реализация итерационного цикла примера 5.3.6
Программирование двойных циклов. Напомним, что элементы матриц (двумерных массивов) имеют два индекса: первый индекс определяет номер строки, а второй – номер столбца, на пересечении которых находится указанный элемент. Например, запись
– означает обращение к элементу, стоящему на пересечении второй строки и четвертого столбца. Поэтому в общем случае для работы с матрицами необходимо использовать так называемый двойной цикл, у которого тело одного цикла, называемого внутренним, «вкладывается» в тело другого – «внешнего» цикла. Каждый из этих циклов имеет свой параметр: параметр внешнего цикла и параметр внутреннего цикла. Следовательно, для организации такого двойного цикла необходимо использовать два оператора цикла, один из которых размещен в теле другого (различные варианты вложений операторов цикла приведены на рис. 5.3.9).
Рис. 5.3.9. Варианты вложений операторов цикла
Пример 5.3.7. Составить описание П-Ф формирующей матрицу по следующему правилу:
.
Описание и вызов П-Ф приведены на рис. 5.3.9. В этой П-Ф параметром внешнего цикла является переменная i, а параметром внутреннего — переменная j. ¨
Рис. 5.3.10. Реализация двойного цикла примера 5.3.7
Пример 5.3.8. Дана матрица
размерности . Составить описание П-Ф, вычисляющей индексы и значение элемента матрицы, который по модулю максимально близок к заданному числу c. Описание П-Ф и ее вызов приведены на рис 5.3.10. Напомним, что системная переменная ORIGIN = 1. ¨Рис. 5.3.14. Два варианта реализации алгоритма примера 5.3.10
Оператор on error. Этот оператор является обработчиком возникающих при выполнении тех или иных вычислений ошибок и записывается в виде:
< конструкция 1 > on error < конструкция 2 >.
Оператор выполняется следующим образом. Если при выполнении <конструкция 2> возникает ошибка, то выполняется <конструкция 1>. Если ошибка не возникает, то выполняется <конструкция 2>.
Пример 5.3.11. Используем оператор on error для
предотвращения появления ошибки «деление на ноль» при вычислении функции angl(x,y). Фрагмент представлен на рис. 5.3.15. ¦
«деление на ноль»
Рис. 5.3.15. Использование функции on error в примере 5.3.11
Функция error. Используется для вывода диагностических сообщений при возникновении в вычислениях ошибки и записывается в виде:
error ("< диагностическое сообщение пользователя >").
Имя функции вводится с клавиатуры. Функция используется в левом поле условного оператора if, как показано в следующем примере.
Пример 5.3.12. Запрограммируем вывод диагностического сообщения при попытке спроецировать вектор v на нулевой вектор w. Описание П-Ф и ее вызовы приведены на рис. 5.3.16.
Рис. 5.3.16. Использование в П-Ф оператора error
Следует заметить, что взятое в кавычки диагностическое сообщение появится на экране только после щелчка мышью на выделенном красным цветом обращении к П-Ф, при выполнении которой произошла ошибка (см. рис. 5.3.17).
Рис. 5.3.17. Применение функции error в примере 5.3.12