Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Програмування




Вправи

Питання для роздумів

Як Ви думаєте, які з об'єктів, поміщених на екранну форму в розглянутому прикладі, є обов'язковими, а які необов'язковими (надлишковими)?

Як Ви думаєте, для чого потрібна сітка з крапок на екранній формі? (У працюючому додатку цієї сітки не буде.)

Чим відрізняється зміст властивостей Left і Тор екранної форми від змісту цих же властивостей об'єктів на екранній формі?

Які два способи зміни розмірів і положення об'єкта на екранній формі можна використовувати для їх виправлення (корекції)?

Внесіть зміни в інтерфейс додатка “Площа стін кімнати” так, щоб цей додаток міг вирішити задачу 1-го питання до розділу 2.1.

Tе ж саме для 2-го питання до розділу 2.1.

Tе ж саме для 3-го питання до розділу 2.1.

Розробіть інтерфейс додатка “Периметр і площа трикутника”. (Площу трикутника, як і його периметр, можна знайти, знаючи тільки довжину кожної з його сторін.) Не забудьте про зображення трикутника!

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

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

Алгоритм рішення задачі обчислення площі стін кімнати дуже простий:

Ввести три числа: А, В і H — довжину, ширину і висоту.

Знайти площу однієї стіни: S1 = A * H.

Знайти площу іншої стіни: S2 = В * H.

Подвоїти суму цих площ: S = 2 * (S1 + S2).

Вивести результат: число S — площа всіх 4-х стін.

Пункти 2, 3 і 4 алгоритми можна, мабуть, об'єднати: S = 2 * (A + B) * H. (Ви, звичайно, здогадалися, що знак * у програмуванні — це знак множення.)

Для написання програмного коду і прив'язки його до визначеної події необхідно розкрити Вікно програмного коду (якщо його ще немає на Головній панелі). Вікно Code, робота якого докладно розглянута в розд. П 2.4. Зробити це можна, вибравши команду меню View.

Мал. 2.10. Вікно програмного коду знову створюваного проекту

У верхній частині цього вікна (мал. 2.10) є два рядки списків, що розкриваються (але ще не розкриті): списку вже створених Об'єктів (лівий рядок) і списку ще не існуючих Процедур (правий рядок).

У розд. 1.5 ми вже згадували термін процедура, а тепер трішки уточнимо.

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

Розкривши список Об'єктів, Ви одержуєте можливість побачити ідентифікатори всіх створених Вами об'єктів на екранній формі (Висота, Довжина, КоманднаКнопка, Мітка1, Мітка2,..., Мітка6, Площа, Креслення, Ширина), a також покажчик на саму екранну форму (Form). Крім об'єктів у цьому списку є й особливий елемент (General) — загальна частина програми, що відноситься до всіх об'єктів відразу.

Знайдіть у цьому списку ідентифікатор того об'єкта, для якого Ви збираєтеся створювати процедуру — це КоманднаКнопка. Клацніть по ньому мишею. Тепер розкриється правий список (список Процедур), що буде містити всі можливі події для цього об'єкта. А в самому вікні програмного коду з'явиться при цьому заготовка для Вашого програмного коду — перший і останній рядки процедури для найбільше розповсюдженої події Click, що відноситься до об'єкта Командна кнопка (мал. 2.11).

Мал. 2.11. Вікно програмного коду з розкритим списком Процедур і заготовкою процедури для події Click

Процедура називається КоманднаКнопка_Click. У цій назві присутнє ім'я об'єкта, що привласнили йому Ви, і слово Clickклац. Але назву процедури придумуєте не Ви, a Visual Basic.

Перший рядок програми починається зі слів Private Sub, а закінчується програма словами End Sub; це службові слова мови Бейсік, в посібнику ми завжди будемо виділяти їх напівжирним шрифтом. Visual Basic у вікні програмного коду теж виділяє ці слова — синім кольором.

Службові слова мови називають також ключовими словами — про них ми розповімо більш докладно в розд. 3.1 нашого посібника. А зміст ключових слів Sub (процедура) і Private (приватний, локальний) пояснюється в розд. 6.4 під час обговорення приклада 6.10.

Між зазначеними двома рядками заготовки помістіть рядки програмного коду (за допомогою клавіатури Вашого комп'ютера).

Програмний код будемо записувати таким способом:

Код 2.1

Private SubКоманднаКнопка_Click() A = Val(Довжина.Text) B = Val(Ширина.Text) H = Val(Висота.Text) S = 2 * (A + B) * H Площа.Text = Str(S) End Sub

Прокоментуємо цей запис.

Послідовність рядків коду (зверху вниз) відповідає послідовним крокам алгоритму рішення даної задачі. Знак = у мові Бейсік найчастіше означає присвоювання змінній визначеного значення. Поняття змінна, значення змінної і присвоювання будуть розглянуті в наступній главі (див. розд. 3.1 і 3.3). Знаки * і + означають операції множення і додавання. Вираз Довжина.Text означає значення властивості Text об'єкта Довжина. (Аналогічно позначаються значення цієї властивості інших об'єктів — Ширина, Висота і Площа.)

Запис Val (X) означає, що значення змінної X перетвориться з рядка символів у число, а запис Str (X) означає, що значення змінної X перетвориться з числа в рядок символів. Докладно мова про такі перетворення (функціях Visual Basic) буде йти мова у главі 4 (див. розд. 4.4).

Після того, як текст процедури введений Вами між двома рядками заготовки і система Visual Basic сприйняла цей текст (не видала Вам ніяких попереджень про синтаксичні помилки), Ви можете запустити Вашу програму. Докладно про помилки в програмі і про їхнє виправлення розповідається у розд. П 4.2.

Запускати програму можна різними способами:

за допомогою опції Run і команди Start Головної панелі проекту;

за допомогою кнопки (Start) панелі інструментів тієї ж панелі;

за допомогою клавіші F5 клавіатури.

На мал. 2.3 показане вікно працюючого додатка після того, як користувач увів вихідні дані, а потім клацнув мишею командну кнопку, — спрацювала процедура КоманднаКнопка_Click() і в полі Площа з'явився результат.

Завершити роботу програми (закрити вікно додатка) можна теж по-різному, наприклад:

за допомогою кнопки (End) на панелі інструментів;

за допомогою стандартного елемента Windows — системної кнопки закриття вікна у правому верхньому куті вікна додатка.

 

Hові поняття:

Вікно програмного коду, службове (ключове) слово, запуск програми, завершення роботи програми.




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


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


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



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




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