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

Лабораторная работа №3

по технологическому программированию

«Решение уравнений»

Выполнил: Егоров Михаил

Группа: БИ-1-05

Цель работы: создание программы, которая находит корень заданного уравнения.

1.Задание.

Написать программу на языке Си, которая находит корень уравнения

1+sin x-ln(1+x)-x=0

двумя методами: итераций и деления отрезка пополам, - и отображает показатели быстродействия обоих методов.

2.Методы решения.

1.Метод итераций.

2.Метод деления отрезка пополам.

3.Описание переменных.

xкорень уравнения

x1, x0 – вспомогательные переменные

a,bзаданные пределы.

dзаданная точность вычислений.

ii, idсчетчики итераций

4.Блок-схема.

x0=x1

5.Исходный текст программы.

#include <stdio.h>

#include <math.h>

#include <conio.h>

void main()

{

clrscr();

float x,x0,x1;

float d,a,b;

int ii,id;

a=0;

b=1.5;

d=0.000001;

printf("rezultat\titeracii\n");

x1=1.5;

ii=0;

do

{

ii+=1;

x0=x1;

x1=1+sin(x0)-log(1+x0);

}

while (fabs(x1-x0)>d);

x=(x0+x1)/2;

printf("%lf\t%d\n",x,ii);

id=0;

do

{

id+=1;

x=(a+b)/2;

x1=(1-a+sin(a)-log(1+a)) * (1-x+sin(x)-log(1+x));

if (x1<0)

b=x;

else

a=x;

}

while(fabs(b-a)>d);

x=(a+b)/2;

printf("%lf\t%d\n",x,id);

}

6.Результат.

rezultat iteracii

1.147439 6

1.147439 21

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