Реферат Пояснительная записка к курсовой работе
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего
от 25%

Подписываем
договор
2. Программирование нестандартных функций
2.1. Постановка задачи.
Составить алгоритм и программу вычисления функции с использованием нестандартных функций:
2.2. Метод решения.
При составлении программы для расчета гиперболических синуса
Для вычисления
Блок-схема программы
Рис.2- Блок схема программы (а-д).
2.3. Описание программы.
Программа FUNCTIONS предназначена для вычисления функции
В начале работы программы необходимо ввести значение переменной
Для примера введем значения:
Текст программы:
program functions;
var x,y:real;
var n,m:integer;
s:text;
function sh(q:real):real;
begin
sh:=(exp(q)-exp(-q))/2;
end;
function ch(q:real):real;
begin
ch:=(exp(q)+exp(-q))/2;
end;
function th(q:real):real;
begin
th:=sh(q)/ch(q);
end;
function fact(k:integer):integer;
var i,f:integer;
begin
f:=1;
for i:=1 to k do f:=f*i;
fact:=f;
end;
begin
assign (s,'A:\Факториал.txt');
rewrite(s);
Writeln ('Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln ('Составить алгоритм и программу вычисления функции сиспользованием нестандартных функций');
Writeln (s,'Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln (s,'Составить алгоритм и программу вычисления функции сиспользованием нестандартных функций');
writeln ('Введите константы:');
write ('n:');
readln (n);
write ('m:');
readln (m);
writeln ('Введите переменную x');
readln (x);
y:=fact(n)*ln(sh(x)+ch(x))-th(x)/fact(m);
writeln ('x=',x:5:2,', y=',y:8:3);
writeln (s,'x=',x:5:2,', y=',y:8:3);
readln;
close(s);
end.
2.4. Результаты машинного и ручного расчетов.
Результат машинного расчета для
Ручной расчет для тех же данных:
2.5. Вывод: Результаты ручного и машинного расчетов полностью совпадают.
3. Операции над матрицами
3.1. Постановка задачи.
Составить алгоритм и программу операций над матрицами:
3.2. Метод решения.
Операции над матрицами и векторами определяются следующим образом:[7.1], [7.2], [7.3].:
· сумма матриц
· матрица
· произведение матрицы
Все перечисленные операции, а так же ввод данных и вывод результата опишем отдельными процедурами.
Блок-схема программы
Рис. 3- Блок- схема программы MATRIX.
3.3. Описание программы.
Программа MATRIX предназначена для выполнения операций над матрицами:
В начале работы программы необходимо задать значения констант
Затем вводим значения элементов матриц A, B, C и D.
Для определенности примем:
Текст программы:
program matrix;
const Ni=2;
Nj=3;
Nk=5;
type matr=array[1..Nk,1..Nk] of real;
var A,At,B,Bt,C,Ct,D,Dt,AtBt,CtDt,S:matr;
i,j,k:integer;
s:text;
procedure multi(var m:matr; p,l:matr);
var i1,j1,k1:integer;
begin
for i1:=1 to Nk do
for k1:=1 to Nk do
begin
m[i1,k1]:=0;
for j1:=1 to Nk do
m[i1,k1]:=m[i1,k1]+p[i1,j1]*l[j1,k1];
end;
end;
procedure vvod(var m:matr;t:char; Ni1,Nj1:integer);
{ввод матрицы}
var i1,j1:integer;
begin
assign (s,'A:\Факториал.txt');
rewrite(s);
Writeln ('Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln ('Составить алгоритм и программу вычисления функции сиспользованием нестандартных функций');
Writeln (s,'Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln (s,'Составить алгоритм и программу вычисления функции сиспользованием нестандартных функций');
writeln('Ввод матрицы ',t);
for i1:=1 to Ni1 do
for j1:=1 to Nj1 do
begin
write ('Введите ',j1,' -элемент ',i1,' строки:');
readln(m[i1,j1]);
end;
end;
procedure trans(var mt:matr; m:matr; N1:integer);
var i1,j1:integer;
begin
for i1:=1 to N1 do
for j1:=1 to N1 do
mt[i1,j1]:=m[j1,i1];
end;
procedure summ(var m:matr; p,l:matr; Ni1,Nj1:integer);
{сумма матриц}
var i1,j1:integer;
begin
for i1:=1 to Ni1 do
for j1:=1 to Nj1 do m[i1,j1]:=p[i1,j1]+l[i1,j1];
end;
begin
vvod(A,'A',Nj,Ni); {ввод матриц A,B,C,D}
vvod(B,'B',Nk,Nj);
vvod(C,'C',Nj,Nk);
vvod(D,'D',Nj,Nk);
trans(At,A,Nj); {транспонирование матриц}
trans(Bt,B,Nk);
trans(Ct,C,Nk);
trans(Dt,D,Nk);
summ(CtDt,Ct,Dt,Nk,Nj);
multi(AtBt,At,Bt); {умножение матриц}
multi(S,AtBt,CtDt);
writeln ('Результирующая матрица:'); {вывод результата}
for i:=1 to Ni do
begin
for k:=1 to Nj do
write (s,’S[i,k]:7:2,’ );
writeln;
end;
readln;
end.
3.4 Результаты машинного и ручного расчетов.
В результате машинного расчета для выбранных в п.2.3. матриц A, B, C и D получаем матрицу
Выполним ручной расчет для тех же данных.
3.5. Вывод: Результаты ручного и машинного расчетов полностью совпадают.
4. Вычисление определенного интеграла
4.1. Постановка задачи.
Составить алгоритм и программу для вычисления определенного интеграла:
4.2.
Вычислим определенный интеграл по методу левых
прямоугольников [7.3]. Метод состоит в разбиении участка
интегрирования на N равных промежутков и вычислении
площадей прямоугольников
где
интервала разбиения i. Таким образом, площадь под
графиком приближенно заменяется суммой
площадей прямоугольников:
Рис. 4- График функции.F(x)
Блок-схема программы
4.3. Описание программы.
Программа INTEGRAL предназначена для вычисления определенного интеграла
В начале работы программы необходимо ввести значения констант
Текст программы:
program integral;
var i,N,a,b:integer;
x,y,h:real ;
s:text;
begin
assign (s,'A:\Седьмая.txt');
rewrite(s);
Writeln ('Программа вычисления функциии с использованием нестандартных функций');
Writeln ('Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln (s, 'Программа вычисления функциии с использованием нестандартных функций');
Writeln (s,'Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
writeln ('Введите пределы интегрирования:');
write ('a=');
readln(a);
write ('b=');
readln(b);
write ('Введите количество разбиений:');
readln(N);
x:=a;
y:=0;
h:=(b-a)/N;
for i:=1 to N do
begin
y:=y+h*(exp(x)+exp(-2*x))/x;
x:=x+h;
end;
writeln ('I=',y:6:2);
readln;
close (s);
END.
4.4. Результаты машинного и ручного расчетов.
Результат машинного расчета:
Ручной расчет интеграла:
Интегралы такого вида вычисляются при помощи разложения подынтегральной функции в степенной ряд.
Воспользуемся стандартным разложением в ряд функции
тогда
Проинтегрировав, получаем:
Аналогично можно разложить в ряд и подынтегральную функцию 2-го интеграла, но так как вычисления трудоемки, а подынтегральная функция на указанном интервале достаточно мала (
Ошибка вычислений составляет
4.5. Вывод: Результаты ручного и машинного расчетов можно считать верными с погрешностью вычисления
5. Нахождение максимального и минимального значений функции
5.1. Постановка задачи.
Составить алгоритм и программу для вычисления наибольшего и наименьшего значения функции на интервале
5.2. Метод решения.
Для поиска максимума и минимума на отрезке
Последовательно вычисляем значения
Ymin = y. Таким образом, после прохождения всего цикла находим максимальное и минимальное значения
Статья I.
5.3. Описание программы.
Программа MAXMIN предназначена для поиска максимума и минимума функции
Текст программы:
program maxmin;
const a=3;
b=6;
h=0.01;
var x,y,xmin,xmax,max,min:REAL;
s:text;
begin
assign (s,'A:\Max and Min.txt');
rewrite(s);
Writeln ('Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln ('Нахождение макс. и минимального значения ф-ии на отрезке [3,6]');
Writeln (s,'Разроботал студент гр.ТМДу-21 Кондратьев В.В.');
Writeln (s,'Нахождение макс. и минимального значения ф-ии на отрезке [3,6]');
max:=-100000;
min:=100000;
x:=a;
while x<=b do
begin
y:=x*x-4;
if y>max then
begin
max:=y;
xmax:=x;
end;
if y<min then
begin
min:=y;
xmin:=x;
end;
x:=x+h;
end;
writeln ('max=',max:6:3,' при х=',xmax:6:2);
writeln ('min=',min:6:3,' при х=',xmin:6:2);
writeln (s,'max=',max:6:3,' при х=',xmax:6:2);
writeln (s,'min=',min:6:3,' при х=',xmin:6:2);
readln;
close(s);
end.
5.4. Результаты машинного и ручного расчетов.
В результате работы программы получаем:
Для выполнения ручного расчета найдем критические точки функции
Многочлен
5.5. Вывод: Результаты ручного и машинного расчетов полностью совпадают.
Заключение
.
В данной курсовой работе мной получены навыки по решению ряда задач из высшей математике при помощи программы Турбо Паскаль 7.0 (составление программы Матрица, решение уравнения методом левых прямоугольников и др.).
При сравнении ручного и машинного подсчета, у программ №2, №3, №5- ручной и машинный счет совпадает на 100
На основании подсчетов можно сделать вывод что программа работает правильно а значит и цель курсового проекта выполнена. Имеющаяся погрешность не велика и значит ей можно пренебречь.
Список литературы.
1.Карев Е.А. Информатика: учебное пособие. – Ульяновск: УлГТУ, 1996. – 104с.
2. Вычислительная техника и программирование: Учебник для техн. вузов /А.В. Петров, В.Е. Алексеев, А.С. Ваулин и др.; Под ред. А.В. Петрова.- М: Высш. шк., 1990. - 470 с.
3. Тарчак Л.И. Основы численных методов: Учебное пособие. –М.: Наука. Гл. ред. физ. мат. лит., 1987. - 320 с.
4. Светозарова Г.И., Сиштов Е.В., Козловский А.В. Практикум программирования на алгоритмических языках. –М.: Наука, 1980. – 200 с.
5. Меженный О.А. TURBO PASCAL: Учитесь программировать. – М.: Издательский дом «Вильямс», 2001. – 488 с.
6. Бахвалов Н.С. и др. Численные методы. – М.: Наука, 1987.