Програмування циклів з лічильником
Для організації циклічних обчислювальних процесів, в яких кількість повторень відома наперед, використовують оператор циклу For ... Next. Він має таку структуру:
For < Ім’яЗмінної> = < ПочатковеЗначення > To _ < КінцевеЗначення > [Step < Крок >] <ПослідовністьОператорів (Тіло циклу )> Next [< Ім’яЗмінної >] |
Тут <Ім’яЗмінної> – лічильник циклу, для якого задають його початкове значення, крок зміни і кінцеве значення. За допомогою лічильника програма відстежує, скільки разів виконалось тіло циклу (кількість повторень). Параметр < ПочатковеЗначення > вказує значення, яке присвоюється лічильнику перед першим виконанням циклу. Цикл виконується доти, поки значення лічильника не перевищить кінцевого значення <КінцевеЗначення >, вказаного після ключового слова To. Після кожного виконання циклу значення лічильника змінюється на величину < Крок >, вказану за ключовим словом Step.За його відсутності (за замовчуванням) кроком циклу приймається одиниця. Ключове слово Nextозначає кінець тіла циклу. <ПослідовністьОператорів (Тіло циклу)>– це та частина програми, число повторень якої визначається законом зміни значень лічильника.
При виконанні оператора циклу з лічильником насамперед цикл перевіряється на несуперечність. Якщо кінцеве значення лічильника більше початкового, то крок циклу повинен бути додатним. Якщо кінцеве значення лічильника менше початкового, то крок буде від’ємним.
Якщо буде виявлено суперечність, робота циклу буде негайно припинена і почнуть виконуватися оператори, записані за оператором циклу. В лічильнику циклу залишиться його початкове значення.
Якщо ж суперечності не буде виявлено, то оператори тіла циклу будуть виконані при початковому значенні лічильника. Потім значення лічильника буде змінено на величину кроку. Після цього (у випадку циклу з додатнім кроком) буде зроблена перевірка, чи не перевищує значення лічильника кінцевого значення. Якщо це так, робота оператора циклу буде припинена. Якщо ні, то оператори тіла циклу будуть виконані при новому значенні лічильника, після чого воно буде знову змінено на величину кроку і т.д. Аналогічно дії виконуюються і при від’ємному значенні кроку зміни лічильника циклу.
В цій лабораторній роботі буде продемонстровано виведення результатів обчислень безпосередньо у форму за допомогою методу Print, що має наступний синтаксис:
[<Ім’я об’єкту>.]Print[<список виведення>]
Одноразовим викликом методу Printможна вивести декілька значень елементів із списку виведення. В цьому випадку їх необхідно відокремити або крапкою, або крапкою з комою. Якщо елементи відокремлюються комою, то кожен наступний елемент виводиться з початку наступного стовпчика (ширина кожного стовпчика дорівнює 14 символам), а якщо крапкою з комою, то елементи виводяться через пропуск. Кожен наступний метод Print здійснює виведення інформації з нового рядка. Якщо попередній метод Print завершився крапкою чи крапкою з комою, то наступний метод Print продовжить виведення в поточному рядку. Коли потрібно здійснити перехід на новий рядок, застосовується метод Print без параметрів.
У методі Print для виведення значення із заданої позиції поточного рядка використовують функцію Tab(<номер позиції>), а для виведення заданої кількості пропусків − функцію Spc(<кількість>). Для виведення інформації у потрібному форматі використовується функція Format(<вираз>, <формат>). Другим параметром найчастіше служать символи, які наведені в таблиці 4.1.
Таблиця 4.1
Параметри функції Format
Символ | Призначення |
виведення символів, у випадку їх відсутності − нулів | |
# | виведення цифр, у випадку їх відсутності − пропусків |
. | виведення десяткової крапки |
Е-, Е+, е-, е+ | виведення у експонентній формі |
Приклад 3.
Розглянемо програму, яка реалізує циклічний алгоритм виведення чисел від 0 до 100 з кроком 20 з використанням оператора циклу з лічильником:
Private Sub Command1_Click()
For i=0 to 100 Step 20 ’ Перший рядок циклу
Print i
Next і ’ Останній рядок циклу
End Sub
Тут змінна i –лічильник циклу, 0 і 100 – початкове і кінцеве значення лічильника, 20 – крок, а послідовність операторів складається тільки з одного оператора: Printi – виведення значення лічильника на екранну форму.
Результатом роботи даної програми буде стовпчик чисел: 0, 20, 40, 60, 80 і 100. Після закінчення роботи циклу значення лічильника буде рівним 120. Це число перевищує кінцеве значення лічильника.
Приклад 4.
Роботу циклу з лічильником можна продемонструвати і на прикладі програми, за допомогою якої відображаються графічні елементи, що повторюються, наприклад, пронумеровані прямокутники (рис.4.1).
Рис. 4.1. Результат роботи програми виведення графічних об’єктів
Програмний код може мати вигляд:
Private Sub Command1_Click()
Cls
Scale (0, 4) - ( 40, -4)
For i = 0 to 10
Line(3 + i * 3, 1 ) – (1 + i * 3, 3), vbBlack, B
Print i + 1
Next i
End Sub
Цикл з лічильником зручно використовувати для побудови графіка функції. Графік функції y=f(x) будується на довільному відрізку осі абсцис на основі точок, коли для кожного значення аргументуxз цього відрізка комп’ютер може легко знайти значення функції у і розмістити на площині креслення точку з координатами (x,y). Якщо точок буде достатньо багато, то вони зливатимуться в суцільну лінію – графік функції.
Приклад 5.
На рис.4.2 показано екранну форму з розміщеним на ній графічним вікном. В ньому за допомогою методів Pset і Line з використанням циклу з лічильником побудований графік функції у= ах2+ bx+ с (а = 1, b = –2, с = –3).
Код програми має вигляд:
Private Sub Command1_Click()
Picture1.Scale (-3, 5)-(5, -5)
’ Побудова осі абсцис
Picture1.Line (-3, 0)-(5, 0), vbCyan
For i = -3 To 4
Picture1.PSet (i, 0), vbCyan
Picture1.Print i
Next i
’ Побудова осі ординат
Picture1.Line (0, -5)-(0, 5), vbCyan
For i = -4 To 5
Picture1.PSet (0, i), vbCyan
Picture1.Print i
Next i
’ Побудова графіка
For x = -2 To 4 Step 0.01
y = x ^ 2 - 2 * x - 3
Picture1.PSet (x, y), vbGreen
Next x
End Sub
Рис. 4.2. Побудова графіка функції
Дата добавления: 2016-07-27; просмотров: 2020;