Отсортированная по возрастанию
-11 -9 -4 -3 -1 7 10 11 12 14
Вариант 5. Суммой двух (m x n)-матриц A = (aij) и B = (bij) считается (m x n)- матрица A + B = C = (cij), где при каждом i = 1,2,…,m и j = 1,2,…,m
cij = aij + bij Вывод на экран:
Вариант 6. След матрицы – суммы элементов главной диагонали квадратной матрицы A = (aij).
Вывод на экран: Матрица А
|
Элементы главной диагонали
1 5 9
След матрицы TrA = 15
Вариант 7. Произведением (m x n)- матрицы
A = (aij) и (n x p)- матрицы B = (bjk) считается (m x p)- матрица C = AB = C = (cik), где при каждом i = 1,2,…,m и k = 1,2,…,p Контрольный пример:
Вывод на экран - аналогичный варианту 5.
Вариант 8. Транспонированная (n x m)- матрица AT= (aji) полу-
чается из заданной (m x n)- матрицы A= (aij) путем перемены ролями ее строк и столбцов. Контрольный пример:
Исходная матрица Транспонированная
1 1 1 1 1 1 2 3 4 Вывод на экран – аналогичный варианту 5.
2 2 2 2 2 1 2 3 4
3 3 3 3 3 1 2 3 4
4 4 4 4 4 1 2 3 4
1 2 3 4
Организуется двойной цикл для перезаписи строк массива a(m,n) в столбцы массива b(n,m).
Вариант 9. Минор – определитель квадратной матрицы порядка
k, полученной из заданной (m x n)- матрицы путем удаления некоторых m-k строк и n-k столбцов.
Матрица Минор
a1,1 a1,2 …a1,k … a1,m a1,1 a1,2 … a1,k Вывод на экран -
a2,1 a2,2 …a2,k … a2,m a2,1 a2,2 … a2,k аналогичный варианту 5.
……………………… ………………
ak,1 ak,2 …ak,k … ak,m ak,1 ak,2 … ak,k
………………………
an,1 an,2 …an,k … an,m
Организуется перезапись фрагмента массива a1(m,n) в массив a2(k,k).
Варианты 5-9.
Для работы с матрицами организуются двойные (вложенные) циклы, а в варианте 7 – тройной цикл. С помощью оператора INPUT вводится размерность матриц (m, n, p – для варианта 7). Оператор DIM резервирует в памяти место
для элементов матриц, которые также вводятся с помощью оператора INPUT, поставленного в цикл FOR … NEXT. Для ввода двух матриц в память и их последующего вывода на экран потребуется 4 двойных цикла. Однако, можно обойтись и одним. Покажем, как это можно сделать:
'==1===== Блок ввода и вывода матриц А и В =====================
100 FOR k = 1 TO 4
110 SELECT CASE k
120 CASE 1: ik = m: jk = n: PRINT "Ввод элементов матрицы А"
130 CASE 2: ik = n: jk = p: PRINT "Ввод элементов матрицы B"
140 CASE 3: CLS: ik = m: jk = n: LOCATE 1, 1: PRINT f$
PRINT "Матрица А"
150 CASE 4: ik = n: jk = p: PRINT "Матрица В"
160 END SELECT
170 FOR i = 1 TO ik
180 FOR j = 1 TO jk
190 IF k = 1 THEN INPUT "", a(i,j) ELSE IF k = 2 THEN INPUT "", b(i,j)
200 IF k = 3 THEN PRINT a(i,j); ELSE IF k = 4 THEN PRINT b(i,j);
210 NEXT j
220 PRINT
230 NEXT i, k
'=========================================================
Приведенный блок из программы умножения двух матриц сложнее аналогичных блоков для других вариантов заданий, так как требует переназначения конечных значений счетчиков цикла ik и jk. С точки зрения решения задачи 4 цикла для ввода и вывода на экран двух матриц и использование для этого одного цикла являются равнозначными вариантами программы.
Еще один блок программы с циклом потребуется для реализации собственно поставленной задачи (умножения, сложения, транспонирования и пр.), а также вывода результата на экран (результирующей матрицы или следа матрицы, как в варианте 6).
Вариант 10.
Программа нахождения наибольшего общего делителя (НОД) для двух чисел A и B по алгоритму Евклида
Если A > B, то нужно от А отнять В. Если В > А, то необходимо от В отнять А, и так продолжать до тех пор, пока не станет А = В. Тогда значение А (или В) будет НОД.
Контрольный пример: А = 731, В = 425, НОД = 17
Вариант 11.
Программа нахождения наименьшего общего делителя двух чисел
Наименьший общий делитель двух чисел – наименьшее целое число больше 1, на которое делятся оба числа.
Контрольный пример: 697 и 1649. НОД = 17
Для нахождения НОД организуется цикл для перебора чисел в пределах от 2 до значения меньшего из двух проверяемых чисел. Наименьшее из перебираемых чисел, на которое без остатка разделились оба проверяемых числа и будет наименьшим общим делителем.
Вариант 12.
Программа нахождения простых чисел
Простое число – натуральное число больше 1, единственными делителями которого является только оно само и 1.
Проверочная таблица простых чисел до 100
2 13 31 53 73
3 17 37 59 79
5 19 41 61 83
7 23 43 67 89
11 29 47 71 97
После ввода границы поиска организуется двойной цикл для проверки всех чисел в указанных пределах. Если проверяемое число i не разделилось ни на одно из чисел £ i – 1, то это число – простое.
Вариант 13.