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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 08.01.2016
Размер файла 120,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Курсовая работа по информатике содержит 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.

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

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

2. Рассчитываем предельную мощность на вторичной обмотке: P1=U1*I1.

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

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

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

.

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

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

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

.

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

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

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

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

U,I,U1,I0,I1,D0,D1,D2,K0,K1,n,m,P,P1,P2,P3,I3,I2,U2,U3,K2,S:real;

begin

U:=110; S:=1; n:=0.9; m:=2; U1:=9; I1:=5.0; U2:=6; I2:=5.0;

P1:=U1*I1; P2:=U2*I2;

P:=(P1+P2)/n;

K0:=1.83e6*0.95/(U*S);

K1:=38*U1*1.05/S;

K2:=38*U2*1.05/S;

D0:=sqrt(p/(U*2));

D1:=sqrt(I1/2);

D2:=sqrt(I2/2);

I0:=P/U;

writeln('K0:',K0,' D0: ',D0,' D1: ' ,D1,' D2 ',D2,' K1: ',K1,' K2: ',K2,' I0: ',I0);

readln;

end.

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

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

Параметр

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

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

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

Первичной обмотки, 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

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

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

.

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

DW=0,1*Wкон.

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

Алгоритм Save:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

unit Unit1;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

acAZW=array [0..11,0..3] of real;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure Save( aAZW:acAZW; const name: string);

var

F:text;

i,j:integer;

begin

assign (F,name);

Rewrite (F);

for i:=0 to 3 do

begin

for j:=0 to 11 do

write(F,aAZW[j,i]:2:4,#9);

write(F,#13#10);

end;

close(F);

end;

procedure TForm1.Button1Click(Sender: TObject);

var

k,wp,aw,w,dw,z,wk,zs,zb:real;

i,j,km:integer;

azw:acAZW;

begin

with Image1.Picture.Bitmap do

begin

Width:=0;

Height:=0;

Width:=Image1.Width;

Height:=Image1.Height;

end;

km:=12;

k:=6;

wp:=7;

wk:=14;

zb:=0.2;

zs:=0.15;

dw:=0.1*wk;

z:=zb+i*zs;

for i:=0 to 2 do

begin

z:=zb+i*zs;

azw[0,i+1]:=z;

with Image1.Picture.Bitmap.Canvas do

begin

MoveTo(0,round(Image1.Height-k*km));

end;

for j:=0 to 10 do

begin

w:=j*dw;

azw[j+1,0]:=w;

aw:=(k*sqr(wp))/sqrt(sqr(sqr(wp)-sqr(w))+sqr(2*z*wp*w));

with Image1.Picture.Bitmap.Canvas do

begin

LineTo(Round(50*j),round(Image1.Height-aw*km));

end;

azw[j+1,i+1]:=aw;

end;

end;

save(azw,'Kate2.txt');

end;

end;

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

0.5

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. трапеций;

3. парабол.

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

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

Вариант

Функция

Интервал

Формула

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

f(x)

a

b

n1

n2

10

1

2

2

16

32

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

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

.

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

.

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

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

Алгоритм Sum:

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

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

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

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

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

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

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

Алгоритм Project3:

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

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

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

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

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

program Project3;

{$APPTYPE CONSOLE}

uses

SysUtils;

type

Func=function (x:Real):Real;

var

a,b,h:real;

n1,n2:integer;

function f(x:Real):Real;

begin

// f:=Exp(x);

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

end;

function F2(fi:Func;a,b:Real;n:Integer):Real;

var

i:integer;

h,tmp:real;

begin

h:=(b-a)/n;

tmp:=0;

Result:=0;

for i:=1 to n-1 do

tmp:=tmp+2*fi(a+i*h);

Result:=(h/2)*(fi(a)+tmp+fi(b));

end;

begin

// a:=0;b:=pi;

a:=1;b:=2;

n1:=16;n2:=32;

writeln(F2(f,a,b,n1));

writeln(F2(f,a,b,n2));

readln;

end.

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

1) n1 = 3.30767320469093E+0000

2) n2 = 3.30724435873685E+0000

ЗАДАЧА 4. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ С ЗАДАННОЙ ТОЧНОСТЬЮ

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

F(x) =0,

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

1. итераций;

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

3. Ньютона.

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

Вариант

Выражение

Интервал

Метод

Точность

F(x)

a

b

N

E

10

0

1

3

10-6

Заключение

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

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

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

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

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

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

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

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

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

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

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

Размещено на Allbest.ur


Подобные документы

  • Расчет трансформатора питания. Численное решение нелинейных уравнений с заданной точностью и дифференциальных уравнений первого порядка. Разработка программы с использованием средств визуального программирования на алгоритмическом языке программирования.

    курсовая работа [1,2 M], добавлен 17.08.2013

  • Расчет подшипников на долговечность. Решение инженерно-технических задач программными методами с использованием среды прикладного программирования Dephi. Расчет параметров зубчатого зацепления. Расчет шпилечного и винтового резьбового соединения.

    курсовая работа [366,3 K], добавлен 04.06.2013

  • Методика и основные этапы построения ранжированных переменных, сферы и особенности их практического применения. Порядок построения графиков в декартовой системе. Приведение примеров решение нелинейных уравнений и их систем при помощи решающего блока.

    контрольная работа [364,4 K], добавлен 27.03.2011

  • История развития и функции линейного программирования. Исследование условий типовых задач и возможностей табличного процессора. Решение задач о рационе питания, плане производства, раскрое материалов и рациональной перевозке груза в среде MS Excel.

    курсовая работа [3,3 M], добавлен 28.04.2014

  • Решение в среде Microsoft Excel с помощью программной модели "Поиск решения" транспортной задачи, системы нелинейных уравнений, задачи о назначениях. Составление уравнения регрессии по заданным значениям. Математические и алгоритмические модели.

    лабораторная работа [866,6 K], добавлен 23.07.2012

  • Разработка проекта по вычислению корней нелинейных уравнений методом итераций, в среде программирования Delphi. Интерфейс программы и ее программный код, визуализация метода. Сравнение результатов решения, полученных в Mathcad 14 и методом итераций.

    контрольная работа [1,9 M], добавлен 10.12.2010

  • Математическая модель, описание теории, применяемой к задаче. Обсчет точек методом Рунге-Кутта, модифицированным методом Эйлера, схема и листинг программы. Решение дифференциальных уравнений и построение графиков, решение уравнений в среде Turbo Pascal.

    курсовая работа [76,7 K], добавлен 18.11.2009

  • Программирование нестандартных функций. Матрицы и операции над ними. Решение нелинейных уравнений и численное интегрирование. Оптимизация функции и численное дифференцирование. Аппроксимация функции: методы решения, описание программы, результаты.

    курсовая работа [70,5 K], добавлен 12.08.2011

  • Решение задач с помощью языка программирования Delphi: вычисление значения функции Y от X; систем двух уравнений; прогрессий; последовательностей; вычисление числа с определенной точностью; перевод числа из десятичной в восьмеричную систему счисления.

    отчет по практике [83,8 K], добавлен 08.06.2010

  • Точность вычислений, классификация погрешностей. Оценка апостериорной погрешности, численное дифференцирование. Численное решение систем линейных уравнений. Аппроксимация функций методом наименьших квадратов. Решение нелинейных уравнений с неизвестным.

    методичка [611,8 K], добавлен 10.10.2010

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