Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Теория механизмов и машин Исследование среднего арифметического отклонения профиля Курсо.

Работа добавлена на сайт samzan.net:


БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Теория механизмов и машин»

Исследование среднего арифметического отклонения профиля

Курсовая работа

по курсу «Информатика»

Исполнитель    __________                                                 

Группа                                                                                           

Руководитель   __________                                                  

Минск 2006


Содержание:

1. Введение……………. ……………….……………………………….…...стр.

2. Постановка задачи……..….. …………….…… ………………………. ..стр.

3. Математическая модель задачи……….….…… ………………………...стр.

4. Алгоритм решения задачи.…………… ….………………… ………..….стр.

5. Схема алгоритма…………………………..……..…… …………………..стр.

6. Таблица идентификаторов…………… …………………………………стр.

7. Текст программы на языке Pascal……… ………………….……………стр.

8. Результаты решения задачи…………….… ………………….. ………..стр.

9. Анализ результатов…………………………. …………………………...стр.

  1.  
    Введение

 Ни одну деталь в машиностроении не возможно сделать абсолютно гладкой, всегда конечная изготовка имеет погрешности. Поэтому невозможно обойтись без анализа шереховатости поверхности при изготовлении какого либо механизма. В соответствии с математической моделью задачи необходимо анализировать шероховатость по длине вала определяя значения отклонения используя интерполяционный множитель Лагранжа.

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

 При анализе шероховатости по длине вала получена таблично заданная зависимость сре5днего арифметического отклонения профиля Ra(l) вида

l

L1

L2

...

Ln

Ra

Ra2

Ra2

Ran

  

 Определить значения Ra в точке вала с координатами , используя интерполяционный множитель Лагранжа. Построить график зависимости Ra(l).

3. Математическая модель задачи

Интерполяционный многочлен Лагранжа, построенный по n узлам интерполирования, для поставленной задачи запишется в виде

Для вычисления Raj  -- среднего арифметического отклонения профиля в точке с координатой  воспользуемся соотношением

для каждого j = 1,2, … , k.

Значения исходных данных для тестирования

l,мм

0

6

10

13

15

18

20

24

27

29

Ra,мкм

1,9

1,92

1,94

1,96

1,96

1,99

1

0,98

0,97

0,96

мм, мм, мм, мм,  k = 4,  n = 10.

4. Алгоритм решения задачи

1. Считываем исходные данные из файла “DANNYE.dan

1.1 Для  i=1..n      li;   

1.2 Для  i=1..n     Rai;

1.3 Для  i=1..m    

2. Для k=1..m 

2.1 Для i=1..n

2.1.1 zni=1

2.1.2 Для  j=1..n  

    если i<> j то

            

2.2

3. Cохраняем результаты в файле ‘REZULTAT.dan

3.1 Для i=1..m   

3.1.1  

3.1.2   

5. Схема алгоритма

Схема головной программы

Процедура SCHITYVANIE

                                    Процедура MyGraphInit

Процедура OSI_KOORDINAT

                   Процедура SAVE

Процедура Graph_Ra

Процедура RAS4OT


Процедура MaxMinRa

6. Таблица идентификаторов

идентификатор

описание

1

l

массив, содержащий координаты вала

2

Ra

массив, содержащий отклонения профиля при координатах   

3

lin

массив, содержащий координаты искомых отклонений

4

Ran

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

5

maxRa, minRa

мин. и макс. значения из массива Ra

7. Текст программы на языке Pascal.

program variant3;

uses crt,graph;

const

  n=10;

  m=4;

type

  massl=array[1..n] of integer;

  massRa=array[1..n] of real;

  massln=array[1..m] of integer;

  massRan=array[1..m] of real;

var l:massl;

   Ra:massRa;

   lin:massln;

   Ran:massRan;

   maxRa,minRa:real;

{=================================}

procedure s4ityvanie(var l:massL;var Ra:massRa;var ln:massLn);

var

dan:text;

z:integer;

begin

   clrscr;

   {$I-}

   assign(dan,'dannye.dan');

   reset(dan);

   z:=ioresult;

   {I+}

   if z<>0 then

     begin

      writeln('oshibka faila ''dannye.dan''  No:',z);

      readkey;

      Halt(1);

     end;

  for z:=1 to n do

    read(dan,l[z]);

  for z:=1 to n do

    read(dan,Ra[z]);

  for z:=1 to m do

    read(dan,lin[z]);

  close(dan);

end;

{==========================================}

procedure MaxMinRa(var maxRa,minRa:real);

var i:integer;

begin

maxRa:=Ra[1];

minRa:=Ra[1];

for i:=1 to n do begin

 if maxRa<Ra[i] then maxRa:=Ra[i];

 if minRa>Ra[i] then minRa:=Ra[i];

end;

end;

{===========================================}

procedure ras4ot(var Ran:massRan);

var i,k,j:integer;

   zn:massRa;

begin

    for k:=1 to m do

    begin

      Ran[k]:=0;

      for i:=1 to n do

         begin

           zn[i]:=1;

           for j:=1 to n do

             if i<>j then

             zn[i]:=zn[i]*(lin[k]-l[j])/(l[i]-l[j]);

         end;

      for i:=1 to n do

        zn[i]:=zn[i]*ra[i];

      for i:=1 to n do

        Ran[k]:=Ran[k]+zn[i];

    end;

end;

{=============================================}

procedure osi_koordinat(l:massl;minRa,maxRa:real);

 var i:integer;

     dl,dr,x:real;

     s:string;

 begin

  dl:=l[n]/10;

  dr:=abs(maxRa-minRa)/10;

  setlinestyle(0,1,1);

  line(100,20,100,320);

  line(100,320,600,320);

  for i:=0 to 10 do

    begin

    line(99,20+30*i,101,20+30*i);

    x:=maxRa-i*dr;

    str(x:4:3,s);

    moveTo(50,15+30*i);

    outText(s);

    line(100+50*i,319,100+50*i,321);

    x:=0+i*dl;

    str(x:4:0,s);

    outtextXY(80+50*i,324,s);

    end;

    for I:=1 to 10 do

    begin;

    setLineStyle(1,1,1);

    setColor(8);

    line(103,20+30*(i-1), 600,20+30*(i-1));

    line(100+50*i,318,100+50*i,20);

    setLineStyle(0,1,1);

    setColor(15);

    end;

 end;

{===============================================}

procedure MyGraphInit;

var GraphDriver,ErrorCode,GraphMode:integer;

begin

   GraphDriver:=detect;

   initGraph(graphdriver,GraphMode,'');

   ErrorCode:=graphresult;

   if Errorcode<>grOk then

    begin

      writeln('proizoshla oshibka grafiki: ',grapherrormsg(errorCode));

      writeln('rabota programmy prervana');

      readln;

      Halt(1);

    end;

end;

{===============================================}

procedure graph_Ra;

var i:integer;

begin

  setColor(red);

  moveTo(round(100+l[1]*500/l[n]),round( 320-(Ra[1]-minRa)*300/(maxRa-minRa)));

  for i:=2 to n do

   lineTo(round(100+l[i]*500/l[n]),round( 320-(Ra[i]-minRa)*300/(maxRa-minRa)));

  outtextxy(100,400,'grafik zavisimosti Ra(l)');

end;

{=======================================================}

procedure save;

var i,z:integer;

   rez:text;

 begin

   {$I-}

   assign(rez,'rezultat.dan');

   rewrite(rez);

   z:=ioresult;

   {I+}

   if z<>0 then

     begin

      writeln('oshibka faila ''rezultat.dan'' ',z);

      readkey;

      Halt(1);

     end;

   writeln(rez,'zna4eniya Ra v tochkah s koordynatomi L1...L4  :');

   writeln(rez,' _____________________________');

   writeln(rez,'|    Ra       |      L        |');

   writeln(rez,'`-----------------------------'' ');

   for i:=1 to m do

      writeln(rez,'|',ran[i]:8:2,'     |',lin[i]:8,'       |');

   writeln(rez,'`-----------------------------''');

   close(rez);

end;

{=======================================================}

begin

s4ityvanie(l,Ra,lin);

ras4ot(ran);

MaxMinRa(maxRa,minRa);

MygraphInit;

Osi_koordinat(l,minRa,maxRa);

Graph_Ra;

save;

readkey;

end.

8. Результаты решения задачи

Распечатка файла REZULTAT.DAN

