Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778), страница 9
Текст из файла (страница 9)
Полный перечень функцийприводится в справочниках по VBA [4, 6], здесь же приведены тольконаиболее часто используемые.Математические функцииВычисляемое действиеAbsАбсолютноечислаIntЦелая часть числа c округлением отрицательных в большую по модулю сторонуЦелая часть числа c округлением отрицательных в меньшую по модулю сторонуFixзначениеСинтаксисAbs(число)ПримерY=Abs(X)Результатпри Х=-5, Y=5приХ=-7.6,Y=-8при Х=7.6, Y=7Y=Fix(X) при Х=-7.6,Y=-7, приХ=7.6, Y=7Y=Cos(Pi/2) Y=0Значение pi=4*Atn(1)Y=Sin(X)при X=Pi/2,Y=1Y=Tan(X) при X=Pi/4,Y=1Y=Exp(X) при X=1,Y= 2.71821приY=Log(X) Y=X=2/7182820<=Y<=1Y=RndY=Int(X)Int (число)Fix (число)CosAtnКосинус угла в радианахАрктангенс числаCos(число)Atn(число)SinTanExpСинус угла в радианахТангенс угла в радианахВозведения в степень числа eSin(число)Tan (число)Exp(число)LogНатуральный логарифмLog(число)RndСлучайное числоRnd(число)Функции времени и датыСинтаксис применения в выражениях: Р=функция(В),где Р-результат, возвращаемый при выполнении, В – выражение (может отсутствовать).ДействиеСинтаксисP=DateDateВводтекущейсистемной датыDayДень месяца взначении датыMonthМесяц в значении датыYearЧисло, представ- P= Year (B)ляющее год в дате.День недели в P=Weekday(B)дате в виде числаWeekdayP=Day(B)P=Month(B)44ПримерРезультатDim MDMD =DateВ MD будет системная датаdM=Day(Date)dM=8 при расчетах 8 октябряM=10 при расчетах 10 октябряG=Year (Date) G=1998 при расчетах в 1998 годуN=Weekday(Date) N=2 для понедельникаM=Day(Date)ДействиеNowTimeTimerCистемные датаи время компьютера.Системное времяЧислосекунд,прошедших после полуночиСинтаксисP=NowПримерTd = NowРезультатTd=22.10.9812:30:15P=TimeP=TimerT=TimeSc=TimerT=12:30:25T=1265,25Функции работы со строкамиInStr - поиск номера символа, с которого начинается в исходной строке образец поиска.
Синтаксис: N=InStr([K],S,C), где S-образец поиска,C – исходная строка, в которой осуществляется поиск,К – числовое выражение, задающее позицию, с которой начинаетсяпоиск в исходной строке, аргумент необязательный, при его отсутствии поиск начинается с первого символа.Пример:Sub Proba()Dim s0 As String, S1 As String, N As Integers0 = "Проверка поиска"S1 = "ка"N = InStr(s0, S1)End SubРезультат: N=7Len – определение числа символов в исходной строке или размер заданной переменной.
Синтаксис: N=Len(S), где S – исходнаястрока. Пример:Sub Proba()Dim s As String, N As Integers = "Проверка работы"N= Len(s)End SubРезультат: N=15Left – считывание заданного числа символов от начала строки.Синтаксис: N=Left(S,K), где S – исходная строка, К – число выделяемых символов.Пример:Sub Proba()Dim s As String, Y As Strings = "Проверка работы"Y= Left(s,4)End SubРезультат: Y=Пров45Right – считывание заданного числа символов от конца строки.Синтаксис: N=Right(S,K), где S – исходная строка, К – число выделяемых символов.Пример:Sub Proba()Dim s As String, Y As Strings = "Проверка работы"Y= Right(s,4)End SubРезультат: Y=ботыMid – заменяет заданное число символов в строке символами из заданной строки или выделяет заданное число символов.Синтаксис: N=Mid(S,K), где S – исходная строка, К – число выделяемых символов.Пример:Sub Proba()Dim s As String, x As String, y As Strings = "Установка вала на подшипниках"x = "оси "Mid(s, 11) = x' Пример замены символов в sy = Mid(s, 11, 4) ' Пример выделения 4-х символов и занесение в yEnd SubРезультат: s= Установка оси на подшипниках;y=оси.Replace– замена вхождений определенной подстроки в строке, заданной подстрокой.Синтаксис: S3=Replace(S0,S1,S2,[K],[N]), где S0 – исходная строка; S1подстрока в строе S0, которую следует заменить; S2- подстрока, которой будет выполняться замена; К – номер символа строки S0, с которого будет осуществляться поиск, N-максимально-допустимое числозамен в строке S0.
К и M могут отсутствовать, тогда поиск с первогосимвола и будут выполнены все замены.Sub Proba()Пример:Dim s0 As String, S1 As String, S2 As String, S3 As Strings0 = "Проверка работы"S1 = "оверка"S2 = "ба"S3 = Replace(s0, S1, S2)End SubРезультат: S3=Проба работыString – возвращает строку, содержащую заданное число символов.Синтаксис: S0=String(K,S), где S – заданный символ, К – число символов.46Пример:Sub Proba()Dim S1 As String, S2 As StringS1 = "к"S2 = String (10,S1)End SubРезультат: S2= ккккккккккTrim – возвращает строку с отброшенными начальными и хвостовымипробелами, (RTrim – начальными, LTrim хвостовыми).Синтаксис: S= Trim(S), где S – заданная строка.Sub Proba()Пример:Dim S1 As String, S2 As StringS1 = " Проверка "S2 = Trim (S1)End SubРезультат: S2=ПроверкаФункции преобразования данныхСинтаксис применения:Р=функция(В),где Р - результат, возвращаемый при выполнении, В – выражение.ПреобразованиеStrСинтаксисАргументЧисла встрокуP=Str(число)ValСтроки вчислоСтрока изP=Val(строка) цифрВ логический типP= Cbool(B)CboolCByteВ байтовый типP= CByte (B)CDateВ тип датCIntP= CInt (B)В целыйтип с округлениемПримерЧисло или MS=Str(45)числовоевыражениеMV=Val(«75»)MV=Val(«2 45 7»)РезультатMS=«45»MV=75MV=2457Строка или A = 5: B = 5числовоеC = Cbool(A = B)выражениеC = True.От 0 до 255 MB=Cbyte(126.3)MB=12632 768 до32 76747MD = «February12, 1969»MDt=CDate(MD)MI=CInt(2345.65)MDt=MDв форматедатMI=2346 Использование в Visual Basic функций рабочего листаФункции рабочего листа, оперирующие над диапазонами ячеек,работают быстрее процедур Visual Basic, выполняющих подобныедействия.
Например, для вычисления суммы ячеек B2:B20 можноприменить:T = Application.WorksheetFunction.Sum(Worksheets(“Лист1”).Range(“B2:B20”)).Кроме ускорения времени обработки использование функций рабочего листа увеличивает возможности программисту реализации алгоритмов. Это связано с тем, что функций листа Excel значительнобольше, чем стандартных функций языка Visual Basic.Синтаксис использования функций рабочего листа следующий:Имя переменной= Application.WorksheetFunction.Имя функции (данные).Список всех функций появляется по мере набора символов:Рис.
2.2. Список выбора функций Оператор присваиванияЭто наиболее часто используемая инструкция, применяемая длявычисления результата по выражению или для передачи значений изодной переменой в другую. Синтаксис его имеет вид:Переменная= выражение или Переменная1 = Переменная2Примеры, Y=A+B*X,T=0, I=I+1 Инструкция упрощения написания кода программы WithСинтаксис: WithоператорыEnd WithWith позволит сократить длину операторов и повысить наглядность программ.Пример инструкции.With Worksheets(«Опт_емк»)A =.Cells(3, 2).ValueB =.Cells(4, 2).ValueEnd With Управляющие конструкцииПри реализации алгоритмов в процедурах используются управ48ляющие инструкции (их иногда называют также и операторы): ветвления, циклов, упрощения написания инструкций.Инструкции ветвленияСинтаксис оператораIf условие Then операторIf условие Then оператор1 Else оператор2(все это набирается в одной строке)If условие Thenоператоры 1Elseоператоры 2End If(в программе набираетсятак же в разных строках)Select Case У.П.Case значение 1 У.П.операторы 1Case значение N У.П.операторы NCase ElseоператорыEnd Selectгде У.П.
- управляющийпараметрДействиеПример. If A<B then C=BПрисвоение C=B выполнится, если A<BВыполнение оператора 1 при истинности условия и оператора 2 при ложностиПример. If A<B then C=B Else С=А – обеспечивает запоминание в переменной С наибольшего значения из А и В.Выполнение группы операторов 1 при истинности условия и группы операторов 2 приложности условия.Пример. If A<B thenI=3: C=BElseI = 2 : С=АEnd IfВ примере выполняется запоминание в переменной С наибольшего значения из А и В, впеременной I числа 3 или 2.Select Case Ku ' ПримерCase 1‘ вычисление площади прямоугольникаS=A*BCase 2‘ вычисление площади треугольникаS=A*B/2Case 3‘ вычисление площади трапецииS=H*(A+B)/2ElseS=0End SelectВ примере обеспечивается, в зависимости отзначения Ku, вычисление или площади S прямоугольника (при Ku=1), или треугольника(при Ku=2), или трапеции (при Ku=1).
При всехдругих значения Ku выполняется обнуление S.49Инструкции цикловПозволяют организовать выполнение несколько раз группы операторов.Синтаксис инструкцииFor П =Н.З. To К.З.операторы 1If условие Then Exit Forоператоры 2Next П.Do While условиеоператорыIf условие Then Exit DOLoopWhile условиеоператорыWendDo Until условиеоператорыIf условие Then Exit DOLoopDoоператорыIf условие Then Exit DOLoop While условиеDoоператорыLoop Until условиеДействиеОбеспечивает выполнение операторов 1 и 2, пока переменная (П), начиная от начального (Н.З.) значения,не достигнет конечного (К.З.) или пока не выполнится условие в операторе проверкиОператоры повторяются до тех пор, пока условие истинно или пока не выполнится условие в инструкциипроверки. Условие проверяется в начале цикла.Операторы повторяются до тех пор, пока условие истинно.
Условие проверяется в начале цикла.Операторы повторяются до тех пор, пока условиеложно или пока не выполнится условие в инструкциипроверки. Условие проверяется в начале цикла.Условие проверяется в конце цикла, поэтому операторы хотя бы один раз выполняются всегда. Повторвыполнения операторов до тех пор, пока условие истинно или пока не выполнится условие в инструкциипроверки.Условие проверяется в конце цикла. Поэтому операторы хотя бы один раз выполняются всегда. Повторвыполнения операторов до тех пор, пока условиеложноПримеры программ с циклами.