Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание процедур и функций программы

 

Procedure title () – выводит титульную страницу на экран монитора;

Procedure graphica () – инициализирует графику.

Procedure pro () – содержит в себе переменную р, которая отвечает за номер выделяемой кнопки, передаётся как параметр в procedure key (p) и в procedure eat (p, bool), а также содержит в себе переменную bool, отвечающую за цикл в рамках procedure pro, передаётся как параметр в procedure eat (p2, bool);

Procedure eat (p2: byte; var bool: boolean) – в зависимости от параметра p2 выполняет один из пяти вариантов дальнейших действий программы. Переменная bool передаётся как параметр обратно в procedure pro;

Procedure key (p1: byte) – выстраивает графическую картинку меню в зависимости от параметра р1;

Procedure equation_1 () – решение уравнения вида y(x) =a×ln(b×x). Переменная Е (погрешность) принимается как параметр из procedure load_file_3 (E), передаёт переменную Е как параметр в procedure save_file (E);

Procedure equation_2 () – решение уравнения вида y(x) =a×x2+b×x+c. Переменная Е (погрешность) принимается как параметр из procedure load_file_3 (E), переменная Е передаётся как параметр в procedure save_file (E);

Procedure load_file_1 () – загружает переменные m и n (промежутки функции) из файла, либо обеспечивает их ввод с клавиатуры, в зависимости от желания пользователя. m, n – глобальные переменные в рамках программы;

Procedure load_file_2 () – загружает переменные a и b либо a, b, c (в зависимости от вида функции) (коэффициенты уравнения) из файла, либо обеспечивает их ввод с клавиатуры, в зависимости от желания пользователя. a, b, c – глобальные переменные в рамках программы;

Procedure load_file_3 (var E: real) – загружает переменную Е (погрешность функции) из файла, либо обеспечивает их ввод с клавиатуры, в зависимости от желания пользователя. Е передаётся как параметр и принимается как переменная в procedure equation_1 и equation_2;

Procedure save_file (E: real) – сохраняет переменные a, b, (c,) m, n – глобальные в рамках программы в файлы либо не сохраняет, сохраняет переменную Е в виде параметра в файл, либо не сохраняет;

Procedure groffunc () – выстраивает график по значениям глобальных в рамках программы переменных a, b, (c,) m, n, с отмеченными на оси х приближениями и корнем уравнения. Содержит в себе function f (x: real): real, высчитывающую значение одной из функций в зависимости от аргумента х. Переменные у0 (масштаб) и у2 (максимальное значение функции) передаются в виде параметров в procedure setka (y0, y2);

Procedure setka (yn: integer; y2: real) – выстраивает координатную сетку и оцифровку осей x и y в зависимости от глобальных в рамках программы переменных m, n и параметров yn и y2;

Procedure help () – предоставляет пользователю непосредственную методологическую помощь.


Схема взаимодействия процедур программы

 

Для наглядности работы подпрограмм программы необходимо изобразить в виде схемы их взаимодействие между собой. Взаимодействие подпрограмм изображено на рисунке 5.3.

 

 

Рисунок 5.3 – Взаимодействие процедур программы

 

Условные обозначения:

– запуск процедуры на которую указывает стрелка, из процедуры из которой она исходит.


Перечень обозначений

 

Обозначения вводимых данных

m, n – промежутки функции;

a, b, c – коэффициенты уравнения, представленные в виде параметров;

E – погрешность, аналог ε в разделе "Описании математической модели" и в разделе "Описание (и обоснование выбора) метода решения".

5.5.2 Обозначения выводимых данных

y(x) =a*ln(b*x), y(x) =a*x^2+b*x+c – уравнения используемые в программе;

x – неизвестная, корень уравнения;

ln – логарифм;

x^2 – неизвестная x в степени 2.

5.6 Входные и выходные данные

5.6.1 Входные данные

y(x) =a*ln(b*x), y(x) =a*x^2+b*x+c – функция;

m, n: real – левый и правый промежутки функции соответственно;

a, b, c: real – параметры, коэффициенты уравнения;

E: real – погрешность;

"Помощь и справочная информация".

5.6.2 Выходные данные

x1: real – значение корня уравнения;

st: string – текстовые сообщения, возникающие в процессе выполнения программы (ошибки и варианты дальнейшего продолжения).

5.6.3 Промежуточные данные

Bool_of: Boolean – определяет цикл выполнения алгоритма решения;

mass: real – массив [1.. 20];

number: byte – глобальная переменная, номер функции;

code_of: byte – переменная, отвечающая за необходимость поиска корня уравнения;

root: real – разность приближений.

Алгоритм решения задачи

 

5.7.1. Алгоритм нахождения корня уравнения y(x) =a×ln(b×x)

Алгоритм решения уравнения вида y(x) =a×ln(b×x) приводится на рисунке 5.4.

выполнять

 

 


выполнять

 

 

если (a = 0) то

вывод

 

 

number: =0;

иначе

выполнять

 

i: =1; если (a*ln(b*m) *(-a/sqr(m))) > 0 то

mass [i]: =m;

code_of: =1;

 

иначе

 

 

Рисунок 5.4 – Алгоритм решения уравнения вида y(x) =a×ln(b×x)


если (a*ln(b*n) *(-a/sqr(n))) > 0 то

mass [i]: =n;

code_of: =1;

иначе

вывод

 

 

number: =0; code_of: =0;

 

если (code_of = 1) то

выполнять

x1: =mass [i] -a*ln(b*mass [i]) /

(a/mass [i]);

root: =Abs (x1-mass [i]);

i: =i+1;

mass [i]: =x1;

пока (root < E);

если (x1 < m) или (x1 > n) то

вывод

 

 

number: =0; code_of: =0;

вывод

 

Рисунок 5.4 – Алгоритм решения уравнения вида y(x) =a×ln(b×x) (продолжение)


5.7.2. Алгоритм нахождения корня уравнения y(x) =a×x2+b×x+c

Алгоритм решения уравнения вида y(x) =a×x2+b×x+c приводится на рисунке 5.5.

выполнять

 


ввод

 

если (a = 0) и (b = 0) и (c = 0) то

вывод

 

number: =0;

иначе

выполнять

 

i: =1;

если (a*sqr(m) +b*m+c) *(2*a) >= 0 то

mass [i]: =m;

code_of: =1;

иначе

 

Рисунок 5.5 – Алгоритм решения уравнения вида y(x) =a×x2+b×x+c

 

 


если (a*sqr(n) +b*n+c) *(2*a) >= 0 то

mass [i]: =n;

code_of: =1;

 

иначе

вывод

 

 

number: =0; code_of: =0;

 

если (code_of = 1) то

выполнять

 

x1: =mass [i] -((a*sqr(mass [i]) +

b*mass [i] +c) /(2*a*mass [i] +b));

root: =Abs (x1-mass [i]);

i: =i+1;

mass [i]: =x1;

пока (root < E);

если (x1 < m) или (x1 > n) то

вывод

 

 

number: =0; code_of: =0;

вывод

 

Рисунок 5.5 – Алгоритм решения уравнения вида y(x) =a×x2+b×x+c (продолжение)

Алгоритмы решения уравнений рис.5.4 и рис.5.5 соответствуют procedure equation_1 и procedure equation_2 в программе соответственно.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...