Составление алгоритмов и программ вычисления функций
Использование нестандартных функций и подпрограмм (процедур) для составления алгоритмов вычислений. Программы для вычисления значение корней нелинейного уравнения по методу половинного деления. Составление алгоритма операций над матрицами и интегралами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.08.2015 |
Размер файла | 580,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Министерство образования Российской Федерации
Ульяновский государственный технический университет
Кафедра «Технология машиностроения »
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА КУРСОВОЙ РАБОТЕ
ПО ТЕХНОЛОГИЧЕСКОЙ ИНФОРМАТИКЕ
Студент Финагеев П.P.
Ульяновск 2010
Исходные данные для проектирования
Разработать алгоритмы и программы в соответствии с вариантом №12.
1. Составить алгоритм и программу вычисления функции
y =
с использованием нестандартных функций.
2.Составить алгоритм и программу вычисления функции
y =
с использованием нестандартных функций и подпрограмм (процедур).
3. Составить алгоритм и программу операций над матрицами:
(), где i=2, j=3, k=3
4. Найти значение корней нелинейного уравнения y = x* по методу половинного деления.
5. Составить алгоритм и программу для вычисления суммы определённых интегралов
, где a=1, b=2, c=3.
Число разбиений каждого интервала интегрирования принять равным 10.
6. Составить алгоритм и программу вычисления наибольшего и наименьшего значений функции y = x*
Содержание
Введение
1. Составление алгоритма и программы вычисления функции с использованием нестандартных функций
2. Составление алгоритма и программы вычисления функции с использованием нестандартных функций и подпрограмм
3. Составление алгоритма и программы операций над матрицами
4. Нахождение корня нелинейного уравнения
5. Вычисление определённого интеграла
6. Нахождение наибольшего и наименьшего значений функции
Заключение
Список использованной литературы
Введение
В процессе технологической подготовки производства инженерам приходится сталкиваться со сложными задачами расчётного и проектного характера, решение которых во многих случаях с помощью традиционных методов либо практически невозможно, либо занимает много времени. В связи с этим весьма актуальна автоматизация технологической подготовки производства, которая имеет следующие особенности:
1) использование принципиально новых методологических основ проектирования;
2) широкое применение экономико-математических методов проектирования;
3) всесторонняя автоматизация инженерного труда.
С появлением ЭВМ возможность автоматизации технологической подготовки производства стала реальностью. Появилось много систем автоматизированного проектирования (САПР), управление производством, управления технологическими процессами и др.
В данной курсовой работе выполнены шесть заданий по составлению алгоритмов и программ на языке TURBO PASCAL.
1. Составление алгоритма и программы вычисления функции с использованием нестандартных функций
Постановка задачи
Составить алгоритм и программу вычисления функции y = c использованием нестандартных функций.
Алгоритм решения задачи
Текст программы
Program R1;
uses crt;
var x,a,y:real;
F:text;
begin
clrscr;
assign(F,'C:\R1Tmd-21.txt');
rewrite(F);
write('Введите значение x=');
readln(x);
write('Введите значение a=');
readln(a);
y:=sqrt(sqrt(x-a))*0.5*(exp(x)-exp(-x))+0.5*(exp(x)+exp(-x));
writeln('pri x=',x:2:1, ' i',' a=', a:2:1, ' y=',y:5:4);
writeln(F,'pri x=',x:2:1, ' i',' a=', a:2:1, ' y=',y:5:4);
writeln(Программу разработал студент группы TMд-21 Финагеев Павел);
writeln(F,Программу разработал студент группы TMд-21 Финагеев Павел);
close(F);
readkey;
end.
Результаты машинного расчёта
При x=4.0 и a=2.0 y=59.7616
Разработал студент группы ТМд-21 Финагеев Павел
Результаты ручного расчёта
59,762
Вывод В ходе выполнения работы составил алгоритм и программу на языке программирования Turbo Pascal для вычисления функции с использованием нестандартных функций. Программа работает, и результаты вычисления с помощью машины совпадают с результатами ручного счёта.
алгоритм программа вычисление функция
2. Составить алгоритм и программу вычисления функции с использованием нестандартных функций и подпрограмм (процедур).
Постановка задачи
Составить алгоритм и программу вычисления функции y = с использованием нестандартных функций и подпрограмм (процедур).
Алгоритм решения задачи
Текст программы
Program R2;
uses crt;
var x,y:real;
k,l,i,m,n:word;
F:text;
Procedure factorial;
begin
m:=1;
for i:=1 to k do
begin
m:=m*i
end;
n:=1;
for i:=1 to l do
begin n:=n*i
end;
end;
begin
clrscr;
assign(F,'C:\R2TMd-21.txt');
rewrite(F);
write('Введите значение x=');
readln(x);
writeln(F,x:5:3);
write(' Введите значение параметра m=');
readln(k);
write(' Введите значение параметра n=');
readln(l);
Factorial;
y:=m*sqrt((exp(x)-exp(-x))/2)+n*sqrt((exp(x)+exp(-x))/2);
writeln('При значениях факториалов m!=',m, ' i n!=',n);
writeln(F,'При значениях факториалов m!=',m, ' i n!=',n);
writeln('Значение функции y=',y:5:3);
writeln(F,'Значение функции y=',y:5:3);
writeln('Разработал студент группы
ТМд-21 Финагеев Павел');
writeln(F, 'Разработал студент группы
ТМд-21 Финагеев Павел');
close(F);
readkey;
end.
Результаты машинного расчёта
x=5.000
При значениях факториалов m!=2 i n!=6
Значение функции y=68.915
Разработал студент группы ТМд-21 Финагеев Павел
Результаты ручного расчёта
При x=5, m=2, n=3:
Вывод В ходе выполнения работы составил алгоритм и программу на языке программирования Turbo Pascal для вычисления функции с использованием нестандартных функций и подпрограмм (процедур). Программа работает, и результаты вычисления с помощью машины совпадают с результатами ручного счёта.
3. Составить алгоритм и программу операций над матрицами
Постановка задачи
Составить алгоритм и программу операций над матрицами:
(), где i=2, j=3, k=3
Алгоритм решения задачи
Текст программы
Program R3;
uses crt;
Const m=2;n=3;p=3;
Var A:array [1..m,1..n] of integer;
B:array [1..n,1..p] of integer;
AB,ABL,C,CL,R:array [1..m,1..p] of integer;
i,j,k,L:integer;
F:text;
begin
clrscr;
assign(F,'C:\R3TMd-21.txt');
rewrite(F);
write('Введите L=');
readln(L);
Writeln('матрица A');
for i:=1 to 2 do
for j:=1 to 3 do
begin
write ('A[',i,',',j,']=');
readln (A[i,j]);
end;
Writeln ('матрица B');
for j:=1 to 3 do
for k:=1 to 3 do
begin
write ('B[',j,',',k,']=');
readln (B[j,k]);
end;
writeln ('матрица C');
for i:=1 to 2 do
for k:=1 to 3 do
begin
write ('C[',i,',',k,']=');
readln (C[i,k]);
end;
CLRSCR;
writeln('Исходная матрица A');
for i:=1 to 2 do
BEGIN
for j:=1 to 3 do
WRITE(A[i,j]:3);
WRITELN;
end;
readln;
writeln(F,' Исходная матрица A');
for i:=1 to 2 do
BEGIN
for j:=1 to 3 do
WRITE(F,A[i,j]:3);
WRITELN(F);
end;
readln;
writeln(' Исходная матрица B');
for j:=1 to 3 do
BEGIN
for k:=1 to 3 do
WRITE(B[j,k]:3);
WRITELN;
end;
readln;
writeln(F,' Исходная матрица B');
for j:=1 to 3 do
BEGIN
for k:=1 to 3 do
WRITE(F,B[j,k]:3);
WRITELN(F);
end;
readln;
writeln(' Исходная матрица C');
for i:=1 to 2 do
BEGIN
for k:=1 to 3 do
WRITE(c[i,k]:4);
WRITELN;
end;
readln;
writeln(F,' Исходная матрица C');
for i:=1 to 2 do
BEGIN
for k:=1 to 3 do
WRITE(F,c[i,k]:4);
WRITELN(F);
end;
readln;
writeln ('матрица A [i,j]*B[j,k]');
writeln (F,'матрица A [i,j]*B[j,k]');
for i:=1 to 2 do
for j:=1 to 3 do
begin
AB[i,j]:=0;
for k:=1 to 3 do
AB[i,j]:=AB[i,j]+(A[i,j]*B[j,k]);
end;
for i:=1 to 2 do
BEGIN
for k:=1 to 3 do
WRITE(AB[i,j]:3);WRITE(F,AB[i,j]:3);
WRITELN;
Writeln(F);
end;
writeln ('матрица AB[i,k]*L');
writeln (F,'матрица AB[i,k]*L');
for i:=1 to 2 do
begin
for k:=1 to 3 do
ABL[i,k]:=AB[i,k]*L;
end;
for i:=1 to 2 do
BEGIN
for k:=1 to 3 do
WRITE (ABL[i,k]:3);
WRITE (F,ABL[i,k]:3);
WRITELN;
writeln(F);
end;
Begin
writeln ('матрица C[i,k]*L');
writeln (F,'матрица C[i,k]*L');
for i:=1 to 2 do
for k:=1 to 3 do
CL[i,k]:=C[i,k]*L;
for i:=1 to 2 do
BEGIN
for k:=1 to 3 do
WRITE (CL[i,k]:3);WRITE (F,CL[i,k]:3);
WRITELN;
writeln(F);
end;
writeln ('Результирующая матрица');
writeln (F,' Результирующая матрица');
for i:=1 to 2 do
begin
for k:=1 to 3 do
begin
R[i,k]:=ABL[i,k]+CL[i,k];
write(R[i,k]:3);write(F,R[i,k]:3);
end;
writeln;
writeln(F);
end;
readkey;
writeln;
writeln(F);
end;
readln;
writeln('Разработал студент группы
ТМд-21 Финагеев Павел');
writeln(F, 'Разработал студент группы
ТМд-21 Финагеев Павел');
close(F);
end.
Результаты машинного расчёта
Исходная матрица A
1 1 1
1 1 1
Исходная матрица B
2 2 2
2 2 2
2 2 2
Исходная матрица C
3 3 3
3 3 3
матрица A [i,j]*B[j,k]
6 6 6
6 6 6
матрица AB[i,k]*L
30 30 30
30 30 30
матрица C[i,k]*L
15 15 15
15 15 15
Результирующая матрица
45 45 45
45 45 45
Результаты ручного расчёта
Ручной счёт:
S=
L=5
=
S=
Расчёт на ЭВМ: При вводе этих данных ЭВМ выдаёт результат:
Вывод
В ходе выполнения работы составил алгоритм и программу операций над матрицами. Программа работает, и результаты вычисления с помощью машины совпадают с результатами ручного счёта.
4. Нахождение корня нелинейного уравнения
Постановка задачи
Найти значение корней нелинейного уравнения y = x* по методу половинного деления.
Алгоритм решения задачи
Текст программы
Program R4;
uses crt;
label 10,20;
var Fa,Fxk,Fx,b,a,x,xk,E:real;
F:text;
begin
clrscr;
assign(F,'C:\R4TMd-21.txt');
rewrite(F);
write('Vvedite lev.granicu a=');
readln(a);
write('Vvedite prav.granicu b=');
readln(b);
write('Vvedite stepen tochnosti E=');
readln(E);
Fa:=a*exp(0.33*ln(a-1))-2;
10:x:=(a+b)/2;
Fx:=x*exp(0.33*ln(x-1))-2;
if abs(Fx)<=E then
GOTO 20;
if Fa*Fx>0 then
a:=x else begin b:=x;
GOTO 10;
end;
20:xk:=x;
Fxk:=xk*exp(0.33*ln(x-1))-2;
writeln('pri xk=',xk:5:3,' Fxk=',Fxk:5:4);
writeln(F,'pri xk=',xk:5:3,' Fxk=',Fxk:5:4);
writeln('Разработал студент группы ТМд-21 Финагеев Павел');
writeln(F, 'Разработал студент группы ТМд-21 Финагеев Павел');
close(F);
readkey;
end.
Результаты машинного расчёта
При xk=2.000 и Fxk=0.000
a=0,b=4, E=0,001
Результаты ручного расчёта
Вывод
В ходе выполнения работы составил алгоритм и программу для нахождения значения корней нелинейного уравнения по методу половинного деления.
Программа работает, и результаты вычисления с помощью машины совпадают с результатами ручного счёта.
5. Вычисление определённого интеграла
Постановка задачи
Составить алгоритм и программу для вычисления суммы определённых интегралов
,
где a=1, b=2, c=3.
Число разбиений каждого интервала интегрирования принять равным 10.
Алгоритм решения задачи
Текст программы
Program R5;
uses crt;
var s2,s1,a,c,b,x,int,int1,int2,y1,y2,h:real;
n:word;
F:text;
begin
clrscr;
assign(F,'C:\R5TMd-21.txt');
rewrite(F);
write ('Введите a=');
readln(a);
writeln(F, ' Предел интегрирования a= ',a:1:0);
write ('Введите b=');
readln(b);
writeln(F,' Предел интегрирования b= ',b:1:0);
write('Введите c=');
readln(c);
writeln(F,' Предел интегрирования c= ',c:1:0);
write('Число отрезков n=');
readln(n);
writeln (F,'Число отрезков n= ',n);
x:=a;
S1:=0;
h:=(b-a)/(n-1);
while (x<=b-h) do
begin
y1:= (exp(x*ln(2))+exp(x*ln(3)));
s1:=s1+y1;
x:=x+h;
end;
int1:=h*s1;
writeln('Интеграл от первой функции равен ', int1:5:3);
writeln(F,'Интеграл от первой функции равен ', int1:5:3);
s2:=0;
h:=(c-b)/(n-1);
while (x<=c-h) do
begin
y2:= (sqr(((exp(x)+exp(-x))/2/((exp(x)-exp(-x))/2))));
s2:=s2+y2;
x:=x+h;
end;
int2:=h*s2;
writeln('Интеграл от второй функции равен',int2:5:3);
writeln(F,'Интеграл от второй функции равен',int2:5:3);
int:=int1+int2;
writeln('интеграл равен ',int:5:3);
writeln(F,'интеграл равен ',int:5:3);
writeln('Программу разработал студент группы ТМд-21 Финагеев Павел');
writeln(F,' Программу разработал студент группы ТМд-21 Финагеев Павел');
close(F);
readln;
end.
Результаты машинного расчёта
Int=7,772 при a=1, b=2, c=3 и n=10
Результаты ручного расчёта
Вывод
В ходе выполнения работы составить алгоритм и программу для вычисления суммы определённых интегралов. Для того чтобы решить эту задачу можно использовать более точные методы, например метод трапеций или метод Симпсона.
6. Нахождение наибольшего и наименьшего значений функции
Постановка задачи
Составить алгоритм и программу вычисления наибольшего и наименьшего значений функции y = x*
Алгоритм решения задачи
Текст программы
Program R6;
uses crt;
var a,b,x,y,xmin,xmax,ymin,ymax,h:real;
i,n:integer;
F:text;
begin
clrscr;
assign(F,'C:\TMd-21.txt');
rewrite(F);
write('Vvedite lev.granicu a=');
readln(a);
write('Vvedite prav.granicu b=');
readln(b);
write('Vvedite chislo tochek razbivki n=');
readln(n);
h:=(b-a)/n;
ymax:=-100000;
ymin:=100000;
x:=a;
while (x<=b) do
begin
y:=x*exp(0.33*ln(x-1))-2;
writeln('x=',x:5:3, ' y=',y:5:3);
writeln(F,'x=',x:5:3, ' y=',y:5:3);
if y<ymin then
begin
ymin:=y;
xmin:=x;
end;
if y>ymax then
begin
ymax:=y;
xmax:=x;
end;
x:=x+h;
end;
writeln;
writeln(F);
writeln('Pri x=',xmin:5:3,' Ymin=',ymin:5:3);
writeln(F,'Pri x=',xmin:5:3,' Ymin=',ymin:5:3);
writeln('Pri x=',xmax:5:3,' Ymax=',ymax:5:3);
writeln(F,'Pri x=',xmax:5:3,' Ymax=',ymax:5:3);
writeln('Разработал студент группы ТМд-21 Финагеев Павел');
writeln(F, 'Разработал студент группы ТМд-21 Финагеев Павел');
close(F);
readkey
end.
Результаты машинного расчёта
x=3.000 y=1.771
x=3.375 y=2.490
x=3.750 y=3.236
x=4.125 y=4.008
x=4.500 y=4.804
x=4.875 y=5.623
x=5.250 y=6.463
x=5.625 y=7.324
x=6.000 y=8.205
При x=3.000 Ymin=1.771
При x=6.000 Ymax=8.205
Результаты ручного расчёта
Вывод
В ходе выполнения работы составил алгоритм и программу на языке программирования Turbo Pascal для вычисления наибольшего и наименьшего значений функции Программа работает, и результаты вычисления с помощью машины совпадают с результатами ручного счёта.
Заключение.
В широком смысле под технологической информатикой понимаются фундаментальную естественную науку, изучающую процессы сбора, накопления, передачи и обработки информации. В конкретном случае технологическая информатика предназначена для автоматизации решения многих инженерных, проектных и расчётных задач. В ней рассматриваются принципы разработки математических моделей, алгоритмов и программ, а также вопросы построения некоторых вычислительных систем.
Основной задачей выполнения курсовой работы по информатике, является закрепление теоретических знаний полученных в процессе самостоятельных работ, а так же на лекциях, практических и лабораторных занятиях. Развитие практических навыков программирования, работы за терминалом или персональным компьютером.
Список использованной литературы
1. Карев Е.А. Технологическая информатика: методические указания к выполнению курсовой работы для студентов специальности 120100 «Технология машиностроения».- Ульяновск: УлГТУ, 2002. - 52 с.
2. Крупенников О.Г., Рязанов С.И., Псигин Ю.В., Кравченко Д.В. Решение задач машиностроения средствами Turbo Pascal. - Ульяновск: УлГТУ, 2004. - 107 с.
3. Крупенников О.Г., Кравченко Д.В. Курс лекций по основам алгоритмизации и программирования задач машиностроения: учебное пособие. - Ульяновск: УлГТУ, 2006. - 143с.
4. Карев Е.А. Информатика: учебное пособие.-Ульяновск: УлГТУ, 1996. -103с.
Размещено на Allbest.ru
Подобные документы
Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.
курсовая работа [568,3 K], добавлен 07.03.2015Программирование нестандартных функций, задач оптимизации, дифференциального уравнения и аппроксимации с помощью языка Паскаль. Алгоритм и программа операций над матрицами. Нахождение значения корней нелинейного уравнения по методу половинного деления.
курсовая работа [1,1 M], добавлен 12.08.2011Создание схем алгоритмов и составление программы на языке Pascal для вычисления значений заданных функций. Сущность и порядок нахождения значения определенного интеграла. Анализ работы подпрограмм. Разработка тестов для проверки правильности алгоритмов.
контрольная работа [831,0 K], добавлен 24.11.2013Разработка с использованием приложения Mathcad алгоритма и программы решения нелинейного уравнения методами касательных, половинного деления и хорд. Решение с помощью ее заданных нелинейных уравнений. Создание графической иллюстрации полученных решений.
курсовая работа [665,7 K], добавлен 22.08.2013Математическое описание, алгоритм и программа вычисления нелинейного уравнения методом дихотомии. Метод половинного деления. Метод поиска корней функции. Написание текста программы с комментариями. Проведение тестовых расчетов. Вывод ответа на экран.
курсовая работа [67,2 K], добавлен 15.02.2016Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.
контрольная работа [148,1 K], добавлен 08.11.2013Математический алгоритм вычисления корней нелинейного уравнения и его решение методом касательных. Особенности программной реализации решения таких уравнений. Процедура подготовки и решения задачи на ЭВМ, характеристика алгоритма и структуры программы.
курсовая работа [96,6 K], добавлен 02.06.2012Составление блок-схемы и алгоритма программы для решения уравнения с приближенным значением корня по методу Ньютона, расчета приближенного значения интеграла по формуле трапеций, вычисления уравнения длины вектора. Типы формул общего члена суммы.
курсовая работа [41,3 K], добавлен 15.12.2012Структура языка Паскаль, встроенные процедуры и функции. Составление алгоритма решения уравнения, описывающего работу кривошипно-шатунного механизма, с помошью метода итерации, метода Гаусса и метода Зейделя. Блок-схемы алгоритмов и текст программы.
курсовая работа [64,6 K], добавлен 07.05.2011Отделение действительных корней нелинейного уравнения. Метод хорд и касательных (Ньютона), геометрическая интерпретация. Графическая схема алгоритма. Описание реализации базовой модели в MathCAD. График сравнения числа итераций в зависимости от точности.
курсовая работа [2,0 M], добавлен 16.05.2013