МИНИСТЕРСТВО ПРОСВЕЩЕНИЯ ПМР Приднестровский Государственный Университет им. Т.Г.Шевченко физико-математический факультет кафедра информатики и вычислительной техники тема Операции над матрицами Выполнила студентка 305 гр. Савкина А.П. Научный руководитель Преподаватель кафедры ИВТ Земляков А.В. г. Тирасполь 2004 г. Содержание 1.
Введение 2.Теоретическая часть 2.1 Матрицы Понятие матрицы 2.2 Основные операции над матрицами Сложение матриц 4 Вычитание матриц.4 Умножение матрицы на число.5 Перемножение матриц 6 Транспонирование матрицы.2.3 TURBO Pascal Константы и переменные.8 Общий вид программы в TP2.4 Операторы TP7 Оператор присваивания 10
Условный оператор 11 Оператор выбора.2.5 Циклы С предусловием Whiledo 13 С постусловием RepeatUntil.14 С параметром Forto 2.6 Массивы 2.7 Работа в текстовом режиме 2.8 Процедуры и функции пользователя2.9 Коды клавиатуры 3. Программа 4. Заключение 5. Список литературы 1.Введение
Впервые в математике такое понятие как матрица появилось в середине 19 века в работах Гамильтона, Сильвестра. Современное обозначение две вертикальные черточки ввел А. Кэли 1841. Матричный язык, обозначения и матричные вычисления широко используются в различных областях современной математики и е приложений. Матрицы являются основным математическим аппаратом линейной алгебры, используются в математическом анализе при интегрировании систем дифференциальных уравнений.
В математике матрицей называется прямоугольная таблица из чисел, содержащая некоторое количество m строк и некоторое количество n столбцов. Числа m и n называются порядками матрицы. В случае, если m n , матрица называется квадратной, а число m n ее порядком. Матрицы также нашли сво применение в программировании. Они широко используются старшеклассниками с углубленным изучением математики на практических занятиях,
студентами для закрепления темы Двумерные массивы и т.д. Современные средства вычислительной техники и ЭВМ позволяют существенным образом повысить эффективность деятельности инженеров при решении различных задач. При этом наиболее существенным вопросом является организация взаимодействия пользователя со средствами ЭВМ. В качестве языка программирования выбран язык программирования
Турбо Паскаль. К достоинствам языка Турбо Паскаль следует отнести такие его характеристики, как универсальность, наглядность, удобство работы с массивами. Цель работы - разработать программу для проведения основных операций над матрицами транспонирование матрицы, сложение двух матриц, умножение матрицы на число, перемножение двух матриц. В моей работе сформулированы основные понятия теории матриц. Элементы матриц вводятся с клавиатуры, на экран выводится информация о том, какие матрицы обрабатываются
и результат обработки. Программа рациональна и легко читаема, в ней вставлены комментарии для объяснения работы отдельных блоков программы. Программа предусматривает выход из не. В программе используются процедуры и функции циклы с постусловием, предусловием, с параметром массивы условный оператор, оператор выбора, присваивания работа в текстовом режиме. 2. Теоретическая часть 2.1Матрицы. Понятие матрицы.
Матрицей называется прямоугольная таблица из чисел, содержащая некоторое количество m строк и некоторое количество n столбцов. Числа m и n называются порядками матрицы. В случае, если m n , матрица называется квадратной, а число m n ее порядком. 2.2 Основные операции над матрицами. Основными арифметическими операциями над матрицами являются умножение матрицы на число, сложение и умножение матриц. Прежде всего, договоримся считать матрицы равными, если
эти матрицы имеют одинаковые порядки и все их соответствующие элементы совпадают. Перейдем к определению основных операций над матрицами. Сложение матриц Суммой двух матриц, например A и B, имеющих одинаковое количество строк и столбцов, иными словами, одних и тех же порядков m и n называется матрица С Сij i 1, 2, m j 1, 2, n тех же порядков m и n, элементы
Cij которой равны. Cij Aij Bij i 1, 2 m j 1, 2 n 1 Для обозначения суммы двух матриц используется запись C A B. Операция составления суммы матриц называется их сложением Итак по определению имеем Пример Из определения суммы матриц, а точнее из формулы 1 непосредственно вытекает, что операция сложения матриц обладает теми же свойствами, что и операция сложения вещественных
чисел, а именно 1 переместительным свойством A B B A 2 сочетательным свойством A B C A B C Эти свойства позволяют не заботиться о порядке следования слагаемых матриц при сложении двух или большего числа матриц. Разностью двух матриц A и B одинаковых порядков естественно называется такая матрица C тех же порядков, которая в сумме с матрицей B дает матрицу
A. Для обозначения разности двух матриц используется естественная запись C A B. Пример - Умножение матрицы на число Произведением матрицы A Aij i 1, 2 m j 1, 2 n на вещественное число называется матрица C Cij i 1, 2 m j 1, 2 n , элементы которой равны Cij ij i 1, 2 m j 1, 2 n . 2 Для обозначения произведения матрицы на число используется запись
C или C . Операция составления произведения матрицы на число называется умножением матрицы на это число. Непосредственно из формулы 2 ясно, что умножение матрицы на число обладает следующими свойствами 1 распределительным свойством относительно суммы матриц A B 2 сочетательным свойством относительно числового множителя A 3 распределительным свойством относительно суммы чисел
A . k Пример 6 Перемножение матриц Произведением матрицы A Aij i 1, 2 m j 1, 2 n , имеющей порядки соответственно равные m и n, на матрицу B Bij i 1, 2 n j 1, 2 p , имеющую порядки соответственно равные n и p, называется матрица C Сij i 1, 2 m j 1, 2 p , имеющая порядки, соответственно равные m и p, и элементы Cij, определяемые формулой Cij i 1, 2 m j 1, 2 p 3
Для обозначения произведения матрицы A на матрицу B используют запись C AB. Операция составления произведения матрицы A на матрицу B называется перемножением этих матриц. Из сформулированного выше определения вытекает, что матрицу A можно умножить не на всякую матрицу B необходимо чтобы число столбцов матрицы A было равно числу строк матрицы B. Для того чтобы оба произведения
AB и BA не только были определены, но и имели одинаковый порядок, необходимо и достаточно, чтобы обе матрицы A и B были квадратными матрицами одного и того же порядка. Формула 3 представляет собой правило составления элементов матрицы C, являющейся произведением матрицы A на матрицу B. Это правило можно сформулировать и словесно Элемент
Cij, стоящий на пересечении i-й строки и j-го столбца матрицы C AB, равен сумме попарных произведений соответствующих элементов i-й строки матрицы A и j-го столбца матрицы B. В качестве примера применения указанного правила приведем формулу перемножения квадратных матриц второго порядка Из формулы 3 вытекают следующие свойства произведения матрицы A на матрицу B 1 сочетательное свойство AB C A BC 2 распределительное относительно суммы матриц свойство
A B C AC BC или A B C AB AC. Вопрос о перестановочном свойстве произведения матриц имеет смысл ставить лишь для квадратных матриц одинакового порядка. Элементарные примеры показывают, что произведение двух квадратных матриц одинакового порядка не обладает, вообще говоря, перестановочным свойством. В самом деле, если положить A , B , то AB , а BA Те же матрицы, для произведения которых справедливо перестанавочное свойство, принято называть коммутирующими.
Транспонирование матриц. Если в матрице А поменять местами столбцы со строками, то получим транспонированную матрицу АТ. Каждый элемент транспонированной матрицы определяется по формуле aijT aji, i1,2 n j1,2 m. Пример транспонирования Транспонирование матрицы можно реализовать двумя способами. Первый способ следует применять, когда имя транспонированной матрицы не совпадает с именем исходной матрицы, т.е. когда исходная и транспонированная матрицы хранятся в разных областях памяти
ЭВМ. Второй способ следует применять, когда транспонирование требуется выполнить в той же области памяти, где располагается исходная матрица, т.е. когда транспонированная матрица должна иметь такое же имя, как и исходная например, для экономии памяти. В этом случае для перестановки элементов необходимо организовать циклический процесс не в полном объме, как это делается при первом способе, а в половинном, так как в противном случае каждый элемент будет переставлен дважды и, следовательно, исходная матрица останется
без изменений. 2.3 Turbo Pascal Константы и переменные. В программе каждый элемент данных является константой или переменной. Константы и переменные определяются именами, к которым затем можно обратиться. Константой называется элемент данных, значения которых установлено в описательной части программы и в процессе выполнения программы не изменяется. Для определения значения констант существует зарезервированное
слово Const. Формат11 Формат это правило записи команд записи Const идентификатор значение константы Например Const Pi3.1415 Переменной называется элемент данных, идентификатор которых указывается в описательной части программы, и значения которых, в процессе выполнения программы, могут изменяться. Для описания переменных используется зарезервированное слово
Var. Формат записи Var идентификатор тип переменной Например Var Ainteger D,f,kreal MyProgramchar После описания переменной е значение принимает значение равное нулю. Каждая переменная или константа должны принадлежать определнному типу данных. Комментарии в ТР 7. В ТР7 в качестве комментариев используется пара символов Между этими скобками можно заключить любую последовательность символов, которая будет игнорироваться
при выполнении программы. Комментарий можно вставлять в любом месте программы. Где по синтаксису языка допускается пробел. Примеры комментариев Это комментарий Моя первая программа Общий вид программы в ТР7. Программа это последовательность команд для ввода исходных данных, их обработки и выдачи результатов для реализации алгоритма задачи. Программа реализует некоторый алгоритм решения конкретной задачи.
Она объединяет последовательность действий с помощью определнных описаний. В общем случае программа на ТР7 выглядит следующим образом Program имя программы указывается имя программы Uses имя 1,имя 2, раздел стандартных модулей подключаемых к программе Label метка 1,метка 2, раздел описания меток Const имя значение раздел описания констант Type имя типа значение типа раздел описания типов
Var идентификатор идентификатор тип раздел описания переменных Procedure имя процедуры раздел описания процедур тело процедуры Function имя функции раздел описания функций тело функции Begin основное тело программы End. Основное тело программы11 Телом программы называется место в программе, где располагаются все основные команды программы. помещается
между зарезервированными словами beginend. Данные слова называются операторными скобками. 2.4 Операторы ТР7. Оператор это способ задания некоторого действия для его исполнения. Любой оператор в ТР7 должен заканчиваться точкой с запятой. Другими словами можно сказать, что оператор это выражение заканчивающиеся точкой с запятой это терминатор признак конца. Операторы ввода-вывода. В любой, даже самой простой, программе присутствуют одни из часто
используемых операторов ТР7 операторы ввода вывода. Ввод это передача данных от внешнего пользователя в оперативную память компьютера для обработки. Самым распространнным устройством ввода является клавиатура. Вывод это обратный процесс, когда данные после обработки выводятся пользователю. Самым распространнным устройством вывода является дисплей монитора и принтер.
В ТР7 для осуществления ввода вывода существуют четыре специальных оператора-процедуры Для ввода Read от английского слова - читать Readln Read Line читать линию, строку Для вывода Write от английского слова писать, записать Writeln Write Line записать линию, строку Оператор присваивания. В ТР7 в качестве оператора присваивания служит пара символов .
Формат оператора идентификатор выражение В качестве выражения в ТР7 может быть использовано идентификатор числовая константа идентификатор символьная константа идентификатор строковая константа идентификатор числовая переменная идентификатор символьная переменная идентификатор строковая переменная идентификатор арифметическое выражение Принцип действия оператора присваивания Идентификатору стоящему слева от знака присваивания присваивается
значение специального выражения стоящего справа от знака присваивания. Обратите внимание, что сначала вычисляется специальное выражение стоящие справа от знака присваивания, а затем, значение этого выражения присваивается идентификатору стоящему слева от знака присваивания. Составной оператор это последовательность произвольных операторов программы, заключнная в операторные скобки BeginEnd. Формат составного оператора Begin оператор 1 оператор 2 оператор 3 оператор
N End. Условный оператор. Условный оператор используется для составления разветвляющихся программ. Разветвляющаяся программа это программа, содержащая хотя бы одно логическое условие, в соответствии с которым будет выполнятся то или иное действие. Условный оператор существует в двух формах записи полной и сокращнной. Полная форма записи да нет IF условие THEN оператор 1 ELSE оператор 2 Служебные слова IF,
THEN, ELSE означают соответственно ЕСЛИ, ТО, ИНАЧЕ. Принцип работы полного условного оператора если условие стоящие после зарезервированного слова IF истинно, то выполняется оператор 1, стоящий после зарезервированного слова THEN, а иначе, если условие оказывается ложным, то выполняется оператор 2 стоящий после зарезервированного слова ELSE. Следует обратить внимание, что перед словом
ELSE не ставится Сокращнная форма записи IF условие да нет THEN оператор Оператор выбора. Для ситуаций, где имеется несколько три и более альтернатив, вместо условного оператора больше подходит оператор выбора. Общая форма записи case выражение-селектор of список значений 1 оператор 1 список значений 2 оператор 2 список значений N оператор N else оператор end Принцип работы оператора выбора при выполнении данного оператора вначале
вычисляется значение выражения-селектора стоящего после зарезервированного слова case. Затем выбирается тот список значений, которому принадлежит полученное значение, и выполняется соответствующий оператор, следующий за двоеточием. Оператор стоящий после зарезервированного слова else выполняется если ни один из списков значений не удовлетворил значению выражения-селектора и может отсутствовать. В списках значений допустимыми являются скалярные типы переменных, которые включают целые и исключают
вещественные типы. Любое заданное значение выражения-селектора может входить в список значений неоднократно, но выполнятся будет лишь первая подходящая ветвь. 2.5 Циклы Цикл это последовательность операторов, которая может выполняться более одного раза. Операторы повтора в ТР7 представлены следующими циклами 1. Циклом с предусловием 2. Циклом с постусловием 3. Циклом с параметром
Цикл с предусловием Общий форма записи цикла Whiledo While условие do begin серия операторов end Указанную серию операторов называют телом цикла. Принцип действия цикла While Вначале проверяется условие стоящие после слова While. Если оно соблюдается т.е. истинное, то выполняется тело цикла слово do означает делать, выполнять заключнное в операторные скобки beginend а затем происходит перепроверка условия.
Если оно опять будет соблюдается, то тело цикла выполнится ещ раз. Этот процесс будет продолжаться до тех пор, пока условие будет соблюдаться. Как только условие перестанет соблюдаться т.е. станет ложным, цикл завершит свою работу. Условие в цикле While проверяется только перед выполнением цикла, но не проверяется в процессе выполнения самого тела цикла. Если поставленное условие не соблюдается с самого начала, то тело цикла не выполнится
ни разу. Выполнение цикла пока может и не завершиться, если условие будет вс время соблюдаться говорят, что происходит зацикливание. Цикл с постусловием RepeatUntil Иногда, приходится сталкиваться с такими задачами, когда нужно, чтобы выполнилось какое-либо действие, а потом проверилось условие повторения этого действия. Для этого служит цикл RepeatUntil. Общий форма записи цикла
RepeatUntil Repeat тело цикла Unil условие Принцип действия цикла RepeatUntil Вначале выполняется тело цикла следующие после слова Repeat повторять. Когда компилятор доходит до слова Until до происходит проверка поставленного условия. Если оно не соблюдается т.е. оно ложное, то тело цикла выполняется ещ раз.
Как только условие станет соблюдаться т.е. будет истинным цикл RepeatUntil завершит свою работу. Для цикла RepeatUntil характерны 4 особенности 1. Тело цикла выполняется, по крайней мере, один раз. 2. Тело цикла выполняется пока условие ложное. 3. В теле цикла может находиться произвольное количество операторов без операторных скобок beginend. 4. Один из операторов тела цикла должен влиять на значение
условия, иначе цикл будет бесконечным. Цикл с параметром For Циклы Whiledo и RepeatUntil используются в основном тогда, когда нам заранее не известно общее количество шагов цикла. Если же нам заранее известно количество шагов цикла, то удобнее использовать другой цикл, который называется цикл с параметром. Общий вид цикла Forto For параметр цикла начальное значение to конечное значение do тело цикла
Принцип действия цикла Forto В качестве параметра цикла объявляется какая-либо переменная, которой присваивается какое-либо начальное значение. Затем выполняется тело цикла и происходит увеличение параметра цикла на единицу. Цикл будет выполняться до тех пор, пока переменная, объявленная в качестве параметра цикла, не достигнет конечного значения начальное значение должно быть меньше конечного значения. Слова For, to, do означают для, до, делать. В качестве тела цикла может быть как простой, так и составной
оператор. Существует ещ одна форма записи цикла с параметром For параметр цикла начальное значение downto конечное значение do тело цикла Принцип действия цикла Fordownto В качестве параметра цикла объявляется какая-либо переменная, которой присваивается какое-либо начальное значение. Затем выполняется тело цикла и происходит уменьшение параметра цикла на единицу. Цикл будет выполняться до тех пор, пока переменная, объявленная в качестве параметра
цикла, не достигнет конечного значения начальное значение должно быть больше конечного значения. 2.6 Массивы Массив это упорядоченная последовательность из фиксированного числа однотипных элементов, которая обозначается одним именем. Упорядоченность элементов заключается в том, что все эти элементы располагаются в последовательных ячейках оперативной памяти. В программировании различают следующие типы массивов 1
Одномерные массивы линейные таблицы 2 Двумерные массивы прямоугольные таблицы 3 Многомерные массивы трехмерные и т.д. таблицы. Для того, чтобы обратиться к нужному элементу массива необходимо указать имя массива и его индекс. Индекс это порядковый номер элемента в массиве. Т.е. обращение происходит по правилу идентификатормассиваиндекс Общее количество элементов в массиве называется размерностью массива.
Прежде Чем в программе использовать массив или его элементы этот массив нужно, как и любую переменную, описать. Для описания массива в Паскале использую два метода 1. с описанием пользовательского типа type идентификатортипаarrayразмерность of базовыйтипэлементов var идентификатормассиваидентификатортипа 2. без описания пользовательского типа var идентификатормассиваarrayразмерность of базовыйтипэлементов 2.7 Работа в текстовом режиме Основным устройством вывода информации является монитор.
Он может выводить алфавитно-цифровую и графическую информацию. В текстовом режиме работы монитора минимальным объектом, отображаемом на экране является символ алфавитно-цифровой или какой-либо другой. В обычных условиях экран монитора, работающий в текстовом режиме может содержать по горизонтали 80 символов и 25 символов по вертикали. Следует учитывать, что координатная сетка в текстовом да и в графическом режиме имеет немного иное
расположение, чем декартовая система координат. Точка О0,0 находится в левом верхнем углу. Ось абсцисс направлена вправо от этой точки, а ось ординат вниз. Для использования всех процедур работы в текстовом режиме необходимо подключить стандартный модуль библиотеку текстового режима Crt. Для подключения этого модуля в разделе описания модулей до раздела описания переменных необходимо вставить строку Uses
Crt Познакомимся с основными процедурами, которые используются при работе в текстовом режиме 1. Процедура ClrScr производит очистку экрана 2. Процедура GotoXYx,yinteger - устанавливает курсор в позицию, определяемую координатами x и y. 3. Процедура TextcolorColorbyte - устанавливает цвет выводимых символов. 4. Процедура TextBackgroundColorbyte - устанавливает цвет фона.
Встроенные константы Турбо Паскаля, обозначающие цвета, и соответствующие им коды ЦветКонстантаКодЧерныйBlack0СинийBlue1Зе леныйGreen2БирюзовыйCyan3КрасныйRed4Розо выйMagenta5КоричневыйBrown6Светло-серыйL ightGray7Темно-серыйDarkGray8Светло-сини йLightBlue9Светло-зеленыйLightGreen10Све тло-бирюзовыйLightCyan11Светло-красныйLi ghtRed12Светло-розовыйLightMagenta13Желт ыйYellow14БелыйWhite15Мигающий ЧерныйBlackBlink16Мигающий СинийBlueBlink17Мигающий
ЗеленыйGreenBlink18Мигающий БирюзовыйCyanBlink19Мигающий КрасныйRedBlink20Мигающий РозовыйMagentaBlink21Мигающий КоричневыйBrownBlink22Мигающий Светло-серыйLightGrayBlink23Мигающий Темно-серыйDarkGrayBlink24Мигающий Светло-синийLightBlueBlink25Мигающий Светло-зеленыйLightGreenBlink26Мигающий Светло-бирюзовыйLightCyanBlink27Мигающий
Светло-красныйLightRedBlink28Мигающий Светло-розовыйLightMagentaBlink29Мигающи й ЖелтыйYellowBlink30Мигающий БелыйWhiteBlink31 5. Процедура DelayMSWord - приостанавливает выполнение программы на указанное количество миллисекунд. 2.8 Процедуры и функции пользователя Если в программе возникает необходимость частого обращения к некоторой группе операторов, выполняющих действия или вычисляющих значение какого-либо выражения, то рационально
сгруппировать такую группу операторов в самостоятельный блок, к которому можно обращаться, указывая его имя. Такие разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования. При вызове подпрограммы процедуры или функции, определенной программистом, работа главной программы на некоторое время приостанавливается и начинает выполняться вызванная подпрограмма.
Она обрабатывает данные, переданные ей из главной программы. По завершении выполнения подпрограмма-функция возвращает главной программе результат подпрограмма-процедура не возвращает явно результирующего значения. Передача данных из главной программы в подпрограмму и возврат результата выполнения функции осуществляются с помощью параметров. Параметром называется переменная, которой присваивается некоторое значение в рамках указанного применения.
Различают формальные параметры параметры, определенные в заголовке подпрограммы, и фактические параметры выражения, задающие конкретные значения при обращении к подпрограмме. При обращении к подпрограмме ее формальные параметры замещаются фактическими, переданными из главной программы. Описание процедуры включает заголовок имя и тело процедуры. Заголовок состоит из зарезервированного слова procedure, идентификатора имени процедуры и необязательного,
заключенного в круглые скобки, списка формальных параметров с указанием типа каждого параметра. Имя процедуры идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе. Заголовок функции Описания меток, констант, типов и т. д. действительны только в пределах данной процедуры. В теле процедуры можно использовать любые глобальные константы и переменные. procedure имя
Формальные параметры const type var begin операторы end Процедура не может выполниться сама, ее необходимо вызвать по имени и указать фактические параметры того же типа, что и формальные. Количество и тип формальных параметров равны количеству и типу фактических параметров. Функции Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово function, идентификатор имя функции заключенный в круглые
скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой уникальный блок, по структуре аналогичный программе function имя Формальные параметры тип результата const type var begin операторы end В разделе операторов должен находиться, по крайней мере, один оператор, присваивающий имени функции значение. В точку вызова возвращается результат последнего присваивания.
Обращение к функции осуществляется по имени с необязательным указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип. Механизм передачи параметров Как было сказано выше, в заголовке процедуры или функции может быть задан список параметров, которые называются формальными. Название формальные эти параметры получили в связи с тем, что в этом списке заданы только имена для
обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут подставлены конкретные значения выражений и имен. Этот список указывается после имени подпрограммы и заключается в круглые скобки. Список формальных параметров, указываемых в заголовке подпрограммы, может включать в себя параметры-значения параметры-переменные, перед которыми должно стоять служебное слово var и за которыми указывается их тип параметры-процедуры, перед которыми должно стоять служебное слово
procedure параметры-функции, перед которыми должно стоять служебное слово function и после которых указывается тип значения, возвращаемого функцией в основную программу нетипизированные параметры, перед которыми должно стоять служебное слово var и отсутствует указание типа. В списке должны быть перечислены имена формальных параметров и их типы. Имя параметра отделяется от типа двоеточием, а параметры друг от друга точкой с запятой.
Имена параметров одного типа можно объединять в подсписки, в которых имена отделяются друг от друга запятой. 2.9 Коды клавиатуры Коды опроса клавиатуры это стандартные коды персонального компьютера, генерируемые микропроцессором клавиатуры при нажатии какой-либо клавиши. Этот код является входным для системы Турбо Паскаль. При возвращении расширенных кодов в качестве первого знака возвращается нулевой байт, а второй знак
соответствует нажатой клавише или комбинации клавиш. В таблицах приведено соответствие второго возвращаемого кода нажатым клавишам. Расширенные коды клавиатуры Код Значение Код Значение 16 25 Alt-QWERTYUIOP 114 Ctrl - PrtScr 30 38 Alt-ASDFGHIJKL 115 Ctrl - LeftArrowCTpenKa влево 44 50 Alt-ZXCVBNM 116
Ctrl - RightArrowCTpenKa вправо 59 68 F1-F10 117 Ctrl-End 71 Home Исходная позиция 118 Ctrl-PgUp 72 UpArrow Стрелка вверх 119 Ctrl-Home 73 PgUp Страница вверх 120 131 Alt-1234567890 75 LeftArrowCrpenKa влево 132 Ctrl-PgDn 77 RightArrow Стрелка вправо 133 Fll 79 End Конец 134
F12 80 DownArrow Стрелка вниз 135 Shift-Fll 81 PgDn Страница вниз 136 Shift-Fl 2 82 Ins Вставка 137 Ctrl-Fll 83 Del Удаление 138 Ctrl-F12 84 93 Fl 1-F20 Shift-Fl no Shift-FlO 139 Alt-Fl 1 94 103 F21-F30Ctrl-Fl noCtrl-F10 140 Alt-Fl 2 104 113 F3 1-F40 Alt-Fl no Alt-FlO
Коды опроса клавиатуры Клавиша в шестнадцатеричном виде Код опроса Клавиша в шестнадцатеричном виде Код опроса Esc 01 Q 10 П 02 W 11 2 03 Е 12 3 04 R 13 4 05 Т 14 5 06 Y 15 Л6 07 и 16 7 08 I 17 8 09 О 18 9 ОА р 19 0 0В 1А Клавиша в шестнадцатеричном виде Код опроса Клавиша в шестнадцатеричном виде
Код опроса ОС IB oi Enter 1C BS OE м 2B CTRL ID Z 2C А IE X 2D S IF 2E D 20 V 2F F 21 в 30 G 22 N 31 Н 23 М 32 J 24 33 К 25 34 L 26 35 27 RightShift 36 28 Prtscr 37 29 Alt 38 Л. Shift 2A Home 47 Space 39 Up Arrow 48 CapsLock ЗА PgUp 49 Fl 3B 4A F2 3C LeftArrow 4B F3 3D 5 4C F4 3E
RightArrow 4D F5 . 3F 4E F6 40 End 4F F7 41 DownArrow 50 F8 42 PgUp 51 F9 43 Ins 52 F10 44 Del 53 Fll D9 NumLock 45 F12 DA ScrollLock 46 Tab OF Функция KeyPressed function KeyPressed Boolean Защищенный режим, реальный режим Назначение Возвращает значение True, если на клавиатуре нажата клавиша и
False в противном случае. Символ или символы остаются в буфере клавиатуры. Данная процедура не распознает клавиш перевода регистра, таких, как Shift, Alt, NumLock и т.д. Клавишу можно считать с помощью функции ReadKey. Функция ReadKey function ReadKey Char Защищенный режим, реальный режим Назначение Считывает символ с клавиатуры. Считываемый символ не отображается на экране.
Если перед обращением к функции ReadKey функция KeyPressed имела значение True, то символ считывается немедленно, в противном случае функция ожидает нажатия клавиши. 3. Листинг программы Program Kyrsac Uses crt Const Nmax10 Type Matrixarray 1 Nmax, 1 Nmax of integer label 1 Var A,B,Cmatrix key,chchar i,f,g,e,r,j,z,s integer pstring
Процедура ввода элементов массива Параметры z-размер массива, A-массив Procedure Vvod zinteger Var Amatrix Var i,jinteger Begin For i1 to z do For j1 to z do Begin Write ,i j, Read Ai,j End For i1 to z do Begin For j1 to z do Write Ai,j5 Writeln End End Процедура вывода элементов массива
Параметры z-размер массива, A-массив Procedure Vivodzinteger Amatrix Var i,jbyte Begin For i1 to z do Begin For j1 to z do WriteAi,j5 Writeln End End Процедура умножения 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure YmnA,Bmatrix zinteger Var Cmatrix Var i,j,k,sinteger
Begin For i1 to z do For j1 to z do Begin s0 For k1 to z do ssAi,kBk,j Ci,js End End Процедура транспонирования Параметры z-размер массива, A-исходный массив, C-массив результат Procedure TranAmatrix zinteger Var cmatrix Var i,jinteger Begin For i1 to z do For j1 to z do ci,jAj,i End Процедура умножения массива на скаляр Параметры z-размер массива, s-скаяр
A-исходный массив, C-массив результат Procedure SkalAmatrix z,sinteger Var cmatrix Var i,jinteger Begin For i1 to z do For j1 to z do ci,jAi,js End Процедура вычитания 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure VicA,Bmatrix zinteger Var Cmatrix Var i,jinteger Begin
For i1 to z do For j1 to z do Ci,jAi,j-Bi,j End Процедура сложения 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure slogA,Bmatrix zinteger Var Cmatrix Var i,jinteger Begin For i1 to z do For j1 to z do Ci,jAi,jBi,j End Тело программы Begin clrscr while keypressed do Очстка буфера клавиатуры keyreadkey asm mov ah,01
Вставка из ASEMBLER mov cx,2000 для невидимого курсора int 10 end f38 Начальные координаты для рисования звездочек g42 for j1 to 12 do begin for i1 to 3 do begin gotoxyfi,j textcolor3 write delay1000 gotoxyg-i,j write delay1000 end ffi gg-i end f75 Начальные координаты для рисования звездочек в обратном порядке g5 for j12 to 23 do begin for i1 to 3 do begin gotoxyf-i,j write delay1000 gotoxygi,j write delay1000 end ff-i ggi end textcolor5 gotoxy20,12
writelnО П Е Р А Ц И И Н А Д М А Т Р И Ц А М И Вывод на экран строки с кординатами 20 12 розовым цветом pНажмите любую клавишу for j1 to lengthp do Вывод строки р поэлементно for i25 downto 24 do begin gotoxy29j,i textcolor2 writepj delay5000 gotoxy29j,i textcolor0 writepj if i24 then begin gotoxy29j,i textcolor2 writepj end end gotoxy30,24 textcolor18 writep keyreadkey Считывание нажатой клавиши clrscr for i1 to 10 do Вывод
МЕНЮ построчно begin gotoxy37,i textcolor13 writeМ Е Н Ю delay5000 gotoxy37,i textcolor0 writeМ Е Н Ю if i10 then begin gotoxy37,i textcolor13 writeМ Е Н Ю end end for i1 to 35 do Ввывод 1.Сложение бегущей строкой begin gotoxyi,12 textcolor2 write1. Сложение delay5000 gotoxyi,12 textcolor0 write1. Сложение if i35 then begin gotoxyi,12 textcolor2 write1. Сложение end end for i68 downto 35 do Ввывод 2.Вычитание бегущей строкой begin gotoxyi,13 textcolor2
write2. Вычитание delay5000 gotoxyi,13 textcolor0 write2. Вычитание if i35 then begin gotoxyi,13 textcolor2 write2. Вычитание end end for i1 to 35 do Ввывод 3.Умножение бегущей строкой begin gotoxyi,14 textcolor2 write3. Умножение delay5000 gotoxyi,14 textcolor0 write3. Умножение if i35 then begin gotoxyi,14 textcolor2 write3. Умножение end end for i58 downto 35 do Ввывод 4.Умножение на скаляр бегущей строкой begin gotoxyi,15
textcolor2 write4. Умножение на скаляр delay5000 gotoxyi,15 textcolor0 write4. Умножение на скаляр if i35 then begin gotoxyi,15 textcolor2 write4. Умножение на скаляр end end for i1 to 35 do Ввывод 5.Транспонирование бегущей строкой begin gotoxyi,16 textcolor2 write5. Транспонирование delay5000 gotoxyi,16 textcolor0 write5. Транспонирование if i35 then begin gotoxyi,16 textcolor2 write5.
Транспонирование end end for i25 downto 18 do Вывод 6.ВЫХОД построчно begin gotoxy35,i textcolor2 write6. В Ы Х О Д delay5000 gotoxy35,i textcolor0 write6. В Ы Х О Д if i18 then begin gotoxy35,i textcolor2 write6. В Ы Х О Д end end for i25 downto 20 do Вывод Выберите пункт меню и нажмите ввод begin gotoxy25,i textcolor9 write Вывод Выберите пункт меню и нажмите ввод delay5000 gotoxy25,i textcolor0 write
Вывод Выберите пункт меню и нажмите ввод if i20 then begin gotoxy25,i textcolor25 write Вывод Выберите пункт меню и нажмите ввод end end while keypressed do keyreadkey Очистка буфера клавиатуры repeat until keypressed Ожидание нажатия клавиши 1 Метка 1 clrscr repeat gotoxy37,10 textcolor13 writeМ Е Н Ю gotoxy35,12 textcolor2 write1. Сложение gotoxy35,13 write2.
Вычитание gotoxy35,14 write3. Умножение gotoxy35,15 write4. Умножение на скаляр gotoxy35,16 write5. Транспонирование gotoxy35,18 write6. В Ы Х О Д gotoxy35,20 textcolor25 write Вывод Выберите пункт меню и нажмите ввод gotoxy25,20 writeln gotoxy40,22 readlnch clrscr until ch49orch50orch51orch52orch53orch54 Проверка кода нажатой клавиши case ch of 49begin clrscr textcolor9
Writeln Введите размер матрицы A,B textcolor10 Readz Writeln textcolor9 WritelnВведите ,zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат сложения матриц АВ textcolor10 sloga,b,z,c textcolor10 vivodz,c gotoxy25,25 textcolor19
writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 50begin clrscr textcolor9 Writeln Введите размер матрицы A,B textcolor10 Readz Writeln textcolor9 WritelnВведите ,zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13
WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат вычитание матриц А-В textcolor10 Vica,b,z,c textcolor10 vivodz,c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 51begin clrscr textcolor9 Writeln Введите размер матрицы A,B textcolor10 Readz
Writeln textcolor9 WritelnВведите ,zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат умножения матриц АВ textcolor10 Ymna,b,z,c textcolor10 Vivodz,c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1
Возвращение на метку 1 end 52begin clrscr textcolor9 Writeln Введите размер матрицы A textcolor10 Readz Writeln textcolor9 WritelnВведите ,zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 writeВведите скаляр textcolor10 readlns textcolor13 WritelnРезультат умножения матрицы А на ,s, textcolor10
Skala,z,s,c textcolor10 vivodz,c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 53begin clrscr textcolor9 Writeln Введите размер матрицы A textcolor10 Readz Writeln textcolor9 WritelnВведите ,zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13
WritelnРезультат транспонирования матрицы А textcolor10 Trana,z,c textcolor10 vivodz,c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 54begin clrscr textcolor3 writeln . . writeln writeln db writeln . writeln writeln , writeln V V . writeln writeln writeln . writeln writeln . writeln writeln writeln writeln writeln writeln writeln writeln writeln . . writeln gotoxy35,12 textcolor21 writeGood
bay repeat until keypressed end end End. 4.Заключение Я разработала программу для проведения основных операций над матрицами транспонирование матрицы, сложение двух матриц, умножение матрицы на число, перемножение двух матриц. В моей работе сформулированы основные понятия теории матриц. Элементы матриц вводятся с клавиатуры, на экран выводится информация о том, какие матрицы обрабатываются
и результат обработки. Программа рациональна и легко читаема, в ней вставлены комментарии для объяснения работы отдельных блоков программы. Программа предусматривает выход из не. В программе использовались процедуры и функции циклы с постусловием, предусловием, с параметром массивы условный оператор, оператор выбора, присваивания работа в текстовом режиме. Таким образом, в ходе написания данной курсовой работы был закреплен весь пройденный на лекциях и практикуме
материал. 5. Список литературы 1. Попов Turbo Pascal для школьников Москва 2000г. 2. Земляков А.В. Курс лекции по программированию на языке Turbo Pascal 3. Математический энциклопедический словарь под редакцией Ю.В. Прохорова Москва 1988 г. 4. Г. Д. Ким, Е. В. Шикин Элементарные преобразования в линейной алгебре
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |