RSS    

   Реферат: Програмирование на Visual Basic

рассмотренной выше. Записи располагаются последовательно в памяти машины и занимают каждая 44 байта. 20 байт занимает Familia (один символ занимает 1 байт), 10 байт - Name, 2 байта -Voyast (целый тип занимает 2 байта), 8 байт - Birthdate (вещественный двойной точности занимает 8 байт) и по 2 байта -Length и Wegith (целый тип).

Элемент пользовательского типа данных (записи) может являться массивом. Например, можно объявить массив записей для хранения результатов экзаменов студентов группы. Туре Rezultat

Familia As String * 20 NameExam (4) As String * /5 RewltExam (4) As Integer End Type Dim Sesia(25) As Reyiltat

Объявлен пользовательский тип данных Rewltat, элементами которого являются Familia фиксированной длины 20 символов (фамилия студента не может состоять более чем из 20 символов), массив NameExam (4) из пяти элементов (число экзаменов в сессии не более 5) для хранения названия экзаменов (название каждого экзамена не может состоять более чем из 15 символов), массив RewltExam (4) из пяти элементов для хранения оценок по каждому экзамену (целого типа). Длина записи Rewltat 105 байтов.

На базе пользовательского типа данных Requital объявлен массив Se<iia(25), каждый элемент которого содержит информацию об экзаменах и оценках для одного студента (не более 26 студентов в группе). Один элемент массива занимает 105 байтов памяти, а весь массив 2730 байт.

В 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.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37


Новости


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

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

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.