ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.08.2020

Просмотров: 2517

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рис.3.3 Результат роботи програми

Приклад 3.3.3 Співробітникам фірми виплачується річна премія в залежності від стажу роботи:

  • до 1 року – премії немає

  • від 1 до 5 років – 10% від зарплатні

  • більш ніж 5 років – 20% від зарплатні

Обчислити розмір премії робітника, якщо його зарплатня дорівнює Z , а стаж роботи – К.

Програма має вигляд:

Sub Премія()

Dim z As Integer, k As Single, pr As Single

z = InputBox("Введіть зарплатню:")

k = InputBox("Введіть стаж роботи :")

Worksheets("Лист1").Cells(2, 1).Value = z

Worksheets("Лист1").Cells(2, 2).Value = k

Select Case k

Case Is < 1

pr = 0

Case 1 To 5

pr = z * 0.1

Case Is > 5

pr = z * 0.2

End Select

MsgBox ("ПРЕМІЯ =" & CStr(pr))

End Sub


Рис. 3.4 Результати роботи програми

4 Лабораторна робота №4

Тема: створення форм користувача для введення і виведення даних.

Мета роботи: навчитися створювати форми з різними елементами керування.

4.1 Створіть форми для введення, виведення даних та розв’язування тих трьох задач, що Ви виконували в попередній лабораторній роботі.

При створенні форм використовуйте такі елементи керування:

  • текстове поле;

  • командна кнопка.

4.2 Контрольні питання

  1. Поняття форми, властивості і методи форми.

  2. Елемент керування текстове поле, його властивості, методи і події, що з ним пов'язані.

  3. Елемент керування командна кнопка, його властивості і події, що із ним пов'язані.

  4. Елемент керування напис, його властивості.

4.3 Приклад виконання лабораторної роботи

Задача: задані три числа – довжини сторін трикутника. Переві­рити, чи можуть ці числа бути довжинами сторін трикутника, і якщо можуть, то обчислити площу трикутника по формулі Герона. В іншо­му випадку програма повинна видавати повідомлення про помилку.

Рішення: для організації введення даних і виведення результатів створимо форму, в якій розмістимо такі елементи керування:

  • Написи Label1, Label2, Label3, Label4, Label5, у яких властивості Caption змінені на тексти, що зазначені на мал. 4.1
    Крім того, у написів змінена властивість Font - шрифт, його розмір – 10, і жирність – Bold. Щоб напис виводився в декількох рядках, властивості MultiLine=True, WordWrap=True.

  • Текстові поля TextBox1, TextBox2, TextBox3 для введення трьох чисел – довжин сторін трикутника. У цих об'єктів також змінена властивість Font.

  • Текстове поле TextBox4, розташоване під написом « Ответ: », при­значене для виведення результату. У цьому полі буде записува­тися площа трикутника або повідомлення про те, що трикутник не існує. Змінена властивість Font, властивості MultiLine=True, WordWrap=True, щоб виводити в полі текст у декілька рядків.

  • К
    омандна кнопка CommandButton1, з якою зв'язується процедура введення чисел, перевірки існування трикутника й обчислення його площі. У процесі конструювання змінена властивість Caption на текст, що зазначений на кнопці, властивості MultiLine=True, WordWrap=True.

Рис. 4.1 Форма в процесі роботи.

На рис.4.1 наведена форма в процесі роботи. Користувач увів числа в текстові поля і клацнув на кнопці “Вычислить площадь треугольника”. В текстовому полі праворуч унизу – результат роботи програми.

Текст програми для рішення задачі, пов'язаний із командною кнопкою:

Sub CommandButton1_Click()

Dim a As Single, b As Single, c As Single, s As Single, p As Single

If IsNumeric(TextBox1. Text) Then

a = TextBox1. Text

Else

MsgBox "У полі 'а=' повинно бути число", vbCritical + vbOKOnly

TextBox1. SetFocus

End If

If IsNumeric(TextBox2. Text) Then

b = TextBox2. Text

Else

MsgBox "У поле 'b=' повинно бути число", vbCritical + vbOKOnly

TextBox2. SetFocus

End If

If IsNumeric(TextBox3. Text) Then

c = TextBox3. Text

Else

MsgBox "У поле 'c=' повинно бути число", vbCritical + vbOKOnly

TextBox3. SetFocus

End If

' Перевіримо, чи можуть числа бути довжинами сторін трикутника

If (a + b > c) And (a + c > b) And (b + c > a) Then

' Це трикутник, обчислюємо його площу по формулі Герона

p = (a + b + c) / 2

s = Sqr(p * (p - a) * (p - b) * (p - c))

TextBox4. Text = "Площа трикутника = " & CStr(s)

Else

TextBox4. Text = "Введені числа не можуть бути довжинами сторін _ трикутника! "

End If

End Sub

5 Лабораторна робота №5

Тема: Функції користувача.

Мета роботи: навчитися створювати функції користувача для найпростіших обчислень.

5.1 Завдання: Написати функції користувача для обчислення по заданих формулах. Написати підпрограму для виклику функції й обчислити Y, Z для введеного значення Х.

Варіанти:

1. Y= , Z=

2. Y= , Z=

3. Y= , Z=

4. ,

5.

6.

7.

8.

9.

10.

11.

12.

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

5.3 Контрольні питання:

  1. 1.Опишіть структуру функції користувача.

  2. 2. Правила передачі параметрів. Типи параметрів.

  3. 3. Правила виклику функції.

  4. 4. Чим відрізняється функція від процедури?

