- •1. Теоретичні питання 76
- •2. Тести 76
- •3. Практичні завдання 76
- •1. Теоретичні питання 90
- •2. Тести 90
- •3. Практичні завдання 90
- •1. Теоретичні питання 103
- •2. Тести 103
- •3. Практичні завдання 103
- •Алгоритми. Алгоритмічна мова
- •1. Алгоритм і його властивості
- •2. Поняття алгоритму
- •3. Схеми алгоритмів
- •4. Графічне зображення різних видів обчислювальних процесів
- •4.1. Графічне зображення лінійних обчислювальних процесів
- •4.2. Графічне зображення розгалужених обчислювальних процесів
- •4.3. Графічне зображення циклічних обчислювальних процесів
- •1. Створення і управління макросами
- •Запис макросу
- •Зміна макросу
- •Перегляд і зміна макросів
- •Управління макросами
- •Безпека макросів
- •2. Способи виконання макросу
- •Запуск макросу на виконання в Microsoft Excel
- •Запуск макросу на виконання з редактору Visual Basic
- •Основні елементи мови Visual Basic
- •1. Організація програми на мові vb для Excel
- •2.Створення і вживання процедур
- •4. Типи даних
- •5. Зона дії змінних і процедур
- •6. Масиви
- •7. Константи
- •8. Перетворення типів
- •12.Операції vb
- •13.Використання функцій vb
- •14.Строкові функції
- •15.Функції дати і часу
- •16.1.Методи об'єктів
- •16.2. Контейнери і набори об'єктів
- •17.Використання властивостей, що характеризують активність
- •18.Використання властивостей, що характеризують вміст
- •19. Властивості форматування
- •20.Методи роботи з таблицями
- •22. Створення і вживання функцій
- •23.1.Логічні вирази
- •23.2.Структура оператора if - then
- •24.Структура оператора Select Case
- •25. Неструктурований перехід
- •26.1.Циклічна структура for – next
- •26.2.Оператор for each - next (для кожного - наступного)
- •27. Логічні цикли
- •27.1.Вживання циклу do-loop
- •1. Вживання функції MsgBox()
- •1.1. Створення простого вікна повідомлення
- •1.2. Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
- •1.3. Набуття значень від функції MsgBox()
- •2. Вживання функції InputBox()
- •3. Вживання діалогових вікон інших типів
- •4. Виклик діалогових вікон додатка
- •Р исунок 1. Нова, чиста сторінка діалогу Excel
- •29. Розташування об'єктів форми в бланк (вікно діалогу)
- •29.1.Об'єкт "Командна кнопка"
- •29.3.Об'єкт "Вікно редагування'
- •29.4.Об'єкт "Групове вікно"
- •29.5.Об'єкт "Контрольний індикатор"
- •29.6.Об'єкт "Кнопка вибору"
- •29.7.Об'єкт "Вікно списку"
- •29.8.Об'єкт "Випадаюче вікно"
- •29.9.Комбінований об'єкт "Вікно список-редагування"
- •29.10.Комбінований об'єкт "Вікно випадаючий список-редагування"
- •29.11.Об'єкт "Лінійка прокрутки"
- •29.12.Об'єкт "Спіннер"
- •30. Підключення процедур до об'єктів діалогового вікна користувача
- •31. Відображення діалогового вікна користувача
- •32.Файли послідовного доступу
- •32.1.Читання і запис послідовних файлів
- •32.2.Відкриття файлу
- •32.3.Закриття файлу
- •32.4. Запис у файл за допомогою оператора Print
- •32.5.Запис у файл оператором Write
- •32.6.Читання з файлу
- •33.Запис даних у файл довільного доступу
- •33.1.Читання і запис файлів довільного доступу
- •33.2.Відкриття файлу
- •33.3. Закриття файлу довільного доступу
- •33.4. Визначення структури та довжини запису
- •33.5.Запис даних у файл
- •33.6. З читування даних з файлу
26.2.Оператор for each - next (для кожного - наступного)
Цикл FOR EACH - NEXT – ще називають цикл об'єктного типа, який дуже схожий на обчислюваний цикл, оскільки виконується певна кількість разів. Але застосовується він до набору об'єктів і виконується по одному разу для кожного об'єкту з набору. Якщо використовується цикл об'єктного типу, то немає необхідності знати, скільки об'єктів в себе включає набір. Лічильник циклу містить не величину, що визначає кількість ітерацій (кроків) циклу, а об'єкт з набору. Крім того, цикли об'єктного типа можна застосувати до масивів. В цьому випадку цикл виконується для кожного елементу масиву, і змінна_циклу містить значення цього елементу.
Для застосування циклу об'єктного типу використовується:
For Each елемент In набір
…
Next елемент
Де елемент представляє собою зміну типу Variant, що забезпечує можливість містити об’єкт. Зміна набір є деяким набором об’єктів. В процесі виконання циклу об’єкт вибирається з набору та розміщується в змінній елемент, та це дозволяє використовувати зміну елемент в блоці коду циклу для застосування необхідних дій з об’єктом. Подібно циклу FOR – NEXT оператор Exit For перериває цикл до його закінчення.
Структура FOR EACH – NEXT дуже зручно застосовувати у різних випадках, особливо коли масив або клітин передаються користувацькою функцією. Наприклад:
Function Summa_n(ParamArray Masiv())
DIM Summa, el ‘ змінна, що відповідає за суму елементів набору
‘ змінна, що відповідає за кожен елемент набору
Summa = 0
For Each el In Masiv()
Summa = Summa + el
Next el
Summa_n= Summa
End Function
Принцип роботи такого циклу:
Змінною циклу el привласнюється значення першого елементу масиву Masiv, якщо в групі немає жодного елементу, цикл не виконуватиметься жодного разу;
Виконується задана послідовність операцій (Summa = Summa + el – накопичення суми);
Перевіряється, чи є цей елемент останнім в масиві. Якщо так, то цикл припиняється, якщо немає, то змінною циклу привласнюється значення наступного елементу масиву, і цикл повторюється знову.
Розглянемо як мала б виглядати функція з використанням структури FOR – NEXT:
Function Summa_n_1(ParamArray Masiv())
DIM Summa ‘змінна, що відповідає за суму елементів набору
DIM і As Integer ‘змінна, що відповідає за індекс елементу набору
DIM I_Max As Integer, I_Min As Integer ‘змінна, що відповідає за найбільший та ‘найменший індекс набору
I_Max=UBound(Masiv) ‘визначення найбільшого індексу набору
I_Min= LBound(Masiv) ‘визначення найменшого індексу набору
Summa = 0
For i= I_Min to I_Max
Summa = Summa + Masiv(i) ‘накопичення суми елементів набору
Next i
Summa_n_1= Summa
End Function
Результат роботи обох функцій має однакове значення для одного набору значень, тобто Summa_n_1(10; -9; 2; -4; 1; 101; -100; 20; 50)= Summa_n(10; -9; 2; -4; 1; 101; -100; 20; 50) .
27. Логічні цикли
Логічними циклами називаються цикли, у яких повторення блоку коду переривається, якщо задовольняється деяка умова. Якщо обчислювані цикли виконують його певну кількість разів, то логічний цикл, може виконувати блок коду невизначену кількість разів або взагалі не виконувати залежно від стану логічної умови, що перериває цикл. Можна використовувати логічно безперервну структуру замість обчислюваного циклу шляхом нарощування змінної після кожного кроку циклу і перевірки її значення в умові переривання циклу.
Логічне переривання циклу використовується в тих випадках, коли кількість кроків циклу заздалегідь не відома. Приклад при читанні даних з файлу.
До логічного циклу належать оператор DO-LOOP та WHILE – WEND, але перший може ще додатково перериватись оператором EXIT, на відміну від першого.