Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Матрицы в Turbo Basìc

Определение 1

Матрицы в Turbo Basìc— это операции с матрицами, выполняемые с помощью функций языка Turbo Basìc.

Turbo Basìc

Язык Turbo Basìc является независимой средой программирования для персональных компьютеров. Бейсик разработали преподаватели Дартмутского колледжа Джон Кемени и Томас Куртц. Язык бейсик был организован таким образом, чтобы люди, не имеющие специальных математических навыков, могли составлять программы. При разработке языка были определены основополагающие требования к нему:

  1. Необходимо обеспечить простоту в его применении для начинающих.
  2. Обеспечить общность его предназначения.
  3. Обеспечить интерактивность.
  4. Наличие чётких и понятных сообщений об ошибках.
  5. Обеспечение высокого быстродействия с программами небольшого размера.
  6. Обеспечение эффективного посредничества операционной системы с пользователем.

Общемировую известность язык обрёл в семидесятых годах прошлого века, когда он стал применяться в микрокомпьютерах. Большинство языков программирования того времени не помещались в памяти малого объёма. Фирма Borland в 1985-ом году разработала turbo basìc 1.0 и на домашних персональных компьютерах стали появляться разные расширения Бейсика, имеющие в своём составе средства для обработки графики и звука.

Замечание 1

Сегодня Бэйсик является не одним языком, а целым их семейством, которые отличаются временем появления, синтаксисом и особенностями программирования.

Матрица — это набор ячеек, расположенных в последовательном порядке друг за другом и отображаемых в виде прямоугольника. Действия с матрицами в Turbo Basìc осуществляются действиям с типовым диапазоном памяти. У всех матриц есть отдельные адреса, которые записываются аналогично диапазону памяти. По своей сути матрица — это массив и для работы с матрицей используется соответствующий инструментарий.

«Матрицы в Turbo Basìc» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Массивы в Turbo Basìc

Задание массива выполняется при помощи оператора DÌM, где указываются размеры массива. К примеру, такой оператор:

DÌM a (10) , b (10: 20, 25: 45).

Он выполняет описание одномерного массива а, у которого компоненты обладают индексами от нуля до десяти, и двумерного массива b, у которого компоненты обладают индексами первой координаты от десяти до двадцати, а второй от двадцати пяти до сорока пяти. В случае, когда нижняя граница индексов не указывается в описании массива, то она принимается равной нулю.

Применяя оператор OPTÌON BASE n., возможно задавать нижнюю границу индексов, которая будет равна n. К примеру:

OPTÌON BASE 1 DÌM a (10).

Здесь индекс компонентов массива а станет получать значения, которые начинаются с единицы. В случае отсутствия описания массива по умолчанию для верхнего индекса принимается значение десять, а для нижнего нуль. При описании массива можно использовать переменную вместо константы. К примеру:

DÌM a (n).

Здесь переменную n необходимо заранее определить.

Применение оператора ERASE даёт возможность освобождения памяти, которая выделялась для массива, то есть возврата её для использования в дальнейшем. К примеру, оператор ERASE a выполняет возврат памяти, которая выделялась для массива а.

Операции с матрицами

Рассмотрим операцию вычисления произведения двух матриц. Есть две матрицы В и С, которые имеют размерность N. Необходимо определить матрицу А, равную произведению матриц, то есть:

A = BC

Матрица А состоит из элементов aij, матрица В состоит из элементов bik, а матрица С включает элементы ckj . Таким образом aij равняется сумме произведений bik *ckj при изменении «к» от единицы до N.

Программа на языке турбо бейсик, которая выполняет эту операцию, приведена ниже:

