 
        
        Informatika-laboratornye / лабы отчеты / лаб4
.docФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Вечерне-заочный факультет
«ИТЕРАЦИОННЫЕ ЦИКЛЫ»
Отчет по лабораторной работе №3
по дисциплине
«Информатика»
Вариант 3
Выполнил:
студент гр. ИТ-11
Бибанаев В.А.
Проверил:
Малышева А.В.
Киров 2015
Лабораторная работа №4
Тема: Итерационные циклы
Цель: выработка умений решения на компьютере вывода на текстовый экран таблицы и графика функции на языке Си, отладка и тестирование программы.
Задание
(вариант №3): Вычислить
значение функции точное
по её выражению 
 
и приближенное
по её разложению в ряд
и приближенное
по её разложению в ряд 
 суммируя те члены ряда
для которых
суммируя те члены ряда
для которых 
 где
где 
 -
заданная ошибка (вводится с клавиатуры)
Подсчитать также количество просуммированных
членов ряда
-
заданная ошибка (вводится с клавиатуры)
Подсчитать также количество просуммированных
членов ряда
 
              

Выполнение задания:
1. Математическая постановка
Исходные данные: x – значение аргумента
Результаты: y – значение функции
Допустимые значения вводимых данных согласно условию задачи:
x – тип double, больше либо равно 0.5
eps – тип double, примерная погрешность числового ряда
2. Разработка алгоритма.
Алгоритм вычисления значения функции имеет линейную структуру. Схема алгоритма:
 
3. Разработка программы
3.1Таблица идентификаторов
| Имя переменной | Тип переменной | Пояснение | Спецификации формата | 
 | 
 | 
| Алгоритм | Программа | 
 | |||
| Исходные данные | Ввод | Вывод | 
 | ||
| x | x | double | Значение аргумента | %lf | %g | 
| eps | eps | double | Погрешность | %lf | %g | 
| ak | ak | double | сумма k-ого члена ряда | - | - | 
| k | k | double | k-ый член ряда | - | %f | 
| Результаты | 
 | ||||
| y | y | double | Значение функции | %lf | %lf | 
3.2 Содержание результатов работы программы на экране
 
3.3 Текст программы:
#include<stdio.h>
#include<math.h>
//---------------------------------------------------------------------------
// Лабораторная работа №4 Итерационные циклы
// Выполнил: Бибанаев В.А., гр. ИТ-11 Вариант 3
//---------------------------------------------------------------------------
main()
{
double x, y, eps, ak, k;
printf("Laboratornaia rabota 4 Iteracionnye cikly \n");
printf("Vipolnil: Bibanaev V.A., gr.IT-11, Variant 3 \n");
printf("\n");
printf("Vvod x > 0.5: \t x = ");
scanf("%lf", &x);
y=log(x);
printf("Tochnoe znachenie y = %lf pri x = %g\n", y, x);
printf("Vvod epsilon: \t eps = ");
scanf("%lf", &eps);
printf("\n");
while(eps!=0)
{
y = 0;
k = 1;
ak = 1;
while(fabs(ak)>eps)
{
ak = 1 / k * pow((x - 1) / x, k);
y = y + ak;
k++;
}
printf("\n");
printf("Priblizhennoe znachenie y = %lf pri x = %g and eps = %g\n", y, x, eps);
printf("\n");
printf("Prossumirovano chlenov riada: k = %g \n", k);
printf("\n");
printf("Vvod epsilon ( esli 0 - End ): \t eps = ");
scanf("%lf", &eps);
printf("\n");
}
getchar();
getchar();
}
Выводы: программа выводит точное значение функции, при заданном аргументе. Затем при вводе значения eps выдает приближенное значение этой функции.
