Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
02.06.2015
Размер:
164.35 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Вечерне-заочный факультет

«ИТЕРАЦИОННЫЕ ЦИКЛЫ»

Отчет по лабораторной работе №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 выдает приближенное значение этой функции.

Соседние файлы в папке лабы отчеты