скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Програмирование на Visual Basic

В Visual Basic имеется возможность переопределять количество элементов массива в момент выполнения программы, т.е. динамически определять размер массива. Это позволяет эффективно использовать дефицитную оперативную память при создании программ. Для этого используется оператор ReDim (не объявление, а команда, выполняемая при работе программы) в программе

ReDini [Preserve] имя [([описатель})} [, имя [([описатель})}}

Preserve сохраняет данные существующего массива при выполнении оператора (для многомерных массивов можно применять только для правого индекса).

При использовании оператора ReDim в операторе объявления массива не задается размер (объявляется динамический размер (dynamic array)).

В примере объявленный динамическим массив Massl( ) при выполнении программы первый раз определяется состоящим из 10 элементов (Massl(lO)). Далее — состоящим из 25 элементов (Massl(25)). При переопределении нельзя изменять тип.

Элементы объявленного массива могут использоваться в операторах программы в виде

имя массива (значение индекса [значение индекса} ...)

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

Если массив объявлен оператором

Dim A(10,20) As Double,

то для обращения к его элементам в операторах программы можно использовать

А(0,0) A(5,J+!) A(1,K) А(2.5, 9.8) (обращение к элементу А(2,10).

. К элементам массива рассмотренных выше пользовательских типов данных обращение записывается:

MasStitdent(J).Name (обращение к имени j-ro студента массива MasStudent, как к элементу записи Student)

Sesia(Ciirrent).NameExam(2) (обращение к названию экзамена для текущего (current) индекса студента массива Sesia как к третьему элементу массива NameExam, являющегося элементом записи Reviltat}.

Пример.

В качестве примера рассмотрим фрагмент программы, реализующий перестановку элементов массива А, состоящего из 10 элементов, в обратном порядке.

В данном примере три оператора перестановки элементов, операторы изменения значения индекса и проверки условия выполняются несколько раз при разных значениях I (изменяемый параметр). Реализован так называемый “ручной” цикл, т.е. присутствуют операторы задания начального значения параметра, изменения значения параметра, проверки условия невыхода параметра за заданную границу, которые и организуют цикл вычислений.

В заключение следует отметить, что однотипные элементы управления также могут организовываться в виде массивов, что позволяет делать программы более универсальными и компактными. Если при разработке формы двум одинаковым элементам управления присваиваются одинаковые имена, то открывается специальное окно для подтверждения создания массива управляющих элементов. При подтверждении (ответ “Да”), элементы управления организуются в массив и у процедур обработки событий для этих элементов управления появляется параметр — индекс элемента управления. Изменяя значение индекса, одну и ту же процедуру обработки события можно использовать для разных элементов.

В списке свойств элементов управления имеется свойство Index, значение которого определяет индекс данного элемента в массиве. Индексы присваиваются автоматически последовательно при создании на форме нового одинакового элемента управления (первому элементу — 0, второму — 1 и т. д.) Эта последовательность может быть изменена разработчиком формы, но только на этапе создания формы.

3.3.     ВЫРАЖЕНИЯ

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

операнд [знак операции операнд} [знак операции операнд] ... где в зависимости от типа выражения используются соответствующие операнды и знаки операций.

3.3.1.  Арифметическое выражение

Используются следующие знаки операций:

+ - сложение (2.36+12.5);

  • вычитание (231-49);

* - умножение (3*2);

“ - возведение в степень (1(^2, результат 100, 10*-2, результат 0.01, 25^.5 или 25”(1/2), результат 5);

/ - деление с плавающей точкой (3/2, результат 1.5);

\ - целочисленное деление (3/2, результат 1);

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

Пример:

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

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

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

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

Операнды выражения:

  • константа (Integer, Long, Currency, Single, Double, Variant);
  • переменная (Integer, Long, Currency, Single, Double, Variant);
  • элемент массива (Integer, Long, Currency, Single, Double, Variant);
  • обращение к стандартной функции (см. ниже);
  • обращение к процедуре — функции (см. ниже);
  • арифметическое выражение в скобках.

3.3.2.  Логическое выражение

Логические выражения используются в математической логике и их также называют Булевыми выражениями, по имени математика Дж. Буля.

Используются следующие знаки логических операций:

  • Not- логическое отрицание НЕ;
  • And — логическое умножение И;
  • Or — логическое сложение ИЛИ;
  • Xor — исключительное ИЛИ;
  • Eqv — логическая эквивалентность;
  • Imp — логическая импликация.

Логические операции объединяют логические величины, которые могут принимать два значения: True (Истина) или False (Ложь). Результат логической операции также принимает одно из двух значений: True (Истина) или False (Ложь).

Результа1 ложческои операции определяется следующей таблицей:

Значения pciv.im.it ипер.шии
Оперли.1 (А) Oiicp.iiLi (В) Nol A Not В A And li A Oi В A Xoi В A Eч^ В A Imp В
Т] нс True False False Tine True False True True
False True Tmc False False True True False F.ilse
Tme Pulse F.ilse Ti не False Tine True False False
False False Тше Tme False False False Tine True

Приоритет выполнения операций (в порядке убывания приоритета): Not, And, Or, Xor, Eqv, Imp.

Пример:

True And Not False Or False

Вычисляется Not False, результат — True; далее вычисляется And. результат — True; последним вычисляется Or, результат — True.

Операндами логического выражения являются:

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

. • выражения отношения;

  • заключенные в скобки логические выражения.

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

> — больше;

< — меньше;

>= — больше или равно;

<= - меньше или равно;

= — равно;

<> — не равно.

Выражение принимает значение либо True, либо False. Примеры:

3 + 1 > 3 (результат True);

SiirName = “Ивсмов “ (если переменная SiirName имеет значение “ Иванов”, то результат True, в противном случае False);

“А” > “В” (результат False, побитово сравниваются значения кодов символов, код символа “Я” больше кода символа 'A”).

Двойные неравенства для правильного их вычисления необходимо записывать с использованием знаков логических операций. Когда арифметические данные преобразуются к логическому типу, то 0 преобразуется в False, а другие значения преобразуются в True. При преобразовании логического типа к арифметическому, False преобразуется к 0, a True к —1.

Рассмотрим неравенство 23 < А < 543. Хотя синтаксически Visual Basic допускает такую запись, результат в любом случае будет True независимо от значения переменной А. Выражение вычисляется слева направо: 23 < А даст либо True. либо False, т.е. либо —/, либо 0. —/ или 0 всегда меньше 543 и результат будет True. Для того чтобы вычисление было корректным, это двойное неравенство следует записать состоящим из двух операндов и знака логической операции.

Правильная запись двойного неравенства: 23 < A And A< 543 (если использовать Or вместо And, то вычисление также будет некорректно).

Составим логическое выражение для набора условий:

Вначале вычисляется выражение в скобках ( И <= Y And ^<= q) — True, далее слева направо вычисляются Л+ 2 >= Y And д + В > С — False, далее

д*Х + B*Y = D And ( // <= Y And Y <= Q) - False, последней операция Or. которая лает результат — False.

3.3.3.  Символьное выражение

В Visual Basic определена одна операция с символьными данными - конкатенация (сцепление), позволяющая объединять несколько строк в одну. Знак операции — “+” или “&”.

Операндами символьного выражения могут быть:

  • символьная константа;
  • символьная переменная:
  • элемент символьного массива (string);
  • обращение к процедуре-функции, возвращающей символьное значение (см. ниже);
  • обращение к стандартной функции, возвращающей символьное значение (см. ниже).

Пример:

NameS = “Иван”

SurName$ = “Иванов”

. Narne$ + SurNameS дает результат “ИванИванов” Следует обратить внимание (см. Пример), что необходимые пробелы нужно расставлять самостоятельно. Visual Basic их не вставляет.

3.4.     СТАНДАРТНЫЕ ФУНКЦИИ

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

Встроенные функции различаются тем, что некоторые воз-вращрют вычисленное значение, другие не возвращают. Обращения к функциям, которые возвращают вычисленное значение, является операндом выражения (в рассмотренном выше выражении

A(I,J+1) * (Cos(B+3.5) + 2 * К 3) + (Р - 3.25) операнд Cos(B+3.5) является обращением к встроенной функции вычисления косинуса угла).

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

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

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

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

Для обращения к некоторым встроенным функциям нужно задавать значение аргумента (например, Sin(X+2), где Х+2 выражение, определяющее значение аргумента). Для других встроенных функций аргумент задавать не нужно (например. Now). Примерами математических функций являются:

  • Atn — возвращает арктангенс;
  • Sin — возвращает синус;
  • Cos — возвращает косинус;
  • Tan - возвращает тангенс;
  • Ехр — возвращает е^х;
  • Log — возвращает натуральный логарифм;
  • Sqr — возвращает квадратный корень;
  • Rnd — возвращает случайное число;
  • Sgn — возвращает знак числа:
  • Fix — возвращает округленное число. Примерами строковых функций являются:
  • StrComp — сравнивает две строки;
  • Lease - преобразовывает строку в нижний регистр;
  • Ucase - преобразовывает строку в верхний регистр;
  • Spase — создает строку пробелов;

• • String — создает строку символов;

  • Len — определяет длину строки;
  • Instr — ищет подстроку;
  • Right — выделяет правую часть строки;
  • Left — выделяет левую часть строки;
  • Asc — возвращает ASCII код символа;
  • Сиг — возвращает символ по ASCII коду;
  • Str — преобразовывает число в строку;
  • Val — преобразовывает строку в число. Примерами функций даты и времени являются:
  • Date — устанавливает и возвращает текущую дату;
  • Time — устанавливает и возвращает текущее время;
  • DateSerial — преобразовывает в последовательную дату три целых числа (день, месяц, год);
  • Day — преобразовывает последовательную дату в день месяца;
  • Month — преобразовывает последовательную дату в месяц года;
  • Year — преобразовывает последовательную дату в год. Полные сведения о встроенных функциях и правилах их применения можно найти в справочной системе Visual Basic.

3.5.     ОПЕРАТОРЫ

. Программа на Visual Basic состоит из процедур (любая программа состоит хотя бы из одной процедуры). Процедуры состоят из операторов.

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.