3 Этап.
Тестирование отлаженной программы (без промежуточных результатов) для варианта исходных данных из теста 1.
Ожидаемые результаты
x |
Y=F(x) |
Y контрольное=exp(x) |
Число итераций |
погрешность |
сходимость |
0.000 |
0.000 |
1.000 |
1 |
0.000 |
сходится |
0.500 |
0.500 |
1.649 |
4 |
0.003 |
сходится |
1.000 |
2.716 |
2.718 |
5 |
0.008 |
не сходится |
1.500 |
4.462 |
4.482 |
5 |
0.063 |
не сходится |
2.000 |
7.267 |
7.389 |
5 |
0.267 |
не сходится |
Если для подготовки результатов тестирования использовались технические средства, вставлять их лучше вместе с формулами Например, для вставки листа ExсeL после копирования надо вставить его через меню ПРАВКА- Специальная вставка - Лист Excel(объект)
Пример (можно посмотреть все формулы, изменить данные и т.п.)
Для подготовки результатов тестирования использован ExCeL
1.2. Разработка алгоритма
Математическое описание задачи (для нашего примера)
Текущее значение вычисляем по формуле
X= x0+i*dx; где i=- номер точки, изменяется от 0 до K.
K вычисляем по формуле k=целая часть(xk-x0)/dx
Необходимо уточнить значение шага для точного попадания в конечную точку
dx= (xk-xo)/k
Вычисление самой функции здесь не рассматриваем!!!!!!!!
Далее этом пункте выбираются имена и типы для входных и выходных данных, составляется таблица вида
-
№ п/п
Имя переменной, константы и т.д.
Тип
Вид
Назначение
1
а
int
переменная
Возраст
2
b
float
переменная
Рост в метрах
3
c
char[10]
переменная
Фамилия
4
g
float
константа
Гравитационная постоянная
Для нашего примера
-
№ п/п
Имя переменной, константы и т.д.
Тип
Вид
Назначение
Входные параметры, вводимые с клавиатуры
1
x0
real
переменная
Начало интервала для Х
2
xk
real
переменная
Конец интервала для Х
3
dx
real
переменная
Шаг по Х
4
n_max
integer
переменная
Максимальное число итераций для вычисления функции
5
eps
Допустимая погрешность вычисления функции
Выходные данные (результаты вычислений)
5
X
real
переменная
Аргумент функции
6
y
real
F(x)
7
n
integer
Число итераций
8
Dy
real
Погрешность
9
Y_kontr
real
Контрольное значение
Переменные для обеспечения вычислений
10
k
integer
Число промежутков интервале
11
i
integer
Счетчик точек по x
Правила оформления схемы алгоритма (блок-схемы) (если алгоритм простой, он может быть словесный)
Блок-схема должна отражать весь алгоритм работы программы. Если программа состоит из нескольких модулей, то для каждого модуля составляется отдельная блок-схема. В случае, если в программе определены подпрограммы (процедуры и функции), то для каждой из них составляется отдельная блок-схема, которой предшествует свое задание, математическое описание подзадачи и структура данных.
При оформлении блок-схемы к программе следует придерживаться следующих правил:
1. Элементы блок-схемы изображаются согласно их описанию, приведенному в таблице;
2. Линии изображаются со стрелками, если они (или какая-либо их часть) направлены вверх или влево;
3. Пересечения линий не допускаются. В случае, когда возникает ситуация с пересечением линий, следует воспользоваться элементами «Соединитель»;
4. Линии должны соединяться с фигурами только сверху или снизу. Исключение составляет «Логический» блок. Для него разрешается ответвление линий в любую сторону;
5. Все надписи выполняются шрифтом одного размера. Если надписи выполняются «от руки», то используют чертежный шрифт подходящего размера.
6. Все элементы размещаются в воображаемой сетке с размером ячейки 4 х 3 ед., при этом сама сетка не изображается.
Обозначения элементов блок-схемы
Условное обозначение |
Наименование |
|
Блок вычислений |
|
Логический блок |
|
Блок ввода-вывода данных |
|
Начало (конец) |
|
Процесс пользователя (подпрограмма) |
|
Блок модификации |
|
Соединитель |
|
Межстраничные соединения |
Рекомендации
1. Так как отчет оформляется в редакторе MS Word, то для создания блок-схем целесообразно использовать встроенные возможности этого редактора, размещая на странице так называемые «Автофигуры» панели «Рисование»
2. Чтобы избежать искажения пропорций элементов блок-схемы при их масштабировании держите нажатой клавишу “Shift”
3. Для добавления текста внутрь графического изображения элемента воспользуйтесь командой контекстного меню «Добавить текст».
Вызвать контекстное меню можно, нажав правую кнопку мыши над изображением.
Алгоритм главной программы
Ввод исходных данных
Вывод сообщения : Введите интервал и шаг
Ввод x0, xk, dx
Вывод сообщения : Введите максимальное число итераций и погрешность
ввод n_max, eps
Расчет числа точек и уточнение шага
k=целая часть((xk-x0)/dх)
dx=(xk-x0)/k
Вывод заголовка таблицы
Цикл для i от 0 до k
x=x0+i*dx
y=f(x, n_max, eps, dy, n ) // функция вычисления суммы ряда
y_kontr=exp(x)
вывод x,y, y_kontr,dy,n
если n>=n_max вывод “НЕ “
вывод ”СХОДИТСЯ”
конец
Все заголовки функций и структуры передаваемых параметров разрабатывать здесь (потом их можно будет скопировать в то место, где будет разрабатываться настоящая функция, а не затычка)
Затычка для проверки работы главной программы
Функция f
Структура данных (только входные и выходные параметры)
-
Входные данные и выходные параметры
1
х
real
Значение (входной)
Аргумент функции
2
n_max
integer
Значение (входной)
Максимальное число итераций
3
eps
real
Значение (входной)
Допустимая погрешность
4
Dy
real
Адрес (выходной)
Реальная погрешность вычисления функции
5
n
integer
Адрес (выходной)
Число итераций
6
f
reaal
Имя функции
Возвращаемый результат вычисления функции
Алгоритм затычки для функции f. Задаем значения выходных параметров для проверки правильности вывоза функции и передачи параметров.
dy=0.001
n=5
f=x
конец f
Проверка работы алгоритма главной программы для первого варианта исходных данных планового тестирования
-
x0
xk
dx
N_max
eps
k
0
2
0.5
3
0.01
4
0.5
i |
x |
y |
Y_kontr |
Число итераций |
погрешность |
сходимость |
0 |
0.0 |
0.0 |
1.00 |
5 |
0.001 |
не сходится |
1 |
0.5 |
0.5 |
1.65 |
5 |
0.001 |
не сходится |
2 |
1.0 |
1.0 |
2.72 |
5 |
0.001 |
не сходится |
3 |
1.5 |
1.5 |
4.48 |
5 |
0.001 |
не сходится |
4 |
2.0 |
2.0 |
7.39 |
5 |
0.001 |
не сходится |
1 .3. Разработка алгоритма вычисления функции
1.3.1. Назначение функции
Для заданного значения х получить значения функции
с заданной точностью, определяя число итераций. Достижение заданной точности определяется выполнением условия |Fi (x)- Fi-1 (x)| <, где i- номер очередного члена ряда - заданная погрешность, количество итераций ограничено значением n_max
Математическое описание задачи.
Первый член ряда
Предположим, что есть
зависимость между очередным и следующим
членами ряда и вид ее определяется
формулой
Найдем формулу для вычисления q, и если она будет проще, формула для вычисления члена ряда, то используем ее в своем алгоритме
Начальное значение суммы
или просто a
