Сделай Сам Свою Работу на 5

Программирование на языке Visual Basic





В объектно-ориентированных языках программирования и, в частности, в языке Visual Basic, переменные играют та­кую же важную роль, как и в алгоритмических языках про­граммирования. Переменные предназначены для хранения и обработки данных в программах.

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

Тип переменных определяется типом данных, которые могут быть значениями переменных. Значениями переменных числовых типов (Byte, Integer, Long, Single, Double) являются числа, логических (Boolean) — True или False, строковых (String) — последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.

Различные типы данных требуют для своего хранения в оперативной памяти компьютера различное количество яче­ек (cм. табл.3). Так, для хранения целых чисел в интервале от 0 до 255 в переменных типа Byte достаточно одной ячейки па­мяти (одного байта), для хранения вещественного числа с двойной точностью в переменных типа Double требуется уже восемь ячеек (восемь байт), а для хранения символьных строк в переменных типа String требуется одна ячейка на каждый символ.



Имя каждой переменной уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т.д.), но должно обязательно начинаться с буквы и не должно вклю­чать знак точка «.». Количество символов в имени не может быть более 255.

Например, числовую переменную можно назвать А или Число, а текстовую — А или Строка. Однако разработчик языка Visual Basic фирма Microsoft рекомендует для большей понятности текстов программ для программиста в имена пе­ременных включать особую приставку, которая обозначает тип переменных. Тогда, например, имена целочисленных переменных целесообразно записать как intА или intЧисло, а текстовых — strA и strСтрока.

Таблица 3. Типы переменных

Тип данных Возможные значения Объем занимаемой памяти Приставка к имени
Byte целые числа от 0 до 255 1 байт byt
Integer целые числа от -32768 до 32767 2 байта int
Long целые числа двойной длины 4 байта Ing
Single Десятичные числа от 1.401298Е-35 до 3.4022823Е38 4 байта sng
Double Десятичные числа двойной точности от 1.9406564584 1247Е-324 до 1. 797693 13486232Е308 8 байт dbl
Boolean Логическое значение True или False 2 байта bin
String Строка символов 1 байт на каж­дый символ str
Currency Число в денежном формате 8 байт cur
Date Дата от 1 января 1 00 г. до 31 декабря 9999г. 8 байт dtm
Object Ссылки на любой объект 4 байга obj
Variant Любые значения > 16 байт vnt

 



Наборы однотипных переменных могут быть объединены в массивы, объединенные одним именем. Массивы бывают одномерные, которые можно представить в форме одномерной таблицы, и двумерные, которые можно представить в форме двумерной таблицы. Массивы могут быть различных типов: числовые, строко­вые и т.д.

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

Простейшим способом задания типа переменной (ее объ­явления) является приписывание к имени переменной опре­деленного суффикса. Например, числовую переменную типа Integer можно задать как А%, а текстовую переменную String как А$.

Для объявления типа переменной можно воспользоваться также оператором определения переменной. Синтаксис (пра­вило записи) этого оператора следующий:

Dim ИмяПеременной [.As ТипПеременной]



Здесь Dim и As ключевые слова языка Visual Basic и поэто­му они выделяются жирным шрифтом. Назначение этого оператора — объявить переменную, т.е. задать ее имя и тип, однако объявление типа может отсутствовать. С помощью одного оператора можно объявить сразу несколько перемен­ных, например:

Dim ИмяПеременной As Integer,ИмяПеременной As String

Объявление массива производится аналогично объявле­нию переменных, необходимо только дополнительно ука­зать диапазон изменения индекса. Например, объявление строкового массива, содержащего 33 элемента, производит­ся следующим образом:

Dim ИмяМассива ( 1 To33) As String

Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Син­таксис объявления констант следующий:

ConstИмяКонстанты [As Тип]= ЗначениеКонстанты

Квадратные скобки здесь означают, что тип указывать не обязательно.

Переменная может получить или изменить значение с помощью оператора при­сваивания. Синтаксис этого оператора следующий:

ИмяПеременной = Выражение

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

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

ИмяФункции (Список аргументов)

 

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

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

В математических функциях значениями как аргумен­тов, так и функций являются числа. Всего в языке Visual Basic имеется 12 математических функций:

 

Таблица 4. Математические функции

 

Функция Возвращаемое значение
Sin(A) синус числа А
Cos (A) косинус числа А
Tan (A) тангенс числа А
Atn(A) арктангенс числа А
Sqr (A) квадратный корень из числа А
Log (A) логарифм числа А
Ехр(А) показательная функция числа А
Int(A) наибольшее целое число, не превышающее число А
Clnt(A) целое число, ближайшее к числу А
Fix (A) целое число, равное числу А без дробной части
Abs (A) абсолютное значение числа А
Rnd случайное число в интервале (0, 1)

 

 

Эти функции можно использовать при записи арифметических выражений, которых помимо функций могут присутствовать переменные и константы, связанные знаками арифметических операций сложения «+», вычитания «–», умножения «*», деления «/», возведения в степень «^». Порядок действий можно изменять с помощью скобок по обычным правилам арифметики.

Например, переменной Y нужно присвоить значение функции (x 2 + 5x –1) e –2x. Оператор присваивания будет иметь вид

Y = (X^2 + 5*X – 1) * Exp( –2*X)

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

Таблица 5. Строковые функции

 

Функция Возвращаемое значение
Len(S) количество символов в строке
Left (S, N) первые N символов строки S
Mid(S,K,N) N символов строки S, начиная с K-го символа
Val(S) преобразование числа в виде строки S в числовой формат
Str (N) преобразование числа N в строку символов
Asc(C) ASCII – код символа С
Chr(N) символ, ASCII – код которого равен N

Программирование разветвляющихся процессов

 

Изменить последовательность выполнения операторов можно с помощью операторов ветвления.

Одним из них является условный оператор IfThen. Он имеет два форматов записи.

1. Однострочный формат

Ifусловие ThenОператор1 [ Else Оператор2]

(в квадратные скобки взята необязательная часть). Если условие истинно, Оператор1 выполняется, в противном случае он пропускается и выполняется Оператор2, если он указан.

2. Блочный формат.

 

Ifусловие Then

Операторы1

[ Else

Операторы2]

End If

 

Эта форма применяется, когда нужно при выполнении или не выполнении заданного условия выполнить не один, а несколько операторов.

В качестве примера рассмотрим задачу вычисления корней квадратного трехчлена с коэффициентами A, B, C. Как известно, вещественные корни существуют при условии, что дискриминант больше либо равен нулю: D = B2 – 4AC ³ 0. Ниже приведен фрагмент программы, в котором дискриминант сравнивается с нулем и если он оказывается меньше нуля, выводится сообщение «Вещественных корней нет», противном случае подсчитываются значения корней.

 
 

 


D = B^2 – 4*A*C If D < 0 Then Print “ Вещественных корней нет ” Else X1 = (–B + sqr (D)) / (2*A) X2 = (–B – sqr (D)) / (2*A) Print “ Вещественных корней нет ” End If  
D := B2 – 4AC

 
 

 


да нет

D < 0

 

 
 


“Решений Вычисление

нет” корней X1, X2

       
 
   
 


Вывод X1, X2

 

 
 

 


Конец

 

Рис. 10. Фрагмент программы вычисления корней квадратного уравнения и его блок-схема

Еще одним оператором ветвления является Select Case.

Select CaseВыражение

CaseСписок_значений1

Операторы1

CaseСписок_значений2

Операторы2

……….

[Case ElseСписок_значений3

Операторы3 ]

End Select

 

Здесь в качестве параметра Выражение может быть как имя переменной, так и арифметическое выражение, а параметры Список_значений1, Список_значений2 и т.д. могут быть как одиночными числовыми значениями, так и списками – несколькими числами, разделенными запятыми.

Если значение выражения не совпадет ни с одним из значений, указанных в списках, будет выполнены операторы, указанные в разделе Case Else (если таковой присутствует, если же его нет, то следующим будет выполнен оператор, следующий за оператором Select.

В качестве списка значений можно указывать не только одно из возможных значений, но и несколько значений, разделенных запятыми. Можно также указать интервал значений (например, 4 To 6), или задать его с помощью ключевого слова IS и одного из знаков отношения < , <=, >, >=, < >, = (например, IS >= 10).

В качестве примера рассмотрим следующую задачу. Пусть задана кусочно-непрерывная функция f (x) следующим образом:

y

       
 
   
 


–1 для x < –1, 1

f (x) = 0 для –1 £ x < 1,

2 для x ³ 1. –2 –1 0 1 2 x

 

–1

 

 

Требуется написать программу, вычисляющую значение этой функции для любого заданного значения x. Воспользуемся для этой цели оператором ветвления Select Case:

 

Select CaseX

Case IS < –1

Y = –1

Case IS < 1

Y = 2

Case IS >= 1

Y = 1

End Select

 

Предположим, что X = –2. Тогда истинными являются условия IS <= –1 иIS < 1. Однако проверка условия IS < –1 идет первой и Y получит значение –1. Хотя второе условие также истинно для текущего значения X, оператор Y = 0 выполняться не будет, поскольку выбор уже будет сделан.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.