5.4 Приклад виконання лабораторної роботи.

Задача 5.4.1. Написати функцію користувача для обчислення функції по заданій формулі:

Т
екст програми-функції:

Function Z(x As Single) As Single

Z = (1 + x) /sqr (1 + (2 + x + x ^ 2)

End Function

Sub Програма_для_виклику_функції()

Dim x As Single, y As Single

x = InputBox("Введіть значення Х")

y = Z(x)

Worksheets("Лист1").Cells(2, 1).Value = x

Worksheets("Лист1").Cells(2, 2).Value = y

End Sub

Рис. 5.1 Результат роботи програми

Задача 5.4.2: Написати функцію користувача для обчислення функції по заданій формулі:

Текст програми-функції:

Function Z1(x As Single) As Single

If x <= 0 Then

Z1 = (3 + Sin(2 * x) ^ 2) / (1 + Cos(x) ^ 2)

Else

Z1 = 2 * Sqr(1 + 2 * x)

End If

End Function

Рис. 5.2 Результат роботи програми

6 Лабораторна робота №6

Тема: Використання циклів для обробки даних у таблиці.

Мета роботи: навчитися використовувати оператори For–Next, Do Loop, For Each, умови While та Until

6.1 Виконайте наступні завдання, написавши для кожного з них окрему процедуру згідно варіанта.


Варіант 1

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ -1; 1 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Напишіть програму, що для чисел, отриманих у попередній задачі, знаходить середнє значення, записує його на Лист Excel і виділяє кольором числа, які більш на 5% ніж обчислене середнє значення.

  2. Серед значень Z із діапазону знайдіть перше, яке виявиться більше відповідного йому значення Y.

Варіант 2

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ -1; 2 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. У клітині D1 знаходиться деяке число М. Знайдіть в діапазоні, отриманому в попередній задачі, усі клітки, що містять значення, рівні М, та виділіть їх кольором.

  2. Серед значень з цього ж діапазону знайдіть перше додатне значення Z і те значення Х, що йому відповідає.

Варіант 3

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ -2; 1 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Для кожного стовпця з діапазону, отриманого в попередній задачі, обчисліть найменше додатне значення. Запишіть їх на Лист Excel під кожним стовпчиком.

  2. Для стовпця Z з того ж діапазону підрахувати кількість від’ємних елементів, розташованих до першого додатного.

Варіант 4

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ -2; 3 ] із кроком 0.15, а Y і Z обчислюються за формулами:

  1. Знайдіть найбільше значення Z з діапазону, отриманого в попередній задачі, і підрахуйте кількість кліток, що містять таке ж значення.

  2. Знайдіть суму тих значень Y, яким відповідають додатні значення змінної Z.

Варіант 5

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ 0; 3 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Напишіть процедуру, що знаходить середнє значення всіх чисел, отриманих у попередній задачі, а потім суму тих значень Y з діапазону, що більше середнього.

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


Варіант 6

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ –30, 10 ] із кроком 1, а Y і Z обчислюються за формулами:

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

  2. Знайдіть суму цілих значень змінної Y, отриманих у завданні 1.

Варіант 7

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ 0, 5 ] із кроком 0.2, а Y і Z обчислюються за формулами:

  1. Напишіть процедуру, що обчислює для кожного стовпця діапазону з попередньої задачі, кількість чисел, більших, ніж 2. Запишіть отримані результати на Лист Excel під кожним стовпчиком.

  2. Якому значенню Х відповідає перше додатне значення Z?

Варіант 8

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ 0, 4 ] із кроком 0.2, а Y і Z обчислюються за формулами:

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

  2. Знайдіть перше значення Х, для якого і Y, і Z водночас будуть менші, ніж 1.5.

Варіант 9

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ -2; 1 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Напишіть процедуру, яка для значень Y і Z з діапазону попередньої задачі підраховує кількість пар одного знака.

  2. Знайдіть суму значень Z, розташованих до першого додатного.

Варіант 10

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ –3; 3 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Напишіть процедуру, яка до всіх позитивних значень Z додає 1, а від усіх від’ємних значень Z віднімає 1.

  2. Знайдіть максимальне значення Z і суму тих значень Z, що розташовані до максимального.

Варіант 11

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ –1; 4 ] із кроком 0.2, а Y і Z обчислюються за формулами:

  1. Знайдіть найбільше і найменше значення Y і поміняйте їх місцями.

  2. Виділіть кольором ті рядки, у яких розташовані значення Z, менші, ніж 0,2.

Варіант 12

  1. Занесіть на Лист Excel у 3 стовпці значення Х, Y і Z, якщо Х приймає значення з інтервалу [ –1; 2 ] із кроком 0.1, а Y і Z обчислюються за формулами:

  1. Підрахуйте кількість рядків з діапазону, отриманого в попередній задачі, в яких X<Y<Z .

  2. Виділите кольором ті значення Z, що повторюються. Якщо таких значень немає, виведіть відповідне повідомлення.

6.2 Контрольні питання

  1. Оператор циклу FOR – NEXT і його робота.

  2. Що таке параметр циклу?

  3. Оператори циклу з передумовою і з післяумовою.

  4. Логічні операції для запису умов.

  5. Що таке вкладені цикли, яка їхня структура?

  6. Як здійснюється достроковий вихід з циклу7

  7. Які види операторів циклу Ви ще знаєте?

  8. Об'єкт Cells, звертання до нього і його властивості.

  9. Алгоритм обчислення суми і кількості.