Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
20071022_Chumac_MU.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
4.54 Mб
Скачать

Вихідні файли програми.

Якщо додаток обробляє матрицю, яка завантажена, наприклад з файлу Name.inp, то наслідком роботи додатку буде файл Name.out, у якому відображено процес інтерактивного знаходження визначника.

Опис інтерактивного алгоритму знаходження визначника.

  1. Натискання клавіші “Введення з файлу”.

Закриваються всі відкриті файли (якщо такі були). З вікна редагування Файл додаток одержує нове ім’я файла, наприклад Name.inp. Формується і'мя результуючого файлу Name.out. Відкриваються результуючий файл з цим іменем і починається запис до нього матриці, яка буде оброблятися. Встановлюються за замовчанням значення Рядок=1 і Стовпець=1.

  1. Натискання клавіші “Зменшити у рядку”.

У поточному рядку з номером Рядок=j шукаємо відмінний від нуля елемент мінімальний за абсолютною величиною. Позначимо його (якщо він є) через аjm .

1). Якщо такого елементу нема, то виводиться повідомлення (під сіткою і над клавішами) Значення визначника = 0. Виводяться також відповідний запис у результуючий файл.

2). Якщо такий елемент знайдений (аjm ≠ 0 існує, j та m фіксовані), то здійснюється цикл за стовпцями s без включення того стовпця, у якому знаходиться елемент аjm (s m). Для кожного стовпця s, знаходимо цілу частину відношення . Нехай це число r. Множимо стовпець m на число , де sign x - знак числа x ≠ 0, і від стовпця s віднімаємо результат цього множення. Зрозуміло, що при такому перетворенні визначник старої поточної матриці буде рівним визначнику нової поточної матриці.

Після здійснення повного циклу (за стовпцями s) одержуємо, що у рядку j всі елементи нової поточної матриці будуть за абсолютною величиною менші ніж абсолютна величина елементу .

Далі здійснюється запис нової поточної матриці у вихідні файли.

  1. Натискання клавіші “Зменшити у стовпці”.

Дії при натисканні цієї клавіші цілком аналогічні натисканню клавіші “Зменшити у рядку” з заміною “рядка” на “стовпець”. Відповідне переформулювання залишаємо студентові.

  1. Натискання клавіші “Зменшити розміри”.

1). При розмірі матриці більш ніж одиниця:

Для поточних значень Рядок=j і Cтовпець=k проводиться перевірка: як всі елементи рядка j або всі елементи стовпця k за виключенням елемента (що знаходиться на перетині рядка j і стовпця k) є нульовими. Якщо це так, то множник перед визначником множимо на і здійснюємо віддалення рядка j та стовпця k поточної матриці.

Далі здійснюється запис нової поточної матриці у результуючий файл.

Якщо значення множника стане рівним нулеві, то виводиться повідомлення (під сіткою StringGrid) Значення визначника = 0. Також виводимо відповідний запис у результуючий файл.

2). При розмірі матриці рівним одному: здійснюється множення множника на єдиний елемент поточної матриці і виводиться повідомлення (під сіткою) Значення визначника = ХХХХХ, де ХХХХХ – одержане значення визначника. Виводимо також відповідний запис у результуючий файл.

  1. Завершення роботи додатку.

Завершення роботи додатку InteractiveDet здійснюємо натисканням кнопки Закрыть приложение у правому верхньому куті форми. Після цього додаток закриває результуючий файл і завершує роботу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]