38783

Разработка приложения в среде DELPHI и MATHCAD для расчета шарнирного четырехзвенника

Курсовая

Информатика, кибернетика и программирование

Компьютеризация инженерных задач — один из основных путей повышения производительности в сфере подготовки производства машиностроительного предприятия. Применение математических методов и ЭВМ при расчётах способствует повышению технического уровня и качества проектируемых объектов, сокращению сроков разработки и освоения их в производстве. Широкое использование вычислительной техники во всех этих сферах деятельности современного инженера предъявляет к его профессиональной квалификации ряд дополнительных требований

Русский

2013-09-29

473.52 KB

56 чел.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 2

1. ПОСТАНОВКА ЗАДАЧИ 4

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5

3 РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ DELPHI 7

3.1 Описания алгоритма решения задачи. Блок-схема алгоритма 7

3.2 Разработка пользовательского интерфейса 8

3.3 Тестирование программы 13

4 РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ MATHCAD 14

4.1 Тестирование программы 14

ВЫВОДЫ 16

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 17

ПРИЛОЖЕНИЕ А. Код программы в Delphi. 18

ПРИЛОЖЕНИЕ Б. Графики зависимости координат точек 19

А и В от времени. 19

ПРИЛОЖЕНИЕ В. Графики зависимости скорости от времени. 21


ВВЕДЕНИЕ

Компьютеризация инженерных задач — один из основных путей повышения производительности в сфере подготовки производства машиностроительного предприятия. Применение математических методов и ЭВМ при расчётах способствует повышению технического уровня и качества проектируемых объектов, сокращению сроков разработки и освоения их в производстве. Широкое использование вычислительной техники во всех этих сферах деятельности современного инженера предъявляет к его профессиональной квалификации ряд дополнительных требований, заключающихся в овладении новыми информационными, в значительной мере формализованными технологиями инженерного труда.

Цель выполнения курсовой работы по информатике – научиться применять полученные в результате изучения дисциплины «Информатика» знания, а также приобретенные умения и навыки использования персонального компьютера для решения вычислительных инженерных задач для решения задачи, требующей наличия элементов исследования в решении; сравнить результаты решения задачи, полученные с помощью различных средств (а в некоторых заданиях и методов); оценить эффективность каждого из использованных средств  с  точки зрения простоты использования, точности полученных результатов и быстроты их получения.   

Объектом работы является шарнирный четырехзвенник.

Программа, которая будет разработана в этом отчете, должна включать следующие функции:

  1.  найденные координаты точек А и В в момент времени t;
  2.  расчёты характеристик скорости точки B;
  3.  решения задачи в аналитическом виде;
  4.  решения задачи в графическом виде.

Для выполнения работы, необходимо решить следующие задачи:

  1.  получить аналитические выражения для координат и скоростей точек A и B в зависимости от времени.
  2.  создать программу на языке Delphi для рассчета координат и скоростей точек A и B в зависимости от времени. Результаты оформить в виде таблицы и графиков.
  3.  промоделировать движение системы путем графической анимации.
  4.  создать проект в среде MathCAD для рассчета координат и скоростей точек A и B в зависимости от времени. Результаты оформить в виде таблицы и графиков.
  5.  провести анализ полученных результатов.
  6.  сделать выводы.

 

  1.  
    ПОСТАНОВКА ЗАДАЧИ

Необходимо определить кинематические характеристики кривошипно-ползунного механизма, описанного схемой (рисунок 1.1).

Рисунок 1.1 – Схема механизма

Таблица 1.1Исходные данные.

№ вар.

, м

Закон движения

11

1

4

4

1

10


  1.  ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Для нахождения кинематических характеристик простого механизма будем использовать аналитический метод. Для этого необходимо решить две задачи. Это задача о положениях и задача о передаточных функциях.

Все последующий формулы выбраны исходя из рекомендаций Девойно.

Задача о положениях:

    (2.1)

    (2.2)

 

                               (2.3)

                                  (2.4)

   (2.5)

где  – длины первого и второго звеньев соответственно;

 – координаты точки А по осям X и Y;

координаты точки B по осям X и Y;

