- •Р.М.Літнарович, ю.Г.Лотюк комп’ютерна алгебра навчально-методичний посібник
- •© Літнарович р.М., Лотюк ю.Г.,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
Варіант 1 (ГТ 65). Знайти показник ступеня числа 3 в канонічному розкладанні числа 100!.
Варіант 2 (ГТ 66). Знайти показник ступеня числа 11 в канонічному розкладанні числа 1000!. Варіант 3 (ГТ 67). Скількома нулями закінчується число 100! (запропонувати два способи рішення даної задачі, що не зводяться до виводу 100! на екран і ручному підрахунку нулів) ? Варіант 4 (ГТ 68). Розкласти на прості множники числа 10!, 15!, 20!, 25!, 30!. Варіант 5 (ГТ 69). Знайти кількість цілих позитивних чисел, що не перевершують 180 і що не діляться ні на одне з простих чисел 5, 7, 11. Варіант 6 (ГТ 70). Знайти кількість цілих позитивних чисел, що не перевершують 2311 і що не діляться ні на одне з простих чисел 5, 7, 11, 13. Варіант 7 (ГТ 71). Знайти кількість цілих позитивних чисел, що не перевершують 100 і взаємно простих з 36. Варіант 8 (ГТ 72). Знайти кількість цілих позитивних чисел, що не перевершують 12317 і взаємно простих з 1575. Варіант 9 (ГТ 73). Знайти кількість цілих позитивних чисел, що не перевершують 1000 і не взаємно простих з 363. Варіант 10 (ГТ 74). У ряді натуральних чисел 1 ..., 1800, починаючи з одиниці, викреслюється кожне п'яте, кожне восьме і кожне дев'яте число. Скільки чисел не буде викреслено? Варіант 11 (ГТ 78). У урні 5000 куль, перенумерованих від 1 до 5000. Яка вірогідність того, що вийнята наугад куля матиме номер, кратний якому-небудь з чисел 14, 21, 10 ? Варіант 12 (ГТ 84). Знайти всіх дільників чисел 360, 375, 957, 988 (запропонувати два способи рішення, порівняти результати). Варіант 13 (ГТ 85). Знайти ціле позитивне число, знаючи, що воно має тільки двох простих дільників, число всіх дільників дорівнює 6, а сума всіх дільників дорівнює 28. Варіант 14 (ГТ 91). Знайти ціле позитивне число, твір всіх дільників якого дорівнює 5832. Варіант 15 (ГТ 101). Скільки чисел в інтервалі від 1 до 120, не взаємно простих з 30 (запропонувати два способи рішення, порівняти результати)? Варіант 16 (ГТ 113). Знайти кількість натуральних чисел, менших числа 300 і що мають з ним найбільшим загальним дільником число 20. Варіант 17 (ГТ 114). Знайти кількість натуральних чисел, менших числа 1665 і що мають з ним найбільшим загальним дільником число 37. Варіант 18 (ГТ 115). Знайти кількість натуральних чисел, менших числа 1476 і що мають з ним найбільшим загальним дільником число 41.[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\b-funct.htm>][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm>][Список лабораторних робіт <file:///d:\ Комп'ютерна%20алгебра\metgap43\c-labrab.htm>][Наступний розділ]
Лабораторна робота № 3. Лінійні програми. Вектори і матриці
Дана лабораторна робота призначена для навчання розробці простих лінійних програм, оформлених у вигляді функцій, на прикладі роботи з векторами і матрицями.
Докладні відомості по даних темах містяться: - в розділі "Структури даних" <file:///d:\ Комп'ютерна%20алгебра\metgap43\3-data.htm> даної методичної допомоги (про матриці і вектори); - в додатку А <file:///d:\ Комп'ютерна%20алгебра\metgap43\a-prog.htm> до даної методичної допомоги (про створення і запуск програм); - в розділі "Lists and Records" введення в систему GAP <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>; - в розділах "Row vectors" і "Matrices" довідкового керівництва за системою GAP <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.
Приклад: Розробити функцію для обчислення суми елементів побічної діагоналі матриці А третього порядку, вхідним параметром якої є матриця А, а вихідним - вказана сума.
Для цього створимо в робочому каталозі (створеному відповідно до інструкцій лабораторної роботи №1) файл lab3.g наступного змісту:
Sumdiag:=function(A) local s; s := A[1][3]+ A[2][2]+ A[3][1]; return s; end;
Тепер прочитаємо його за допомогою наступної команди (якщо система GAP запущена з іншого каталога, то потрібно буде вказати повний шлях до файлу): Read("lab3.g");
Тепер ми можемо звертатися до функції Sumdiag, наприклад:
gap> M:=[[1,2,3],[-1,-2,-3],[1,1,1]]; [ [ 1, 2, 3 ], [ -1, -2, -3 ], [ 1, 1, 1 ] ] gap> Sumdiag(M); 2
Дану функцію можна було б розробити і більш універсальним чином для роботи з матрицями будь-якого порядку (її доопрацювання для перевірки того, що матриця є квадратною, ми залишаємо читачеві): Bettersumdiag:=function(A) local i, nrows, ncols; nrows := Length( A ); # кількість рядків ncols := Length( A[1]); # кількість стовпців return Sum( List( [ 1 .. nrows ], i -> A[i][ncols-i+1])); end; При розробці функцій звернете увагу на наступне: - відсутність крапки з комою в першому рядку - обов'язковість крапки з комою після команди end - необхідність вказівки локальних змінних за допомогою команди local - повідомлення про помилку, якщо ім'я Вашої функції збіжиться з ім'ям однієї з бібліотечних функцій GAP.