Иллюстрированный самоучитель по Basic, вводный курс. Встроенные функции в VBA Визуал бейсик функции

Арифметические выражения Visual Basic.

Теоретическая часть

Выражениями и функциями

ЛАБОРАТОРНАЯ РАБОТА №4. Работа с арифметическими

Вопросы для контроля

1. Какие компоненты позволяют создавать статические изображения в приложении?

2. Как поместить рисунок на форму? Какие методы для этой цели существуют и в чем их отличие?

3. Картинки какого формата может подключать к приложению компонент Image?

4. Какое свойство объекта Image отвечает за масштабирование? За видимость картинки?

Цель работы: ознакомиться с арифметическими выражениями и математическими функциями языка Visual Basic; научиться разрабатывать приложения с использованием выражений и математических функций

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

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

Арифметические операции языка Visual Basic приведены в Таблице 4.1.

Таблица 4.1 – Арифметические операции языка Visual Basic

Приоритет выполнения операций (в порядке убывания): возведение в степень, умножение и деление, целочисленное деление, вычисление остатка, сложение и вычитание. Вычисления производятся слева направо. Скобки изменяют приоритет.

Примеры:

14 /5*2 = 5.6 – операции одного приоритета выполнятся слева направо

14\5*2 = 1 – умножение имеет более высокий приоритет и при целочисленном делении дробная часть отбрасывается

27^1/3 = 9 – возведение в степень обладает наивысшим приоритетом

27^(1/3) = 3 – скобки изменяют последовательность операций

В языке Visual Basic имеется широкий набор встроенных (стандартных ) функций, облегчающий написание программ. Различают математические функции, функции обработки строк, функции для работы с датами и временем, финансовые.

Математические функции:

Abs (x) – вычисляет модуль аргумента



Atn (x) – вычисляет арктангенс числа x

Sin (x) – вычисляет синус числа x

Cos (x) – вычисляет косинус числа x

Tan (x) – вычисляет тангенс числа x

Exp (x) – вычисляет e^x

Log (x) – вычисляет натуральный логарифм

Sqr (x) – вычисляет квадратный корень

Rnd () – возвращает случайное число в диапазоне от 0 до 1

Int (x) – вычисляет наибольшее целое число, не превышающее x

Fix (x) – вычисляет округленное число (отбрасывает дробную часть аргумента)

CInt(x) – возвращает аргумент, округленный до целого по правилам округления математики

Sgn (x) – возвращает знак числа

X^(1/n) – извлекает корень n-ной степени из X

Hex (x) – переводит десятичное число в шестнадцатеричное

Oct (x) – переводит десятеричное число в восьмеричное

Примеры округления чисел:

Int(7.32) = 7 CInt(5.5) = 6 Fix(-7.32) = -7

Int(-7.32) = -8 CInt(-7.5) = -7

Значения аргументов в тригонометрических функциях задаются в радианах!

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

Аргумент (в радианах) = аргумент (в градусах)*ПИ / 180

Число ПИ может быть определено по формуле:

ПИ = Atn(1)*4

Полные сведения о встроенных функциях и правилах их применения можно найти в справочной системе Visual Basic.

В VBAиспользуются следующие виды функций:

Математические встроенные функции;

Математические функции, не представленные в VBA;

Функции форматирования данных;

Функции преобразования типов

Математические встроенные функции

Возвращаемое значение

Абсолютная величина числа

arctg(x) – арктангенс от значения параметра, заданного в радианах

sin(x) – возвращает синус угла от значения параметра, заданного в радианах

cos(x) – косинус указанного в радианах угла

tg(x) – возвращает тангенс угла от значения параметра, заданного в радианах

e x – возвращает числоe, возведенное в указанную степень, где е – основание натурального логарифма

ln(x) – возвращает натуральный логарифм от значения числового выражения

- возвращает квадратный корень числового выражения

Случайное число из интервала )

Именованные числовые форматы

Имя формата

Описание

Число без разделителя тысяч

Отображает две цифры справа от десятичной точки

Отображает одну цифру слева и две справа от десятичной точки

Отображает одну цифру слева и две справа от десятичной точки и выводит разделитель тысяч

Отображает число в виде процентов и выводит две цифры справа от десятичной точки

Использует формат с плавающей десятичной точкой

Отображает No, если число равно 0, иYes– в противном случае

Отображает False, если число равно 0, иTrue– в противном случае

Отображает Off, если число равно 0, иOn– в противном случае

Пока мы не забыли элементарную арифметику в Бейсике и вывод результатов (надеюсь, у вас это получается, причем в законченной, красивой форме с подсказками), необходимо ознакомиться со стандартными функциями языка Бейсик, чтобы в полной мере ощутить его вычислительные способности.

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

