Содержание
11.41. Сколько ампер-витков потребуется для создания магнитного потока Ф = 0,42 мВб в соленоиде с железным сердечником длиной l = 120 см и площадью поперечного сечения S = 3 см2?
11.42. Длина железного сердечника тороида l1 = 2,5 м, длина воздушного зазора l2 = 1 см. Число витков в обмотке тороида N = 1000. Прн токе I = 20 А индукция магнитного поля в воздушном зазоре B = 1,6 Тл. Найти магнитную проницаемость µ железного сер-дечника при этих условиях. (Зависимость В от H для железа неизвестна).
11.43. Длина железного сердечника тороида l1 = l м, длина воздушного зазора l2 = 1 см. Площадь поперечного сечения сердечника S = 25 см2. Сколько ампер-витков потребуется для создания магнитного потока Ф = 1,4 мВб, если магнитная проницаемость материала сердечника µ = 800? (Зависимость В от Н для железа неизвестна).
11.44. Найти магнитную индукцию В в замкнутом железном сердечнике тороида длиной l = 20,9 см, если число ампер-витков обмотки тороида I*N = 1500 А*в. Какова магнитная проницаемость µ материала сердечника при этих условиях?
11.45. Длина железного сердечника тороида l1 = l м, длина воздушного зазора l2 = 3 мм. Число витков в обмотке тороида N = 2000. Найти напряженность магнитного поля H2 в воздушном зазоре при токе I = 1 А в обмотке тороида.
11.46. Длина железного сердечника l1 = 50 см, длина воздушного зазора l2 = 2 мм. Число ампер-витков в обмотке тороида I*N = 2000 А*в. Во сколько раз уменьшится на-пряженность магнитного поля в воздушном зазоре, если при том же числе ампер-витков увеличить длину воздушного зазора вдвое?
11.47. Внутри соленоида длиной l=25,1 см и диаметром D=2 см помещен железный сердечник. Соленоид имеет N=200 витков. Построить для соленоида с сердечником гра-фик зависимости магнитного потока Ф от тока I в интервале 0 ≤ I ≤ 5 А через каждый 1 А. По оси ординат откладывать Ф (в 10-4 Вб).
11.48. Магнитный поток сквозь соленоид (без сердеч¬ника) Ф = 5 мкВб. Найти магнитный момент р соленоида, если его длина l = 25 см.
11.49. Через центр железного кольца перпендикуляр, но к его плоскости проходит длинный прямолинейный провод, по которому течет ток I = 25 А, Колцо имеет четырех-угольное сечение, размеры которого l1 = 18 мм, l2 = 22 мм и h = 5 мм. Считая приближенно, что в любой точке сечения кольца индукция одинакова и равна индукции на средней линии кольца, найти магнитный поток Ф, пронизывающий площадь сечения кольца.
11.50. Через центр железного кольца перпендикуляр, но к его плоскости проходит длинный прямолинейный провод, по которому течет ток I = 25 А. Найти магнитный поток Ф, пронизывающий площадь сечения кольца, учитывая, что магнитное поле в различных точках сечения кольца различно. Кольцо имеет четырехугольное сечение, размеры которого l1 = 18 мм, l2 = 22 мм и h = 5 мм. Значение р считать постоянным и найти его по графику кривой B = f(H) для значения Н на средней линии кольца.
Выдержка из текста работы
В начале 80-х годов в программировании появилось новое направление, основанное на понятии объекта. До этого разрозненность в программе данных и методов их обработки накладывала на возможность создания больших систем некоторые (основные) ограничения.
Базовые характеристики реальных объектов окружающего мира:
.Обладают набором свойств.
2.Способны различными методами изменять эти свойства.
.Реагируют на события, происходящие как в окружающем мире, так и внутри самого объекта.
Именно так в языках программирования и реализовано понятие объекта как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (программ изменения свойств) и событий, на которые данный объект может реагировать, и которые приводят, как правило, к изменению свойств объекта.
Возникновение возможности создания объектов в программах качественного повлияло на увеличение производительности труда программистов.
Существенные изменения:
.Максимальный объем приложений, которые стали доступны для создания группой программистов из 10 человек, за несколько лет возросло до миллионов строк кода.
2.Появилась высокая надежность программ.
.Возникновение повторного использования ранее созданных объектов в других задачах.
Класс. Все объекты могут иметь аналогичную структуру и отличаться только значениями свойств. В таких случаях в программе создается класс. Класс — это новый тип, основанный на единой структуре объекта (по аналогии с тем, как создаются новые типы для структур данных). Экземпляр класса — каждый конкретный объект, имеющий структуру данного класса.
В Visual Basic для описания нового класса используется конструкция:
Class ИмяКласса
‘описание классаClass.
Стандартные типы данных Visual Basic хорошо вписываются в терминологию объектов и классов. Например, описание:
Dim s As Stringi As Integer.
Здесь создается объект s, принадлежащий классу String, и объект i, принадлежащий классу Integer. Переменные s и i — это объекты (как модели сущностей "строка" и "целое число"), а типы данных String и Integer — классы, к которым данные объекты относятся. Эти классы определяют диапазон возможных состояний объекта и его поведение. Внутреннее состояние объекта, относящегося к классу Integer, характеризуется целым числом; объект же, относящийся к классу String, характеризуется символьной строкой. То же можно сказать и о поведении: принадлежность двух объектов классу Integer дает возможность их складывать, вычитать, перемножать и делить; принадлежность классу String не гарантирует, что можно производить арифметические действия, зато определяет операцию конкатенации ("приписывания" одной строки в конец другой), которая не работает в случае объектов класса Integer.
Таким образом, любой тип данных, используемый в языке Visual Basic, подходит под определение класса. Верно и то, что, создавая новый класс, мы тем самым создаем свой собственный тип данных. После этого можно описывать переменные, принадлежащие новому типу данных (то есть создавать отдельные объекты, экземпляры класса), и оперировать ими в рамках возможностей, заданных при описании класса.
Объектно-ориентированное программирование базируется на трех ключевых концепциях — инкапсуляция, наследовании и полиморфизме.
Наследование. Класс представляет собой совокупность связанных между собой данных, методов их обработки и событий. Важнейшая характеристика наследования — возможность создания на его основе новых классов всех его свойств и методов и добавлением собственных. Базовый класс — это класс, не имеющий предшественника. С позиции наследования класс может быть дочерним или родительским. Дочерний класс наследует характеристики родительского класса, включая свойства, методы, поля данных и события. Например, класс «управленцы», приведенный на следующей схеме, наследует все члены родительского класса «персонал» за исключением метода «управлять», который создается заново, замещая исходный «работать».
Рисунок 1 — Класс "Персонал"
Наследование позволяет создавать новые классы, повторно используя уже готовый исходный новый код и не траты времени на его переписывание. То есть, нет необходимости в повторном программировании. Класс, созданный на основе родительского, может быть изменен за счет добавления новых членов и адаптирован по определенным требованиям, так как унаследованные методы могут изменяться.
В Visual Basic при определении нового класса, наследуемого от существующего, используется ключевое слово Inherits. Например:Class NewChildClassMyClass
Этот код создает новый компонент, который наследует все свойства, методы, события и поля класса MyClass. Параметры компонента могут быть расширены по сравнению с исходным классом, чтобы обеспечить необходимые качества создаваемых объектов.
Полиморфизм. В большинстве случает методы базового класса у классов — наследников приходиться переопределять — объект класса «управленец» выполняет метод «управлять» совсем не так, как объект класса «рабочий».
Поэтому, существует полиморфизм, который позволяет нескольким классам, имеющим различные имена, обращаться к одним и тем же методам и свойствам.
Например, если для всех людей, занимающихся делом, выполняется метод «работать», можно написать процедуру таким образом, чтобы она относилась к любым из этих объектов, не заботясь о типе каждого из них. На приведенной ниже схеме представлен метод «работать», предназначенный для двух объектов, созданный на базе двух различных классов:
Рисунок 2 — Схема метода "работать"
То есть полиморфизмом называется свойство объектов переопределять методы наследуемого класса и корректно их использовать.
Инкапсуляция позволяет объединять данные с методами в одном классе. Так же инкапсуляция позволяет ограничивать доступ к данным объектов и реализации методов классов. Исходя из списка аргументов, переданного методу, и возвращаемого им значения, компилятор автоматически определяет, какой из методов нужно вызвать. На следующей схеме приведен класс, содержащий 4 перезагружаемых определения метода «работать».
Рисунок 3 — Класс "персонал"
Инкапсуляция позволяет упростить определение класса за счет использования одного метода для решения определенного типа задач. Таким образом, программисты могут использовать готовые классы в своих приложениях на основе только описания этих классов.
Визуальное программирование. Сегодня технологии объектного программирования объединены в RAD-системах, которые содержат множество готовых классов, представленных в виде визуальных компонентов, которые добавляются в программы одним щелчком мыши. Весь вспомогательный исходный код среда сгенерирует сама. Программисту надо только скооперировать внешний вид окон своего приложения и определить обработку основных событий — какие операторы будут выполняться при нажатии на кнопки, при выборе пунктов меню или щелчком мыши.
Благодаря этому, программист может сосредоточиться только на реализации алгоритма поставленной задачи.
Постановка задачи работы. Требуется вычислить площади геометрических фигур из заданного множества фигур, указанных ниже, по расчетным формулам вычисления их площадей на языке Visual Basic.
Конкретное множество геометрических фигур:
. Круг:
Следовательно, функция зависит от одной переменной R.
. Прямоугольник:
Следовательно, функция зависит от двух переменных A, h.
. Трапеция:
Следовательно, функция зависит от трех переменных A, B, h.
1. Методика решения поставленной задачи
В программе для вычисления площадей геометрических фигур я применила метод полиморфизм, то есть программировала, используя полиморфную функцию.
Полиморфной называется функция, независимо определенная в каждом из группы производных классов и имеющая в них общее имя.
Полиморфная функция обладает тем свойством, что при отсутствии полной информации о том, объект какого из производных классов в данный момент обрабатывается, она, тем не менее, корректно вызывается в том виде, в каком она была определена для данного конкретного класса.
Таким образом, посылается общее сообщение о сборе данных любому классу, причем и родительский класс, и классы-потомки ответят на сообщение соответствующим образом, поскольку произвольные классы содержат дополнительную функцию.
Например, при нажатии кнопок или «Круг», или «Прямоугольник», или «Трапеция», вызывается функция PL, которая и рассчитывает площади фигур.
Рисунок 4 — Блок-схема алгоритма
Рисунок 5 — Форма в терминах элемента управления
2. Текст программы
Class Form1
Public obj As New Figure
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = " "
TextBox2.Text = " "
Label7.Text = " "
Label8.Text = " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim R, S As Integer
R = Val(TextBox1.Text)
If R < 0 Then
Label7.Text = "Ошибка"
Label8.Text = "Ошибка"
Else : S = obj.PL(R)
Label7.Text = CStr(S)
Label8.Text = "Круг"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim A, h, S As Integer
A = Val(TextBox1.Text)
h = Val(TextBox2.Text)
If A < 0 Or h < 0 Then
Label7.Text = "Ошибка"
Label8.Text = "Ошибка"
Else : S = obj.PL(A, h)
Label7.Text = CStr(S)
Label8.Text = "Прямоугольник"
End If
End SubSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim A, h, B, S As Integer
A = Val(TextBox1.Text)
B = Val(TextBox2.Text)
h = Val(TextBox3.Text)
If A < 0 Or B < 0 Or h < 0 Then
Label7.Text = "Ошибка"
Label8.Text = "Ошибка"
Else : S = obj.PL(A, B, h)
Label7.Text = CStr(S)
Label8.Text = "Трапеция"
End If
End SubClassClass Figure
Public Function PL(ByVal R As Double) As Double
Return (Math.PI * R * R)
End Function
Public Function PL(ByVal A As Double, ByVal h As Double) As Double
Return (A * h)
End Function
Public Function PL(ByVal A As Double, ByVal B As Double, ByVal h As Double) As Double
Return ((A + B) * h / 2)
End FunctionClass
Рисунок 6 — Экранная форма
3. Руководство пользователя
Программа «Вычисление геометрических площадей» запускается двойным щелчком левой мыши по ярлыку, после чего на экран выводится окно со списком фигур, для которых вычисляется площадь:
Радиус, длина сторон и высота прямоугольника и трапеции задаются в верхнем, среднем и нижнем полях под фразой «Ввести числа:».
Для того чтобы рассчитать площадь круга, необходимо ввести число в верхнем поле. Чтобы вычислить площадь прямоугольника, надо указать длину сторон в верхнем и среднем полях. Для трапеции данные вводятся во всех трех полях.
После введения данных необходимо нажать на кнопку или «Круг», или «Прямоугольник», или «Трапеция», в зависимости от того какой фигуры вы хотите найти площадь.
Результат вычисления и название фигуры, для которой находилась площадь, можно увидеть в окне «Площадь».
Для повторения операции необходимо ввести новые данные и нажать на любую из кнопок, где указана фигура, для которой нужно найти площадь.
Числовое значение не может быть задано отрицательным числом. В этом случае программа будет выдавать ошибку:
Рисунок 7 — Ошибка программы
Для прекращения работы программы достаточно нажать на красный крестик в верхнем, правом углу, и программа закроется:
Рисунок 8 — Прекращение работы программы
4. Контрольный пример
Задача:
Найти площадь заштрихованной фигуры, указанной ниже, которая образуется из треугольника со стороной а, высотой h и круга радиусом R:
Рисунок 9 — Условие задачи
Решение:
Для того чтобы найти площадь заштрихованной фигуры надо рассчитать площадь треугольника и круга и затем найти их разность. Это и будет площадь, которую надо найти.
Пусть сторона а=12, высота h=8 тогда площадь треугольника вычислим по формуле нахождения площади трапеции:
При условии B=0 (так как надо найти площадь треугольника). Вводим данные в программу и получаем:
Рисунок 10 — Площадь трапеции
Поэтому площадь треугольника равна 48.
Затем, учитывая, что радиус круга R=3, рассчитываем площадь круга по формуле:
.
Рисунок 11 — Площадь круга
Получаем, что площадь круга равна 28.
Таким образом, находим площадь фигуры:
.
Тогда:
.
Площадь фигуры равна 20.
Делаем вывод, что программой, написанной мной, можно рассчитывать площади разных фигур.
программа вычисление площадь фигура basic
Заключение
В ходе создания программы для вычисления площадей геометрических фигур я изучила элементы объектно-ориентированного программирования и научилась работать в среде Visual Basic.
Литература
1.Супрун А.Н. Рамел Д. Visual Basic. NET. Справочник программиста / Практ. Пособ./ Пер. с англ. — М.: Издательство ЭКОМ, 2002. — 352.:ил.
2.Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. — СПб: ПитерБ, 2009. — 640 с.: ил.