- •Р.М.Літнарович, ю.Г.Лотюк комп’ютерна алгебра навчально-методичний посібник
- •© Літнарович р.М., Лотюк ю.Г.,2010 р.
- •1. Програма нормативної дисципліни
- •2. Мета та завдання дисципліни,
- •3. Формування практичних навичків
- •4. Зміст дисципліни
- •4.1.Лекції, найменування тем за їх змістом
- •6.Перелік питань до заліку
- •7.Науково-дослідна робота студентів
- •8. Літературні джерела
- •9.Розподіл балів за один змістовий модуль, присвоюваних студентам
- •10.Шкала оцінювання:
- •11.Зміни та доповнення ,внесені в робочу програму на 201__ рік
- •12.Оцінка навчальної діяльності студента
- •2. Лекційний курс Лекція 1. (2 год.)
- •1.1 Коротка характеристика gap
- •1.2 Можливості для роботи з різними видами об'єктів алгебри
- •1.3 Приклади простих обчислень
- •2 Мова програмування gap
- •2.1 Символи і категорії слів в gap
- •2.2 Ключові слова
- •2.3 Ідентифікатори
- •2.4 Вирази
- •2.5 Звернення до функцій
- •2.6 Порівняння виразів
- •2.7 Арифметичні оператори
- •2.8 Привласнення
- •2.9 Виклик процедури
- •2.10 Команда if
- •2.11 Цикл while
- •2.12 Цикл repeat
- •2.13 Цикл for
- •2.14 Функції
- •3 Структури даних
- •3.1 Константи і оператори
- •3.2 Змінні і привласнення
- •3.3 Функції
- •3.4 Списки
- •3.5 Тотожність і рівність списків
- •3.6 Множини
- •3.7 Вектори і матриці
- •3.8 Записи
- •3.9 Арифметичні прогресії
- •3.10 Використання циклів
- •3.11 Подальші операції із списками
- •3.12 Функції
- •4 Операції над групами і їх елементами
- •4.1 Завдання групи підстановок
- •4.2 Завдання підгрупи групи підстановок
- •4.3 Прості властивості групи. Силовськие підгрупи.
- •4.4 Інші види підгруп
- •4.5 Факторгруппи
- •Список літератури, що рекомендується
- •Додаток а Рекомендації по створенню і запуску програм в системі gap
- •1. Створюємо за допомогою текстового редактора файл "prog.G" наступного змісту:
- •2. Зберігаємо цей файл в каталозі, вибраному з урахуванням рекомендацій параграфа 1.2.
- •3. Запустимо gap і визначимо файл протоколу log.Txt:
- •Лабораторна робота № 1. Основи роботи з системою gap в Windows
- •Лабораторна робота № 2 Списки. Цілі числа
- •Завдання для лабораторної роботи № 2
- •Лабораторна робота № 3. Лінійні програми. Вектори і матриці
- •Завдання для лабораторної роботи № 3
- •Лабораторна робота № 4. Програми, що гілкуються. Многочлени
- •Лабораторна робота № 5. Циклічні програми (цикл for). Бінарні відносини
- •Лабораторна робота № 6. Циклічні програми (цикл while). Підстановки
- •Лабораторна робота № 7. Циклічні програми (цикл repeat). Групи підстановок
- •Завдання для лабораторної роботи № 7
- •Лабораторна робота № 8. Вивчення властивостей елементів групи
- •Завдання для лабораторної роботи № 7
- •Лабораторна робота № 9. Вивчення властивостей підгруп групи.
- •Завдання для лабораторної роботи № 9.
- •Лабораторна робота № 10. Робота з бібліотекою кінцевих груп
- •Додаткові завдання
- •33027 Рівне , Україна
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