Таблица 1.1 . Стандартные алгебраические функции.

Функция Описание Пример Результат
ABS Возвращает абсолютную величину (модуль) аргумента ? ABS(-2.56) 2.56
SQR Возвращает квадратный корень из аргумента ? SQR (9) 3
SIN Возвращает значение синуса аргумента (аргумент указывается в радианах) ? SIN(3) 0.14112
COS Возвращает значение косинуса аргумента (аргумент указывается в радианах) ? COS(3) 0.98992599
TAN Возвращает значение тангенса аргумента (аргумент указывается в радианах) ? TAN(3) -0.1425465
EXP Находит значение показательной функции е х; , где х - аргумент, а е - основание "." натурального логарифма, равное 2.718… ? EXP(l) 2.718282
LOG Возвращает логарифм по основанию е ? LOGO) 1.09861229
INT Возвращает целую часть аргумента (от англ. INTeger - целый) ? INT(30,l) 30
SGN Возвращает 1, если аргумент больше нуля;
0, если аргумент равен нулю;
-1,если аргумент меньше нуля (от англ. SiGN - знак)
? SGN (3)
? SGN(O)
? SGN(-3)
1
0
-1

Предупреждение
Функция sqr применима только к положительным аргументам
.

Любознательный читатель сразу заметит, а где же милый его сердцу котангенс. Нет! Но ведь его просто получить из тангенса, не правда ли? Самые распространенные ошибки начинающих при написании стандартных функций (хотя вы все равно их допустите!):

  • пишут аbc вместо abs для модуля;
  • пишут tg вместо tan для тангенса.

Главное правило при использовании стандартных функций - брать аргумент в скобки:

  • нельзя SIN3, а надо sin(3);
  • нельзя SQR9, а надо sqr(9).

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

Примеры правильной записи стандартных функций представлены в табл. 1.2.

Перед упражнениями расскажем про радианную меру углов, потому что не все, к сожалению, любят тригонометрию. Итак:

1 радиан= 180°/ π, отсюда 1 градус=π/180°, следовательно sin 30° в Бейсике будет представлено как sin (30*3.14/180), π==3.14. А вот теперь можно поупражняться. Запишите на Бейсике следующие выражения.

УПРАВЛЕНИЕ ОБРАЗОВАНИЯ И НАУКИ БЕЛГОРОДСКОЙ ОБЛАСТИ

Валуйский педагогический колледж

Реферат на тему

«Функции языка Visual Basic . Выражения»

Плутахина Юлия Сергеевна,

студентка 11 группы

Руководитель:

Маслова Елена Петровна,

преподаватель информатики

Введение в Бейсик………………………………………….…3-4

1. Функции в языке Visual Basic:

2.1. Функции преобразования типов данных….………….....4-5

2.2. Математические функции…………………………….……5

2.3. Строковые функции………………………..………….……5

2.4. Функции ввода и вывода…………………………………5-6

2.5. Функции даты и времени……………………………….…..6

3. Выражения в языке Бейсик……………………………………..6

Заключение

Список использованной литературы……………………………7

Введение в Бейсик:

Выполнять в среде Бейсика элементарные операции и вычисления, особенно в ранних версиях типа GW-Basic или MSX-Basic, действительно нетрудно. Если компьютер включен и Бейсик загружен, можно смело приступить к работе. Начнем с того, что вы хотите что-то вычислить. Бейсик для этого лучше, чем любой калькулятор. Наберите команду

PRINT «Это команда вывода», 5*5

и нажмите клавишу (слово PRINT может заменить знак?). немедленно возникает ответ: 25. команда PRINT выводит на экран результат вычислений или сообщений, заключенных в кавычки: PRINT «Привет!» - на экране появилось «Привет!» (без кавычек).

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

Компьютер немедленно выдаст результат:20.

Режим работы, описанный выше, часто так и называют – режим калькулятора (или непосредственный режим).

А теперь каждую из представленных выше трех команд пронумеруем, см. программу 54.

Программа 54

Обратим внимание, что после ввода этой программы команды не выполнялись, а записывались в память компьютера. Убедиться в этом можно, введя команду LIST – текст этой маленькой программы тут же появится на экране.

Если теперь ввести команду RUN, то она запустит программу на исполнение. Таким образом, последовательный набор команд с номерами строк является программой на языке Бейсик. Программировать на языке Бейсик означает научиться составлять определенный набор команд для решения поставленной вами задачи. Какие имеются команды у Бейсика и как ими пользоваться – рассмотрим ниже. Режим, при котором команды не выполняются непосредственно, а «копятся», называют косвенным. В этом режиме, основном для Бейсика, он и является языком программирования.

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