– угол между первым звеном и осью ОХ;

– угол между вторым звеном и прямой, параллельной ОХ приложенной в точке А;

Теперь необходимо определить скорости точек А и В, для этого необходимо решить задачу о передаточных функциях:

 (2.5)

(2.6)

Скорость в точке А вычислим по формуле 2.7

       ( 2.7)

Далее мы можем найти проекции скоростей точки В на оси X и Y:

   (2.8)

                                           

       ( 2.9)


  1.  РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ DELPHI

3.1 Описания алгоритма решения задачи. Блок-схема алгоритма

Описание алгоритма реализации

1)Вводим начальные данные l1, l2, XB, YB, w

2)Находим значение промежуточных вычислений:

  1.  XA – по формуле  2.1
  2.  YA – по формуле  2.2
  3.  XB – по формуле  2.3
  4.  YB – по формуле 2.4
  5.  VA – по формуле  2.7
  6.  VB – по формуле  2.10

Схема алгоритма решения на рисунке 3.1


Начало

Ввод L1, L2, Xb, Yb, w

t:=0;    i:=1;

                                                                                   

While t<=2 do begin

да

 fi1:=-(w*sqrt(t)+3.14/3);

 Xa:=L1*cos(fi1);

 Ya:=L1*sin(fi1);

 Vax:=(w*l1*t*sin(-w*sqrt(t)-1.05))/(2*sqrt(t));

 Vay:=-(w*l1*t*cos(-w*sqrt(t)-1.05))/(2*sqrt(t));

 Va:=sqrt(sqr(Vax)+sqr(Vay));

 fi2:=sin((yb-l1*sin(fi1))/l2);

 Xb:=l1*cos(fi1)+l2*cos(fi2);

 Vbx:=(w*l1*sin(-w*sqrt(t)-1.05))/(2*sqrt(t))-(w*l1*cos(-w*sqrt(t)-1.05)*(yb-l1*sin(-w*sqrt(t)-1.05)))/((2*sqrt(t)*l2)*sqrt(abs(1-sqr(yb-l1*sin(-w*sqrt(t)-1.05))/(l2*l2))));

 Vby:=0;

 Vb:=sqrt(sqr(Vbx)+sqr(Vby));

нет

Конец

Вывод  результатов

Рисунок 3.1 – Блок-схема

3.2 Разработка пользовательского интерфейса

Используемые идентификаторы представлены в таблице 3.1.

Таблица 3.1 – Таблица идентификаторов

Математическое

обозначение

Delphi

L1

L2

xa

ya

xb

yb

vax

vbx

vby

vay

t

va

vb

Описание среды программирования Delphi.

Программа в среде Delphi составляется как описание алгоритмов, которые будут выполняться, если возникает определенное событие, связанное с формой или с какимлибо из размещенных на ней компонентов. Для каждого обрабатываемого события с помощью страницы Events инспектора объектов в тексте программы организуется процедура (procedure), между ключевыми словами begin и end которой программист записывает на языке ObjectPascal требуемый алгоритм.

Проект программы в Delphi состоит из, собственно, файла проекта (файл с расширением .dpr), одного или нескольких файлов исходного текста (с расширением .pas), файлов с описанием окон формы (с расширением .dfm) и еще нескольких вспомогательных файлов.

В файле проекта находится информация о модулях, составляющих данный проект. Файл проекта автоматически создается и редактируется средой Delphi и не предназначен для редактирования.

Файл исходного текста – программный модуль (Unit) предназначен для размещения в нем программистом текстов программ на языке Pascal.

Окно формы представляет собой проект Windows-окна программы. На этом окне в процессе написания программы размещаются необходимые компоненты.


Форма программы должна содержать следующие элементы интерфейса:

1) Исходные данные;

2) Решение задачи, представленное в виде таблицы и графика зависимости;

3) Анимация движения механизма;

Рисунок  3.2-Форма программы

Описание кнопок расположенных на главной форме программы:

1.Кнопка “Считать” запускает алгоритм приложения, выполняя необходимые по условиям курсовой работы расчёты.

2. Кнопка “Пуск анимации” запускает алгоритм прорисовки анимации движения механизма.

