Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
15.02.2016
Размер:
4.77 Mб
Скачать

Вариант 36

Программа решения системы 2-х уравнений с 2-мя неизвестными

a1x + b1y = h1 Матрица a1 b1 h1

a2x + b2y = h2 коэффициентов a2 b2 h2

Определитель системы

=

a1 b1

a2 b2

x=

h1 b1

h2 b2

y=

a1 h1

a2 h2

= a1h2 – h1a2

  1. Если   0 , то x = x /  и y = y / 

  2. Если  = 0 и x  0 или y  0 , то система решений не имеет

  3. Если  = x = y = 0 , то система имеет бесчисленное множество решений

Контрольные примеры:

2x + 3y = 8 2x + 3y = 8 2x +3y = 8

7x + 5y = -3 4x + 6y = 10 4x +6y = 16

x = 1 y = 2 Решений нет Бесчисленное множество решений

Варианты 34-36

Оператором DIM объявляются 4 массива: для матрицы коэффициентов, для элементов определителя, для значений определителей 3-го порядка (вариант 35) и определителей 2-го порядка (вспомогательный). Затем организуется двойной (вложенный) цикл для ввода матрицы коэффициентов и вывода ее на экран. Посредством тройного цикла (внешний цикл от 1 до 4, поскольку 4 определителя) осуществляется формирование определителей, вычисляемых подпрограммой вычисления определителя 3-го порядка. К подпрограмме, завершаемой оператором RETURN, обращаются с помощью оператора GOSUB. В подпрограмме осуществляется формирование в цикле операторов 2-го порядка, вычисляемых затем по формуле d = m(1,1)*m(2,2) – m(1,2)*m(2,1). В последнем блоке программы осуществляется анализ полученных решений.

Логика цикла

DO … LOOP WHILE (DO … LOOP UNTIL)

Логика цикла

DO WHILE … LOOP (DO UNTIL … LOOP)

Таблица 0.4.1.

Оператор и его описание

DO WHILE i > 10000

i = i +1

LOOP

Управляющий оператор цикла, повторяющий блок операторов, пока условие ложно, с проверкой условия в начале.

DO UNTIL INKEY$ <> ""

IF i > 10000 THEN EXIT DO ELSE i = i +1

LOOP

Управляющий оператор цикла, повторяющий блок операторов, пока условие истинно, с проверкой условия в начале. Производит увеличение значения счетчика i до тех пор, пока не будет нажата любая клавиша. Предусмотрен досрочный выход из цикла при значении счетчика i > 10000.

Окончание таблицы 0.4.1.

DO

IF i > 10000 THEN EXIT DO ELSE i = i +1

LOOP WHILE INKEY$ = ""

Управляющий оператор цикла, повторяющий блок операторов, пока условие ложно, с проверкой условия в конце. Производит увеличение значения счетчика i до тех пор, пока не нажата любая клавиша. Предусмотрен досрочный выход из цикла при значении счетчика i > 10000

DO

i = i +1

LOOP UNTIL i < 10000

Управляющий оператор цикла, повторяющий блок операторов, пока условие истинно, с проверкой условия в конце.

PRINT "Нажмите клавишу ESC": DO: LOOP WHILE INKEY$ <> CHR$(27)

Пустой цикл, осуществляющий задержку до нажатия клавиши Esc.

SWAP x( i ), x( j )

Оператор, взаимно меняющий значения двух переменных.

INKEY$

Функция, читающая символы с клавиатуры. Если символ не был считан, то возвращается нулевая строка. Не дублирует ввод с клавиатуры выводом на экран (без эха).

CHR$(27)

Символьная функция, возвращающая строку из одного символа, ASII-код которого является аргументом, где код – число от 0 до 255. В данном случае аргумент – код клавиши Esc.

GOSUB 300

Управляющий оператор вызова подпрограммы на строке 300.

RETURN 10

Управляющий оператор выхода из подпрограммы, возвращающий на строку 10. Если метки нет, то управление возвращается на следующую за GOSUB строку.