Оглядові запитання

1. Що прийнято називати алгоритмами?

2. Що називається абстрактним алфавітом?

3. Що називається алфавітним оператором або алфавітним відображенням φ?

4. Що розуміють під алфавітним оператором?

5. Яки типи алфавітних операторів Вам відомі?

6. Які алфавітні оператори називаються алгоритмами?

7. Які алгоритми еквівалентні між собою?

8. Що містить у собі алгоритмічна система?

9. Для чого слугують елементарні оператори та розпізнавачі?

10. Чим характеризуються граф-схема?

11. Коли вважають що алгоритм застосуємо до слова ρ?

12. Які назвемо алгоритми узагальненими нормальними алгоритмами?

13. Що таке принцип нормалізації?

14. Які алгоритми називають алгоритми, що ре конфігуруються?

15. З яких алгоритмів складаються системи алгоритмів?

16. Характер зміни, що внесений навчальним алгоритмом?

17. Яке значення має автоматизації процесів творчості?


• ЛЕКЦІЯ 6. ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ ПК

• 1. ОРГАНІЗАЦІЯ ОБЧИСЛЮВАЛЬНОГО ПРОЦЕСУ В ПК

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

• Організація обчислювального процесу в ПК складається з того, що з програми, що розташована в пам’яті машини, зчитується перша команда. Ця команда записується в регістр команд мікропроцесора і разом з системою синхронізації в керуючому пристрої виробляє мікрокоманди. По закінченню виконання мікрокоманд команди, тобто по закінченню виконання команди, починається зчитування наступної команди програми.

• Комп’ютерна програма (computer program) є записом алгоритму розв’язання задачі у вигляді послідовності команд або операторів мови програмування, яку розуміє ПК.

• Стосовно роботи на ПК використовується термін “програмний засіб”.

• Програмний засіб — це програма або сукупність програм на носієві даних із програмною документацією, розроблених відповідно до стандартів та інших нормативних документів, придатних для використання за своїм призначенням.

• Програмне забезпечення (software) — це сукупність програм, процедур і правил, а також документації, що стосуються функціонування системи оброблення даних.

• 2. КЛАСИФІКАЦІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

• Програмне забезпечення (ПЗ) ПК поділяють на такі основні класи:

• Операційні системи та сервісні програми.

• Інструментальні мови і системи програмування.

• Прикладні програми.

3. ОПЕРАЦІЙНІ СИСТЕМИ І СЕРВІСНІ ПРОГРАМИ

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

• Операційна система (ОС) виконує такі основні функції:

1. керування пам’яттю;

2. введення-виведення інформації;

3. керування файловою системою;

4. керування взаємодією процесів;

5. керування диспетчеризацією процесів;

6. керування захистом інформації;

7. керування обліком використання ресурсів;

8. оброблення командної мови;

9. виявлення різних моментів, що виникають у процесі роботи, і відповідної реакції на них.

• Ядро ОС доповнюється набором сервісних програм.

• Зараз найбільшого поширення набули такі ОС: MS DOS, Windows, Unix, OS/2 тощо.

4. ІНСТРУМЕНТАЛЬНІ МОВИ І СИСТЕМИ ПРОГРАМУВАННЯ

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

• До мов низького рівня належать Асемблер (Assembler), а високого –Visual Basic, C++, Delphi, мови баз даних тощо.

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

• Систему програмування крім трансляторів складають текстовий редактор, компонуваль-ник, виконавча система, бібліотека стандартних програм, налагоджувач, засоби автоматизації програмування (дизайнери, майстри). Прикладами таких систем є Visual Basic, C++, Delphi, Access та інші.

• 5. ПРИКЛАДНІ СИСТЕМИ

• Ці системи призначені для розв’язання задачі чи класу задач або надання користувачеві певних послуг. Завдяки прикладним системам розв’язувати свої професійні задачі можуть навіть користувачі ПК, які не вміють програмувати. Ще використовується термін “пакети прикладних програм” (ППП). ППП поділяються на:

1. методо-орієнтовані, які використовуються для реалізації певних методів розв’язання завдань (наприклад, оброблення статистичних даних, розв’язання оптимізаційних задач тощо);

2. проблемно-орієнтовані, які призначені для автоматизації конкретних видів діяльності (наприклад, бухгалтерського обліку, маркетингу, менеджменту тощо);

3. загального призначення, які використовуються для оброблення інформації в різних сферах діяльності. До таких пакетів належать текстові редактори, електронні таблиці (ЕТ), пакети ділової графіки тощо.

• Наведена класифікація прикладних систем не є єдино можливою. Наприклад, для Windows усе програмне забезпечення поділяється на саму ОС й решту програм, які називаються додатками (application). До них належать інструментальні мови, системи програмування, прикладні програми тощо.

• 6. Розробка додатків

6.1. ЗАГАЛЬНІ ВІДОМОСТІ

Еволюція мов програмування, з часу появи перших комп’ютерів, була дуже драматичною. Спочатку програмісти працювали з обмеженим наборів команд в машинному коді. Команди складалися з довгих рядків 0 і 1. Потім була розроблена символьна мова Асемблер, яка перетворила машині команди у більш зрозумілі для людини інструкції (наприклад, ADD (додавати) або MOV (пересувати)). З появою мов високого рівня, таких як BASIC, COBOL і інші, з’явилась можливість програмувати логічні конструкції із слів та речень. Ці команди перекладалися на машинний код інтерпретаторами або компіляторами.

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

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

Повне з’ясування проблеми (аналізу) і розробки рішення (проектування) – абсолют- но необхідні умови для створення комерційного додатку професійного рівня.

• Розділення на системне і прикладне програмне забезпечення вперше було застосовано в 1968 р. у проекті IBM OS/360. Системне програмне забезпечення призначено для забезпечення роботи пристроїв комп’ютера (комп’ютерів) і для забезпечення прикладних програм. Прикладні програми – для розв’язання визначених задач і отримання конкретних результатів. Різниця між ними складається не тільки у застосуванні програм, але і як вони розробляються.

• У сьогоднішній час у комп’ютерній спілці найчастіше застосовують термін “вертикальні” та “горизонтальні” або “замовлені” та “коробкові” додатки. У першому випадку розуміють додатки, що зроблені як заказані, а в іншому – додатки, що орієнтовані на широкого споживача.

• Офісні програми працюють з даними, що отримують інформацію з реального світу, яка використовується у діловодстві і має форму документа. Важливою рисою додатків є їх масштаб. Масштаб додатка – це якісна оцінка розміру додатка з точки зору його використання: настільні (desktop), групові (groupware), масштаб підприєм-ства (enterprise).

Настільні додатки, як правило, мають одного виконавця, виконуються на одному комп’ютері і працюють автономно, без мережі. Групові додатки мають декілька виконавців, які працюють з додатком окремо або одночасно, але усі вони належать до однієї групи або категорії виконавців. Додаток масштабу підприємства має значну кількість виконавців, що належать різним категоріям, виконують декілька різних функцій, що зв’язані між собою, і працюють у локальній, регіональній або глобальній мережі. Кожний наступний рівень масштабу збільшує обсяг інформації, що обробляється, майже на порядок.

6.2. ОФІСНІ ДОДАТКИ

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

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

1. Додаток пакета можна застосовувати без налагодження.

2. Додаток пакета можна застосовувати з налагодженням, але без програмування.

3. Додаток Microsoft Office є потужним засобом розробки офісних додатків, залишаючись у той же час самими офісними додатками.

Використовуючи додатки Microsoft Office (Word, Excel, Access, PowerPoint і таке інше), розглянемо деякі офісні засоби розробки.

Широко використовуються текстові редактори, такі як: Блокнот, WordPad, Word 2007. Додаток Word 2007 та Word 2010 є сучасні текстові процесори, які мають широкі сучасні можливості на сучасних ПК.

Широко використовуються системи управління базами даних (СУБД. Вони підтримують у той чи іншій формі чотири основні операції:

1. Додати у базу один або декілька записів;

2. Вилучити з бази даних один або декілька записів;

3. Знайти у базі даних один або декілька записів, що задовольняють критеріям;

4. Оновити у базі даних значення деяких полів в одному або декількох записів.

• Більшість СУБД підтримує ще зв’язки між різними наборами даних, що входять до бази. Коли зв’язки встановлюються неявним чином, то такі СУБД називаються реляційними. Набір даних зручно подавати у вигляді таблиці, де поля – це стовпці у таблиці, що мають ім’я та визначений тип даних, а рядки – це записи, що зображають дані одного об’єкта. Програми для СУБД найчастіше називають запитами. Результатом виконання запиту є або певна множина записів, коли запит заснований на операції “знайти”, або зміни інформації у базі, коли запит заснований на операціях “додати”, “вилучити” або “оновити”. У СУБД Access 2007-2010 є розвинений інтерфейс, що дозволяє його використовувати як офісний додаток для роботи з даними. При формулюванні запитів можна використовувати три альтернативи запитів: запит за зразком, стандартна мова SQL для запитів, та майстр запитів, який дозволяє зробити запит, заповнюючи поля у послідовності діалогових вікон.

Електронні таблиці Excel 2007-2010 складаються з листів, кожен з яких у свою чергу складається з комірок, що розташовані на перехресті стовпчика і рядка. Ім’я стовпчика і рядка у сукупності однозначно ідентифікують адресу комірки (наприклад, А!, В5, D71).

• Excel акумулює усе найкраще, що відомо у цій області. Excel має таки засоби:

1. Формули масиву, що дозволяють маніпулювати з цілими масивами даних і отримуючи у результаті теж масиви;

2. Трьохвимірні формули, що дозволяють маніпулювати з трьохвимірні масивами;

3. Надбудови, такі як: Поиск решения або Пакет анализа;

4. Зведені таблиці, які є засобом компактного подання об’ємних даних.

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

1. Діаграми, що побудовані за числовими даними;

2. Схеми, які зображують структуру і взаємозв’язок у системі об’єктів, що взаємодіють;

3. Презентації, що супроводжують і ілюструють мову докладу.

Комп’ютерні мережі в сучасних умовах увійшли до числа офісних додатків.

6.3. ОСОБЛИВОСТІ РОЗРОБКИ ТЕХНІЧНОГО ЗАВДАННЯ

У офісного додатка є замовник, з яким з’ясується постановка задачі, на основі якої розробляється технічне завдання (ТЗ). Розробник повинен приймати до уваги зауваження усіх зацікавлених осіб:

1. Те, шо пропонує він сам;

2. Те, що пропонує замовник;

3. Те, що відображає об’єктивну потребу замовника.

Ці три тлумачення ТЗ, як доводить практика, не співпадають. Застосування спеціальних засобів (типу мови моделювання UML) знижує ризик розходження у тлумачені ТЗ. Це приводить до того, що ТЗ у процесі розробки може змінюватися повністю або частково. Нормальним є зміни ТЗ у формі конкретизації, деталізації і доповнення. Ні розробник, ні замовник не повинні бути категоричними, а повинні знаходити взаєморозуміння при уточненні ТЗ.


ЛЕКЦІЯ 7. ТЕХНОЛОГІЯ ПОБУДОВИ БЛОК-СХЕМ АЛГОРИТМІВ

1. БЛОК-СХЕМИ ЛІНІЙНИХ ПРОЦЕСІВ

• Технологію побудови блок-схем алгоритмі будемо розглядати на конкретних прикладах.

• В алгоритмі лінійної структури використовуються такі блоки:

1. Початок (пуск).

2. Введення даних

3. Обчислювальний процес.

4. Виведення результатів обчислень.

5. Кінець (зупинка).

Приклад побудови блок-схеми алгоритму обчислення площі трикутника, якщо відомі значення його сторін:

Мовою людини це виглядає так:

1. Спочатку визначаємо напівперіметр за формулою

P=(A+B+C)/ 2

2. За формулою Герона обчислюємо площу трикутника:

S = (P*(P-A)*(P-B)*(P-C)) ½

Цей етап осмислення алгоритму на рідній мові найбільш вагомий, тому що стає зрозуміло шляхи розв’язання задачі і побудова блок-схеми.

Після з’ясування алгоритму на рідній мові розробляється алгоритм з застосуванням відповідних графічних символів: овал, паралелограм, прямокутник тощо.

2. РАЗГОЛУЖЕНІ ОБЧИСЛЮВАЛЬНІ ПРОЦЕСИ

При розв’язанні задач іноді є потреба виконати ту чи іншу формулу. Алгоритм, що має вибір діяти по одному шляху або по іншому, називається розгалуженням. Умова розгалуження записується у вигляді логічних відношень або логічного виразу.

Розглянемо розробку блок-схеми алгоритму наприкладі обчислення формульних виразів:

ax- b, коли х> 8;

1) Y = де a=2,5; b=6,7; x=7.

ax + b, коли x < 8,

ax- b, коли х > 8;

2) Y = ax*b, коли х = 8 де a=2,5; b=6,7; x=7.

ax + b, коли x < 8.

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


3. ІТЕРАЦІЙНІ ЦИКЛІЧНІ ПРОЦЕСИ

• Алгоритм циклічної структури в загальному вигляді повинен містити:

1. Підготовку до циклу – присвоєння початкових значень змінних цпклу перед його виконанням;

2. Умову циклу – перевірку умови продовження або закінчення циклу;

3. Тіло циклу – дії, що повторюються у циклі для різних значень параметру циклу;

4. Обчислення параметрів циклу перед кожним новим його повторенням.

Цикли розглядаються з відомим числом повторень (регулярні або арифметичні) та з невідомим числом повторень (рекурсивні).

Арифметичні цикли мають назву – цикл з лічильником. Організація такої циклічної структури у вигляді блок-схеми відображена на рис. 4. Число повторень тіла циклу підраховується за допомогою змінної циклу, для якої відомі початкове та кінцеве значення та крок її зміни. Керування циклом здійснюється доти, поки поточне значення лічильника не перевішує кінцевого значення змінної циклу.

При організації циклічних процесів використовуються рекурсивні вирази, які описують будь-який член послідовності чисел. Таким прикладом можуть бути числа Фібоначчі, де перші два члена рівні 1, а наступні обчислюються за формулою: число i визначається як сума двох попередніх чисел. Така формула називається рекурсивною. Вхідними даними для кожного наступного кроку є результати попереднього.

Структурна блок-схема алгоритму визначення чисел Фібоначчі, в якому останнє число не перевищує 100, представляє обчислювальний рекурсивний процес з невідомим числом повторень (рис. 5).

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

с

Алгоритм мовою людини має такий вигляд:

1. Введення даних Х і k (X = 1; K = 10^(-4));

2. Задаються вхідні значення номера обчислювального ряду (у даному випадку N=1, S=1 – обчислення починається з другого члена ряду, тому що перший член ряду дорівнює 1, і його неможливо обчислити за даною формулою);

3. Перевіряється умова Y > k, коли “так”, то йдемо на виведення результату, а коли “ні”, то йдемо у цикл для обчислення члену ряду;

4. Обчислюється член ряду Y = X^N/N;

5. Накопичується сума ряду S = S + Y;

6. Змінюється значення N на 1 (N = N + 1) и йдемо на початок циклу.

Структурна блок-схема алгоритму має вигляд, що зображений на рис. 6.

1. Для початківців, насамперед, важливо скласти алгоритм мовою людини, щоб чітко розуміти, що дано, що і як треба обчислити (тобто скласти самостійно алгоритм), а потім вивести результат.

2. Скласти структурну блок-схему з урахуванням графічної мови для блок-сзем.

3. Скласти алгоритм мовою програмування (наприклад, мовою VISUAL BASIC 6.0 (VB) або мовою Visual Basic for Application (VBA)).

4. Виконати програму на ПК і, коли це треба, налагодити її. 90% часу витрачається на налагодження складних програм.

5. Скласти звіт і здати викладачу.

Примітка: “ Золоте правило програмісташукай помилку у себе!”

Не сумуйте, коли щось йде не так, як бажалось!

“ Шляхи осилить той хто йде! “

Розглянемо деякі приклади, котрі даються новачку з великою потугою для розуміння при складанні структурної блок - схеми алгоритму.

Приклад 1.

У цьому прикладі треба формувати такі блоки структурної блок-схеми, що відображена на рис. 6.

3. Блок підготовки до першого циклу – S = 1: p = 3: R = 2: k =10^(-3)

5. Тіло циклу -

6. Зміна значень змінних – p = p + 2: R = R + 2

Приклад 2. складання структурної блок - схеми алгоритму за формулою:

У цьому випадку можна відкрити дужки, а потім складати алгоритм аналогічно як це робиться у прикладі 1. Але треба врахувати зміну знаку! Для цього у тілі циклу (п. 5) треба обчислити величину, яку ми додаємо до суми (S), і помножити на змінну d, котрій у блоку 3 треба присвоїти значення d = - 1, а у блоку 6 змінити значення цієї змінної на 1 (d = (-1)* d), тобто зміна d буде через раз змінювати своє значення

Рекомендується усім студентам самостійно зробити структурні блок-схеми для приклада 1 та 2, щоб краще засвоїти матеріал. Викладач бажає Вам успіхів!


• ЛЕКЦІЯ 8. БЛОК-СХЕМИ ВКЛАДЕНИХ ЦИКЛІЧНИХ ПРОЦЕСІВ

1. ОБЧИСЛЕННЯ ВКЛАДЕНИХ ЦИКЛІЧНИХ ПРОЦЕСІВ

• Цикли можуть складатися з одного або декілька циклів. Цикл, що містить інші цикли, зветься зовнішнім, а цикл, що знаходиться в серединні зовнішнього циклу – внутрішнім. Глибина вкладеності не обмежена при розробці структурних блок схем алгоритмів. Область дії внутрішнього циклу не повина виходити за межі зовнішнього циклу.

• Розглянемо приклад створення структурної блок- схеми алгоритму для обчислення функції (рис. 1):

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

• Розглянемо деякі характерні приклади для побудови структурних блок-схем вкладених циклічних процесів.

• Приклад 1. Створити структурну блок-схем алгоритму, щоб обчислити кількість циклів зроблених у заданій формулі (рис. 2):

• 2. Алгоритми одновимірних масивів

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

• Алгоритм обробки масивів складається з наступних етапів:

1. Об’ява типу даних;

2. Опис даних;

3. Введення даних масиву;

4. Обробка даних масиву;

5. Виведення даних результатів обробки.

Для починаючих програмістів рекомендується кожну дію в розробці елементів масиву обробляти в окремому циклі. Це дозволяє більш ґрунтовно засвоїти типові операції, які достатньо просто зрозумілі. Однак, при складані алгоритмів обробки масивів інколи більш зручно деякі прості операції обробляти в одному циклі, що скорочує обсяг блок-схем і створювати програми більш швидкими.

Одновимірний масив позначається будь-якою літерою і в дужках індексом. Наприклад, А(І).

Кількість елементів в масиві визначається від нуля до значення максимального індексу. Елемент масиву визначається назвою масиву (літерою) і числом, що визначає розташування елемента в масиві. Наприклад, елемент масиву А(28).

Розглянемо створення блок-схеми алгоритму оброблення одновимірного масиву відповідно до заданого варіанта.

• Задача 1. Вивести на друк усі трьохзначні натуральні числа, сума квадратів цифр яких дорівнює цьому цілому трьохзначному числу.

• Розглянемо алгоритм на рідній мові.

• І-й варіант.

1. Спочатку створюємо цикл зі змінною І, котра має значення від 100 до 999;

2. Трьохзначне число розкладаємо на розряди а, b і с, де І = а *100 + b* 10 +c;

3. Робимо перевірку:

• Коли умова хибна, то йдемо на початок циклу;

• Коли умова істинна, то робимо виведення змінної i, а потім йдемо на початок циклу;

4. При закінченні циклу йдемо на кінець.

ІІ-й варіант.

1. Створюємо ієрархію із трьох циклів А, В, і С, де змінна А має значення від 1 до 9, а змінні В і С мають значення від 0 до 9;

2. У внутрішньому циклі С формуємо число І, де І = А *100 + В* 10 +С;

3. Потім робимо перевірку:

• Коли умова хибна, то йдемо на початок циклу С;

• Коли умова істинна, то робимо виведення змінної I, а потім йдемо на початок циклу C;

4. При закінченні усіх циклів йдемо на кінець із циклу А

Примітка. Як будувати структурну блок-схему алгоритму з ієрархією із трьох циклів, треба подивитися рис. 2.

• І-варіант (рис. 3) ІІ- варіант (рис. 4)

• 3. Алгоритми двовимірних масивів

• Двовимірний масив характеризується тим, що має два індекси, наприклад, A(I, J).

• Перший індекс I вказує на рядок матриці, а другий J – на стовпчик матриці. Нумерація індексів починається з нуля. Кількість елементів двовимірного масиву визначається добутком індексів рядків та стовпчиків. Наприклад, масив А(10, 10) має 121 елемент, тому що кожний індекс починається з нульового індексу (11*11 = 121).

• При обробці та введенні чисел двовимірного масиву порядок зовнішнього та внутрішнього циклів I та J визначається умовами розв’язання задачі.

• Розглянемо приклад визначення кількості від’ємних елементів масиву А(5, 7).

• Алгоритм мовою людини має такий вигляд:

1. Введення елементів масиву;

2. Визначення кількості від’ємних елементів масиву та вивести їх на друк;

3. Зробити аналіз, чи нема від’ємних елементів;

4. Закінчити обчислення алгоритму.

Побудуємо структурну блок-схему алгоритму таким чином: спочатку зробимо введення даних двовимірного масиву, який ми вже розглядали і знаємо, потім визначимо кількості від’ємних елементів масиву та виведемо їх на друк; потім зробимо аналіз, чи нема від’ємних елементів, та виведемо повідомлення коли їх немає; і закінчимо алгоритм.

Структурна блок-схема алгоритму виведення від’ємних елементів зображена на рис. 5.

4. Задачі для створення блок–схем алгоритмів

• І. Для лінійних процесів.

1. Дані сторони трикутника a, b, c. Визначити радіус вписаної кулі.

2. Дані два числа А та B. Треба поміняти їх місцями.

ІІ. Для розгалужених процесів.

1. Створити блок-схему алгоритму обчислення процесу за формулою:

2. Поміняти місцями два числа і визначити найбільше із них.

ІІІ. Для циклічних процесів.

1. Вивести на друк усі перестановки з чотирьох елементів:A, B, C, D.

2. Зрівняти суми перших 8 елементів і останніх 8 елементів масиву A(50).

IV. Для двовимірних масивів.

1. Задано масив А(5, 5). Записати у масив В(10) спочатку елементи головної, а потім другорядної діагоналі. Отриманий результат вивести на друк.

2. Визначити, чи є масив А(5, 5) магічним квадратом, у якого суми рядків, стовпців та окремі суми діагоналей однакові.


ЛЕКЦІЯ 9. ВВЕДЕННЯ У VISUAL BASIC 6.0

1. Загальні питання про Visual Basic 6.0.

2. Робоче місце розробника.

3. Код - це команди комп’ютера

4. Орієнтація на події.

5. Об’єкти.

6. Процедури та функції

7. Проект.

ЛІТЕРАТУРА

1. Райтингер М., Муч Г. Visual Basic 6.0: повний підручник. - К.: BHV, 1999. – 728 с.

2. Мараховський Л.Ф., Міхно Н.Л. Комп ’ютерна техніка та програмування. В 2 т.: Навч. Посіб. – К.: КУЕТТ, 2007. – 214 с.

1. Загальні питання про Visual Basic 6.0.

У VB реалізований візуальний стиль програмування. При цьому розв’язання задачі починається зі створення візуального середовища, а лише потім можна вводити перший рядок коду програми. Додаток VB працює як інтерпретатор. у якому кожний введений рядок коду перетворюється в проміжний код комп’ютера. і як компілятор може створювати машинний код файлу командою File/Make***.exe

2. Робоче місце розробника.

Запуск VB починається з Пуск/Программы /Microsoft Excel/Alt+F11. Спочатку з’являється додаток Microsoft Excel (рис.1), а потім Visual Basic 6.0. (рис. 2). У вікні Visual Basic містяться декілька вікон:

§ вікно форми – це контейнер для елементів керування (ЕК). Є можливість натиснути на кнопку керування у вікні ToolBox і у вікні User Form1 з’явиться ЕК (рис.3).

§ вікно властивостей Properties – задає властивості визначеного ЕК. Список властивостей складається з двох стовбців: у правому перелічені назви властивостей, а у лівому – їх значення (рис. 2).

§ вікно проекту відображає усі елементи програми: форми, модулі, класи і т.п.

У VB всі розроблені додатки мають назву проектами. Вони будуються за модульним принципом і тому об’ектний код складається з декілька частин. Декілько додатків можуть складатися у групи. Щоб зберегти існуючий елемент (форму, модуль та ін.) треба відокремити його у списку вікна проекту и виконати команду File/Save або File/Save As. Для запису усього проекту треба виконати команду File/Save Project або File/Save Project As. Щоб додати в проект новий елемент треба виконати команду Project /Add, а для вилучення елемента – команду меню Project /Remove. Усі ці елементи зберігаються як окремі та незалежні файли.

       
 
   
 


3. Код - це команди комп’ютера

Вікно коду відкривається подвійним клацанням на елементі керування у формі (рис. 3). Над вертикальною смугою знаходиться маленьке поле, котре можна пересувати у низ для поділення вікна на дві частини. Це дає можливість працювати в одному вікні з двома різними процедурами. Розділ вікна відміняється, коли роздільну лінію перемістити у самий край вікна. Кількість рядків коду не повинно перевищувати 65 534.

У кожному рядку коду розміщується оператор, котрий може мати додаткові параметри. Наприклад: Print “Hello” (Print – оператор, вираз “Hello” – параметр). А = 1 (= - оператор, а А та 1 – параметри). Коли код некоректне, то VB видає повідомлення про помилку. VB для багатьох процедур та функцій відображає підказку по синтаксису (Tooltip). Рядок коду в VB може містити до1023 символів і не більш 10 роздільників. Роздільником рядків є пробіл, котрий слідує за символом підкреслення (_). Можна розташувати декілька операторів в одному рядку, відділяє їх двокрапкою (:). Це використовується для простих операторів. Наприклад, Print “Hello”: А = 1. Для коментаря використовується верхня кома (‘) або команда Rem. Наприклад: Print “Hello” ‘Це також коментар!

Змінні – це іменована комірка пам’яті, призначення для збереження даних, які в процесі виконання програми (коду) набувають різних значень. Тип даних задає формат або вміст пам’яті змінної. VB підтримує такі типи змінних:
1) Boolean – має два значення: True (істинна - 1) та False (Хиба – 0).
2) Дані типів Byte, Integer, Long містять лише цілі числа. Коли змінна такого типу присвоює від 1.1 до 1.4, то повертає 1, а коли від 1.5 до 1.9 – то повертає 2.
3) Дані типів Single, Double містять числа з плаваючою комою. Дані типу Carrency також містять числа з плаваючою комою, але кількість розрядів після коми не перевищує 4 розрядів. Цього достатньо для виконання грошових обчислень.
4) Дані типу Date застосовуються для обробки інформації дати та часу. Дані розміщуються між знаками #. При введені слід використовувати американський формат часу від 0 до 12. При викориcтанні (“) слід використовувати встановлений в системі формат даних та часу.
5) Дані типу String застосовують для збереження рядків, в яких кожний символ займає 1 байт пам’яті. Для того, щоб VB відрізняв рядок від імені змінної, рядок ставиться у парні лапки.
6) Дані типу Object застосовують для збереження інших об’єктів.
7) Дані типу Variant застосовують для елементів та інших додатків, тип даних який невідомий. Але використовувати цей тип потрібно дуже обережно.
Тип даних при об’яві може встанавлюваться додаванням знака типу до імені змінної.

4. Орієнтація на події

Додаток VB аналізує повідомлення і виконує певні дії. VB захоплює повідомлення і передає його відповідному об’єкту (наприклад, кнопці), де потім викликає відповідну подію (наприклад, подія Click). Процедури події з’являються у загаловку, який складається з імені об’єкту та події. Наприклад. Private Sub Command1_Click ()

Print “Hello”

End Sub

Код виконується тоді, коли для об’єкту Command1 наступає подія Click. Таким чином, для виконання програмного коду завжди потрібна подія.

5. Об’єкти

Почті усе, з чим працює VB, є об’єктами. Об’єктами є команди меню, принтер та ін. Об’єкти на панелі елементів мають назву елементи керування. Кожний об’єкт ха-рактеризується визначеними параметрами, які поділяються на три категорії: події, методи, властивості. Об’єкти об’єднуються у класи з однаковим набором подій, методів, властивостей. Події пов’язані з визначеними діями користувача і можуть викликати код VB. Методи – це робочі оператора об’єкту. Наприклад, метод Move дозволяє зсунути ЕК у задану позицію. Властивості відповідають за зовнішній вигляд і поведінку об’єкту. Різниці між методами та властивостями полягає у тому,що з властивостями можна працювати при розробці проекту, а з методами тільки при виконанні. Список властивостей, котрі можна змінювати при розробці додатку, відображується у вікні властивостей ЕК. Для відкриття вікна властивостей треба натиснути клавішу [F4].

6. Процедури та функції

Процедура – це підпрограма. Вона починається з оператора Sub і закінчується оператором End, між котрими розміщується код програми. Такі процедури викликаються або VB (процедурами подій), або іншими процедурами. Ім’я процедури обробки події складається з іменем об’єкта та імені події. Можна створювати і власні процедури.

Private Sub Command1_Click ()

|

End Sub

Для деяких подій після імені у дужках вказуються аргументи. Для процедури обробки подій аргументи встановлює VB. Функція побудована як процедура. Однака, результатом роботи функції є отримання певного значення. Виклик функції відрізняється від виклику процедури. При виклику функції аргументи вказуються у дужках. В процедурі аргументи не беруться у дужки і нема отриманого значення. Процедуру можна викликати із інших місць програми.

7. Проекти

Додаток VB будується по модульному принципу. Усі модулі (компоненти) зберігаються окремо і незалежно друг від друга. Для збереження усіх модулів проекту треба виконати команду File/Save Project. Після цього для кожної складової проекту з’являється діалогове вікно Save AS… Форма зберігається у файлі з розширенням.FRM. Сам проект зберігається у файлі з розширенням,VBP, в якому крім деяких установок, зберігається інформація про його компоненти та зв’язки між ними.

Проект може містити наступні компоненти:

1) Файл кожної форми (*.frm);

2) Файл кожної форми з ЕК, який містить двійкову інформацію (*.frx);

3) Файл кожного модуля (*.bas);

4) Файл кожного модуля класу (*.cls);

5) Файли додаткових компонентів керування (*.ocx);

6) Максимум один файл ресурсів (*.res);

7) Файл проекту, що містить посилання на власні компоненти (*.vbp);

8) Ряд додаткових файлів, що залежать від вигляду проекту (*.ctl і інші).

При виконані команди File/Open Project компоненти проекту завантажуються з рахунком зв’язків між ними


ЛЕКЦІЯ 10. ОСНОВИ МОВИ VISUAL BASIC 6.0

1. Змінні

2. Область визначення

3. Масиви

4. Константи

5. Процедури

6. Аргументи

7. Оператори керування

8. Елементи керування

9. Змінні

1. Змінні

Змінна – це іменована область пам’яті, яка призначена для збереження даних.

Для доступу до змісту пам’яті достатньо знати ім’я змінної. Тип даних задає визначений формат або розмір змісту змінної. При неявній об’яві змінні просто використовуються у програмі.

При явній об’яві повинні змінні бути визначені оператором Dim. Наприклад:

Dim varName As String ‘ явна об’ява

K% = 7 ‘ не явна об’ява

Після встановлення опції Option Explicit VB потребує явний опис змінних і при використанні у коді змінної, що не об’явлена, видаси повідомлення про помилку компіляції. Вилучення вказаного рядка дозволить неявну об’яву змінної. Оператор Deftype об’являє тип даних.

Таблиця 1. Оператори визначення типів даних

Оператор Тип даних Оператор Тип даних
DefBool Boolean DefCur Currency
DefByte Byte DefSng Single
DefInt Integer DefDbl Double
DefLng Long DefDate Date
DefStr String DefObj Object

Оператори, що подані у табл. 1, можна використовувати у секції об’яв. Наприклад:

‘(General) (Declaration)

DefInt A –Z ‘ Змінні від А до Z будуть мати тип Integer

2. Область визначення

У VB є три види областей визначення змінних:

1. Локальна: змінна доступна тільки в поточній процедурі;

2. Контейнерна: змінна доступна тільки в поточній формі, модулі, класі;

3. Глобальна: змінна доступна у всьому проекті.

Локальні – визначені всередині процедурі або функції та доступні у цій процедурі. Контейнерні – визначені в секції (General) (Declarations) і доступні тільки всередині контейнера (формі, модулі або класі).

Глобальні – визначені в секції (General) (Declarations) модуля. Замість оператора Dim використовується слово Public.

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

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

При об’яві змінної використовується слово Static. Приклад:

Private Sub Command1_Clock ()

Static A As Integer

A = A + 1

End Sub

3. Масиви

Використовують статистичні та динамічні масиви. Межі статистичного масиву встановлюються на етапі розробки і можуть змінюватися тільки у новій версії. Динамічні масиви змінюють свої межі в процесі виконання програми. Для об’яви масиву використовується оператор Dim з вказівкою у дужках максимального індексу. Наприклад: Dim aName (150) As String ’Індексування починається з 0. Об’являється 151 елемент

aName (4) =“Serge”

Print aName (7)

Оператор Option Base дозволяє задавати індексацію з 1:

‘(General) (Declarations) ‘Допустимі значення для Option Base є тільки 0 або 1.

Option Base 1

Статистичні масиви визначаються тільки глобально або для контейнера.

[Static| Public| Dim] Ім’я змінної (Верхня_границя)

При об’яві багатовимірного масиву верхня границя кожної розмірності розділяється комами.

‘(General) (Declarations)

Dim aName (10, 25) As String ’Масив має 11×26 = 286 елементів

Розмірність масивів може досягати 60.

Для окремих значень розмірів можна вказувати діапазони індексів.

Dim aArray (10, 80 to 120, 1 to 256, 1937 to 2012)

Динамічний масив створюється у два етапи. Спочатку масив визначається у секції (General) (Declarations) контейнера (Form, Module, Class) без розміру:

‘(General) (Declarations)

Dim aArray () As Variant

Потім за допомогою оператора ReDim встановлюється фактичний розмір масиву:

Private Sub Command1_Click ()

ReDim aArray (50, 10)

End Sub

Використовуючи ключове слово Preserve можна зміняти розмір масиву.

‘(General) (Declarations)

Dim aArray () As Variant ‘ Однак, слід враховувати, що для багатови-

Private Sub Command1_Click () ‘ мірного масиву можна змінювати тільки

ReDim Preserve aArray (50, 15) ‘ останній розмір в дужках оператора

‘код ‘ ReDim aArray (50, 15)

End Sub ‘ ReDim Preserve aArray (50, 25) – працює.

Область видимості динамічних масивів визначається способом їх об’яви:

Оператор Public для глобальних масивів, а Dim для контейнерних.

Функції LBound, Ubound, відповідно, призначені для визначення верхньої та нижньої границі масиву. Вона використовується при визначені фактичного розміру масиву Lbound (масив, розмірність); Ubound (масив, розмірність).

VB має можливість присвоїти вміст одного масиву другому, чк це робиться для змінних. Наприклад:

Sub Byte Copy (oldCopy () As Byte, newCopy () As Byte)

newCopy = oldCopy

End Sub

Спроба присвоїти масивам різної розмірності і типів даних може бути успішною або неуспішною в залежності від ряду факторів:

1. Тип масиву (статичний або динамічний);

2. Збіг (незбіг кількості розмірності масивів);

3. Збіг (незбіг кількості елементів в кожній розмірності масивів);

4. Типів даних елементів масивів (типи даних повинні мати збіг).

4. Константи

Їх значення не можливо змінювати у процесі виконання програми. При об’яві кон-стант використовують ключове слово Const. Глобальна константа використовує ключове слово Public і тільки у модулі.

[Public | Private] Const Ім’я_константи=Значення

Const Рі = 3,1415926535897932

Public Const aName = “Conni Mauser”

Константи можна об’являти і з вказівкою типу даних.

[Public | Private] Const Ім’я_константи As Тип_даних = Значення

Const Рі As Single = 3,1415926535897932

Const nName As String = “Alexander Nikitin”

5. Процедури

В залежності від призначення поділяють процедури обробки події та процедури загального призначення.

Процедури обробки події зв’язані з елементами керування. В цих процедурах обов’язково присутні імена об’екту та події. У полі списку Object вікно коду вказує Ім’я об’екту (наприклад, Command1), а у полі списку Procedure - Ім’я події (наприк-

лад, Clock).

Private Sub Command1_Clock () ‘Процедура обробки події у вікні коду

…… ‘Коли вилучається процедура, включаючи Private Sub

End Sub ‘ та End Sub, то вилучається весь вміст.

Коли вилучається сам елемент, то усі його процедури події зберігаються і становляться загальними. Коли створюється ЕК з тим же іменем, що і віддалений, то усі процедури віддаленого елемента зв’язуються з новим.

Для створення процедури загального призначення достатньо ввести ключове слово Sub та Ім’я процедури у полі (Object) рядка (General) і натиснути клавішу [Enter].

Процедури загального призначення використовуються, як правило, для роз-в’язання загальних задач (наприклад, розрахунків, котрі потрібно виконати в різних місцях програми).

Закриті процедури доступні тільки всередині контейнера (Form, Module, Class), в якому вони містяться.

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

Процедури мають назву загальними, коли вони можуть бути викликані процедурами іншого контейнера. Це можливо, коли така процедура містіть у модулі та в її заголовку вказується ключове слово Public. Процедури у модулях загальнодоступні за замовчуванням.

Вираз Option Private Module використовується у модулі для вказівки того, що модуль є закритим для інших додатків. Складові елементи модуля (змінні, процедури, функції і ін.), які не об’ялені як Private, доступні модулям проекту, але не іншим проектам або додаткам.

6. Аргументи

У процедурах подій набір аргументів залежить від події і не може бути зміненим розробником.

У загальних процедурах кількість та порядок аргументів, що використається, визначається розробником. У VB аргументи можуть передаватися двома способами: або як посилання (ByRef) за замовчуванням і тому ByRef можна опустити, або як значення (ByVal).

При виклику процедури їй передаються аргументи, значення котрих вона може змінити. Для передачі аргументів ув якості значень, перед ім’ям аргументу у заголовку процедури слід вказати ключове слово ByVal. У цьому випадку процедурі передається копія цього значення.

За звичаєм аргументи передають в послідовності, яка вказана у заголовку процедури. Іменовані аргументи дозволяють передавати їх в будь-якому порядку. Для цього при виклику процедури вказується ім’я аргументу та його значення, які розділяються двокрапкою зі знаком рівно (:=).

У процесі опису процедури можна визначити, що не усі аргументи вказуються при виклику. Такі аргументи мають назву необов’язкових і поперед них ставиться ключове слово Optional. Після першого іменованого або необов’язкового аргументу усі наступні повинні бути такими ж.

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

7. Оператори керування

If…Then…Else Синтаксис 1) If Умова Then Оператор1 [Else Опертор2]

Блочний синтаксис Select Case – синтаксис

If Умова Then Select Case Перевірочний вираз

[Оператор1 ] [Case Значення1

ElseIf Умова Then [Оператор1 ]

[Оператор2] [Case Значення2

Else [Оператор2]]

[Оператор3] [Case Else

End If [Оператор3]]

End Select

Цикли: For…Next – встановлення кількості повторення циклу;

Do…Loop – завершення при виконанні вкаданної умови.

Цикл, керований спочатку Цикл, керований з кінця

Do [{ While| Until} Умова ] Do

[Оператори ] [Оператори ]

[Exit Do] ‘достроковий вихід [Exit Do]

[Оператори ] [Оператори ]

Loop Loop [{ While| Until} Умова ]

Цикл Do Until виконується, коли умова False, Цикл Do While - коли умова True

Цикл Do Until EOF (Файл) виконується, аж поки умова не викликає вихід із цикду.

8. Елементи керування

Масиви елементів керування аналогічні звичайним масивам змінних.

VB запитує при вставки у форму елемента подібного потрібно чи ні створювати масив елементів або слід надати нове ім’я додатковому ЕК. Після відповіді ні VB розміщує у форму ЕК з новим ім’ям (наприклад, Command2). При відповіді Так у формі з’являються 2 ЕК з однаковими іменами, але з різними індексами.

Можна просто встановити визначене значення для властивості Index. При додаванні елемента він отримує теж ім’я, але з іншим індексом. При цьому усі ЕК у масиві повинні мати однаковий тип.

Оператор Load дозволяє завантажити ЕК у час роботи додатка, коли він визначений як масив (властивості Index містять визначені значення).

Оператор Unload вилучає усі завантажені у час виконання ЕК.

Динамічне додавання ЕК. Цей метод додавання ЕК використовує метод Add сімейства Controls. За допомогою цього методу можна додати у форму: ЕК на основі існуючого; ЕК нового типу; ЕК, посилання на котрий до того у проекті не було.

Синтаксис метода Add наступний.

Object. Add (ProgID, name, container)

Object – обов’язковий параметр об’єкта, у котрий робиться вставка ProgID – рядок-індефікатор ЕК. Значення ProgID визначається за допомогою утіліти Object Browser;

name – обов’язковий аргумент рядка;

container - необов’язковий аргумент - посилання на об’єкт-контейнер.


ЛЕКЦІЯ 11. ЕЛЕМЕНТИ КЕРУВАННЯ

1. Використання елементів керування

2. Основні властивості елементів керування

3. Основні події

4. Основні елементів керування

1. Використання елементів керування

VB дозволяє звертатися до ЕК при розробках додатків і у час виконання програми. До них можливо звертатися як до змінних, присвоюючи значення визначеним властивостям або читаючи їх. Властивості визначають зовнішній вигляд та функціонування ЕК.

Розглянемо зміну властивості у час виконання додатка.

Command1. Caption = “Нова надпис” ‘Властивості Caption присвоюється Нова надпис.

Синтаксис звертання до властивостям:

[Форма.] Control. Властивість = Значення

Ім’я форми вказувати необов’язково, коли звертаються до ЕК, який належить цій формі.

Напис$ = Command1. Caption ‘Зміна Напис присвоює напис на командній кнопці.

Синтаксис: Значення = [Форма.] Об’ект. Властивість

Для отримання інформації про ЕК, його властивості, методи та події, його слід відо-кремліти на панелі елементів і натиснути [F1].


2. Основні властивості елементів керування

Позиція ЕК має 4 властивості: Left, Top, Height, Width. Властивості Left, Top задають

координати кута ЕК. Властивості Left, Top задають координати лівого кута ЕК.

Властивості Height, Width – його висоту і довжину. Звіт у системі координат ведеться зверху униз (Y) та зліва направо (Х).

Керування кольором оформлення елементів здійснюється за допомогою властивостей BackColor, FillColor та ForeColor. Колір фону встановлюється BackColor і задається у час роботи додатку з використанням схеми RGB або константами бібліотеки VBRUN. Властивістю ForeColor визначають або встановлюють колір для відображення текcту і графіки в ЕК, а властивість FillColor - встановлює колір заповнення так названого shapes (мальованих об’єктів).

Вигляд шрифту в ЕК вибирається установкою значення властивості Font.

Доступність і видимість ЕК визначається двома властивостями – Enabled і Visible.

При значені Enabled рівного False – ЕК не доступні. Властивість Visible – робить ЕК невидимим.

Властивість Name виграє важливе значення. Спочатку завжди слід задавати ім’я ЕК, а лише потім писати для нього код обробки його події.

Більшість ЕК мають властивість Appearance, яка відповідає за відображення ЕК.

Можна встановити значення властивості ToolTipText. При цьому текст відображається у підказці, коли миша встановлена на ЕК у формі.

Більшість ЕК мають властивості Parent та Container. Parent вказує на батьківський об’єкт ш можливість доступу до його методів та властивостей. Container дозволяє читати та змінювати контейнер ЕК. Наступні ЕК можуть слугувати контейнером для інших ЕК: Form, Frame, Picture, Toolbar.

Властивість Tag використовується для збереження додаткових даних розробника.

3. Основні події

Розглянемо події, котрі можуть обробляти більшість ЕК.

Події клацання мишею: Click та DblClick. Подія Click викликається при виконанні клацання миші на ЕК. Подія DblClick викликається подвійним клацання миші на ЕК.

Подія MouseDown викликається при виконанні натиснення миші, що дозволяє цій процедурі обробку події передачі декілька параметрів. Параметри, що передаються, визначають стан кнопок миші (Button), керуючих клавіш (Shift) і позиції курсора (X, Y)

Подія MouseUp викликається при відпуску кнопки миші, а подія MouseMove викликається, коли пересувається курсор миші.

Події клавіатури KeyPress, KeyUp, KeyDown викликаються для активізації ЕК.

Коли властивості форми KeyPreview присвоюється значення True, то подія, що зв’язано с клавіатурою, передається спочатку формі, а потім поточному ЕК.

Подія KeyPress робить показ коду ASCII при натиснутої клавіші. При установки значення коду ASCII рівного 0, то можна зупинити його передачу для подальшої обробки. При натиснені клавіші подія нгаступає у такій послідовності: KeyDown, KeyPress, KeyUp.

Система Windows визначає, якому додатку передати натиснення клавіші, щоб керування отримав активний елемент, котрий має фокус. VB обробляє дві події, що зв’язані з передачею фокусу: LostFocus і GotFocus. Коли перейти від одного ЕК до іншого, то для попереднього ЕК викликається подія LostFocus, а для нового – GotFocus.

Форма дає змогу спілкуватися з користувачем. Форма зберігається у проекті у вигляді окремого файлу. Цей файл містить опис робочого середовища та кода, який відноситься до ЕК і формі.

Основні події форми

Ім’я процедури обробки події форми завжди містить Form.

Form_Подія ([Аргументи …])

Подія форми Load здійснюється при завантажені форми у пам’ять.

Подія Unload викликається, коли форма вилучається із пам’яті.

За допомогою параметра Cansel можна відмітити вилучення форми з екрану.

Подія QueryUnload передається у процедуру обробки події і параметр Unload Mode вказує причину виникнення події.

Подія Resize викликається щораз при зміні розмірів форми.

4. Основні елементів керування

Кнопка (CommandButton) – ЕК використовується, щоб почати, перервати або закінчити будь-який процес. Головною подією для кнопки є Click.

Напис (Label) – відображає текст, котрий не можливо змінити з клавіатури.

Властивість Caption містить текст, який відображається при введенні з клавіатури.

Текстове поле (TextBox) - призначене для введення даних.

Прапорець (CheckBox) – це ЕК, який може відмічати («галочкою»), вибираючи з рядків одну або декілька опцій. CheckBox має два стана: відмічений чи невідмічений. Важливою для прапорця подією є Click. Значення Valur (у події Click) властивості CheckBox може мати 3 значення (0 – невідмічений, 1 - відмічений, 2 – третій стан, який відмічений постійно).

Перемикач (OptionButton) – коло з крапкою всередині або без неї, який призначений для установки тільки однієї опції із групи.

Список (ListBox) – дозволяє вибрати із списку один або декілька елементів. Подія Click викликає при виборі елементіх списку. Для додавання нових елементів використовується метод AddItem.

ListBox. AddItem Елемент [, Індекс ]

Параметр Елемент задає елемент, списка що додається,. Параметр Індекс вказує місце вставки у список нового елемента. Даний метод повинний викликаться при встаці кожного елемента. Як правило, заповнення списку виконується при завантажені форми.

VB не є сталою системою і постійно розширюється за рахунок нових ЕК.


ЛЕКЦІЯ 12. ВВЕДЕННЯ ТА ВИВЕДЕННЯ ІНФОРМАЦІЇ

1. Екран

2. Клавіатура

3. Миша

4. Файли

5. Принтер

6. Печать

1. Екран

• У VB об’єкт Screen дозволяє заповнити увесь екран Windows. Змінна типу Screen об’єктів не об’являє. Однак, коли така необхідність виникла, то змінна Screen перед використанням повинна об’являтися і міститься посилання на реальний об’єкт.

• Властивість MousePointer визначає зовнішній вигляд курсору миші. Можна використовувати стандартні або створити власні. Коли для властивості MousePointer встановити значення VbCuston, то для відображення курсора миші використовується піктограма, яка визначає властивість MouseIcon. При цьому дохволяється використовувати файли піктограми (*.ICO) і файли (*.CUR). Спочатку довгої процедури, можна встановити значення властивості MousePointer, яка дорівнюєVbHourglass (“Пісочний годинник”). Однак, у кінці процедури властивість повинна бути змінена. Це треба пам’ятати.

Властивість MousePointer використовується не тільки в об’єкті Screen, але і у формі. Коли операція не не виходить за рамки додатку, то курсор змінюється у формі.

Властивість Height та Width використовуються для визначення розмірів об’єкту Screen при розмірі екрана у твіпах, який дорівнює 1/20 крапки на екрані.

Для введення інформації в текстовє поле VB пропонує функцію InputBox, яка виконує операцію, яка аналогічна команді Input у мові Basic. Вікно InputBox складається з 4-х елементів:

• Рядок заголовка;

• Запрошення до введення (Prompt);

• Поле введення зі значенням, яке пропонується за замовчуванням;

• Дві кнопки (OK і Cancel).

Функція виклику вікна InputBox має синтаксис з відповідними іменованими аргументами:

Значення_повертається = InputBox (prompt [, title][, default][, xpos][, ypos][, helpfile, context])

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

У вікні MessageBox вигляд може бути різним, але в його склад завжди входять: текст повідомлення, заголовок, піктограма, набір кнопок.

MessageBox можна викликати як процедуру і як функцію.

Синтаксис команди

MsgBox Promt [, Buttons][, Title][, Helpfile, Context]

Синтаксис функції

Значення_повертається = MsgBox (Promt [, Buttons][, Title][, Helpfile, Context])

Приклад:

MsgBox “Здравствуй”, vbExclamation, “Приветствие” ‘команда

Red = MsgBox (“Закончить?” vbCritical, “End”) ‘функція

При запитах треба викликати MsgBox, як функцію.

2. Клавіатура

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

Усі ЕК, для котрих можливо встановити фокус, мають властивість TabIndex.

Натиснення деяких клавіш, наприклад функціональних, повина обробляти форма. Тому форма теж може обробляти події KeyDown, KeyUp, KeyPress, але для цього потрібно встановити значення властивості форми KeyPreview зі значенням True.

У цьому випадку усі події клавіатури спачатку буде обробляти форма, а потім ЕК.

3. Миша

Усі дії, що виконує миша (клацання, переміщення) також можна аналізувати, для чого генерується ряд подій. Подія Click складається з двох подій: натиснення і звільнення кнопки миші (клацання). Подія Click може наступити і при зміні значення визначеної властивості ЕК. Багато Ек може обробляти подія Click: Form, CommandButton, Label, OictureBox, OptionButton, ListBox, ComboBox і таке інше.

Подію Click можна токож викливати програмою – для цього слід змінити властивість Value (CommandButton).

4. Файли

Процес відкриття і збереження файлів складається з декілька етапів:

• Отримання дескриптора файла (handle);

• Откриття файла;

• Читання або запис файла;

• Закриття файла.

Дескриптор файла. Функція FreeFile повертає номер вільного каналу, який можна використовувати для роботи з файлом. Коли вільних каналів немає, то здійснюється помилка виконання.

FreeFile [(RangeNumber)]

intFH = FreeFile () ‘Змінна intFH = значення, яке можна використовувати для відкриття файла. Параметр RangeNumber визначає діапказон щначень, з якого вибирається вільний номер каналу. Коли значення 0, то повертається номер каналу з діапазону 0-255, а коли 1, то вибирається з діапозону 256-511.

• У VB реалізовані 3 типа доступа до файлу:

1) Послідовний (Seqiential) – для читання і запису текстових файлів;

2) Вільний (Random) – для читання і запису тексту або структурованих двійкових файлів з записами фіксованої довжини.

3) Двійковий (Binary) – для читання і запису вільних структурованих файлів.

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

Послідовний доступ. У тексті файлу можуть знаходитися символ пересування рядка (vbCrLf або Chr(13)&Chr(10)) або табулятор (vbTab або Chr(9)), які використовуються для форматування тексту. Спосіб відкриття файлу з послідовним доступом (для читання, запису, додавання) задається при виклику оператора Open.

• Open ім’я_файлу For [Input| Output| Append] As filehandle

• Input – читання із файлу; Output – запис у файл; Append – додавання до файлу.

• Коли файл з вказаним ім’ям існує, то у режимі Output його вміст вилучається, а у режимі Append – додається.

• У кінці рядка вказується номер каналу, який повертає функцією FreeFile.

Читання із файлу

• Line Input # - читає один рядок;

• Input # - читає символи, які записані за допомогою Write #;

• Input $ - читає визначену кількість символів.

• Перед читанням потрібно відкрити файл оператором Open …For.

Запис у файл

У VB для запису інформації у файл використовуються оператори Print # і Write #.

Коли в операторі дані розділяються комами, то у файлі вони будуть розділені символами табуляції:

Print # intFH, “Фрагмент1”, “Фрагмент2”.

Відповідно:

Print # intFH, “Фрагмент1”; Tab; “Фрагмент2”

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

Write # має такий же синтаксис, що і Print #. Різницб складає форматування виведення. Текстовий рядок виводиться у лапках:

Write # intFH, “Ганна”, “Київ”, 17 ‘у файлі буде - “Ганна”, “Київ”, 17

Дані, що збережені за допомогою оператора Write #, можна рахувати як Print #.

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

Open ім’я_файла Random [ Access Доступ ][Блокіровка] As [#] Handle [Len = Довжина_запису]

Параметр Len визначає довжину запису. Коли це значення менш, чим реальнадовжина запису, то виникає помилка, а коли більша – то при запису файла використовується дисковий простір більш, чим потрібно.

Коли право доступу не вказано, то за замовчуванням використовується Read Write.

5. Принтер

Для печаті даних VB пропонує декілька можливостей. Найбільш проста складається з того, що потрібна форма за допомогою метода PrintForm робить виведення на принтер. Печать також можлива з використанням об’єкта Printer. Іншими можливостями є використання DLL, механізму DDE або OLE. При печаті із VB використовуються три компоненти:

1. Код VB, який керує процесом печаті;

2. Підсистема печаті Windows, яка готує документ та передає його на принтер;

3. Пристрій печаті (принтер) з визначеними технічними характеристиками.

Windows підтримує різні типи шрифтів, які різняться по способу виведення шрифта на екран або принтер. Для вибору та установки параметрів шрифту (найменування, розмір, додаткові атрибути) у VB існує об’єкт Font. Цей об’єкт визначає вид шрифту іншого об’єкту (TextBox, Form, Printer і таке інше).

6. Печать

Метод PrintForm робить виведення на принтер вміст форми, без рядка заголовку і рамкі, як це відображено на екрані. Зміст ЕК PictureBox виводиться на печать, коли властивість AutoRedraw дорівнює True.Об’єкт Printer – це об’єкт для виведення на печать тексту або графіки багаторядкових документів. Метод Print об’єкту Printer передає текст на принтер

Printer. Print “Hello”

Вивід починається з верхнього лівого кута сторінки. Для зміни вигляду шрифта використовується властивість об’єкта Font. Крім форматування, потрібно встановити позицію крапки виведення. 567 твипів (twip) складають один сантиметр.

Для зміни позиції крапки виведення використовуються властивості CurrentX і CurrentY. Довжина і висота в умовах одиниць вимірювання встановлюється властивостями ScaleWidth і ScaleHeight.

Для вірного виведення тексту слід визначити фактичну довжину і висоту рядка. Для цього використовуються методи TextHeight і TextWidth об’єкта Printer.

Для виведення на печать графічних об


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: