Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самоучитель по Maple.docx
Скачиваний:
258
Добавлен:
08.03.2016
Размер:
17.32 Mб
Скачать

27. Интерактивный ввод строк Интерактивный ввод строк

Для интерактивного ввода строк можно использовать функцию readline(filename), задав в качестве имени файла terminal или опустив имя файла. В этом случае ввод строки осуществляется с клавиатуры компьютера:

> s:=read1ine();

> Привет мой друг!

s:="Привет мой друг!"

ПРИМЕЧАНИЕ

Полезно обратить внимание на то, что запрос в ходе интерактивного ввода может быть сделан на русском языке (если установленный для запросов шрифт имеет символы кириллицы). Нужно также, чтобы и шрифт строки вывода содержал кириллицу, иначе в строке вывода будет типичная «абракадабра» — смесь непонятных символов.

28. Обработка строк Обработка строк

Имеется ряд функций для работы со строками. Из них наиболее важны следующие:

  • lenght(str) — возвращает число символов, содержащихся в строке str;

  • substring(str,a. .b) — возвращает подстроку строки str от а-го символа до b-го;

  • cat(strl,str2....) — возвращает строку, полученную объединением строк strl, str2,... (альтернатива — оператор конкатенации в виде точки .);

  • SearchText(s.str) — производит поиск подстроки s в строке str и при его успехе возвращает номер позиции s в строке str (при отсутствии s в str функция возвращает 0).

Примеры применения этих функций (в виде продолжения ранее приведенных примеров) представлены ниже:

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

42.gif

29. Преобразование строки в математическое выражение Преобразование строки в математическое выражение

Часто возникает необходимость в интерактивном вводе математических выражений. Для ввода с запросом выражения используется функция readstat(promt), где promt — строка с текстовым комментарием. Пример ее применения дан ниже:

Альтернативой может стать ввод строкового выражения с последующим преобразованием его в математическое выражение с помощью функции parse:

Обратите внимание на то, что функция evaln не смогла вычислить строковое выражение `2+3` поскольку оно не является числовым типом данных. Однако функция parse преобразовала это выражение в числовое, что и привело к его вычислению.

43.gif

44.gif

30. Что нового мы узнали?

Что нового мы узнали?

В этом уроке мы научились:

  • Использовать операторы и операнды.

  • Применять различные математические функции.

  • Использовать операторы и функции для работы с векторами и матрицами.

  • Использовать функции для работы со строковыми данными.

Урок 7. Типовые средства программирования

1. Функции пользователя

Урок 7.

Типовые средства программирования.

Функции пользователя

Упрощенные функции пользователя

Хотя ядро Maple 7, библиотека и пакеты содержат свыше 3000 функций, всегда может оказаться, что именно нужной пользователю (и порою довольно простой) функции все же нет. Тогда возникает необходимость в создании собственной функции, именуемой функцией пользователя. Начнем описание с обычных функций пользователя, задающих некоторую зависимость от одной или ряда переменных в явном виде.

Основным средством расширения Maple-языка являются модули — процедуры. Однако на первый взгляд они довольно сложны. Есть и более простые способы задания функций пользователя. Один из таких способов заключается просто в присваивании введенной функции (в виде выражения) некоторой переменной: Name:-выражение

Этот прием фактически означает просто операцию присваивания. Следующие примеры иллюстрируют технику работы с такими функциями:

Заданный таким образом объект все же не является полноценной функцией пользователя, и прежде всего потому, что в нем используются только глобальные переменные (х и у) и нет объявленного списка параметров, от которых зависит значение функции. При этом значения переменных функции приходится заведомо задавать отдельно, используя операции присваивания. Подобные конструкции нельзя ввести в библиотеки Maple 7.

1.gif