Задание 1. Выполните примеры, приведенные на рисунке 21, а) и б). Проверьте правильность работы программы Fact(n) с помощью встроенного оператора n!
Задание 2. Выполните пример, приведенный на рисунке 21, в). Переопределите встроенную переменную ORIGIN и повторно выполните программу L с теми же исходными данными. Почему программа перестала работать корректно? Внесите в программу необходимые изменения - такие, чтобы она оставалась работоспособной независимо от установленного значения переменной ORIGIN.
Задание 3. Выполните примеры, приведенные на рисунке 22. Измените программу Inverse(V) так, чтобы она обрабатывала все без исключения элементы исходного вектора, выполняя при этом следующие замены их значений в зависимости от типов данных этих элементов: ненулевые числовые скаляры заменяются обратными им значениями; нулевые скаляры заменяются строковой константой "NULL"; строковые скаляры заменяются строковой константой "STRING", а массивы - строковой константой "ARRAY".
Задание 4. Разработайте программы, реализующие те же операции, что и встроенные операторы суммирования и перемножения.
Задание 5. Пусть задан массив M произвольной размерности, элементы которого могут содержать скаляры числового или строкового типов. Разработайте программы, получающие массив M в качестве входного параметра и решающие следующие задачи с минимальным использованием встроенных операторов и функций, предназначенных для обработки массивов.
1 Транспонировать массив М.
2 Определить сумму элементов массива М. Если среди элементов встретится скаляр строкового типа, программа должна прервать свою работу и возвратить текущий результат суммирования.
3 Определить сумму и произведение элементов массива М. Результат представить в форме двухэлементного вектора. Если среди суммируемых элементов вектора встретится скаляр строкового типа, программа должна прервать свою работу и возвратить результат в форме соответствующего текстового сообщения.
4 Определить во входном векторе V ближайший к началу вектора элемент, значение которого превышает заданное значение z.