DEFDBL A-Z
DÌM A(20,20), B(20,20),C(20,20)
B(1,1)=1: B(1,2)=2: B(1,3)=3: B(1,4)=4
B(2,1)=2: B(2,2)=2: B(2,3)=2: B(2,4)=2
B(3,1)=3: B(3,2)=2: B(3,3)=3: B(3,4)=2
B(4,1)=4: B(4,2)=2: B(4,3)=2: B(4,4)=4
C(1,1)=1: C(1,2)=3: C(1,3)=5: C(1,4)=7
C(2,1)=3: C(2,2)=2: C(2,3)=2: C(2,4)=2
C(3,1)=5: C(3,2)=2: C(3,3)=3: C(3,4)=3
C(4,1)=7: C(4,2)=2: C(4,3)=3: C(4,4)=4
N=4
FOR Ì=1 TO N
FOR J=1 TO N
FOR K=1 TO N
A(Ì,J)= A(Ì,J)+B(Ì,J)*C(K,J)
NEXT K
NEXT J
NEXT Ì
PRINT "МАТРИЦА B"
FOR Ì=1 TO N
FOR J=1 TO N
PRINT B(Ì,J)
NEXT
NEXT
PRÌNT "МАТРИЦА C"
FOR Ì=1 TO N
FOR J=1 TO N
PRINT C(Ì,J)
NEXT
NEXT
PRÌNT "МАТРИЦА A"
FOR Ì=1 TO N
FOR J=1 TO N
PRÌNT A(Ì,J)
NEXT J
NEXT Ì
END
В

В итоге выполнения программы находим искомую матрицу:

МАТРИЦА B
1 2 3 4
2 2 2 2
3 2 3 2
4 2 2 4
МАТРИЦА C
1 3 5 7
3 2 2 2
5 2 3 3
7 2 3 4

Итоговый результат может быть проверен в ручном режиме, применяя известные правила. Компонент, который стоит в i - той строке и j –том столбце искомой матрицы А равняется сумме произведения выбранных компонентов i - той строки матрицы В и компонентов j –того столбца матрицы С.

Рассмотрим ещё пример определения детерминанта матрицы. Возьмём для этого примера треугольную матрицу третьего порядка, у которой компоненты выше основной диагонали равняются нулю. Текст программы приведён ниже:

REM Программа, позволяющая определить детерминант матрицы путём выбора основного компонента

CLS
DEFDBL A-Z DÌM A(3,3),AA(3,3)
N=3
АА(1,1)=1: АА(1,2)=1E-16: АА(1,3)=1E-16 AA(2,1)=1: AA(2,2)=1:	AA(2,3)=1E-16
АА(3,1)=1: AA(3,2)=1:	AA(3,3)=1
FOR Ì=1 TO N FOR J=1 TO N A(Ì-1,J-1)=AA(Ì,J)
PRÌNT AA(Ì,J),
NEXT J PRÌNT NEXT I
Z=1
D=1
FOR K=0 TO N-2
E=1
FOR Ì=K TO N-1 FOR J=K TO N-1 ÌF ABS(E)=ABS(A(I,J)) THEN 90 E=A(I,J)
B=I
C=J
NEXT J NEXT I
90 IF K=B THEN 120
FOR J=K TO N-1
S=A(K,J)
A(K,J)=A(B,J)
A(B,J)=S NEXT J
Z=-Z
120 IF K=C THEN 150 FOR I=K TO N-1 S=A(I,K)
A(I,K)=A(I,C)
A(I,C)=S NEXT I Z=-Z
150 FOR I=K+1 TO N-1 G=A(I,K)/A(K,K)
FOR J=K TO N-1 A(I,J)=A(I,J)-G*A(K,J)
NEXT J NEXT I NEXT K
FOR I=0 TO N-1 D=D*A(I,I)
NEXT I
D=D*Z
PRINT
PRINT " ВЕЛИЧИНА ДЕТЕРМИНАНТА =";D STOP

В итоге функционирования программы на экран будет выведено следующее сообщение:

ПРОГРАММА, ПОЗВОЛЯЮЩАЯ ВЫЧИСЛИТЬ ДЕТЕРМИНАНТ МАТРИЦЫ 
НАЧАЛЬНЫЙ ВИД МАТРИЦЫ, ПОДЛЕЩАЩЕЙ ВЫЧИСЛЕНИЮ ДЕ¬ТЕРМИНАНТА
1	1E-016	1E-016
1	1	1E-016
1	1	1
ВЕЛИЧИНА ДЕТЕРМИНАНТА= 0.9999999999999998

Если брать точную величину детерминанта, то она должна равняться единице.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 14.10.2020
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot