Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вбудовані функції




Функції в мові Бейсік

У визначенні арифметичного виразу сказано, що, крім чисел і змінних, він може містити функції.

Поняття функції в мові Бейсік схоже до поняття функції в математиці. Іноді функцію визначають як величину: функція — це величина, що залежить від інших величин. Ми ж будемо розуміти функцію як відображення (правило перетворення) однієї чи декількох величин, у результаті якого виходить нова величина

Визначимо функцію одного аргументу.

Функція одного аргументу — це правило, що ставить у відповідність одному значенню аргументу з області його припустимих значень одне значення самої функції. Записується функція одного аргументу так:

Ім’яФункції (АргументФункції)

Ім’яФункції — це ім'я або вже наявної в мові (вбудованої) функції, або функції, визначеною розробником. У першому випадку — це службове слово мови (Хоча формально імена вбудованих функцій не відносяться до ключових слів Visual Basic, у тексті (і в тексті кодів) ми будемо виділяти їх напівжирним шрифтом). В другому випадку ім'я будується за правилами, що нічим не відрізняються від правил побудови імені змінної.

АргументФункції — це число, або змінна, або вираз (арифметичний, рядковий, логічний).

В інформатиці говорять, що функція повертає своє значення, якщо задане значення її аргументу. Це означає, що в системі є спеціальна програма, що обчислює значення цієї функції.

Аналогічно функції одного аргументу можна визначити і функцію декількох аргументів.

Функція декількох аргументів — це правило, що ставить у відповідність до одного набору значень аргументів з області їхніх припустимих значень рівно одне значення самої функції. Синтаксис функції декількох аргументів такий:

Ім’яФункції (СписокАргументівФункції)

Аргументи у СпискуАргументівФункції відокремлюються один від одного комами.

Існують вбудовані функції декількох видів.

Математичні функції. У Visual Basic є набір вбудованих математичних функцій. Найбільш розповсюджені з них такі. Усього математичних функцій 12 — ми представляємо тільки частину з них. З інших ми будемо використовувати ще тільки одну — функцію Rnd, значенням якої є випадкове число. Про цю функцію докладно буде йти мова в 5-й главі.:

Табл. 4.2

Abs(x) — абсолютна величина числа x; Clnt(x) — ціле число, найближче до числа x; Cos(x) — косинус числа x; Fix(x) — ціле число, рівне числу x без дробової частини; Int(x) — найбільше ціле число, що не перевищує x; Sin(x) — синус числа x; Sqr(x) — квадратний корінь з числа x;

Функція CInt формально не вважається математичною, тому що її аргументом може бути не число, а рядок символів. Але ми не будемо розглядати її в такій якості й умовно віднесемо її до розряду математичних функцій.

Де може виникнути потреба в таких екзотичних функціях, як Int( x ) і їй подібних? Приведемо один із прикладів використання цієї функції.

Приклад 4.2. Нехай вирішується така задача. Троє людей спільно заробили визначену суму грошей S і хочуть чесно (порівно) розділити цю суму. Очевидно, що кожний з них повинен одержати суму S1, рівну S/3. Нехай ця елементарна задача — частина більш серйозної задачі, що вирішується на комп'ютері. Буде отримано, наприклад, такий результат: S1 = 233.3333333....

Очевидно, що результат бажано округлити так, щоб він зберігав тільки два знаки після коми (адже мова йде про гривні ($, €, £), а менше сотої частки цих грошових одиниць значення не буває!). При цьому використовується такий прийом:

S2 = Int (Sl * 100)/100,

де S1 — неокруглений результат; S2 — результат із зазначеним округленням.

Фінансові функції. Фінансових функцій у Visual Basic більше десятка. Приведемо приклад тільки однієї з них. Це функція, що вирішує задачу про банківський кредит. Подробиці про цю та ще про дві фінансові функції Ви знайдете в останньому розділі даної глави (розд. 4.4). Її синтаксис наступний:

Pmt(ПроцСтавка, ЧислоПлатежів, СумаКредиту).

Вона повертає розмір разового (наприклад, щомісячного) платежу (зі знаком мінус!), якщо відомі: Процентна Ставка, загальне Число Платежів (наприклад, число місяців) і Сума Кредиту.

Системні функції. До системних функцій відносяться функції, дія яких прямо залежить від роботи системи Windows. До таких функцій відносяться дві, про які ми зараз розповімо. Це:

функція InputBox — для введення даних користувачем через системне вікно;

функція MsgBox — для видачі повідомлень користувачу через системне вікно.

Робота цих функцій супроводжується побічним ефектом — появою на екрані одного з двох вікон: Вікна вводу (InputBox) і Вікна повідомлення (MsgBox).

Функції InputBox і MsgBox дуже зручні. З їхньою допомогою ввід даних користувачем у процесі роботи додатка, а також видача програмою різних повідомлень користувачу стають природними і приємними.

Розглянемо їх синтаксис і дію більш докладно. Функція Вікно введення (InputBox). Синтаксис функції наступний:

InputBox(Запрошення [, Заголовок ] [, Поч.Значення])

У цієї функції можуть бути й інші аргументи, але ми даємо спрощений варіант синтаксису, що використовується в більшості випадків.

Запрошення — це будь-який текст, який повинен, за задумом розробника, знаходитися у Вікні введення. Його призначення — служити підказкою користувачу, яку інформацію він повинен ввести в спеціальне поле введення, що знаходиться в цьому вікні.

Необов'язковий аргумент Заголовок — це напис у рядку заголовка Вікна введення.

ПочЗначення — це значення, що буде введено автоматично (за замовчуванням) — якщо користувач буде з цим згодний.

Значенням даної функції, що повертається, є інформація, яке вводиться користувачем. Visual Basic автоматично приписує цій інформації тип String.

Приклад 4.3. Нехай екранна форма Вашого додатка містить три текстових поля і командну кнопку ПУСК. Після кліку по цій кнопці повинне з'явитися Вікно введення для введення прізвища користувача. Після вводу свого прізвища користувач повинен клацнути кнопку OK на цьому вікні, після чого повинне з'явитися друге Вікно введення для введення імені користувача. Ввівши своє ім'я і клацнувши кнопку OK, користувач побачить нове (третє) Вікно введення — для введення по батькові. (Послідовність появи всіх трьох Вікон введення показана на мал. 4.1.)

Мал. 4.1. Вікна вводу прізвища, імені, по батькові

Після введення даних усі три текстові поля будуть заповнені. Екранна форма додатка набуде вигляду, показаного на мал 4.2.

Мал. 4.2. Екранна форма після вводу даних у текстові поля Вікон вводу

Програмний код для даного додатка наступний:

Код 4.2

У загальному випадку дія функції InputBox така:

У програмі дана функція може входити до складу будь-якого виразу, значення якого привласнюється якій-небудь змінній. У найпростішому і розповсюдженому випадку змінній просто привласнюється значення цієї функції (як, наприклад, у програмному коді 4.2).

Як тільки справа доходить до оператора присвоювання змінній значення цієї функції, на екрані з'являється Вікно вводу. Після щиглика користувачем кнопки OK відбувається це присвоювання, і Вікно введення зникає.

Як змусити Вікно введення з'являтися знову і знову для введення великого числа значень, Ви довідаєтеся в гл. 7.

Функція Вікно повідомлення (MsgBox). Синтаксис функції наступний (У цієї функції можуть бути й інші аргументи, але ми даємо спрощений варіант синтаксису, що використовується в більшості випадків):

MsgBox(Teкст[, Опція ] [, Заголовок])

Це традиційна форма синтаксису, коли функція повертає значення, що потім якось використовується (наприклад, привласнюється змінній).

Але є й інша, більш проста і частіше застосовувана форма синтаксису, коли функція не повертає ніякого значення, а діє просто як оператор — видає інформацію у Вікні повідомлення. У цьому випадку в записі функції відсутні дужки:

MsgBoxTeкст[, Опція ] [, Заголовок]

Текст — це рядок повідомлення, заради одержання якого дана функція і застосовується. Текст може містити до 1024 символів! (Для того щоб цей текст видавався не суцільним довгим рядком, його можна розбити на невеликі «порції», між якими вставляються спеціальні «невидимі» символи — переносу і повернення до лівого краю сторінки). Як це зробити, розказано в розд. 4.4, де мова йде про такі функції обробки рядків як Asc, Chr і інших.

Крім повідомлення користувачу, Вікно повідомлення може містити і додаткову інформацію. Вона задається значенням аргументу Опція. Цим аргументом є ціле число, що може бути представлене як сума двох доданків: Op= Op 1 + Op 2.

Значення Opl визначає вид повідомлення і піктограму, що міститься, у Вікні повідомлення.

Таких піктограм чотири. Вони відповідають чотирьом видам повідомлень (табл. 4.3)

Табл. 4.3
Значення Ор 1 Вид повідомлення Піктограма
  Критичне повідомлення
  Питання
  Попередження
  Інформація

Значення Op 2 визначає набір кнопок у Вікні повідомлення (табл. 4.4).

Табл. 4.4

Значення Ор2 Набір кнопок
  ОК
  ОК, Скасувати
  Стоп, Повтор, Пропустити
  Так, Ні, Скасувати
  Так, Ні
  Повтор, Скасувати

Ви легко можете переконатися в тім, що для будь-якої комбінації Op l і Op 2 їхня сума буде унікальною! Іншими словами, за допомогою одного числа Ви можете встановити і певну піктограму, і певну комбінацію кнопок.

Мал. 4.3. Приклади Вікон Повідомлення для різних значень аргументу Опція (17, 36, 50, 64 – ліворуч праворуч, зверху вниз)

На мал.4.3. приведені приклади Вікон повідомлення для різних значень аргументу Опція.

Дія функції MsgBox така: коли доходить черга до її виконання, на екрані з'являється Вікно повідомлення. Якщо використовується бездужкова форма синтаксису, натискання однієї з кнопок на цьому вікні просто завершує роботу функції. А якщо використовується форма з дужками, то значення функції привласнюється якій-небудь змінній.

Значення, що повертається - це ціле число від 1 до 7. Воно залежить від того, яка з кнопок Вікна повідомлення натиснута (табл. 4.5).

Табл. 4.4
Значення, що повертається Кнопка
  ОК
  Скасування
  Стоп
  Повтор
  Пропустити
  Так
  Немає

Приклади використання функцій InputBox і MsgBox будуть приведені в наступних главах (наприклад, у розд. 6.4 і 7.5).




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 1039; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.