2. Практична частина
2.1 Архітектура програми
Представлена програма реалізується програмою Kramer. Написана на мові Паскаль. Вона включає в себе ряд процедур, які забезпечують виконання вводу, обчислень та виводу на екран розв’язку задачі.
Для зменшення обсягу тіла програми використовується модуль zast.tpu (лістінг модуля додається до проекту), в якому знаходяться всі головні компоненти, які використовують процедури (інтерфейси, описи тощо).
Перед описом процедур здійснюється опис міток (розділ міток) і змінних (розділ змінних). Потім (після опису процедур) іде розділ операторів (тіло програми), що заключається в операторні дужки, тобто Begin…End. В ньому вказується послідовність дій, що повинні використовуватись ЕОМ.
Запуск програми здійснюється таким чином:
Спосіб. З середовища будь-якої операційної оболонки шляхом запуску Kramer.exe (попередньо програма має бути відкомпільована з опцією Destination Memory).
Спосіб. З головного меню інтегрованого середовища Turbo Pascal шляхом вибору опції Run (програма попередньо повинна бути завантажена в ОП – File, Open, Kramer.pas).
Після запуску програми будь-яким методом вона видасть на екран головне меню, яке пропонує одну із опцій:
Про програму
Ввід коефіцієнтів
Результати
Вихід
При виборі певного пункту активізується відповідна процедура. Завершення роботи програми і повернення в середовище системи програмування Turbo Pascal здійснюється при виборі пункту меню “Вихід”. Програма здійснює обчислення системи рівнянь методом Крамера та виводить результати на екран дисплею.
В програмі використовуються такі процедури:
Vvid – призначена для вводу значень.
Vyvid – призначена для обчислень та виводу результатів.
2.2 Опис програми
заголовок програми
підключення зовнішніх модулів
опис міток
{004}-{007} опис змінних
{008} заголовок процедури vvid
початок процедури
відключення графічного режиму
очистка екрану
встановлення кольору шрифта
вивід таблиці вводу
{014}-{025} ввід лівої і правої частини рівняння в відповідні клітинки
кінець процедури vvid
заголовок процедури vivid
початок процедури
відключення графічного режиму
очистка екрану
встановлення кольору
вивід таблиці виводу
обчислення дельта для рівняння
обчислення дельта ікс
обчислення дельта ігрик
обчислення дельта зет
обчислення ікс
обчислення ігрика
обчислення зет
вивід дельта
вивід дельта ікс
вивід дельта ігрик
вивід дельта зет
вивід ікса
вивід ігрика
вивід зет
порожній ввід
кінець процедури vivid
початок головного блоку програми
встановлення мітки pt
присвоєння змінній rob 1
підключення графічного режиму оператором ini
вивід меню оператором zas
поки змінна q не буде дорівнювати *
якщо натиснута будь-яка клавіша то виконуються наступні дії
читання натиснутої клавіші і присвоєння їй змінній q
початок циклу по розпізнані натиснутої клавіші
стрілочка “вниз” то якщо rob>4 тоді rob=1,якщо rob<4 тоді rob=rob+1
стрілочка “вверх” то якщо rob>1 тоді rob=rob-1,якщо rob<1 тоді rob=4
клавіша “Ентер” тоді: розпізнання змінної rob якщо rob=1 то на екран з модуля zas виводиться процедура about, яка виводить інформацію про програму, а також здійснюється перехід на мітку pt
якщо змінна rob=2 тоді то на екран з модуля zas виводиться процедура vvid в якій описуються всі змінні для процедури vvid програми, а також вивід рамки для вводу змінних. Перехід на мітку pt
якщо змінна rob=3 тоді то на екран з модуля zas виводиться процедура vyvid в якій описуються всі змінні для процедури vyviid програми, а також вивід рамки для вводу змінних. Перехід на мітку pt
якщо змінна rob=3 то здійснюється вихід в систему
кінець розпізнаня змінної rob
кінець циклу визначення натиснутої клавіші
цикл якщо rob дорівнює
1 тоді очистка екрану і виконаня процедури punkt1
2 тоді очистка екрану і виконаня процедури punkt2
3 тоді очистка екрану і виконаня процедури punkt3
4 тоді очистка екрану і виконаня процедури punkt4
кінець циклу “якщо rob дорівнює”
кінець циклу “якщо натиснута клавіша”
кінець циклу “поки q не буде дорівнювати *”
кінець головного блоку програми
Опис модуля zas.tpu
Інтерфейсна секція модуля
unit zast;
{$n+}
interface
procedure ini;
procedure about;
procedure clear;
procedure punkt1;
procedure punkt2;
procedure punkt3;
procedure punkt4;
procedure vivyd;
procedure vid;
procedure zas;
Процедура ini використовується для підключення графічних модулів, а також графічного режиму.
Процедура about дає користувачу інформацію про призначення програми та розробника.
Процедура clear повертає пункти меню в початковий вигляд.
Процедури punkt1, punkt2, punct3, punct4 маркірують відповідно пункти меню у другий колір для вигляду переходу курсору по пунктам меню.
Процедури vvid та vyvid забезпечують вивід рамок для вводу та виводу даних в програму/з прорами.
Процедура zas виводить малюнок головного меню.
... . При этом собственно нахождение обратной матрицы – процесс достаточно трудоемкий и его программирование вряд ли можно назвать элементарной задачей. Поэтому на практике чаще применяют численные методы решения систем линейных уравнений. К численным методам решения систем линейных уравнений относят такие как: метод Гаусса, метод Крамера, итеративные методы. В методе Гаусса, например, работают над ...
... вычисляют в следующем порядке: xjn, xjn–1, …, xj1. 3. Метод Зейделя 3.2.1. Приведение системы к виду, удобному для итераций. Для того чтобы применить метод Зейделя к решению системы линейных алгебраических уравнений Ax = b с квадратной невырожденной матрицей A, необходимо предварительно преобразовать эту систему к виду x = Bx + c. Здесь B – квадратная матрица с элементами bij (i, ...
... ; b x, y ≥ 0. b принимает значение 18 с вероятностью и значение 45 с вероятностью . Экзаменационный билет по предмету МАТЕМАТИЧЕСКИЕ МЕТОДЫ ИССЛЕДОВАНИЯ ЭКОНОМИКИ Билет № 1 1) Показать результат произведения матрицы размерности m х n на вектор- ...
... Найти произведение матриц А = и В = Вычислить значение функции f (x1, x2, x3, x4) = 8 x1 x2 + 4 + 10 x1 (x4)2 в точке (1, 2, 4, 3) Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету МАТЕМАТИЧЕСКИЕ МЕТОДЫ ИССЛЕДОВАНИЯ ЭКОНОМИКИ Билет № 16 Объяснить связь базиса и размерности пространства. Дать основные положения задачи ...
0 комментариев