Методика разработки и написания программы

В методике определены основные этапы проектирования программы.

Методика рассматривается на конкретном примере.

Дана задача: Написать программу, которая по введенному значению аргумента вычисляет значение функции.

Дана функция.

Методика разработки и написания программы - student2.ru

Математическая запись этой функции: Методика разработки и написания программы - student2.ru Методика разработки и написания программы - student2.ru

Этапы разработки и написания

I. Определить цель: Определить значение функции У при входном значении аргумента X.

II. Определить входные данные: Значение аргумента Х должно быть вещественного типа.

III. Определить выходные данные: Значение функции У должно быть вещественного типа.

IV. Составить алгоритм решения в общем виде: от общего к частному – это способ нисходящей разработки программы. Записывается алгоритм в неформальном словесном виде:

1) Ввести аргумент Х.

2) Определить, какому интервалу из области определения функции принадлежит введенное значение аргумента Х. Вычислить значение функции У по формуле.

3) Вывести значение У.

Далее детализируются пункты алгоритма – п.2

2.1 Если аргумент Х принадлежит интервалу [-œ; -2), то У = 0.

2.2 Если аргумент Х принадлежит интервалу [-2; -1), то У = -Х-2.

2.3 Если аргумент Х принадлежит интервалу [-1; 1), то У = Х.

2.4 Если аргумент Х принадлежит интервалу [1; 2), то У = -Х+2.

2.5 Если аргумент Х принадлежит интервалу [2; +œ;), то У = 0.

Обозначения применяемые в интервале:

[ - нестрогое неравенство >= или <=.

) – строгое неравенство > или <.

Алгоритм может быть представлен в виде блок-схемы (в данной методике этот вариант не рассматривается). Алгоритм в неформальном словесном виде допускается по технологии программирования.

V. По созданному алгоритму написать программу.

//программа расчета функции по ее аргументу

#include <stdio.h>

#include <locale.h>

int main()

{

setlocale(LC_ALL, "Russian");//для правильной знакогенерации

//объявление переменных

double x; //значение аргумента

double y; //значение функции

//ввод

printf_s("Введите значение аргумента Х ->"); scanf_s("%lf", &x);

//расчет

if(x < 2) y = 0;

if(x >= -2 && x < -1) y = -x-2;

if(x >= -1 && x < 1 ) y = x;

if(x >= 1 && x < 2 ) y = -x+2;

if(x >= 2) y = 0;

//вывод

printf_s("\nДля x = %.2f значение y = %.2f\n", x, y);

return 0;

}

VI. Отладить программу – обнаружить и исправить ошибки как синтаксические (их показывает компилятор), так и заложенные в логике программы. Ошибки, заложенные в логике программы, выявляются при ее выполнении. Для устранения таких ошибок выполняется тестирование. Тестирование - процесс выполнения программы на некотором наборе данных, для которого заранее известен результат.

Таким образом, необходимо создать тестовые примеры: задать для каждого интервала по одному значению Х, задать граничные значения Х - точки перегиба и проверить значения функции соответствующие заданным Х.

Х -5 -1,5 0,5 1,5 -2 -1
У -0,5 0,5 0,5 -1

VII. Упростить программу в части расчета (оптимизировать).

//расчет

if(x >= -2 && x < -1) y = -x-2;

else if(x >= -1 && x < 1 ) y = x;

else if(x >= 1 && x < 2 ) y = -x+2;

else y = 0;

VIII. Протестировать программу после оптимизации.

Наши рекомендации