Создание программы, выполняющей в цикле вычисление значения функции

Страницы работы

Содержание работы

Министерство образования Российской Федерации

Уральский Государственный Технический Университет

Филиал в г. Краснотурьинске

Кафедра вычислительной техники

Отчет по лабораторной работе №4

Студент                                                                                        Козлов И.В.

Группа                                                                                          Мт-209

Вариант                                                                                        6

Преподаватель                                                                             Мезенцева О.В.

2002

Цель работы: создание программы, выполняющей в цикле следующие действия: вычисление значения функции, представленной в виде ряда, вычисление значения функции по двум заданным параметрам.

1. Задание.

а)       Составить программу, вычисляющей приближённые значения функции для заданного x с точностью до e>0, если функция представлена в виде ряда.

y = cos x = 1 - x2/2! + x4/4! - … + (-1)n*(x2n/2n!)

б)       Составить алгоритм и программу для вычисления значения функции. Вывести таблицу значений аргументов и значений функций.

          S = 5Öa * x * y2 + 1.3   * sin (x-a)

          при xÎ[2;5] с шагом 0,5

          при yÎ[-1;1] с шагом 0,5

          a = 1.9

2. Блок-схема:

                              а)

начало

 


суммарных

членов ряда

 


ввести значение x и e

 


x, e

 


sum = 0

 


f=1, n=0, c=1, k=1, S=1

 


|S| > e

                    значение функции                                        

равно sum                                                 sum = sum + S

 


проверка                                                       c = c * x2


y = cos (x)                                                     n = n + 2


  y                                                         f = f*(n-1)*n

 


 конец                                                     K mod 2 = 0


S = c/f                                                  f= -c/f


 K = K + 1


3. Программа:

а)       program rjad;

var c, s, sum, x, y, eps: real

     k, n, f: integer;

     t: char;

begin

writeln(‘Программа вычисления суммы чисел ряда, абсолютная величина которых < eps’);

write(‘Введите x=’);

repeat

readln(x);

write(‘Введите eps=’);

readln(eps);

sum:=0; c:=1; f:=1; n:=0; k:=1; s:=1;

while abs(s)>eps do

begin

sum:=sum+S;

c:=c*sqr(x);

n:=n=2;

f:=f*(n-1)*n;

if k mod 2=0 then S:=c/f

else S:=-c/f;

k:=k+1;

end;

writeln(‘Сумма чисел ряда, модуль которых больше’,eps:5:2,’равна’,sum:15:8);

y:=cos(x);

writeln(‘Проверка’);

writeln(‘y=’,y:15:8);

write(‘Повторить вычисления?’);

readln(t);

t:=upcase(t);

until t<>’y’;

end.

б)       program pr6;

const a=1.9; h=0.5;

var x, y, s: real;

begin

x:=2;

repeat

y:=-1;

repeat

S:=exp(1/5*ln(a*x*sqr(y)+1.3))*sin(x-a);

writeln(‘x=’,x:2:2,’y=’,y:2:2,’S=’,S:2:2);

y:=y+h;

until y>1;

x:=x+h;

readln;

until x>5;

end.

4. Результат:

а)       x=3

eps=0.8

Сумма чисел ряда, модуль которых больше 0.8 равна –1.1375

Проверка

y=-0.98999250

б)       x=2              y=-1.00        S=0.14

x=2              y=-0.50        S=0.12

x=2              y=0.00          S=0.11

x=2              y=0.50          S=0.12

x=2              y=1.00          S=0.14

x=2.5            y=-1.00        S=0.81

x=2.5           y=-0.50        S=0.68

x=2.5           y=0.00          S=0.60

x=2.5           y=0.50          S=0.68

x=2.5           y=1.00          S=0.81

x=3              y=-1.00        S=1.32

x=3              y=-0.50        S=1.09

x=3              y=0.00          S=0.94

x=3              y=0.50          S=1.09

x=3              y=1.00          S=1.32

x=3.5            y=-1.00        S=1.51

x=3.5           y=-0.50        S=1.24

x=3.5           y=0.00          S=1.05

x=3.5           y=0.50          S=1.24

x=3.5           y=1.00          S=1.51

x=4              y=-1.00        S=1.34

x=4              y=-0.50        S=1.09

x=4              y=0.00          S=0.91

x=4              y=0.50          S=1.09

x=4              y=1.00          S=1.34

x=4.5            y=-1.00        S=0.81

x=4.5           y=-0.50        S=0.66

x=4.5           y=0.00          S=0.54

x=4.5           y=0.50          S=0.66

x=4.5           y=1.00          S=0.81

x=5              y=-1.00        S=0.07

x=5              y=-0.50        S=0.05

x=5              y=0.00          S=0.04

x=5              y=0.50          S=0.05

x=5              y=1.00          S=0.07

Вывод: В ходе данной лабораторной работы я научился составлять программу, выполняющую в цикле вычисление функции, представленной в виде ряда и программу, вычисляющую значение функции при двух пошагово изменяющимся параметрах.

Похожие материалы

Информация о работе