Решение типовых инженерно-технических задач в среде программирования Delphi

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    67,12 Кб
  • Опубликовано:
    2016-01-08
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Решение типовых инженерно-технических задач в среде программирования Delphi

Введение

Курсовая работа по информатике содержит 4 программных решения типовых инженерно-технических задач в среде программирования Delphi.

В первой задаче представлен расчет трансформатора питания по приближенным зависимостям.

Вторая задача представляет собой расчет числовых значений и построение графиков амплитудно-частотной характеристики колебательного контура по координатам точек.

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

Четвертая задача представляет собой расчет численных решений нелинейных уравнений с заданной точностью.

ЗАДАЧА 1. РАСЧЕТ ТРАНСФОРМАТОРА ПИТАНИЯ

численный контур координата нелинейный

Задание:

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

Условия, в которых выполнялся расчет:

·        габаритная мощность трансформатора не более 100 ватт;

·        частота сети 50 Гц;

·        магнитная индукция в стальном сердечнике 1200 Гс;

·        максимальная плотность тока в обмотках 2,55 а/кв.мм;

·        коэффициент полезного действия трансформатора 0,8 - 0,9.

Исходные данные:

№ вар. 9

U

S

n

m

U1

I1

U2

I2

U3

I3


в

кв. см



В

а

в

а

в

a

09

220

10

0,89

1

6

5,0

-

-

-

-


Математическая модель:

Габаритная мощность трансформатора вычисляется по формуле

 (ватт),

где m - количество вторичных обмоток,

n - коэффициент полезного действия;

U(i) - напряжение на i-ой вторичной обмотке (вольт);

I(i) - величина тока в i-ой вторичной обмотке (ампер).

Количество витков первичной обмотки трансформатора определяется зависимостью:


где: U - напряжение сети (вольт);

S - площадь сечения сердечника (кв. см).

Диаметр провода первичной обмотки определяется по формуле:

 (мм).

Количество витков i-ой вторичной обмотки - по выражению:

.

Диаметр провода i - ой вторичной обмотки - по формуле:

 (мм).

Ток первичной обмотки - по формуле:

 (A).

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

Алгоритм Project1.

А. Начать исполнение:

. Присваиваем переменным исходные данные.

. Из полученного результата вторичной обмотки находим мощность на первичной обмотке: P=P1/n.

. Рассчитываем количество витков первичной обмотки трансформатора


. Находим количество витков первой вторичной обмотки трансформатора по формуле

.

. Рассчитываем диаметр провода первичной обмотки по формуле


. Находим диаметр провода первой вторичной обмотки трансформатора по формуле


. Рассчитаем ток первичной обмотки по формуле

.

. Вывести сообщение “K0 : K1: D0 : D1 : I: “.

Б. Закончить исполнение.

Текст программы:

program Project1;

{$APPTYPE CONSOLE};,I,U1,I0,I1,D0,D1,D2,K0,K1,n,m,P,P1,P2,P3,I3,I2,U2,U3,K2,S:real;:=110; S:=1; n:=0.9; m:=2; U1:=9; I1:=5.0; U2:=6; I2:=5.0;:=U1*I1; P2:=U2*I2;:=(P1+P2)/n;:=1.83e6*0.95/(U*S);:=38*U1*1.05/S;:=38*U2*1.05/S;:=sqrt(p/(U*2));:=sqrt(I1/2);:=sqrt(I2/2);:=P/U;('K0:',K0,' D0: ',D0,' D1: ' ,D1,’ D2 ',D2,’ K1: ',K1,' K2: ',K2,' I0: ',I0);

readln;.

Результат программы:

Тип параметра

Параметр

Расчетное значение

Принятое значение

Количество витков

Первичной обмотки, K0

15804,5

15805


Первой вторичной обмотки, K1

359,1

359


Второй вторичной обмотки, K2

239,4

240

Диаметр провода, мм

Первичной обмотки, D0

0,615

0,63


Первой вторичной обмотки, D1

1,5811

1,6


Второй вторичной обмотки, D2

1,5811

1,6

Ток, А

Первичной обмотки, I0

0,7575

0,75


ЗАДАЧА 2. РАСЧЕТ И ПОСТРОЕНИЕ АМПЛИТУДНО-ЧАСТОТНОЙ ХАРАКТЕРИСТИКИ КОЛЕБАТЕЛЬНОГО КОНТУРА

По заданному выражению для амплитудно-частотной характеристики резонансного контура

,

где K - коэффициент усиления,

WP - резонансная частота,

W - текущая частота,

Z - относительный коэффициент затухания,

рассчитать таблицу значений A(W) при изменении частоты W от 0 до Wкон с шагом DW=0,1*Wкон при различных значениях относительного коэффициента затухания Z, изменяющегося от Zнач до Zкон с шагом Zшаг.

По данным таблицы построить на осях координат A(W), W графики изменения амплитуды A(W) от частоты W для различных значений Z.

Исходные данные:

№ вар.

K

WP

Wкон

Zнач

Zкон

Zшаг

10

6,0

7,0

14

0,2

0,5

0,15

Амплитудно-частотная характеристика резонансного контура:

.

Величина изменений частоты:

=0,1*Wкон.

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

Алгоритм Save:

А. Начать исполнение:

. Открыть файл для записи;

. Вывести в файл заголовок таблицы;

. Применить вложенный цикл;

. Вывести в файл значения двухмерного массива согласно циклу;

. Закрыть файл;

Б. Закончить исполнение.

А. Начать исполнение:

. Присваиваем переменным исходные данные.

. Задаем двухмерный массив для таблицы значений амплитудно-частотной характеристики A(W) при различных Z.

