Результаты решения задачи в виде таблицы
К У Р С О В А Я Р А Б О Т А
по дисциплине "Информатика"
РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ ДЛЯ РЕШЕНИЯ ИНЖЕНЕРНЫХ ЗАДАЧ
вариант №12
Выполнил
Студент: Лаптева И.Е.
Группа: ММ - 130703
Принял: Мещанинова Т.В.
Екатеринбург
Содержание
1.Введение (стр.3).
2. Отчет о решении задач (стр.4-16):
2.1. ЗАДАЧА 1. РАСЧЕТ ТРАНСФОРМАТОРА ПИТАНИЯ.(стр.4-6);
2.2. ЗАДАЧА 2. РАСЧЕТ И ПОСТРОЕНИЕ АМПЛИТУДНО-ЧАСТОТНОЙ
ХАРАКТЕРИСТИКИ КОЛЕБАТЕЛЬНОГО КОНТУРА.(стр.7-8);
2.3. ЗАДАЧА 3. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ АНАЛИТИЧЕСКИ ЗАДАННОЙ ФУНКЦИИ.(стр.9-11);
2.4. ЗАДАЧА 4. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ С ЗАДАННОЙ ТОЧНОСТЬЮ.(стр.12-13).
3.Заключение(стр.14).
Введение
Цель: закрепление знаний основ информатики и умений решать с помощью персонального компьютера типовых инженерно-технических задач программными методами с использованием языка программирования Pascal.
Выполнение курсовой работы осуществляется самостоятельно по индивидуальному заданию под руководством преподавателя и предусматривает постановку, алгоритмизацию, программирование четырех задач (две – из области радиотехники и две – из области прикладной математики), получение их решения на персональном компьютере и оформление отчета. При этом используется весь арсенал изученных и освоенных методов и приемов работы на персональном компьютере.
Работа выполнена в среде Pascal ABC.net.
ОТЧЕТ О РЕШЕНИИ ЗАДАЧ.
ЗАДАЧА 1. РАСЧЕТ ТРАНСФОРМАТОРА ПИТАНИЯ.
По заданным значениям напряжения сети, площади сечения выбранного сердечника, требуемому количеству вторичных обмоток, величинам их напряжения и тока рассчитать количество витков и диаметр провода в каждой обмотке.
Для расчетов можно использовать приближенные зависимости, которые являются приемлемыми при следующих условиях:
· габаритная мощность трансформатора не более 100 ватт;
· частота сети 50 Гц;
· магнитная индукция в стальном сердечнике 1200 Гс;
· максимальная плотность тока в обмотках 2,55 а/кв.мм;
· коэффициент полезного действия трансформатора 0,8 – 0,9.
Габаритная мощность трансформатора вычисляется по формуле
(ватт),
где m – количество вторичных обмоток,
n – коэффициент полезного действия;
U(i) – напряжение на i-ой вторичной обмотке (вольт);
I(i) – величина тока в i-ой вторичной обмотке (ампер).
Количество витков первичной обмотки трансформатора определяется зависимостью:
где U – напряжение сети (вольт);
S – площадь сечения сердечника (кв. см).
Диаметр провода первичной обмотки определяется по формуле:
(мм).
Количество витков i-ой вторичной обмотки – по выражению:
.
Диаметр провода i – ой вторичной обмотки – по формуле:
(мм).
Исходные данные
U | S | n | m | U1 | I1 | U2 | I2 | U3 | I3 |
в | кв. см | в | а | в | а | в | a | ||
0,81 | 5,0 | - | - | - | - |
Таблица принятых обозначений переменных
U | S | n | U1 | I1 | U2 | I2 | U3 | I3 |
D0 | K0 | D1 | K1 | D2 | K2 | D3 | K3 | P |
Алгоритм решения задачи
1.Находим мощность трансформатора.
2.Вычисляем диаметр первичной и i-вторичных обмоток.
3.Вычисляем количество витковпервичной и i-вторичных обмоток.
4.Выводим результаты вычислений.
Текст программы
varu,s,n,u1,i1,u2,i2,u3,i3,p,d0,d1,d2,d3,k0,k1,k2,k3:real;
Begin
u:=110;
s:=2;
n:=0.8;
u1:=12;
i1:=5;
u2:=9;
i2:=3;
u3:=3;
i3:=1;
p:=1/n*((u1*i1)+(u2*i2)+(u3*i3));//находим мощность трансформатора
d0:=sqrt(p/(u*2));//диаметр первичной обмотки
d1:=sqrt(i1/2);
d2:=sqrt(i2/2);
d3:=sqrt(i3/2);//диаметры вторичных
k0:=1.83*1000000*0.95/(u*s);//количество витков первичной обмотки
k1:=38/s*u1*1.05;
k2:=38/s*u2*1.05;
k3:=38/s*u3*1.05;//количество витков вторичных обмоток
write('При напряжении ',u,' и площади сечения сердечника ', s);writeln;
write('а так же коэффициенте полезного действия трансформатора ', n:5:2);writeln;
write('мощность трансформатора = ',p:5:2);writeln;
write('количество витков первичной обмотки = ',k0:8:2,' а диаметр = ',d0:5:2);writeln;
write('количество витков 1-3 вторичных обмоток соответственно равно ',k1:5:2,' ',k2:5:2,' ', k3:5:2);writeln;
write('диаметр витков 1-3 вторичных обмоток соответственно равен ',d1:5:2,' ',d2:5:2,' ', d3:5:2);writeln;
readln;
END.
Краткий анализ результата
С уменьшением напряжения (U) количество витков вторичной обмотки уменьшается.С уменьшением силы тока (I) диаметр провода вторичной обмотки также уменьшается.
ЗАДАЧА 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шаг |
7,0 | 8,0 | 0,2 | 0,7 | 0,25 |
Алгоритм решения задачи
Программа написана без использования функций и процедур.
1.Зная начальные и конечные z и w и их шаги,с помощью двух операторовwhile вычисляем AW (в первом while проходим от z начального до z конечного,во втором-от w начального до w конечного.При этом после каждого прохождения цикла вычисляем следующие значения z и w с помощью шагов).
2.После каждого вычисления формулы во втором операторе while выводим результат:W и AW,полученное при этом W.Всего получается 33 храктеристик (т.к.w-11,z-3).
Текст программы
vark,wp,w,wstep,z,zstep:real;
a:array[0..10] ofreal;
i:integer;
Begin
k:=7;
wp:=8;
z:=0.2;
zstep:=0.2;
wstep:=0.1*16;
whilez<=0.7 do
Begin
writeln('при z = ',z);
w:=0;
i:=0;
while<=16 do
Begin
a[i]:=(k*sqr(wp))/sqrt(sqr(sqr(wp)-sqr(w))+sqr(2*z*wp*w));
write(' ',a[i]:5:2);
w:=w+wstep;
inc(i);
end;
writeln;
z:=z+zstep;
end;
end.
Краткий анализ результата
При увеличении относительного коэффициента затухания (z) и одинаковых значениях частоты (W) амплитуда (A(W)) уменьшается.
ЗАДАЧА 3. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ АНАЛИТИЧЕСКИ
ЗАДАННОЙ ФУНКЦИИ.
По заданному выражению аналитической функции f(x) вычислить приближенно определенный интеграл от этой функции на заданном интервале [a,b]:
,
используя квадратную формулу парабол (метод Симпсона):
Исходные данные
Функция | Интервал | Число разбиений | ||
f(x) | a | b | n1 | n2 |
![]() |
Таблица принятых обозначений переменных
i | N1 | N2 | S1 | S2 | H1 | H2 | I1 | I2 |
a | b | Sum1 | Sum2 |
Алгоритм решения задачи
1.Для основного выражения используем функцию f.
2.По формуле Симпсона вычисляем 2 интеграла для различных разбиений.
3.Выводим результат на экран.
Текст программы
Type
fact = record
a:real;
b:real;
end;//для удобства. В дальнейшем все будет понятно
vari:integer;
n1,n2:integer;
s1,s2:fact;
h1,h2,i1,i2,a,b:real;
sum1,sum2:real;
functionf(x:real):real;
Begin
f:=ln(x+1)/(1+sqr(x));//данная функция
end;
Begin
a:=0;
b:=1;
n1:=12;
n2:=24;
h1:=(b-a)/n1;
h2:=(b-a)/n2;//высота каждого сектора при разбиении
fori:=1 to(n1 div2) do //часть формулы Симпсона. В этом цикле мы находим сумму .
Begin
s1.a:=a+(i-1)*2*h1+h1;//
s1.b:=a+(i-1)*2*h1; // {числа от которых найдем результат функции}
sum1:=sum1+(4*f(s1.a)+2*f(s1.b));//собственно сумма
end;
I1:=h1/3*(-f(a)+sum1+f(b)); //интеграл по формуле Симпсона
fori:=1 to(n2 div2) do
Begin
s2.a:=a+(i-1)*2*h2+h2;
s2.b:=a+(i-1)*2*h2;
sum2:=sum2+(4*f(s2.a)+2*f(s2.b));
end;
I2:=h2/3*(-f(a)+sum2+f(b));//то же самое проделываем с другим разбиением
writeln('Интегралы при числе разбиений n1 и n2 равных ', n1,' и ',n2,' соответственно');
write('I1 = ',i1:0:6,', I2 = ',i2:0:6);//вывелирезультат.
readln;
end.
Краткий анализ результата
При уменьшении числа разбиений (n) значение функции после интегрирования увеличивается, хотя для выявления разницы нужен точный подсчёт.
ЗАДАЧА 4. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ
УРАВНЕНИЙ С ЗАДАННОЙ ТОЧНОСТЬЮ.
По заданному нелинейному уравнению
F(x)=0,
где F(x) – некоторое нелинейное аналитическое выражение, определенное на интервале
[a, b],
вычислить корни этого уравнения с требуемой точностью E методом половинного деления (дихотомии).
Исходные данные.
Функция | Интервал | Точность | ||
f(x) | a | b | N | E |
![]() | 10-5 |
Таблица принятых обозначений переменных
i | x | a | b | res | n | lim |
Алгоритм решения задачи
1.Для удобства объявим функцию, в которой будет храниться заданная функция.
2.С помощью оператора repeat выполняем следующую последовательность действий:
a).Вычисляем середину отрезка;
b). Вычисляем F(x).
с).Если F(x)>0 и F(a)>0 или F(x)<0 и F(a)<0 (т.е. перемена знака функции F(x) не произошла), то задаем a=x (т.е. перемещаем левую границу интервала в середину), уменьшая интервал вдвое и исключая при этом левую половину, на которой либо нет корней, либо есть четное число корней, иначе задаем b=x (исключаем правую половину интервала).
d).Проверяем условие b-a<E.Если оно истинно,считаем,что последнее значение x и будет корнем уравнения с заданной точностью E и выходим из цикла.Если он не выполняется,то возвращаемся в начало цикла (пункт а).) с новыми значениями интервала.
3.Выводим результаты вычислений.
Текст программы
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Math, StdCtrls;
type
TForm1 = class(TForm)
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Button1: TButton;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
E:real;
implementation
{$R *.dfm}
function f(x:real):real;
begin
f:=x-2+sin(1/x);
end;
function f1(x:real):real;
begin
f1:=(f(x+e)-f(x))/e;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a,b,x:real;
begin
a:=strtofloat(Edit1.text);
b:=strtofloat(Edit2.text);
E:=strtofloat(Edit3.text);
x:=a;
While (abs(x-b)>e) do
begin
x:=b;
b:=x-f(x)/f1(x);
end;
Label5.caption:= 'X= '+floattostr(x);
end;
end.
Краткий анализ результата
В данной задаче лучше использовать цикл с постусловием, т.к. он исключает неточности в вычислениях при изменяемой функции.
Заключение
Выполнение курсовой работы развило и закрепило мои знания основ информатики и умение решать с помощью персонального компьютера типовых инженерно-технических задач программными методами с использованием языка Pascal.
К У Р С О В А Я Р А Б О Т А
по дисциплине "Информатика"
РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ ДЛЯ РЕШЕНИЯ ИНЖЕНЕРНЫХ ЗАДАЧ
вариант №12
Выполнил
Студент: Лаптева И.Е.
Группа: ММ - 130703
Принял: Мещанинова Т.В.
Екатеринбург
Содержание
1.Введение (стр.3).
2. Отчет о решении задач (стр.4-16):
2.1. ЗАДАЧА 1. РАСЧЕТ ТРАНСФОРМАТОРА ПИТАНИЯ.(стр.4-6);
2.2. ЗАДАЧА 2. РАСЧЕТ И ПОСТРОЕНИЕ АМПЛИТУДНО-ЧАСТОТНОЙ
ХАРАКТЕРИСТИКИ КОЛЕБАТЕЛЬНОГО КОНТУРА.(стр.7-8);
2.3. ЗАДАЧА 3. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ АНАЛИТИЧЕСКИ ЗАДАННОЙ ФУНКЦИИ.(стр.9-11);
2.4. ЗАДАЧА 4. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ С ЗАДАННОЙ ТОЧНОСТЬЮ.(стр.12-13).
3.Заключение(стр.14).
Введение
Цель: закрепление знаний основ информатики и умений решать с помощью персонального компьютера типовых инженерно-технических задач программными методами с использованием языка программирования Pascal.
Выполнение курсовой работы осуществляется самостоятельно по индивидуальному заданию под руководством преподавателя и предусматривает постановку, алгоритмизацию, программирование четырех задач (две – из области радиотехники и две – из области прикладной математики), получение их решения на персональном компьютере и оформление отчета. При этом используется весь арсенал изученных и освоенных методов и приемов работы на персональном компьютере.
Работа выполнена в среде Pascal ABC.net.
ОТЧЕТ О РЕШЕНИИ ЗАДАЧ.
ЗАДАЧА 1. РАСЧЕТ ТРАНСФОРМАТОРА ПИТАНИЯ.
По заданным значениям напряжения сети, площади сечения выбранного сердечника, требуемому количеству вторичных обмоток, величинам их напряжения и тока рассчитать количество витков и диаметр провода в каждой обмотке.
Для расчетов можно использовать приближенные зависимости, которые являются приемлемыми при следующих условиях:
· габаритная мощность трансформатора не более 100 ватт;
· частота сети 50 Гц;
· магнитная индукция в стальном сердечнике 1200 Гс;
· максимальная плотность тока в обмотках 2,55 а/кв.мм;
· коэффициент полезного действия трансформатора 0,8 – 0,9.
Габаритная мощность трансформатора вычисляется по формуле
(ватт),
где m – количество вторичных обмоток,
n – коэффициент полезного действия;
U(i) – напряжение на i-ой вторичной обмотке (вольт);
I(i) – величина тока в i-ой вторичной обмотке (ампер).
Количество витков первичной обмотки трансформатора определяется зависимостью:
где U – напряжение сети (вольт);
S – площадь сечения сердечника (кв. см).
Диаметр провода первичной обмотки определяется по формуле:
(мм).
Количество витков i-ой вторичной обмотки – по выражению:
.
Диаметр провода i – ой вторичной обмотки – по формуле:
(мм).
Исходные данные
U | S | n | m | U1 | I1 | U2 | I2 | U3 | I3 |
в | кв. см | в | а | в | а | в | a | ||
0,81 | 5,0 | - | - | - | - |
Таблица принятых обозначений переменных
U | S | n | U1 | I1 | U2 | I2 | U3 | I3 |
D0 | K0 | D1 | K1 | D2 | K2 | D3 | K3 | P |
Алгоритм решения задачи
1.Находим мощность трансформатора.
2.Вычисляем диаметр первичной и i-вторичных обмоток.
3.Вычисляем количество витковпервичной и i-вторичных обмоток.
4.Выводим результаты вычислений.
Текст программы
varu,s,n,u1,i1,u2,i2,u3,i3,p,d0,d1,d2,d3,k0,k1,k2,k3:real;
Begin
u:=110;
s:=2;
n:=0.8;
u1:=12;
i1:=5;
u2:=9;
i2:=3;
u3:=3;
i3:=1;
p:=1/n*((u1*i1)+(u2*i2)+(u3*i3));//находим мощность трансформатора
d0:=sqrt(p/(u*2));//диаметр первичной обмотки
d1:=sqrt(i1/2);
d2:=sqrt(i2/2);
d3:=sqrt(i3/2);//диаметры вторичных
k0:=1.83*1000000*0.95/(u*s);//количество витков первичной обмотки
k1:=38/s*u1*1.05;
k2:=38/s*u2*1.05;
k3:=38/s*u3*1.05;//количество витков вторичных обмоток
write('При напряжении ',u,' и площади сечения сердечника ', s);writeln;
write('а так же коэффициенте полезного действия трансформатора ', n:5:2);writeln;
write('мощность трансформатора = ',p:5:2);writeln;
write('количество витков первичной обмотки = ',k0:8:2,' а диаметр = ',d0:5:2);writeln;
write('количество витков 1-3 вторичных обмоток соответственно равно ',k1:5:2,' ',k2:5:2,' ', k3:5:2);writeln;
write('диаметр витков 1-3 вторичных обмоток соответственно равен ',d1:5:2,' ',d2:5:2,' ', d3:5:2);writeln;
readln;
END.
Результаты решения задачи в виде таблицы
Тип параметра | Параметр | Значение |
Количество витков | Первичной обмотки, K0 | 5268,2 |
Первой вторичной обмотки, K1 | 79,8 | |
Диаметр провода, мм | Первичной обмотки, D0 | 0,4 |
Первой вторичной обмотки, D1 | 1,58 | |
Ток, А | Первичной обмотки, I | 0,33 |
Краткий анализ результата
С уменьшением напряжения (U) количество витков вторичной обмотки уменьшается.С уменьшением силы тока (I) диаметр провода вторичной обмотки также уменьшается.
ЗАДАЧА 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шаг |
7,0 | 8,0 | 0,2 | 0,7 | 0,25 |
Алгоритм решения задачи
Программа написана без использования функций и процедур.
1.Зная начальные и конечные z и w и их шаги,с помощью двух операторовwhile вычисляем AW (в первом while проходим от z начального до z конечного,во втором-от w начального до w конечного.При этом после каждого прохождения цикла вычисляем следующие значения z и w с помощью шагов).
2.После каждого вычисления формулы во втором операторе while выводим результат:W и AW,полученное при этом W.Всего получается 33 храктеристик (т.к.w-11,z-3).
Текст программы
vark,wp,w,wstep,z,zstep:real;
a:array[0..10] ofreal;
i:integer;
Begin
k:=7;
wp:=8;
z:=0.2;
zstep:=0.2;
wstep:=0.1*16;
whilez<=0.7 do
Begin
writeln('при z = ',z);
w:=0;
i:=0;
while<=16 do
Begin
a[i]:=(k*sqr(wp))/sqrt(sqr(sqr(wp)-sqr(w))+sqr(2*z*wp*w));
write(' ',a[i]:5:2);
w:=w+wstep;
inc(i);
end;
writeln;
z:=z+zstep;
end;
end.