Перейти на главную страницу
Підпрограми описуються за допомогою ключового слова Sub і Function. Процедура Sub являє собою послідовність інструкцій мови VB, обмежених інструкціями Sub і End Sub, що виконує дії, але не повертає значення. Ïðîöåäóðà Function подібна процедурі Sub, однак на відміну від останньої, вона повертає значення. Повернення значення здійснюється шляхом його присвоєння імені функції в одній чи декількох інструкціях процедури. Çначення, яке повертається із процедури Function може бути масив у змінній Variant, або дані типу заданого користувачом. Процедура може одержувати аргументи, як наприклад константи, змінні, чи вирази, передані їй іншою процедурою. Якщо процедура не має аргументів, інструкція повинна містити порожні дужки.
Значення ключових слів. Private, Public, Friend -визначають область видимості процедури. Friend - процедура доступна тільки усередині проекту - тільки для модулів класів. Static - локальні змінні процедури Sub повинні зберігатися між викликами функції. Зарезервоване слово Static не робить впливу на змінні, описані поза підпрограмою, навіть якщо ці змінні використовуються в даній процедурі. Cписок формальних аргументів використовує наступний синтаксис:
[Optional][ByVal | ByRef][ParamArray] varname[( )] [As type] Для виклику процедури-підпрограми варто вказати ім'я процедури, після якого без дужок потрібно вказати список аргументів через кому. Може бути використане ключове слово Call для виклику. У цьому випадку обов'язково потрібні дужки для списку аргументів. Процедури типу Sub можуть бути рекурсивними, тобто вони можуть викликати самі себе для виконання визначеної задачі. Однак застосування рекурсії може привести до переповнення стека. Optional і ParamArray дозволяють формувати список необов'язкових параметрів. Optional - ключове слово, що вказує, що аргумент не є обов'язковим. При використанні цього елемента всі наступні аргументи, що містить список аргументів, також повинні бути необов'язковими і бути описані за допомогою ключового слова Optional. Всі аргументи, описані як Optional, повинні мати тип Variant. Для запобігання логічних протиріч не допускається використання ключового слова Optional для кожного з аргументів, якщо використовується ключове слово ParamArray. Визначення наявності передачі значень необов'язкових параметрів при виклику здійснюється за допомогою функції IsMissing. Функція IsMissing повертає True, якщо в зазначений аргумент не було передане значення; у противному випадку повертається False. Для аргументів, описаних із ключовим словом ParamArray, функція IsMissing завжди повертає False.
Наприклад,
Необов'язковим параметрам за замовчуванням може бути присвоєно значення Sub l (Optional x as variant = 40000) Тип даних заданих у параметрах типу Variant визначають за допомогою наступних булевых функцій IsNumeric, IsDate, IsNull, IsEmpty, IsArray. Функція VarType повертає значення типу Integer, що вказують підтип змінної.
Зарезервоване слово ByVal не можна використовувати для змінної з обумовленим користувачем типом чи даних для змінної об'єктного типу даних.
При виклику процедур Sub чи Function є стандартної позиційна передача аргументів, тобто в порядку проходження в описі процедури. У програмах на VB, аргументи можуть також передаватися по іменах, поза залежністю від позиції.
Наприклад наступна процедура Sub має три аргументи:
Sub P(Optional strName As String, Optional intAge As Integer, Optional dteBirth As Date)
...
End Sub
Цю процедуру можна викликати, передаючи її аргументи відповідно до позицій і розділяючи комами:
Можливий також виклик цієї процедури з передачею іменованих аргументів, розділених комами,
Для задання іменованого аргументу застосовують ім'я аргументу, за яким ставиться двокрапка зі знаком рівності (:=) і значення аргументу. Іменовані аргументи особливо корисні при виклику процедури з необов'язковими аргументами (Optional). Якщо використовуються іменовані аргументи, то коми для позначення відсутніх позиційних аргументів не потрібні і не важлива послідовність. Усі функції операційної системи доступні розроблювачам прикладних програм на VB. Реалізується ця можливість за допомогою системних бібліотек динамічного компонування (WinApi) - файли з розширенням dll. Список параметрів і опис синтаксису для виклику і використання цих програм поставляється разом із системою. Можливості зручного перегляду надає користувачу програма API Text Viewer - у каталозі VB. Для того, щоб використовувати системну програму з бібліотеки динамічного компонування необхідно вказати транслятору джерело процедур - бібліотеку. Оператор Declare використовується тільки в стандартному модулі і на рівні модуля для опису посилань на зовнішні процедури з бібліотек динамічного компонування. Для підпрограм
Для функцій
У стандартному модулі.
Після створення посилання на процедуру з бібліотеки DLL в інструкції Declare ця процедура викликається в програмі звичайним образом.
f(x1)=a + bx1 +cx12 f(x2)=a + bx2 +cx22 f(x3)=a + bx3 +cx32 Точка х4 визначається як вирішення рівняння 4.4. Новий інтервал непевності вибирається в такий спосіб. Якщо f(х4)
Якщо f(х4)
3. Класифікація геометричних моделей для використання в інженерних САПР.
Існує три типи геометричних моделей: каркасні моделі, поверхневі моделі та комбіновані моделі. Каркасні моделі характеризуються тим, що при їх використанні об’єкти зображаються на сцені тільки своїми ребрами, що забезпечує найнижчий рівень реалістичності. Поверхневі моделі характеризуються тим, що при їх використанні об’єкти зображаються не тільки ребрами, а й поверхнями, які сполучають ці ребра. При цій моделі до об’єктів застосовується також освітлення, накладення текстур та інші ефекти візуалізації. При використанні комбінованих моделей об’єкти будуються на основі як каркасної, так і поверхневої моделі. Базовими елементами цієї моделі являються паралелепіпед, конус, сфера, піраміда, циліндр. В даній моделі для побудови об’єкта використовуються теоретико-множинні операції: об’єднання (+); віднімання (-).
4. Особливості програмування каркасної геометричної моделі.
Існує три типи геометричних моделей: каркасні моделі, поверхневі моделі та комбіновані моделі. Каркасні моделі характеризуються тим, що при їх використанні об’єкти зображаються на сцені тільки своїми ребрами, що забезпечує найнижчий рівень реалістичності. Поверхневі моделі характеризуються тим, що при їх використанні об’єкти зображаються не тільки ребрами, а й поверхнями, які сполучають ці ребра. При цій моделі до об’єктів застосовується також освітлення, накладення текстур та інші ефекти візуалізації. При використанні комбінованих моделей об’єкти будуються на основі як каркасної, так і поверхневої моделі. В системах каркасного моделирования форма представляется в виде набора характеризующих ее линий и конечных точек. Линии и точки используются для представления трехмерных объектов на экране, а изменения формы осуществляются путем изменения положения и размеров отрезков и точек. Другими словами, виртуальная модель представляет собой каркасную проекцию формы, а соответствующее математическое описание представляет собой набор уравнений кривых, координат точек и сведения о связности кривых и точек. Сведения о связности описывают принадлежность точки к конкретным кривым, а также пересечение кривых друг с другом. Такие модели просты, но с их помощью можно моделировать ограниченный класс объектов, аппроксимирующими поверхностями, в этом случае, являются плоскости или квадрики. Каркасные модели в основном применяются в системах малой и средней производительности. Особенностью каркасной модели является то, что для ее описания используются геометрические объекты первого порядка – линии или ребра. Каркасные модели применяются, как правило, для задания объектов, представляющих собой полиэдры или объекты, получаемые перемещением образующей, которая фиксируется в некоторых положениях. Трехмерная модель в этом случае содержит список координат вершин полиэдра с указанием связей между ними. В случае использования каркасных моделей для представления объектов, ограниченных сложными поверхностями,в системах малой производительности для отображения таких объектов на экранах графических дисплеев прибегают к ряду условностей. Системы средней и высокой производительности позволяют воспроизводить изображения объектов, использующих каркасные модели,с необходимым для восприятия количеством графических элементов. Имеются классы задач САПР, где проволочные модели являются достаточными для получения решения.
В общем случае база данных - это некое хранилище обновляемой информации (несколько файлов -частный случай). Первичные и вторичные - содержат ссылки на таблицы первичных. Могут быть также файлы журналов и файлы безопасности .log. Если первичные файлы на разных компьтерах, то это распределенная база данных. В настоящее время под распределенными базами понимают информацию хранимую и предоставляемую из различных форматов различными драйверами.
В общем, случае база данных это набор сведений, относящихся к определенной теме или задаче, а также инструменты, которые позволяют осуществлять поиск и обновление необходимой информации. Комплекс программных средств, которые позволяют осуществлять поиск и обновление необходимой информации часто называют системой управления базой данных (СУБД). Физически компьютерная база данных - это один или несколько файлов. Принципы построения программного обеспечения для информационных систем часто называют архитектурой программного обеспечения. Считают, что принципы логической организации данных определяются моделью данных. Если файлы данных размещены на разных компьютерах, то это распределенная база данных. Если информационная система использует по разному логически организованные данные, то такую базу данных называют неоднородной базой данных. Например, если данные системы хранятся в формате Access, Foxpro, Paradox то это неоднородная система. Под распределённой базой данных понимают базу данных,объекты которой распределены между узлами вычислительной сети. Распределение возникает в том случае, если реляционная таблица распределяется по кортежам или по столбцам. Например, база данных «сеть магазинов» может быть распределена по географическому принципу. Способ распределения данных по кортежам или столбцам называется фрагментацией. Тиражирование копий реляционных таблиц по нескольким узлам сети называют репликацией. Для управления транзакциями в условиях распределённости по фрагментам необходима глобальная схема базы данных. Глобальная схема позволяет ответить на вопрос о местоположении любого из фрагментов распределенной базы данных.
6. Технологія та необхідність поліморфних викликів в СОМ
Поліморфізм класів об'єктів спрощує складання й розуміння програми. ООП дозволяє визначити нові методи зі старими іменами, перевизначивши тим самим метод "батька". Новий метод буде оголошений під старим ім'ям і буде реалізовувати потрібні дії, що відбивають специфіку нащадка. Це і називається поліморфізмом об'єктів.
Поліморфізм ( із грецької) означає багато форм. Поліморфізм можна визначити як властивість об'єктів-родичів по різному здійснювати однотипні дії, тобто однотипні дії у множині родинних об'єктів мають множину різних форм. Тобто метод "Намалювати на екрані" крапку і коло повинен реалізуватися по різному. Визначення об'єктного типу TCircle містить наступні елементи: поля X, Y, Visible, Color, успадковані від батьківського типу TPoint; власне поле Radius; метод TCircle.Create, що ініциалізує поля TCircle. Цей метод перевизначає для типу TCircle успадкований від TPoint метод TPoint.Create. Зверніть увагу, що для ініціалізації полів X, Y, Visible, Color використовується виклик методу TPoint.Create, що успадкований від TPoint у типі TСircle. Треба зазначити, що відмінною рисою мови Turbo Pascal вер-сії 7.0, яка відноситься до механізму спадкування, являється нове зарезервоване слово inherited. Це слово призначене для використання замість імені безпосереднього предка даного об’єкта. Воно використовується для виклику батьківського методу. Тому замість складеного імені успадкованого методу. Tpoint.Create (a, b, col); можна написати inherited Create (a, b, col);
методи TCircle.Show; Circle.Hide і TCircle.Move. Ці методи цілком перевизначають однойменні методи з TPoint (тому що для малювання й пересування кола потрібні інші методи). Так як стандартна процедура малювання кола з модуля Graph також має ім'я Circle, то для її однозначної ідентифікації використовується складене ім'я Graph.Circle; два успадкованих методи GetX, GetY для одержання поточних координат центра кола; власний метод GetR для одержання радіуса кола.У цьому прикладі ми побачили як перевизначають однойменні методи в типах - нащадках. Методи можна перевизначати. А от поля , зазначені в бать-ківському типі, безумовно, успадковуються типом - нащадком і не можуть бути в ньому перевизначені ( тобто імена полів нащадка не повинні збігатися з іменами полів типу-предка). Крім того, новий метод у типі-нащадку може мати зовсім інші параметри, ніж однойменний метод із типу-предка. Методи Create, Show, Move визначені в об'єкті OneCircle, тому їхні виклики однозначно обробляються компілятором. Що стосується методів GetX, GetY, то вони не визначені безпосередньо в типі TCircle, до якого належить об'єкт OneCircle. У такому випадку компілятор, не знайшовши методу, що викликається, переглядає визначення батьківського типу і діє відповідно до даного методу.
8. Клітинні автомати. Модель більярдних куль
КА можно разделить на детерминированные и вероятностные, подвижные и неподвижные, однородные и неоднородные, простые абстрактные и сложные, точно описывающие реальные системы. Кліти́нний автома́т — сукупність, до якої входять: Набір клітинок, які утворюють періодичну решітку. Задані правила переходу, що визначають стан клітини за теперішнім станом самої клітинки та тих її сусідів, що знаходяться від неї на певній відстані, яка не перевищує максимальну. У якості ґратки зазвичай беруть розбиття на куби дво- чи тривимірного простору. Один з найцікавіших прикладів клітинного автомата — гра «Життя».
Основний напрям дослідження клітинних автоматів — алгоритмічна вирішуваність якихось задач. Також розглядаються питання побудови початкових станів, при яких клітинний автомат вирішуватиме задану задачу. Залишається відкритим, наприклад, питання про можливість побудови машини Тюринга у грі «Життя». В бильярдной модели идеально отражающие "зеркала" - поверхности, меняющие направление движения шаров, расположены таким образом, что движение шаров по столу моделирует прохождение битов информации через логические вентили (см. рисунок внизу). Как и раньше, присутствие шара в определенной части "компьютера" интерпретируется как 1, а отсутствие - как 0. Если два шара одновременно достигают логического вентиля, то они сталкиваются, и траектории их движения изменяются; новые траектории представляют при этом выходные данные вентиля. Фредкин, Тоффоли и другие разработали схемы расположения зеркал, соответствующие различным типам логических вентилей, и доказали, что можно построить бильярдную модель любого логического элемента, необходимого для вычислений. Бильярдная модель компьютера: движение бильярдных шаров по поверхности стола моделирует прохождение битов информации через логический вентиль. В бильярдных логических вентилях (слева) траектории шаров изменяются при их столкновениях друг с другом или с "зеркалами". Кроме функций, выполняемых ими в вентилях, зеркала могут менять угол траектории шара (а), сдвигать ее в сторону (b), задерживать шар, не меняя его конечного направления или скорости (с), или заставлять траектории пересекаться (d). Зеркала можно расставить таким образом, чтобы получившийся в результате "компьютер" выполнял функции любого логического устройства. Например, можно построить бильярдный компьютер для распознавания простых чисел. Такой компьютер (справа) на входе принимает произвольное пятизначное двоичное число (в данном случае 01101, или 13) и фиксированную входную последовательность 01. Как и вентиль Фредкина, бильярдный компьютер возвращает больше битов на выходе, чем нужно пользователю. В рассматриваемом случае он возвращает само исходное число (представляющее собой "лишний" выход) и "ответ": последовательность 10, если число на входе простое, и 01, если оно составное.
Способи передачі параметрів процедурам (обов‘язкові, необов’язкові, за посиланням, значенням, невизначена кількість параметрів). Модифікатори доступу та існування. Використання зов
01 10 2014
8 стр.
Мова – запорука існування народу. Захищаючи рідну мову, ти захищаєш свій народ, його гідність, його право на існування, право на майбутнє. Не ухиляйся від цієї боротьби!
23 09 2014
11 стр.
Давайте спочатку введемо кілька понять, які безпосередньо не стосуються нашого курсу, але без них ми не обійдемось. Я маю на увазі такі поняття комбінаторики, як кількість перестан
08 10 2014
1 стр.
Все приходят, чтобы замочить противоположную сторону, выжать из нее что-то, обмануть и уйти. Не всегда это нужно делать. Зачастую можно сделать так, что и вы и партнер получите доб
16 12 2014
1 стр.
Обсяг модуля: загальна кількість годин – 324 (кредитів єктс – 9); аудиторні години – 118
13 09 2014
1 стр.
Замещающий временно отсутствующего ответственного работника, для выполнения соответствующих функций по административным процедурам
13 10 2014
1 стр.
Абсентеїзм (лат abcentia – відсутність) -байдуже ставлення людей до використання своїх політичних прав, ухилення від виконання громадянських обов’язків, передусім від участі у вибо
12 10 2014
3 стр.
Генеральный директор Baumüller Ральф Дитрих подчеркнул: "Это сотрудничество говорит об отменном качестве и производительности продукции Baumüller. Это классическая ситуация win-win
17 12 2014
1 стр.