. Применим вложенный цикл (внешний - по Z, внутренний - по W).

. Вызовем процедуру Save, для сохранения файла;

Б. Закончить исполнение.

Текст программы:

unit Unit1;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls;

= class(TForm): TButton;: TButton;: TImage;Button1Click(Sender: TObject);Button2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };=array [0..11,0..3] of real;

: TForm1;

{$R *.dfm}

Save( aAZW:acAZW; const name: string);:text;,j:integer;(F,name);(F);i:=0 to 3 doj:=0 to 11 do(F,aAZW[j,i]:2:4,#9);(F,#13#10);;(F);;

TForm1.Button1Click(Sender: TObject);,wp,aw,w,dw,z,wk,zs,zb:real;,j,km:integer;:acAZW;

Image1.Picture.Bitmap do:=0;:=0;:=Image1.Width;:=Image1.Height;;:=12;:=6;:=7;:=14;:=0.2;:=0.15;:=0.1*wk;:=zb+i*zs;i:=0 to 2 do:=zb+i*zs;[0,i+1]:=z;Image1.Picture.Bitmap.Canvas do(0,round(Image1.Height-k*km));;j:=0 to 10 do:=j*dw;[j+1,0]:=w;:=(k*sqr(wp))/sqrt(sqr(sqr(wp)-sqr(w))+sqr(2*z*wp*w));Image1.Picture.Bitmap.Canvas do(Round(50*j),round(Image1.Height-aw*km));;[j+1,i+1]:=aw;;;(azw,'Kate2.txt');;

end;.

Результат программы:

Таблица значений A(W)

Z

W


0

1.4

2.8

4.2

5.6

7

8.4

9.8

11.2

12.6

14

0.2

6.0

6.2284

7.0167

8.7781

12.4568

15.0

9.2144

5.3986

3.5583

2.5501

1.9325

0.35

6.0

6.1846

6.7763

7.8379

9.0126

8.5714

6.3274

4.3736

3.1243

2.3346

1.8124

6.0

6.1186

6.4490

6.8394

6.8394

6.0

4.6944

3.5346

2.6850

2.0880

1.6641




ЗАДАЧА 3. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ АНАЛИТИЧЕСКИ ЗАДАННОЙ ФУНКЦИИ

По заданному выражению аналитической функции f(x) вычислить приближенно определенный интеграл от этой функции на заданном интервале [a,b]:

,

Используя одну из трех квадратурных формул:

1.      прямоугольников;

2.      трапеций;

.        парабол.

Сравнить результаты вычислений для различных чисел разбиений интервала n.

Исходные данные:

Вариант

Функция

Интервал

Формула

Числа разбиений

f(x)

a

b

n1

n2

10

1221632







Математическая модель:


. Метод прямоугольников

.

. Метод трапеций

.

. Метод Симпсона


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

Алгоритм Sum:

А. Начать исполнение:

. Рассчитываем: h=(b-a) /n.

. Записываем в результате значение 0.

. Для значений I от 1 до n повторяем:

А. Увеличиваем результат на:


. Конец цикла.

Б. Закончить исполнение.

Алгоритм Project3:

А. Начать исполнение.

. Присваиваем переменным исходные данные.

. Вызываем результат функции Sum согласно переменным.

Б. Закончить исполнение.

Текст программы:Project3;

{$APPTYPE CONSOLE}

;=function (x:Real):Real;

,b,h:real;,n2:integer;

f(x:Real):Real;

// f:=Exp(x);:=sin(1+x/2)+sqr(x);;

F2(fi:Func;a,b:Real;n:Integer):Real;:integer;,tmp:real;:=(b-a)/n;:=0;:=0;i:=1 to n-1 do:=tmp+2*fi(a+i*h);:=(h/2)*(fi(a)+tmp+fi(b));;

// a:=0;b:=pi;:=1;b:=2;:=16;n2:=32;(F2(f,a,b,n1));(F2(f,a,b,n2));

readln;.

Результаты вычислений:

) n1 = 3.30767320469093E+0000

) n2 = 3.30724435873685E+0000


По заданному нелинейному уравнению

(x) =0,

где F(x) - некоторое нелинейное аналитическое выражение, определенное на интервале [a, b], вычислить корни этого уравнения с требуемой точностью E одним из трех методов:

1.      итераций;

2.      половинного деления;

.        Ньютона.

 

Исходные данные для решения нелинейных уравнений

Вариант

Выражение

Интервал

Метод

Точность

F(x)

a

b

N

E

10

01310-6






Заключение

По мере выполнения поставленного задания я хорошо освоил язык программирования Delphi и изучил программу Borland Delphi7, изучил поставленную задачу и принципы ее решения. Написал программу и исправил ошибки, возникшие в процессе выполнения работы.

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

Список литературы

1. Архангельский А.Я. Программирование в Delphi 5. 2-е изд., перераб. и доп. М.: Бином, 2010.

. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.

. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. Харьков: Фолио; Ростов-на-Дону: Феникс, 2014.

. Ершов А.П. Введение в теоретическое программирование. М.: Наука, 2007.

. Кнут Д. Искусство программирования для ЭВМ. М., 2014.

. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi: Самоучитель. 2-е изд. СПб; М.; Дюссельдорф; Киев: BHV, 2010.

. Новиков Ф.А. Дискретная математика для программистов. СПб: Питер, 2012.

. Фихтенгольц Г.М. Курс дифференциального и интегрального исчисления, т. 2. М.: Наука, 2007.

Похожие работы на - Решение типовых инженерно-технических задач в среде программирования Delphi

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!