1.Функции в языке Visual Basic :

Понятие функции в языке программирования близко к понятию функции в математике. Функция может иметь один или более аргументов. При записи функции нескольких аргументов. При записи функции нескольких аргументов аргументы в списке отделяются друг от друга запятыми.

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

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

2.1. .Функции преобразования типов данных.

Функции преобразования реализуют преобразование данных из одного типа в другой.

Функция Val . Часто необходимо преобразовать строковое значение в числовое. Это можно сделать с помощью функции Val , аргументом которой является строка, а значением – число:

Val (Строка$)

Например, значением функции Val («2000») является число 2000. Эта функция часто применяется для преобразования строкового значения свойства Text текстовых полей в число, которое затем используется в арифметических выражениях.

Строковое выражение, являющееся аргументом функции Val , может быть задано не только в десятичной, но также в восьмеричной (приставка “&H”) системах счисления. Например, значением функции Val (“&03720”) и Val (“&H7D0”) является десятичное число 2000.

Таким образом, появляется возможность перевода чисел, выраженных в строковой форме, из восьмеричной и шестнадцатеричной систем счисления в число десятичной системы счисления

Функции Str, Hex, Oct. Функции Str, Hex и Oct позволяют производить преобразование десятичных чисел в десятичные, восьмеричные и шестнадцатеричные числа в строковой форме. Аргументом функции является число, а значением – строка:

Str (Число)

Oct (Число)

Hex (Число)

Например, значением функций Str(2000), Oct(2000), Hex(2000) является десятичное число 2000, восьмеричное число 3720 и шестнадцатеричное число H7D0 в строковой форме.

Функция Asc. Функция Asc осуществляет преобразование строки в числовой код (в таблице кодировки) первого символа. Аргументом функции является строка, а значением – число:

Asc (Строка&)

Функция Chr. Функция Chr осуществляет преобразование числового кода в соответствующий ему символ. Аргументом функции является число, а значением – символ:

Chr (Число)

1.2. Математические функции.

В математических функциях значениями как аргументов, так и функций являются числа. В языке Visual Basic имеется 12 математических функций: тригонометрические (Sin (), Cos (), Tan(), Atn ()), квадратный корень Sqr (), логарифм Log (), показательная функция Exp (), получение случайного числа Rnd () и др.

2.3. Строковые функции.

В строковых функциях строками являются либо аргументы, либо возвращаемые функциями значения.

Функция определения длины строки. В функции определения длины строки Len (Строка$) аргументом является Строка$, а возвращает функция числовое значение длины строки (количество символов в строке). Синтаксис функции:

Len (Строка$)

Функции вырезания подстроки. В функциях вырезания подстроки (части строки) Left (Строка$, Длина%), Right (Строка$, Длина%) и Mid (Строка$, Позиция%, Длина%) аргументами являются строка Строка$ и числа или целочисленные переменные Длина% и Позиция%. Функции возвращают строковое значение, длина которого равна Длина%. Синтаксис функций:

Left (Строка$, Длина%)

Right (Строка$, Длина%)

Mid (Строка$, Позиция%, Длина%)

Значением функции Left является левая подстрока, которая начинается от крайнего левого символа строки и имеет количество символов, равное значению числового аргумента Длина%.

2.4. Функции ввода и вывода.

Функция InputBox (Окно ввода). Функция InputBox позволяет вводить данные с помощью диалоговой панели ввода. В качестве аргументов этой функции выступают три строки, значением функции является также строка. Синтаксис функции следующий:

InputBox(Приглашение$, Заголовок$, [ПоУмолчанию$])

В процессе выполнения этой функции появляется диалоговая панель с текстовым полем. В строке заголовка панели будет печататься значение второго аргумента (Заголовок$), на самой панели печатается значение аргумента Приглашение$, в текстовом поле печатается значение аргумента ПоУмолчанию$ (если это значение отсутствует, содержимое текстового окна также отсутствует). Введенная пользователем в текстовом поле строка становится значением функции.

Функция MsgBox (Панель сообщений). Функция MsgBox позволяет выводить сообщения не на форме, а на специальной панели сообщений. Кроме того, функция MsgBox возвращает определенное значение, которое может быть присвоено какой-либо переменной. Синтаксис функции следующий:

MsgBox (Сообщение$[, ЧисКод1+ЧисКод2] [,Заголовок$])

2.5. Функции даты и времени.