zna4eniya Ra v to4kah s koordynatomi L1...L4  :

 _____________________________

|    Ra       |      L        |

`-----------------------------'

|   27.17     |       3       |

|    2.11     |      16       |

|    0.19     |      22       |

|   -0.34     |      28       |

`-----------------------------'

9. Анализ результатов


   
 выход

ras4ot

s4ityvanie

начало

MaxMinRa

MygraphInit

Osi_koordinat

Graph_Ra

save

readkey

oshibka faila 'dannye.dan'  No:, ioresult

Чтение l[z] из dan 

Чтение Lin[z] из dan 

z=1,n

close(dan)

Завершение работы программы

ioresult≠0

{$I}

assign(dan,'dannye.dan')

reset(dan)

{I+}

вход

да

нет

Чтение Ra[z] из dan 

z=1,m

z=1,n

     выход

Выход

rabota programmy prervana

нет 

proizoshla oshibka grafiki:

да 

ErrorCode<>0

ErrorCode = graphresult

InitGraph

GraphDriver = detekt

Вход

readln

Halt(1)

Выход

setColor

setlinestyle

line

line

setColor

setlinestyle

i = 1,  10

outTextXY

str

x = 0 + i*dl

line

utText

moveTo

str

x = maxy – i*dr

line

i = 0,  10

line

line

setlinestyle

dr = |(maxRa – minRa)|/10

dl = l[n]/10

Вход

L[n],minRa,maxRa

close(rez)

вход

выход

вход

  lineTo(round(100+l[i]*500/l[n]),round( 320-(Ra[i]-minRa)*300/(maxRa-minRa)))

grafik zavisimosti Ra(l)

выход

Запись в rez: zna4eniya Ra v tochkah s koordynatomi L1...L4  

k=1,m

i=1,4

oshibka faila 'rezultat.dan'  No:, ioresult

Завершение работы программы

ioresult≠0

{$I}

assign(dan,'rezultat.dan')

reset(dan)

{I+}

вход

да

нет

setColor(red)

moveTo(round(100+l[1]*500/l[n]),round( 320-(Ra[1]-minRa)*300/(maxRa-minRa)))

Запись в rez: 

Ran[i],lin[i]

i=2,n

Ran[k]:=0

i=1,n

zn[i]:=1

j=1,n

i<>j

zn[i]=zn[i]*(lin[k]-l[j])/(l[i]-l[j])

да

нет

A

B

C

A

B

C

i=1,n

i=1,n

zn[i]:=zn[i]*ra[i]

Ran[k]:=Ran[k]+zn[i]

выход

вход

maxRa=Ra[1]

minRa=Ra[1]

i=1,n

maxRa<Ra[i]

maxRa=Ra[i]

да

нет

minRa>Ra[i]

minRa=Ra[i]

да

нет

выход




1. ОЛИМПИЙСКИЙ РЕЗЕРВ 0Впереди самое знаменательное событие 2014 года ~ Олимпиада
2. Классификация
3. Судимость помилование амнистия
4. это самостоятельная относительно замкнутая часть системы российского права которая представляет собой со
5. Утверждаю Зав2
6. Контрольная работа- Педагогическая мысль в Древней Греции и Древнем Риме
7. реферату- БлискавкиРозділ- Фізика Блискавки Кульова блискавка Кульова блискавка ~ це загадкове явище п
8. тематики и прикладной информатики ТИПОВОЙ РАСЧЕТ 2 ПО ИНФОРМАТИКЕ Верси
9. Таганрогский медицинский колледж
10. Основы менеджмента и предназначены для проведения лабораторных работ по данной дисциплине.
11. модульної контрольної роботи І рівень 3 бали за правильну відповідь 1
12. Проектирование участок механического цеха по изготовлению детали «Втулка»
13.  Задачи и цели БЖД
14. полевой морской терапии 24 Задача по военнополевой морской хирургии 22 Рак молочной железы
15. Юридическая работа на предприяти
16.  С 2 Залежь нефти находится в эксплуатационном бурении
17. Задание 1 20689 Определить цену деления мензурки и объем налитой жидкости
18. Курсовая работа- Нетрадиционные уроки при преподавании технологии в школе
19. Понятие о передаточной функции Передаточной функцией САУ по задающему воздействию называется отнош
20. Bitru- Красота и мозг