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

Завдання для лабораторної роботи № 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.