Автор работы: Пользователь скрыл имя, 08 Марта 2011 в 18:23, курсовая работа
В данной курсовой работе будет рассмотрено решение задач из ряда высшей математике, это: вычисление определенного интеграла, логарифма
1. Программирование нестандартных функций   ---------------------------------------------------    5
     1.1. Постановка задачи  --------------------------------------------------------------------------      5
  1.2. Результат машинного и ручного счета   --------------------------------------------------     6
     1.3. Вывод -------------------------------------------------------------------------------------------     6
2.Программирование нестандартных функций                    ---------------------------------------     7
2.1. Постановка  задачи   ---------------------------------------------------------------------------     7
2.2. Метод решения -------------------------------------------------------------------------------    7
2.3.Описание программы -------------------------------------------------------------------------      8
2.4.Результат машинного и ручного расчета -------------------------------------------------      9
2.5. Вывод -------------------------------------------------------------------------------------------       9
3.Операции над матрицами   --------------------------------------------------------------------------     10
3.1. Постановка  задачи ----------------------------------------------------------------------------     10
3.2. Метод решения --------------------------------------------------------------------------------    10
3.3. Описание программы ------------------------------------------------------------------------      12
   3.4. Результат машинного и ручного расчета    ----------------------------------------------     14
  3.5. Вывод ------------------------------------------------------------------------------------------       15
4. Вычисление определенного интеграла     ---------------------------------------------------------      16
  4.1. Постановка задачи -----------------------------------------------------------------------------     16
 4.2. Метод решения -------------------------------------------------------------------------------       16
 4.3. Описание программы ------------------------------------------------------------------------       16
 4.4. Результат машинного и ручного расчета ------------------------------------------------       17
 4.5. Вывод -------------------------------------------------------------------------------------------        18
5. Нахождение максимального и минимального значения  функции  -----------------------     19
5.1. Постановка  задачи ----------------------------------------------------------------------------        19
5.2. Метод решения --------------------------------------------------------------------------------        19
5.3. Описание программы ------------------------------------------------------------------------        20
5.4. Результат машинного и ручного расчета -----------------------------------------------          21
5.5. Вывод           ---------------------------------------------------------------------------------         21
Заключение             ------------------------------------------------------------------------------------          22 Список литературы       -------------------------------------------------------------------------------       23
   
 2. Программирование 
нестандартных функций 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
           Рис.2- Блок схема программы 
(а-д). 
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,'Разроботал студент гр.
     Writeln 
(s,'Составить алгоритм и 
writeln ('Введите константы:');
write ('n:');
readln (n);
     write 
('m:'); 
readln (m);
writeln ('Введите переменную x');
readln (x);
     y:=fact(n)*ln(sh(x)+ch(x))-th(
writeln ('x=',x:5:2,', y=',y:8:3);
writeln (s,'x=',x:5:2,', y=',y:8:3);
readln;
     close(s); 
   end. 
 
 
 
 
 
     3. Операции 
над матрицами 
Операции над матрицами и векторами определяются следующим образом:[7.1], [7.2], [7.3].:
Все перечисленные 
операции, а так же ввод данных и 
вывод результата опишем отдельными 
процедурами. 
   Блок-схема 
программы  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Рис. 3- Блок- схема 
программы MATRIX. 
 
 
 
Программа MATRIX предназначена для выполнения операций над матрицами: .
В начале работы программы необходимо задать значения констант , , , определяющих размерности матриц A, B, C и D.
Затем вводим 
значения элементов матриц 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,
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[
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,'Разроботал студент гр.
     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 получаем матрицу .
 
Выполним ручной 
расчет для тех же данных.  
;      
;   
;
 
 
 
 
      4. 
Вычисление определенного 
интеграла 
Вычислим определенный интеграл по методу левых
прямоугольников [7.3]. Метод состоит в разбиении участка
интегрирования на N равных промежутков и вычислении
площадей прямоугольников ,
где , - значение функции в начале
интервала разбиения i. Таким образом, площадь под
графиком приближенно заменяется суммой
площадей прямоугольников:
. 
                              
             
Блок-схема программы