Операционная система, остальное - программы.
Найти и исправить ошибкиСистемные программы - это средства, предназначенные для работы с операционной системой.
Операционные системыа) DOS, Windows, Unix
Сервисные программыв) Системные оболочки, утилиты, драйвера устройств, антивирусные и сетевые программы.
Текстовый редактора) Системного программного обеспечения.
Операционная системав) Набор программ, обеспечивающий работу всех аппаратных устройств компьютера и доступ пользователя к ним.
Драйверб) Программа, управляющая конкретным внешним устройством.
Экспертные системыд) Прикладным программам специального назначения
Средства контроля и диагностикид) Сервисному программному обеспечению
программа, управляющая компьютером или его процессами.
Найдите лишнееOC Windows, остальные - программы.
Найти и исправить ошибкиПрикладные программы – это средства, предназначенные для определённых задач пользователя.
Системное программное обеспечениеа) Программы для организации совместной работы устройств компьютера как единой системы.
Система управления базамид) Прикладного программного обеспечения.
Операционные системыб) Системного программного обеспечения.
Программы обслуживания устройствб) Драйверами.
В прикладное ПО входятд) Текстовые редакторы.
Назначение ПОв) Организует процесс обработки информации в соответствии с программой.
Система программирования позволяетг) Организовать общение человека и компьютера на формальном языке.
Матрицы не очень сложны для понимания и использования. Более того, они нужны для написания быстрых преобразований и очень полезны для представления математических операций в компактной форме.
Матрица - это множество чисел, сгруппированных в колонки и столбцы. Здесь изображены две матрицы: Матрица А и Матрица В.
56_1.gif (1163 b)
Матрица А - это матрица 2х3 (то есть у нее две строки и три столбца), тогда как матрица В - это матрица 3х3. Мы можем получить доступ к элементу матрицы А, используя запись А[m,n], где m - это строка, а n - столбец. Элемент в верхнем углу матрицы А будет обозначаться А[0,0] и он равен единице.
Произведение операций над матрицами
Вы можете производить большинство операций над матрицами так же, как Вы оперируете и с нормальными числами. Например, Вы можете их складывать или вычитать, соответственно складывая или вычитая каждый из компонентов.
Для примера, рассмотрим сложение двух матриц размерностью 2х3 - матрицы А и матрицы С:
56_2.gif (650 b)
При сложении матриц А и С нужно складывать каждый из элементов m, n. Суммы элементов займут в результирующей матрице соответствующие места:
56_3.gif (896 b)
Мы также можем умножить матрицу на скаляр k. Например, чтобы умножить матрицу А на 3, мы должны умножить на 3 каждый ее элемент.
56_4.gif (725 b)
Теперь поговорим об умножении двух матриц. Эта операция немного отличается от умножения на скалярную величину. Вы должны запомнить несколько правил:
Количество столбцов в первой матрице (n) должно быть равно количеству строк во второй (также n). Это значит, что если размерность первой матрицы (m x n), то размерность второй матрицы должна быть (n x r). Два остальных измерения m и к могут быть любыми.
Произведение матриц не коммутативно, то есть А х В не равно В х А.
Умножение матрицы m x n на матрицу n x r может быть описано алгоритмически следующим образом:
Для каждой строки первой матрицы:
Умножить строку на столбец другой матрицы поэлементно. Сложить полученный результат;
Поместить результат в позицию [i,j] результирующей матрицы, где i - это строка первой матрицы, а j - столбец второй матрицы.
Для простоты посмотрите на рисунок:
56_5.gif (4629 b)
Мы можем это сделать намного проще, написав программу на Си. Давайте определим матрицу 3х3 и напишем функцию, умножающую матрицы. Ниже показан исходный код:
// общая структура матрицы
typedef struct matrix_typ
{
float elem[3][3]; // место для хранения матрицы
} matrix, *matrix_ptr;
void Mat_Mult3x3(matrix_ptr matrix_1, matrix_ptr matrix_2,
matrix_ptr result)
{
index i, j, k;
for(i=0; i < 3; j++)
{
for(j=0; j < 3; j++)
{
result[i][j] = 0; // инициализация элемента
for(k = 0; k < 3; k++)
{
result->elem[i][j] += matrix_1->elem[i][k]
* matrix_2->elem[k][j];
} // конец цикла по k
} // конец цикла по j
} // конец цикла по i
} // конец функции
Единичная матрица
Прежде чем закончить говорить о матрицах, скажем еще об одной вещи: о единичной матрице. Не углубляясь в математические термины, я хочу сказать, что нам нужна такая матрица, умножая на которую мы получали бы исходную матрицу.
Говоря попросту, нам нужно иметь матрицу размерностью