Составление алгоритмов и программ вычисления функций

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.