Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп'ютерна алгебра.Навчально-методичний посібн...doc
Скачиваний:
17
Добавлен:
24.08.2019
Размер:
683.01 Кб
Скачать

2.2 Ключові слова

Ключовими словами GAP є наступні слова:

and do elif else end fi for function if in local mod not od or repeat return then until while quit QUIT break rec continue

2.3 Ідентифікатори

Ідентифікатори складаються з букв, цифр, символів підкреслення _, і повинні містити не менше однієї букви або символу підкреслення _. При цьому регістр є істотним. Приклади ідентифікаторів:

а foo Longidentifier hello Hello HELLO x100 100x _100 underscores_case Mixedcase

2.4 Вирази

Прикладами виразів є: змінні, звернення до функцій, цілі числа, перестановки, рядки, функції, списки, записи. За допомогою операторів з них можуть бути складені складніші вирази.

Оператори розбиті на три класи: - оператори порівняння: = <> < <= > >= in - арифметичні оператори: + - * / mod ^ - логічні оператори: not and or

Приклад 1:

gap>2*2;; #два знаку ";" пригнічують вивід на екран gap>2*2+9=fibonacci(7) and Fibonacci(13) in Prime; true

Слід розрізняти глобальні і локальні змінні, відмінності яких можна бачити з наступного прикладу:

Приклад 2:

g := 0; # глобальна змінна g x := function ( а, b, з ) local у; g := з; # з - аргумент функції x у := function ( у ) local d, e, f; d := у; # у - аргумент функції у e := b; # b - аргумент функції x f := g; # g - глобальна змінна g return d + e + f; end; return у(a); # у-локальная змінна функції x end;

2.5 Звернення до функцій

Формат:

function-var() function-var( arg-expr {, arg-expr} )

Приклад 1:

gap> Fibonacci( 11 ); # звернення до функції "Fibonacci" з аргументом 11 89

Приклад 2: gap> Rightcosets( G, Intersection( U, V )); #обращеніє до операції "Rightcosets", #в якому другий аргумент визначається #обращенієм до іншої функції

2.6 Порівняння виразів

Формат:

left-expr = right-expr left-expr <> right-expr left-expr < right-expr left-expr > right-expr left-expr <= right-expr left-expr >= right-expr

Оператори = і <> перевіряють відповідно рівність і нерівність, повертаючи true або false. Відмітьте, що з їх допомогою можна порівнювати будь-які об'єкти, тобто при використанні = і <> ніколи не буде отримане повідомлення про помилку. Для кожного типу об'єктів визначення рівності може відрізнятися і описано у відповідному розділі довідкового керівництва. Об'єкти, що відносяться до різних сімейств (families) завжди різні, тобто = приведе до false, і <> - до true. Крім того, в деяких випадках для них може бути визначене відношення "менше".

Оператори порівняння мають більший пріоритет в порівнянні з логічними операторами, але менший в порівнянні з арифметичними. Наприклад, a*b = з and d інтерпретується як ((a*b)=c) and d) . Ще один приклад (порівняння, ліва частина якого є виразом ):

gap> 2 * 2 + 9 = Fibonacci(7); true