Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

В широком смысле под технологической информатикой понимаются фундаментальную естественную науку, изучающую процессы сбора, накопления, передачи и обработки информации. В конкретном случае технологическая информатика предназначена для автоматизации решения многих инженерных, проектных и расчётных задач. В ней рассматриваются принципы разработки математических моделей, алгоритмов и программ… Читать ещё >

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

Министерство образования Российской Федерации Ульяновский государственный технический университет Кафедра «Технология машиностроения «

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА КУРСОВОЙ РАБОТЕ ПО ТЕХНОЛОГИЧЕСКОЙ ИНФОРМАТИКЕ Студент Финагеев П.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:=-100 000;

ymin:=100 000;

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

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. Карев Е. А. Технологическая информатика: методические указания к выполнению курсовой работы для студентов специальности 120 100 «Технология машиностроения». — Ульяновск: УлГТУ, 2002. — 52 с.

2. Крупенников О. Г., Рязанов С. И., Псигин Ю. В., Кравченко Д. В. Решение задач машиностроения средствами Turbo Pascal. — Ульяновск: УлГТУ, 2004. — 107 с.

3. Крупенников О. Г., Кравченко Д. В. Курс лекций по основам алгоритмизации и программирования задач машиностроения: учебное пособие. — Ульяновск: УлГТУ, 2006. — 143с.

4. Карев Е. А. Информатика: учебное пособие.-Ульяновск: УлГТУ, 1996. -103с.

Показать весь текст
Заполнить форму текущей работой