Функция Date. Функция Date возвращает значение текущей даты, которое можно присвоить переменным типа Date. Значение даты представляется в виде тройки чисел #Месяц/Число/Год#, разделенных знаком «/». Разностью значений переменных типа Date является число дней между датами.

Функция Time$. Функция Time$ возвращает значение текущего времени, имеющее тип String, которое можно вывести в текстовое поле. Значение времени представляется в виде тройки чисел #Часы:Минуты:Секунды#, разделенных знаком «:».

Для периодического обновления значения времени используем объект Timer. Объект Timer не отображается на форме в процессе выполнения программы и реализует всего одну функцию – проверяет показания системных часов по событию Timer.

Периодичность события Timer может быть задана с помощью значения свойства Interval, задаваемого в миллисекундах (может изменяться от 0 до 65535). Для того чтобы событие Timer происходило каждую секунду, необходимо каждому свойству Interval присвоить значение 1000.

2. Выражения на языке Бейсик.

Форма записи арифметических выражений на языке Бейсик весьма близка к математической записи выражений в строчку. Этой форме в последнее время отдают всё большее предпочтение: она облегчает набор простых и умеренно сложных формул. В связи с этим особых трудностей в составлении арифметических выражений на Бейсике не возникает

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

Процедуры обработки событий после вызова постоянно находятся в ожидании событий.

Кроме процедур обработки событий в программу можно включить процедуры и функции не связанные с событиями. Они выполняют отдельные действия и могут быть использованы неоднократно. Назовем их общими. Процедуры общего назначения вызываются на выполнение в коде программы. Использование процедур экономит время и позволяет избежать лишних ошибок. Функции отличаются от процедур тем, что возвращают какое-то значение.

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

Функция - это подпрограмма, которую вызывают, чтобы выполнить какие-то расчеты или проверки. Когда она завершает работу, то возвращает управление вызывающей программе и передает ей результат расчета.

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

Синтаксис объявления процедуры и функции:

Sub <Имя процедуры>(<Параметры>) <Операторы> End Sub Function <Имя функции> <Операторы> End Function

Процедуры, объявленные с ключевым словом Public, можно вызвать в любом модуле приложения (каждая форма - это отдельный модуль).

Процедуры объявленные как Private, можно вызывать только в текущем модуле.

Слово Static означает, что все переменные, объявленные в процедуре, будут статическими, т.е. их значения сохраняются между вызовами.

Параметры обеспечивают связь процедуры с приложением. Это данные, передаваемые в процедуру при вызове.

Процедуры обработки событий. Вызываются в том, случае если произошло какое-либо событие. При этом существенным является как имя элемента, та и вид события, который с ним произошел.

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

Встроенные функции. Определенные наборы команд, имеющиеся в языке Visual Basic и в предназначенные для вычисления тех или иных значений на основании исходных данных. Встроенными являются, в частности, как математические, так и строковые функции (Abs, Cos, Sin, Mid, Len и т.д.)

Пользовательские функции. Группы операторов, аналогичные пользовательским процедурам.

Однако между ними есть ряд отличий.

Основные отличия функции от процедуры состоят в следующем.

1. Функция имеет тип (аналогично переменной) и может возвращать в программу значение, которое присваивается функции при помощи оператора:

<Имя функции> = значение

2. Вызов функции, как правило, осуществляется посредством указания в правой части какого-либо оператора ее имени и параметров. С другой стороны, процедура вызывается при помощи отдельного оператора:

Call <Имя процедуры> (Параметры)

<Имя процедуры> (Параметры)

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

Необходимо отметить, что вызываемая процедура может не иметь параметров. В этом случае (если использовалось служебное слово Call) после имени процедуры следует ставить пустые скобки.

Пользовательские процедуры обычно используются при необходимости выполнения одной и тоже последовательности операций. Например, в программе требуется неоднократно вводить в цикле значения массива arrA, состоящего из пяти элементов. В этом случае заполнение массива лучше всего оформить в виде процедуры.

Команда Add Procedure меню Tools позволяет добавить процедуру или функцию.

Пусть процедура Cir вычерчивает эллипс с координатами x, y, которые передаются в процедуру как параметры. Создавая процедуру Cir командой Add Procedure, нужно указать имя процедуры и выбрать область видимости Public или Private.

Завершив диалог, получим объявление процедуры:

Private Sub Cir() : End Sub

Теперь нужно вписать параметры в скобки и написать текст процедуры. В списке параметров рекомендуется указывать тип переменных.

Private Sub Cir(x As Integer, y As Integer) Circle (x,y),500,2 End Sub

Публикации по теме