В сегодняшнем уроке будет написана и рассмотрена программа, вычисляющая значение функции. Разработку будем вести на языке Си. Значение функции будет вычислять подпрограмма; с помощью неё мы решим типовую вычислительную задачу, которую удобно запрограммировать для вычисления на компьютере.
Изучение программирования на примерах многие авторы считают очень эффективным, и мы, в рассмотрении данного вопроса, поступим также. Поэтому решим типовую задачу.
Задание. Вычислить сумму:
Перейдем к написанию программы, решающей данную задачу. Сначала подключим необходимые заголовочные файлы, функции которых понадобятся для вывода результата в консоль и для математических расчетов соответственно:
1 2 |
#include <stdio.h> #include <math.h> |
Затем, нам понадобится подпрограмма, вычисляющая значение функции f(x). Напишем её:
1 2 3 4 |
double f(double x) { return 2 * pow(x, 3) + 7 * sqrt(x); } |
Функция f, после своего вызова, вернёт вызывающей программе значение типа double. Это число и будет результатом вычисления значения функции f(x): оно вычисляется в операторе return.
Перейдем к написанию функции main. Объявим целочисленную переменную x = 1, значение которой будем последовательно увеличивать до 10, чтобы вычислить сумму, необходимую для решения задачи.
1 |
int x = 1; |
Также объявим переменную типа double с именем result. В ней будет хранится результат вычисления суммы.
1 |
double result = 0; |
Теперь напишем цикл while, в котором будут производиться все вычисления.
1 2 3 4 5 |
while (x <= 10) { result = result + f(x); x++; } |
Цикл будет выполняться до тех пор, пока значение переменной x не станет больше 10. На каждой итерации цикла вычисляется новое значение f(x) (с помощью подпрограммы f) и добавляется к переменной result. После этого переменная x инкрементируется (её значение увеличивается на единицу: x++).
Вычисления закончены, выведем результат на экран:
1 |
printf("result is %f\n", result); |
Приведём полный листинг программы, вычисляющей значение функции, которая была написана в этом уроке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <stdio.h> #include <math.h> double f(double x) { return 2 * pow(x, 3) + 7 * sqrt(x); } int main() { int x = 1; double result = 0; while (x <= 10) { result = result + f(x); x++; } printf("result is %f\n", result); return 0; } |
Последнее, что осталось — это протестировать работу программы. Запустим её (в Visual Studio для этого нажмите сочетание клавиш Ctrl + F5, чтобы консоль сразу после исполнения программы не закрылась).
В данном уроке была написана программа, вычисляющая значение функции. Чтобы скачать её исходник, нажмите на кнопку ниже. Спасибо за прочтение статьи!
Скачать исходник
Поделиться в соц. сетях: