
- •Лабораторна робота № 4. Модульне програмування (заняття 1).
- •Завдання 4.1. Вивести на форму напис «вивчаємо цикли» 15 раз, збільшуючи розмір шрифту на 1 пт, починаючи з 10 пт.
- •2 Крок – створення коду програми:
- •2 Крок – створення коду програми:
- •4 Етап – тестування програми:
- •Завдання 4.5. Розрахувати значення функції, добутку, факторіалу, суми для вкладених циклів відповідно варіанта.
2 Крок – створення коду програми:
НАПИШІТЬ процедуру ВИВЕДЕННЯ фрази «Вивчаємо цикли»
Private Sub CmdПуск_Click()
Dim i As Integer
Cls ’
For i = 1 To 15 Step 1
FrmЦиклы.FontSize = 9 + i ’
Print i; "Вивчаємо цикли"
Next i
End Sub
ЗАПУСТІТЬ додаток на виконання в режимі Run-time;
ЗМІНІТЬ значення кроку, кількості написів, розмір шрифту, колір шрифту (ForeColor для форми), до фрази додайте Прізвище та Ім’я.
РОЗМІСТІТЬ В ЗВІТІ копію вікна об’єкту та код програми з результатами завдання 2.1. (рис.2.1) HOME\№групи\LR_4_Прізвище\ LR_4_Прізвище.doc
ЗБЕРІЖІТЬ проект та форму.
ЗАВДАННЯ 4.2. РОЗРАХУВАТИ КІЛЬКІСТЬ СПОЛУЧЕНЬ ІЗ N ЕЛЕМЕНТІВ ПО М. ВИД ДОДАТКУ МОЖЕ МАТИ ВИГЛЯД, НАДАНИЙ НА РИС. 4.18.
Обов'язкові умови: для обчислення факторіалу використати функцію користувача; здійснити виведення даних на форму.
Функція користувача (Function) — один із видів процедур, які на відміну від підпрограм (Sub) повертають тільки одне «своє» значення (числове, символьне або логічне). Функція викликається по імені. Вимоги до імен функцій такі, як і до ідентифікаторів, та повинні бути зарезервованими.
Формат визначення функції:
[Private|Public] [Static] Function Ім’я Функції ([ Список Аргументів]) [As Туре ] [ Блок операторів] Ім’я Функції = Вираз [ Блок операторів] [Exit Sub] [ Блок операторів] End Function
де Private — необов’язкове ключове слово, яке означає, що дана функція може бути викликана тільки із того модуля або форми, в якій описана; Public — необов’язкове ключове слово, яке означає, що дана функція може бути викликана із будь якого модуля або форми даного проекту. При цьому сама функція повинна бути описана в модулі; Static — свідчить о статусі локальних змінних (об’явлені всередині цієї функції). Локальні змінні будуть зберігати свої значення між послідовними викликами даної функції; Ім’я Функції3 — рядок символів (ідентифікаторів), на правах змінної; СписокАргументів — змінні та їх типи, що є аргументами функції. Подаються через кому та беруться у дужки; Туре — тип значення, що повертається функцією (результат роботи функції); Вираз — арифметичне, символьне або логічне значення, що повертає функція; Блок операторів — будь-яка кількість операторів; Exit Sub — передчасне завершення роботи функції |
Розміщення програмного коду функції. Функція може входити до складу модуля екранної форми (файл frm, код записується у вікні програмного коду заданої екранної форми) або універсального модуля (файл bas, визначається у вікні програмного коду цього модуля).
Створення функції:
Спосіб 1. Курсор необхідно помістити в те місце програмного коду, яке не належить жодній процедурі. Можна, наприклад, клацнути по елементу (General) меню Object. Курсор автоматично переміститься в область, загальну для всіх процедур модуля екранної форми. Потім потрібно набрати клавіатурі ключове слово Function, услід за яким, — Ім’я Функції, а за ним — СписокАргументів в дужках. Visual Basic миттєво видасть останній рядок визначення: End Function. Ваше завдання — вписати в цей "шаблон" необхідні рядки визначення функції.
Спосіб 2. Слід вибрати команду Add Procedure меню Tools а в діалоговому вікні в текстове поле ввести ім'я функції і встановити відповідні перемикачі. Якщо функція має універсальний характер, її, як і процедуру, можна помістити у файл стандартного модуля. З таких функцій можна створювати цілі бібліотеки корисних, на ваш погляд, функцій.
Зауваження. Хорошим рішенням вважається збереження функцій у файлах модуля. В цьому випадку коди, що відповідають за роботу призначеного для користувача інтерфейсу, не змішуватимуться з кодами, що виконують обробку даних і що здійснюють обчислення.
ПОРЯДОК ВИКОНАННЯ ЗАВДАННЯ
1 етап – постановка задачі:
Якщо з N різних елементів складати групи по М елементів в кожній, не звертаючи уваги на порядок елементів в групі, то комбінації, що виходять при цьому, називаються сполученням з N елементів по М. Для підрахунку кількості сполучень використовується така формула:
2 етап - складання схеми алгоритму (рис.4.3)
3 етап – програмування,
1 крок – проектування інтерфейсу задачі (створення об’єктів):
ЗРОБИТИ СТАРТОВОЮ ФОРМУ, на якій буде виконуватися завдання 4.1 (Project►Project Properties→…);
УСТАНОВИТИ на формі ОБ’ЕКТИ, як вказано на рис.4.2, використовуючи вікно Toolbox (General)
1 крок – проектування інтерфейсу задачі (налаштування об’єктів):
НАЛАШТУЙТЕ відповідні ОБ’ЄКТИ використовуючи вікно властивостей Properties (табл.4.1):
Таблиця 4.1
Об’єкт |
Ім’я об’єкта за замовчанням (значення властивості Name) |
Властивість |
Значення властивості |
Коментар |
Текстові поля |
Відповідні TextBox |
Name |
txtn, txtm, txtc |
|
Командна кнопка |
Command1 |
Name |
cmdSohet |
|
Форма, мітки, кнопка |
|
Caption |
Відповідно рис. 4.2 |
|
ЗБЕРІЖІТЬ проект і форму.
Рисунок
4.2
Рисунок 4.3
2 крок – створення коду програми:
1) НАПИШІТЬ ПРОЦЕДУРУ ОБЧИСЛЕННЯ та ВИВЕДЕННЯ розрахункового значення с для кнопки Розрахунок
Private Sub CmdSochet_Click()
Dim n As Integer, m As Integer
Dim c As Integer
n = Val(TxtN.Text)
m = Val(TxtM.Text)
c = fact(n) / (fact(m) * fact(n - m))
TxtC.Text = Str(c)
End Sub
ОТРИМАЙТЕ код помилки – відсутнє тіло функції (рис.4.4.)
Рисунок 4.4
ДОДАЙТЕ в проект модуль Факторіал для обчислення факторіалу (Project►Add Module→New Module)
НАЛАШТУЙТЕ значення властивості Name для модуля Факторіал.
НАПИШІТЬ ПРОЦЕДУРУ (тіло функції) ОБЧИСЛЕННЯ факторіалу будь-якого числа для модуля Факторіал: fact=х! де х - будь-яке додатне ціле число ; fact - ім’я функції.
Public Function fact(x As Integer) As Long ’
Dim p As Long
Dim i As Integer
p = 1
For i = 2 To x
p = p * i
Next i
fact = p ’
End Function
ЗАПУСТІТЬ додаток на виконання в режимі Run-time (Run►Start або натиснути клавішу F5);
РОЗМІСТІТЬ В ЗВІТІ копію вікна об’єкту та код програми з результатами завдання 4.2. HOME\№групи\LR_4_Прізвище\ LR_4_Прізвище.doc
ЗБЕРІЖІТЬ проект і форму.
ЗАВДАННЯ
4.3. РОЗРАХУВАТИ
ЗНАЧЕННЯ ФУНКЦІЇ
;
ДЛЯ ХЄ[2;5] З КРОКОМ 0.5.
Обов'язкові умови: Введення вхідних-змінних величин організувати із ТextBox. Виведення результатів на форму.
1 етап – постановка задачі:
; xє [2;5], hx=0.5 a,b – var.
2 етап - складання схеми алгоритму (рис.4.6)
Рисунок
4.4
Рисунок
4.5 Рисунок 4.6
3 етап – програмування,
1 крок – проектування інтерфейсу задачі (створення об’єктів):
ЗРОБИТИ СТАРТОВОЮ ФОРМУ, на якій буде виконуватися завдання 4.3 (Project►Project Properties→…);
УСТАНОВИТИ на формі ОБ’ЕКТИ, як вказано на рис.4.4, використовуючи вікно Toolbox (General)
1 крок – проектування інтерфейсу задачі (налаштування об’єктів):
НАЛАШТУЙТЕ відповідні ОБ’ЄКТИ використовуючи вікно властивостей Properties (табл.4.2):
Таблиця 4.2
Об’єкт |
Ім’я об’єкта за замовчанням (значення властивості Name) |
Властивість |
Значення властивості |
Коментар |
Форма |
Form1, |
Caption |
Відповідно рис. 4.4 |
|
Мітки |
Label1, Label2 |
|
|
|
Кнопки |
Command1, Command2, Command3 |
|
|
для розрахунків та виведення результатів для очищення форми для коректного завершення роботи програми |
Текстові поля |
Text1, Text2 |
Name |
Text_а, Text_b |
|
Текстові поля |
Text1, Text2 |
Text |
Значення 2 та 3,5 |
Змінні для тестового прикладу |
ЗБЕРІЖІТЬ проект і форму.