Запись специальных математических формул в Microsoft Office Word. Решение трансцендентных уравнение с помощью Mathcad, страница 2

Текст программы:

program main

use dflib

implicit none

integer, parameter::n=6

integer, parameter::p=5

real, allocatable:: mtr(:, :)

real, allocatable:: otkl(:, :)

real sred(p)

allocate (mtr(n, p))

allocate (otkl(n, p))

call seed (RND$TIMESEED)

call fillmatrix(mtr,n, p)

call PrintMatrix(mtr,n,p)

call vichSred(mtr, sred, n, p)

print*, "Otkloneniya elementov ot srednego:"

call vichOtkl(mtr, otkl,  n, p, sred)

call PrintOtkl(otkl,n,p)

end

subroutine fillmatrix(mtr, row, col)

use dflib

integer row, col

real mtr(row, col)

real rnd  

do i=1, row

do j=1, col

call random(rnd)

mtr(i, j)=rnd*10+1

enddo

enddo

end

subroutine Printmatrix(mtr, row, col)

integer row, col, i, j

real mtr(row, col)

do i=1, row           

print*, (mtr(i, j), j=1, col)

enddo

print*, " "

end

subroutine vichSred(mtr, sred, row, col)

implicit none

integer row, col, i, j

real mtr(row, col), sred(col)

do j=1, col

do i=1, row           

sred(j)=sred(j)+mtr(i, j)

enddo

sred(j)=sred(j)/row

enddo

print*, sred

print*, " "

end

subroutine vichOtkl(mtr, otkl,  row, col, sred)

implicit none

integer row, col, i, j

real mtr(row, col), sred(col), otkl(row, col)

do j=1, col

do i=1, row                         

otkl(i, j)=mtr(i, j)-sred(j)

enddo

enddo

end

subroutine PrintOtkl(otkl,row,col)

integer row, col, i, j

real otkl(row, col)

do i=1, row           

print*, (otkl(i, j), j=1, col)

enddo

print*, " "

end

Раздел 6. Подпрограммы

Постановка задачи

Вычислить значение величины, содержащей несколько однотипных сумм

program main

use dflib

integer, parameter::m=4

integer, parameter::n=5

real, allocatable:: mtr(:, :)

allocate (mtr(m, n))

call fillmatrix(mtr,m, n)

call PrintMatrix(mtr,m,n)

end

subroutine fillmatrix(mtr, row, col)

use dflib

integer row, col

real i, j

real mtr(row, col)

real rnd          

do i=1, row

do j=1, col

if (i<j) mtr(i, j)= sin(i+j)

if (i==j) mtr(i, j)=1

if (i>j) mtr(i, j)=asin((i+j)/(2*j+3*j))

enddo

enddo

end

subroutine Printmatrix(mtr, row, col)

integer row, col

real i, j

real mtr(row, col)

do i=1, row    

print"(5f15.4)", (mtr(i, j), j=1.0, col)

print*," "

enddo

print*, " "

end

Раздел 6. Разветвляющиеся вычислительные процессы.

Постановка задачи:

Вычислить функцию y=f(x) исходя из условий:

s

Выполнени задачи:

Пишется программа (см ниже), с использованием оператора IF, то есть после ввода Х (аргумента) выполняется проверка на принадлежность аргумента определённому интервалу, после чего находится значение функции по необходимой формуле.

Текст программы:

program main

implicit none

real(8) res, x, p

print*, "Input x: "

read*, x

if (x<-12) res=abs(x)**0.5+sin(x)/2

if (x>=-12 .and. x<8) res=sin(x-5)

if (x>=8.and. x<10) res=(x+6)**0.5/(x+3)

if (x>=10) res=4/(3+x)

print*, "Result: ", res

end

Раздел 7. Циклические вычислительные процессы.

Постановка задачи:

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

Решение задачи:

В начале производится ввод аргумента Х и числа операций N, после чего производится циклическое вычисление и вывод результата.

Текст программы:

program main

implicit none

real x, res, f1

integer n        

print*, "Input n: "

read*, n

print*, "Input x: "

read*, x

call sum1(f1, n, x)

res=0.5*x+f1

print*, "y= ", res

end

subroutine sum1 ( f1, n, x )

implicit none

real f1, x, fact, lim, i

integer k, n

f1=0

fact=1

do k=1, n

lim=2*k-1

do i=1, lim

fact=fact*i

enddo

f1=f1+(x**(2*k-2)/fact)

enddo

end                 


Заключение

Пройдя курс «Практикум по ВТ», полученные новые знания и навыки по работе в различных пакетах программ,таких как:Microsoft Office, Fortran, Microsoft Excel , MathCAD можно применять в различных дисциплиинах.Особое место в учебной программе занимает Fortran, это не случайно.Большая часть заданий по Fortran посвящена изучению новых операторов и процедур. Microsoft Office и Microsoft Excel представлены в малом количестве заданий, так как эти пакеты практически не вызывают трудностей у студентов. MathCAD сложная математическая программа, которая требуется для выполнения различных операций.