
5.6 Алгоритм и программа для задачи с таблицей
Эта задача рассмотрена в методических указаниях к курсовой работе.
ЗАДАЧА. Дана функцияf(x) =exp(x) и начало ряда Маклорена для нее
s(x) = 1 + x + x2 /2 .
На отрезке от x=0 доx=1 вывести 11 строк таблицы значений
x f s eps ,
где еps(x) =f(x) -s(x) - это погрешность представления рядом.
Пояснения:11 строк выбраны для того, чтобы шаг изменения значенийx
был равен 0.1 на отрезке от 0 до 1. Если обозначить шаг через step= 0.1, то
получаем x=k*step, гдеk- номер строки в таблице. Можно выбрать и
другой шаг.
Для упрощения вывод результатов выполним не в файл, как это требуется
в курсовой работе, а на экран.
Алгоритм
1. Вывод заголовка задачи.
2. Вывод заголовка таблицы.
3. Определение шага step.
4. Начало цикла по k, т.е. по строкам таблицы.
5. Вычисление x.
6. Вычисление f = exp(x).
7. Вычисление s.
8. Вычисление eps= f - s.
9. Вывод значений x, f, s, eps
10. Конец цикла по k.
11. Конец.
ПРОГРАММА
// * * * * программа в файле \Papka\ z1.cpp
// автор Иванов из Р-21; задача 1 (5.8)
# include <iostream.h>
# include <math.h>
Void main( ) {
int k; float x, f, s, eps ; float step = 0.1;
cout << "Иванов, Р-21 Задача 1 \n\n " ;
cout << "x f s eps " << endl;
for (k=0; k<=10; k++ ) {
x = step * k; f = exp(x);
s=1. + x + x*x/2. ; eps = f - s;
cout << x<< ” ” << f<< ” ” << s << ‘ \t ‘ << eps << endl ;
}
}
Эта программа состоит из одной функции main. Весь текст функции всегда
является блоком и поэтому заключается в фигурные скобки. Так как в цикле
также выполняется блок операторов, то в конце получаются две закрывающие
фигурные скобки. При выводе таблиц целесообразно использовать
управляющий символ табуляции \t.В блоке
после закрывающей фигурной скобки точка с запятой обычно не ставится.
Если точка с запятой после блочной } есть, то она означает пустой оператор } ;
и иногда может быть полезной. Обратите внимание на расположение закрывающих
фигурных скобок: для наглядности они ставятся по линии первого слова блока.
- - - - - - - - - - - - - Контрольная работа - К1.