Интерфейс разработанного приложения довольно прост и удобен в использовании. Состоит из следующих компонентов:

Label – служит для отображения текста на экране. Использованы следующие свойства компонента: 

  1.  AutoSize – включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
  2.  Font – шрифт, используемый на форме.
  3.  Visible – определяет видимость формы на экране.
  4.  Width – ширина окна в пикселах, включая границы.
  5.  Caption – текст заголовка формы.

 Edit – стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. Так же может быть использован и для вывода текстовой информации. Использованы следующие свойства компонента: 

  1.  Name – имя формы как объекта. Может содержать только латинские буквы, цифры и знак подчёркивания, и не может начинаться с цифры. Фактически, это то имя, по которому в программе можно обратиться к форме.
  2.  AutoSize – включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
  3.  Font – шрифт, используемый на форме.
  4.  Visible – определяет видимость формы на экране.
  5.  Width – ширина окна в пикселах, включая границы.

Chart – компонент предназначен для графического представления числовых данных.

  1.  Color – цвет формы.
  2.  Name – имя формы как объекта. Может содержать только латинские буквы, цифры и знак подчёркивания, и не может начинаться с цифры. Фактически, это то имя, по которому в программе можно обратиться к форме.
  3.  AutoSize – включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
  4.  Font – шрифт, используемый на форме.
  5.  Visible – определяет видимость формы на экране.

StringGrid – компонент, представляющий текстовые данные в виде таблицы. Использовались следующие свойства:

  1.  Cells[Acol,Arow] – Определяет содержимое ячейки с табличными координатами (Acol,Arow).
  2.  Color – цвет формы.
  3.  Name – имя формы как объекта. Может содержать только латинские буквы, цифры и знак подчёркивания, и не может начинаться с цифры. Фактически, это то имя, по которому в программе можно обратиться к форме.
  4.  AutoSize – включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
  5.  Font – шрифт, используемый на форме.
  6.  Visible – определяет видимость формы на экране.

PageControl – компонент, позволяющий создавать несколько объемных страниц на форме.

  1.  AutoSize – включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
  2.  Font – шрифт, используемый на форме.
  3.  Visible – определяет видимость формы на экране.
  4.  Width – ширина окна в пикселах, включая границы.
  5.  Caption – текст заголовка формы.

Сanvas - компонент,позволяющийотрисовывать анимацию по координатам. Использовались следующие методы:

  1.  MoveTo – Перемещение пера без прорисовки линии.
  2.  LineTo – Линии.
  3.  Poligon – Заполненного многоугольника.


3.3 Тестирование программы

Результаты расчетов представлены на рисунке 3.3.

Рисунок 3.3 - Полученное решение задачи в виде численных значений, занесенных в таблицу


  1.  РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ MATHCAD
  2.  Тестирование программы

Таблица 4.1 - Таблица идентификаторов

Математическое

обозначение

MathCad

l1

l2

l3

Xb

Xa

Yb

Ya

Vax

Vay

Vbx

Vby

W

T

Описание программы  MathCad:

MathCad — система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вычислениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.

Панели управления открывают с помощью меню View (Вид) или кнопками панели управления Math (Математика).

Теперь начальное условие задачи подставим для рассчета в математический пакет MathСad, получим окно с промежуточными расчетами, представленное на рисунке 3.3:

Рисунок 4.1 – Промежуточные расчеты в MathCad

Рисунок 4.2 – Решение задачи в MathCad


ВЫВОДЫ

В данной работе необходимо было найти значения кинематических характеристик на интервале времени, что и было выполнено на практике при помощи Delphi, а также MathCad. По заданному закону движения, из условия моего варианта, я нашел координаты точек A,B, а также их скорости, в Delphi. Эти формулы что использовал в Delphi перенес в MathCad и также нашел координаты точек A,B,а также их скорости.  В результате выполнения были получены абсолютно одинаковые результаты, что показывает о правильности выполнения работы.

Среда Delphi является очень удобной при решении такого рода задач, так как позволяет не с большой точностью с помощью программного кода найти корни того или иного уравнения, таким образом, для достижения наибольшей точности в расчетах лучше использовать программу Delphi.

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1.  Плис А.И., Сливина Н.А., MathCad. Математический практикум для инженеров и экономистов: Учеб.пособие. – 2-е изд., перераб. и доп. – М.:Финансы и статистика, 2003 - 656 ст.
  2.  И.И. Артоболевский. Теория механизмов и машин; Издание 4; Москва, 1988г – 113ст.
  3.  Культин, Н.Б., Delphi в задачах и примерах. – СПб.: БХВ.- Петербург, 2003 – 288 ст.
  4.  Марков, Е.П. Программирование в Delphi 7 / П.Г. Дарахвелидае, Е.П.Марков— СПб.: БХВ-Петербург, 2003 г. — 784 с: ил.
  5.  Наранович О.И., Скобля С.Г. Информатика: методические указания и задания к лабораторным работам для студентов 2-го курса дневной формы обучения специальностей 40 01 02, 36 01 03, 36 01 01. Часть 3. –Барановичи: БарГУ, 2005.
  6.  Положение о курсовых работах (проектах) №01-01; МО Республики Беларусь, БарГУ. – Барановичи, 2007.
  7.  Фаронов В.В., Delphi. Программирование на языке высокого уровня: Учебник для ВУЗов. – СПб.: Питер, 2005- 640 ст.


ПРИЛОЖЕНИЕ А. Код программы в Delphi.

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ExtCtrls, Grids, jpeg, TeeProcs, TeEngine, Chart,

 Series, Menus, ComCtrls;

type

 TForm1 = class(TForm)

   Panel1: TPanel;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Edit4: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Edit5: TEdit;

   Label5: TLabel;

   StringGrid1: TStringGrid;

   StringGrid2: TStringGrid;

   StringGrid3: TStringGrid;

   Label8: TLabel;

   Label9: TLabel;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Label10: TLabel;

   Label11: TLabel;

   MainMenu1: TMainMenu;

   N1: TMenuItem;

   N3: TMenuItem;

   N6: TMenuItem;

   PageControl1: TPageControl;

   TabSheet1: TTabSheet;

   TabSheet2: TTabSheet;

   TabSheet3: TTabSheet;

   Chart1: TChart;

   Chart2: TChart;

   Chart3: TChart;

   Series1: TLineSeries;

   Series2: TLineSeries;

   Series3: TLineSeries;

   Series4: TLineSeries;

   Image2: TImage;

   Button4: TButton;

   Button5: TButton;

   Timer1: TTimer;

   SaveDialog1: TSaveDialog;

   procedure Button3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure N6Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Timer1Timer(Sender: TObject);

   procedure N3Click(Sender: TObject);

     

 

 private

   { Private declarations }

 public

   { Public declarations }

 end;

  var

 Form1: TForm1;

L1, w, fi2, L2,fi1 ,t,Vax,Vay,Vbx,Vby, Va, Vb, Xa, Xb, Ya, Yb:real;

  i,it,k:integer;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

series1.Clear;

series2.Clear;

series3.Clear;

series4.Clear;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

L1:=strtofloat(edit1.text);

L2:=strtofloat(edit3.text);

Xb:=strtofloat(edit2.text);

Yb:=strtofloat(edit4.text);

w:=strtofloat(edit5.text);

t:=0.01;

i:=1;

stringgrid1.Cells[0,0]:='Время';

stringgrid1.Cells[1,0]:='Угол Фи';

stringgrid2.Cells[0,0]:='X';

stringgrid2.Cells[1,0]:='Y';

stringgrid3.Cells[0,0]:='X';

stringgrid3.Cells[1,0]:='Y';

stringgrid1.Cells[2,0]:='Скорость точки А';

stringgrid1.Cells[3,0]:='Скорость точки Б';

while t<=2.3 do begin

 fi1:=-(w*sqrt(t)+3.14/3);

 Xa:=L1*cos(fi1);

 Ya:=L1*sin(fi1);

 Vax:=(w*l1*t*sin(-w*sqrt(t)-1.05))/(2*sqrt(t));

 Vay:=-(w*l1*t*cos(-w*sqrt(t)-1.05))/(2*sqrt(t));

 Va:=sqrt(sqr(Vax)+sqr(Vay));

 fi2:=sin((yb-l1*sin(fi1))/l2);

 Xb:=l1*cos(fi1)+l2*cos(fi2);

 Vbx:=(w*l1*sin(-w*sqrt(t)-1.05))/(2*sqrt(t))-(w*l1*cos(-w*sqrt(t)-1.05)*(yb-l1*sin(-w*sqrt(t)-1.05)))/((2*sqrt(t)*l2)*sqrt(abs(1-sqr(yb-l1*sin(-w*sqrt(t)-1.05))/(l2*l2))));

 Vby:=0;

 Vb:=sqrt(sqr(Vbx)+sqr(Vby));

stringgrid1.Cells[0,i]:=floattostr(t);

stringgrid1.Cells[1,i]:=floattostrf(fi1,ffgeneral,3,2);

stringgrid2.Cells[0,i]:=floattostrf(Xa,ffgeneral,3,2);

stringgrid2.Cells[1,i]:=floattostrf(Ya,ffgeneral,3,2);

stringgrid3.Cells[0,i]:=floattostrf(Xb,ffgeneral,3,2);

stringgrid3.Cells[1,i]:=floattostrf(Yb,ffgeneral,3,2);

stringgrid1.Cells[2,i]:=floattostrf(Va,ffgeneral,3,2);

stringgrid1.Cells[3,i]:=floattostrf(Vb,ffgeneral,4,2);

t:=t+0.01; i:=i+1;

series1.AddXY(t,Vb);

series2.AddXY(t,Xa);

series3.AddXY(t,Ya);

series4.AddXY(t,Xb);

end;

end;

procedure PaintA(img: TImage; Ax,Ay,Bx,By:real);

var

 dx,dy:integer;

begin

dx:=290;

 dy:=100;

k:=15;

//рисование оси Оy т.В

 img.Canvas.MoveTo(dx,img.Height-dy);

img.Canvas.LineTo(dx,dy);

img.Canvas.LineTo(dx-5,dy+10);

img.Canvas.MoveTo(dx,dy);

img.Canvas.LineTo(dx+5,dy+10);

//рисование оси Оx

img.Canvas.MoveTo(dx,img.Height-dy);

img.Canvas.LineTo(img.Width-dx+200,img.Height-dy);

img.Canvas.LineTo(img.Width-dx+190,img.Height-dy-8);

img.Canvas.MoveTo(img.Width-dx+200,img.Height-dy);

img.Canvas.LineTo(img.Width-dx+190,img.Height-dy+8);

//Рисование L1

img.Canvas.MoveTo(dx,img.Height-dy);

img.Canvas.LineTo(dx+Trunc(Ax*k),img.Height-dy-Trunc(Ay*k));

//Рисование L2

img.Canvas.LineTo(dx+Trunc(Bx*k)+150,img.Height-dy-Trunc(By*k));

//рисование прямоугольника

img.Canvas.Rectangle(dx+Trunc(Bx*k)+150,img.Height-dy-Trunc(By*k)-5,

                     dx+Trunc(Bx*k)+200,img.Height-dy-Trunc(By*k)+10);

//подпись осей

img.Canvas.TextOut(img.Width-dx+210,img.Height-dy,'X');

img.Canvas.TextOut(dx-15,dy,'Y');

img.Canvas.TextOut(dx-10,img.Height-dy-10,'O');

//подпись точки А

img.Canvas.TextOut(dx+Trunc(Ax*k),img.Height-dy-Trunc(Ay*k)-15,'A');

//подпись точки B

img.Canvas.TextOut(dx+Trunc(Bx*k)+180,img.Height-dy-Trunc(By*k)-20,'B');

//рисование треугольника

img.Canvas.Polygon([Point(dx,img.Height-dy),

                    Point(dx-10,img.Height-dy+15),

                    Point(dx+10,img.Height-dy+15)]);

//штрихи

img.Canvas.MoveTo(dx-10,img.Height-dy+15);

img.Canvas.LineTo(dx-8,img.Height-dy+19);

img.Canvas.MoveTo(dx-6,img.Height-dy+15);

img.Canvas.LineTo(dx-4,img.Height-dy+19);

img.Canvas.MoveTo(dx-2,img.Height-dy+15);

img.Canvas.LineTo(dx,img.Height-dy+19);

img.Canvas.MoveTo(dx+2,img.Height-dy+15);

img.Canvas.LineTo(dx+4,img.Height-dy+19);

img.Canvas.MoveTo(dx+6,img.Height-dy+15);

img.Canvas.LineTo(dx+8,img.Height-dy+19);

img.Canvas.MoveTo(dx+10,img.Height-dy+15);

img.Canvas.LineTo(dx+12,img.Height-dy+19);

end;

procedure TForm1.N6Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Timer1.Enabled:=true;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Timer1.Enabled:=false;

end;

procedure TForm1.FormCreate(Sender: TObject);

var

 Ax0,Ay0,Bx0,By0:real;

begin

//рассчёт начальных координат т.А

 Ax0:=3*cos(cos(3.14/6)); //при t=0

Ay0:=3*sin(cos(3.14/6)); //при t=0

//начальные координаты

Bx0:=4;

By0:=1;

PaintA(Image2,Ax0,Ay0,Bx0,By0);

it:=1;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

 Ax0,Ay0,Bx0,By0:real;

begin

//очистка канвы

Image2.Canvas.Brush.Color:=ClWhite;

Image2.Canvas.FillRect(Image2.Canvas.ClipRect);

//рассчёт начальных координат т.А

Ax0:=-StrToFloat(StringGrid2.Cells[0,it]);

Ay0:=StrToFloat(StringGrid2.Cells[1,it]);

//начальные координаты

Bx0:=-StrToFloat(StringGrid3.Cells[0,it]);

By0:=StrToFloat(StringGrid3.Cells[1,it]);

PaintA(Image2,Ax0,Ay0,Bx0,By0);

it:=it+1;

if(it=230) then it:=42;

end;

procedure TForm1.N3Click(Sender: TObject);

Var I : Byte;

   F : TextFile;

   S : String;

begin

with SaveDialog1 do

if Execute then

AssignFile(F, filename);

 Rewrite(F);

For I := 0 to StringGrid1.RowCount - 1 do begin

S :=StringGrid1.Cells[0,I] +' | '+ StringGrid1.Cells[1,I] +' | '+ StringGrid1.Cells[2,I] +' | '+StringGrid1.Cells[3,I] +' | '+StringGrid2.Cells[0,I] +' | '+StringGrid2.Cells[1,I] +' | '+StringGrid3.Cells[0,I] +' | '+StringGrid3.Cells[1,I];

Writeln(F,S);

 end;

end;

end.


ПРИЛОЖЕНИЕ Б. Графики зависимости координат точек

А и В от времени.

Рисунок. Б.1 – Графики зависимости координат точек А от времени в Delphi.

Рисунок. Б.2 – График зависимости координаты точки В от времени в Delphi.

Рисунок. Б.3 – Графики зависимости координат точек А от времени в MathCad.

Рисунок. Б.4 – Графики зависимости координат точек B от времени в MathCad.


ПРИЛОЖЕНИЕ В. Графики зависимости скорости от времени.

Рисунок В.1 – График зависимости скорости от времени в Delphi.

Рисунок В.2 – График зависимости скорости от времени в MathCad


 

А также другие работы, которые могут Вас заинтересовать

33972. НЕПРОХОДИМОСТЬ КИШЕЧНАЯ 29.5 KB
  Классификация По этиологии Динамическая Спастическая заболевания нервной системы истерия спазмофилия дискинезия глистная инвазия полипы толстой кишки Паралитическая воспалительный процесс в брюшной полости флегмона гематома забрюшинного пространства состояние после лапаротомии рефлекторные влияния патологических состояний внебрюшинной локализации например пневмонии плеврита ИМ тромбоз брыжеечных сосудов инфекционные заболевания токсические парезы Механическая Обтурационная: интраорганная глистная инвазия...
33973. Тактика хирурга при лечении кишечной непроходимости. Особенности 35.5 KB
  Тактика хирурга при лечении кишечной непроходимости. Перед началом лечения необходимо четко представлять с каким видом непроходимости приходится иметь дело. При странгуляционной непроходимости или обоснованном подозрении на нее показана экстренная операция ибо задержка хирургического вмешательства может привести к некрозу кишки и разлитому перитониту. При обтурационной кишечной непроходимости можно попытаться использовать консервативное лечение с целью ликвидации кишечной непроходимости с последующим устранением вызвавшей .
33974. Неспецифический язвенный колит 34 KB
  Это заболевание представляет собой хронический воспалительный процесс с развитием язвеннонекротических изменений в слизистой оболочке прямой и ободочной кишки. В сыворотке крови больных неспецифическим язвенным колитом можно обнаружить специфические антитела к слизистой оболочке толстой кишки. Слизистая оболочка толстой кишки продуцирует антиген образуются антитела. Далее присоединяется вторичная инфекция кишечная микрофлора поражение нервного аппарата кишки алиментарная недостаточность.
33975. Болезнь Крона 32 KB
  Болезнь Крона Болезнь Крона хроническое неспецифическое воспалительное заболевание которое может поражать любой отдел пищеварительного тракта от пищевода до прямой кишки. наблюдавшими его в терминальном отделе подвздошной кишки и назвавшими терминальным илеитом. В патогенезе заболевания основным считают поражение лимфатической системы приводящее к поражению стенки кишки и развитию гранулематозного воспаления. Патологическая анатомия: стенка кишки отечна утолщена рубцово изменена.
33976. Дифузный полипоз. (Полипы толстой кишки. Ворсинчатые опухоли.) 26 KB
  Полипы толстой кишки. Полипы доброкачественное новообразование исходящее из эпителия склонное к малигнизации. Хирургическое: одиночные полипы ворсинчатые опухоли с хорошо выраженной ножкой электрокоагуляция через ректо и колоно скоп при малигнизации ворсинчатой опухоли радикальная операция право и левостороняя гемиколэктомия резекция сигмовидной. Множественные полипы ограниченная резекция пораженного отдела кишки.
33977. Прямая кишка. Исследования 24.5 KB
  Нижнеампулярный отдел прямой кишки переходит в анальный канал длиной 25 4 см и заканчивается задним проходом. В отличие от других отделов толстой кишки прямая кишка не имеет гаустрации ее продольный мышечный слой не собран в ленты а равномерно распределен по всей окружности. Слизистая оболочка прямой кишки покрыта цилиндрическим эпителием. В нижнеампулярном отделе прямой кишки слизистая оболочка образует продольные складки колонны Морганьи у основания которых находятся анальные пазухи крипты.
33978. Трещины анального канала. Локализация. Клиника. Механизм боли. Лечение 25.5 KB
  Трещины анального канала. Боль обусловливает спазм и углубление трещины. Может быть несколько трещин в таком случае наиболее типичная локализация их передняя и задняя комиссуры зеркальные трещины. Трещины заднего прохода чаще наблюдают у женщин в возрасте от З0 до 50 лет.
33979. ВЫПАДЕНИЕ ПРЯМОЙ КИШКИ (Пролапс прямой кишки) 28 KB
  ВЫПАДЕНИЕ ПРЯМОЙ КИШКИ Пролапс прямой кишки Выпадение прямой кишки прогрессирующее заболевание характеризующееся смещением стенок дистального отдела толстой кишки и выпадением выворачиванием их через заднепроходное отверстие. Длительно существующее выпадение приводит к выраженным морфологическим и функциональном изменениями в стенке кишки и её замыкательном аппарате. Выпадение влагалища и прямой кишки 176780. Этиология Производящие причины Повышение внутрибрюшного давления: тяжёлый физический труд затяжные роды упорные запоры...
33980. Полипы прямой кишки 23.5 KB
  Полипы прямой кишки. Гиперпластические полипы. Аденоматозные полипы. Согласно гистологическим критериям различают следующие виды аденоматозных полипов: тубулярные 6580 тубуловорсинчатые 1025 и ворсинчатые 510 Аденоматозные полипы являются предшественниками карциномы.