Тема 4. Елементи програмування в Maple. Типи даних. Операнди та операції
| Сайт: | Навчально-інформаційний портал НУБіП України |
| Курс: | Комп'ютерна техніка та програмування (ТТ) ☑️ |
| Книга: | Тема 4. Елементи програмування в Maple. Типи даних. Операнди та операції |
| Надруковано: | Гість-користувач |
| Дата: | пʼятниця, 7 листопада 2025, 03:18 |
1. Елементи мови Maple
UNSW. Maple commands and language
Вихідний файл - текстовий файл, який включає частину або ж увесь програмний код. Програма може складатися як з одного файла, так із декількох сотень файлів вихідного тексту. Функції, змінні та константи є головними об’єктами, які складають вихідну програму (вихідні файли).
Елементи мови Maple - базові конструкції, які використовуються при написанні програм. До них відносяться: алфавіт, ідентифікатори, ключові слова, коментар і т.п.
Алфавіт - множина символів, які можна набрати на клавіатурі для створення конструкцій мови Maple. Алфавіт використовується для формування лексем - мінімальних лексичних одиниць, які розпізнаються інтерпретатором. До них відносяться ключові слова (зарезервовані слова), символи операцій, імена змінних, функцій і команд, рядки, числа, роздільники. Інтерпретатор Maple зчитує кожен рядок та розбиває його на лексеми, які відразу ж виконує.
Український алфавіт може бути використаний тільки в символьних рядках, константах чи в коментарях (в поясненнях до програми).
Символи проміжку є клавіша проміжку, перехід на новий рядок, горизонтальна і вертикальна табуляції, нова сторінка. Ці символи розділяють лексеми одну від іншої. Інтерпретатор ігнорує декілька підряд символи проміжку, що дозволяє їх використовувати для покращання наочності програми.
Роздільники використовуються інтерпретатором для різних задач - від організації тексту програми до вказівок компілятору виконувати конкретні дії:
, кома (comma) - при перерахуванні;
; крапка з комою (semicolon) - закінчення оператора;
[] квадратні дужки (square brackets) - означення послідовності (масиву);
{} фігурні дужки (curly brackets) - означення множини;
() круглі дужки (parenthesis) - означення функції та інші.
Константи - число, символ або ж рядок символів, які не змінюється в процесі виконання програми. Розрізняють константи: цілі; дійсні (з плаваючою крапкою); символьні; строкові.
Maple містить цілий ряд іменованих констант - таких, до значень яких можна звертатися по імені. Частина цих констант не може бути змінена. До них відносяться:
- true, false – логічні значення "істинно" і "неправдиве";
- infinity - нескінченність;
- I - уявна одиниця;
- Pi - константа 3.14159265.
Деякі константи можуть бути перевизначені, наприклад, Digits, яке задає число значущих цифр для чисел з плаваючою точкою (за замовчуванням 10).
Щоб подивитися всі константи в Maple, виконайте команду: .
Maple працює з наступними типами чисел:
- (integer) цілими десятковими (0, 1, 123, -456 і т.д.),
- (fraction) раціональними у вигляді відношення цілих чисел (7/9, -123/127 і т.д.),
- (float) дійсними з мантиси і порядком (1.23E5, 123.456E-10)
- (complex) комплексними (2+3I).
Натуральні числа - будь-яка послідовність цифр. Maple ігнорує зліва нулі.
Цілі числа - натуральні числа зі знаком або . Цілі числа задаються у вигляді послідовності цифр від 0 до 9. Приклад цілих констант: 10, 32767, -32767.
Maple може працювати з цілими числами довільної величини, кількість цифр обмежено числом 228. Великі числа, які не поміщаються на одному рядку, Maple переносить на наступний рядок, використовуючи символ зворотного слеша (\).
При перевірці типу натурального числа команда whattype() повертає цілий тип integer, оскільки натуральний тип natural розглядається як один з підтипів цілого типу. Для уточнення підтипу цілого числа необхідно використовувати команду type() з параметром, що описує підтипи цілого типу: natural (натуральний), negint (негативне ціле), posint (позитивне ціле), even (парне), odd (непарне) і prime (просте).
Обчислення з цілими числами реалізують чотири арифметичні дії (додавання +, віднімання –, множення *, ділення /) і обчислення факторіала (!).
Отримати список всіх команд для роботи з цілими числами можна, набравши команду: ?Integer. Деякі з цих команд:
- irem - обчислення залишку при операції цілого ділення irem(53,7)=4
- igcd - знаходження найбільшого загального дільника цілих чисел igcd(192,90)=6
- isprime - перевірка, чи є ціле число простим.
Звичайні дроби задаються за допомогою операції ділення двох цілих чисел. Maple автоматично виконує скорочення дробів, наприклад 32/12;
Над дробами можна виконувати всі основні арифметичні операції.
Для перетворення звичайного дробу в десяткову величину служить команда evalf(). Другий параметр цієї команди задає число значущих цифр, наприклад: evalf(3/8, 4) = 0.3750.
Дріб і її десяткове подання не є ідентичними об’єктами Maple.
Числа з плаваючою крапкою - дійсне число, яке має цілу та дробову її частини. Ціла частина від дробової відділяється крапкою, а не комою. Для запису дійсної константи в експоненціальній формі використовують символ ‘е’ або ж ‘E’, наприклад: 15.78, 0.5, 1.0, 1.2е7, .00075, -2.5е-2. Обчислення дійсних чисел проводиться за замовчуванням з 10 значущими числами.
Якщо всі числа в виразі є цілими, дробами або радикалами, то результат представляється також з використанням цих типів даних. Якщо ж у виразі присутнє число з плаваючою точкою, то результатом виконання такого "змішаного" виразу буде число з плаваючою точкою. Наприклад, 3e2+3/4+sqrt(5)+3/4*0.1+surd(6,3)*43/10;
Радикали задаються як результат введення в дробовий степінь цілих або дробових чисел, або обчислення з них же квадратного кореня sqrt(), або обчислення кореня n-го ступеня surd(число, n). В Maple піднесення до степеню задається символом або послідовністю двох зірочок .
На відміну від чисел з плаваючою крапкою, обчислення з цілими, дробами і радикалами є абсолютно точними, оскільки Maple не виконує ніяких заокруглень.
Комплексні числа. Для уявної одиниці в Maple використовується константа . Якщо хоча б одна з частин комплексного числа (дійсна чи уявна) обчислюються у вигляді числа з плаваючою точкою, то і результат буде таким же.
Основні команди для роботи з комплексними числами:
- виділення дійсної частини комплексного числа
- виділення уявної частини комплексного числа.
Спеціальні символи (або ж послідовності) використовуються для виконання характерних дій, наприклад, перехід на новий рядок, табуляції, звуку.
Рядок - будь-який набір символів, взяті в подвійні лапки, наприклад . Довжина рядка в Maple може мати 268435439 символів. З’єднання рядків можна виконати за допомогою операції конкатенації ||, або зверненням до функції cat(рядок 1, рядок 2).
Коментар - пояснювальний текст до програми, який можна записати в будь-якій її частині. Коментар, як послідовність символів, компілятором ігноруються та інтерпретуються як проміжки. Рекомендується вживати коментар як найчастіше, що дозволить легше зрозуміти програмний код при його модифікації.
Ідентифікатори - назви змінних і функцій, які створюються в програмі.
В ідентифікаторі використовуть тільки дві множини символів, які можна набрати на клавіатурі:
- літери латинського алфавіту - A...Z, a...z, знаку підкреслювання «_»;
- арабських цифри 0, 1, 2..9.
Вимоги до написання ідентифікаторів:
- повинен починатися з букви або ж знаку підкреслювання;
- повинен нести зрозумілий смисл назви змінної чи функції;
- не повинен співпадати з ключовим словом.
Приклади: temp1, Skip_1, Alfa, Fi, Sum, Ad, aD.
Мова Maple чутлива до регістру - малі та великі літери алфавіту відрізняються.
Ключові (службові) слова - наперед визначені ідентифікатори, які мають спеціальне значення.
and break by catch description do done elif else end error export fi finally for from global if in intersect local minus mod module next not od option options or proc quit read return save stop then to try union use while
Службові слова не можна використовувати як власні ідентифікатори.
2. Типи даних
Повідомлення А разом з відповідною інформацією В називають величиною. Інформацію В називають значенням величини, а повідомлення А - позначенням величини. Множину величин, для яких визначена деяка множина операцій, називають множиною величин певного типу.
Тип об’єкта визначає множину значень, які цей об’єкт може приймати і операції, які над ними можуть виконуватися.
Цілі числа, дробові числа, числа з плаваючою точкою відносяться до основних типів даних. До більш складних типів даних відносять масиви, множини, списки.
Одно- та багатовимірні масиви створюються шляхом оголошення масивів із елементів простих типів даних. Елементи багатовимірного масиву запам’ятовуються по рядках. Для створення масиву використовується команда array(i1..j1, i2..j2,..., M), яка повертає масив с елементами із списку M.
Звернення до елементів множини, списку, масиву здійснюється вказівкою індексу елемента в квадратних дужках.
Індексні імена являють собою символьні імена з нижнім індексом. Для їх завдання слід після символьного імені в квадратних дужках задати послідовність виразів, причому саме індексне ім’я також може мати нижній індекс.
Комп’ютерна змінна - це пойменоване місцезнаходження частини пам’яті, де зберігаються дані певного типу. По замовчуванню змінна є скалярною величиною.
Якщо у виразі використовується змінна, якої не присвоєно ніякого числового значення, то така змінна розглядається системою Maple як невідома величина, а вираз, що містить невідомі, називається символьним виразом. Якраз для роботи з такими виразами насамперед і розроблявся Maple.
Змінні дозволяють зберігати й обробляти різноманітні типи даних. При цьому за замовчуванням змінна Maple має тип , представляє символьну змінну, і її значенням є її власне ім’я. При присвоєнні змінній якого-небудь значення, її тип змінюється на тип присвоєного їй значення.
3. Вирази, операції, операнди
В Maple розрізняють поняття функції, команди і оператора. Вираз являє собою комбінацію імен змінних, чисел і інших об'єктів, з'єднаних знаками допустимих операцій. Для запису виразів використовують оператори, наприклад, додавання + , віднімання , множення , ділення , присвоєння , рівності та інші.
Введення виразів (питання) задається по правилам строкового редактора. Знак фіксації кінця виразу є точка з комою , що вказує на виведення результатів на монітор. Знак дві крапки відміняє виведення і може використовуватися для запису декількох виразів в одному рядку.
Операції визначають дії над операндами - константами, змінними чи символьними рядками. Кожен операнд має тип. Операнди за допомогою операцій можуть комбінуватися в первинні вирази, які в свою чергу стають операндами. Їх комбінація приводить до утворення більш складніших виразів і т.д.
Існують три типи виразів:
- математичні - результатом виразу є число;
- текстові – результатом являється рядок символів;
- логічні - результат є твердження “так” чи “ні”.
В залежності від виду операцій вирази поділяються на первинні, унарні, бінарні, тернарні, присвоєння та приведення типу відповідно до кількості операторів у даному виразі. Присвоєння це вираз.
Дія символів:
: фіксатор виразу, який запобігає виводу результату обчислення в рядок;
; фіксатор виразу, який формує вивод результату обчислення в окремий рядок;
# покажчик коментаря;
:= оператор присвоєння;
‘ обмежувач змінної, при використання якої ігноруються попередні дані;
% повертає останній результат обчислення.
Пріоритет впливає на порядок обчислення операцій у виразах
|
Операції |
Назви |
|
() [] -> |
первинні |
|
* / |
мультиплікативні |
|
+ - |
адитивні |
|
< <= >= |
відношення |
|
:= |
присвоєння |
4. Аналіз математичних виразів
Maple має широкі можливості для аналітичних перетворень математичних формул. До них відносяться такі операції, як приведення подібних, розкладання на множники, розкриття дужок і т.п. В Maple можна перетворювати як все вираз в цілому, так і окремі його частини.
Кожен вираз піддається синтаксичному розбору, результатом якого є побудова дерева виразу. У першому, кореневому вузлу відзначається тип виразу, а кожна гілка відповідає одному з складових вираз членів, або операндів. Вузол в кожній гілці відповідає типу операнда, так як він сам може бути складним виразом, а його гілки визначають складові члени цього члена виразу. Цей процес продовжується поки не дійде до листя дерева, що представляють імена змінних або числові константи.
Користувач може самостійно здійснити синтаксичний розбір вирази, використовуючи команди: whattype(), type(), nops() і op().
В результаті обчислення вираз буде рівним одному з основних об’єктів Maple:
|
Об’єкт |
Тип |
Підтип |
|
Рядок |
string |
|
|
Ім’я |
name |
symbol, indexed |
|
Ціле число |
integer |
negint, posint, nonnegint, even, odd, prime |
|
Дріб або раціональне число |
rational |
integer, fraction |
|
Десяткові числа |
numeric |
integer, fraction |
|
Комплексні числа |
complex |
|
|
Список |
list |
|
|
Множина |
set |
|
|
Виклик функції |
function |
|
Вибір лівої або ж правої частини математичного виразу здійснюється операторами lhs(A=B); rhs(A=B) Для отримання чисельника і знаменника використовують оператори numer(вираз); denom(вираз). Для виділення частини виразу або списку служить оператор op(i, вираз), де i - число, що визначає позицію у виразі.
Команда simplify() призначена для спрощення різноманітних виразів, що включають раціональні дроби (алгебраїчні вирази), які містять тригонометричні, зворотні тригонометричні функції, логарифми і експоненти. Maple може його спростити (а може і не спростити із-за складності).
Найбільш часто використовувані при перетвореннях команди і функції Maple розташовуються в його системному ядрі, яке постійно знаходиться в пам’яті ПК.
5. Питання для самоперевірки
Яка кількість цифр в цілому числі допускає Maple?
Для чого потрібні константи Digits і Order?
Дайте визначення типу об’єкта.
Що таке тип даних?
Назвіть основні типи даних.
Які існують типи виразів?
Що являє собою вираз в Maple?
Чим повинні обов’язково завершуватися кожен оператор або команда в Maple?
За допомогою якої функції обчислюється корінь n-го ступеня числа?
Обчислення з якими числами є абсолютно точними в програмі Maple?
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання