Короткі теоретичні відомості. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Короткі теоретичні відомості.



1. Оператор циклу For…, з використанням лічильника циклу

Оператор циклу For дозволяє повторяти групу операторів певну кількість раз. Синтаксис:

For лічильник_циклу = початок TO кінець [ step крок]

Тіло циклу

Next [ лічильник_циклу ]

Тут лічильник_циклу – це числова змінна. На початку виконня циклу вона приймає значенння, яке задається числовим виразом початок. Числовий вираз кінець – задає кінцевий вираз лічильника циклу. Числовий вираз крок не обов’язково і по замовчуванню=1. Тіло циклу – це послідовність операторів які будуть виконані задану кількість раз. Якщо крок додатній, то цикл завершується, тоді коли вперше виконається умова:

лічильник_циклу > кінець

Якщо крок циклу відємний, умова його завершення така:

лічильник_циклу < кінець

Ця умова перевіряється перед початком виконання циклу, а потім – після кожного додавання кроку до лічильника циклу в операторі Next. Якщо вона виконана, управління передається на оператор, наступний за Next, якщо ні – виконуються оператори із тіла циклу. Закінчити цикл For…Next можно і за допомогою оператора Exit For. Такі оператори можуть бути розміщені в тих місцях тіла циклу, де необхідно із нього вийти не дочекавшись виконання умови завершення.

 

 

 


Рисунок 2.1 – Графічний алгоритм циклу з "лічильником"

Приклад: Обчислити значення функції y= на проміжку [0;2] з кроком 0.2

Sub цикли()

Dim x, y As Single, i, n As Byte

n = 11

x = 0

Worksheets(1).Range("a1").Value = " çíà÷åííÿ y="

Worksheets(1).Range("b1").Value = "çíà÷åíÿ x="

For i = 2 To n + 1

y = Cos(2 * x) ^ 2

Worksheets(1).Range("a" & i).Value = y

Worksheets(1).Range("b" & i).Value = x

x = x + 0.2

Next i

End Sub

Цикли з передумовою і післяумовою.

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

1) Цикли з передумовою

 

a) Do Whil e <умова> б) Whil e P

<послідовність операторів 1> <послідовність операторів 1>

[ Exit Do ]

<послідовність операторів 2>

Wend

Loop

Рисунок 2.2 – Графічний алгоритм циклу з передумовою

Тіло циклу буде виконуватися в тому випадку, коли умова набуває значення істини (цикл продовжується при істинному значенні умови). Якщо умова хибна, то виконуються оператори, які находяться після циклу. В першому випадку є можливість дочасного виходу із циклу (це реалізовано через Exit Do.

Нижче показаний приклад виконання наведеної вище задачі, де використовується цикл із передумовою Do While …Loop.

Sub цикли_предумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do While x <= 2

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop

End Sub

в)Крім уже описаних вище циклів із передумовою існує ще один - це цикл Do Until … Loop. Тіло S цього циклу виконується до тих пір, поки умова P не набуде значення істини (цикл продовжується при хибному значенні умови P). Якщо є можливість дострокового виходу із циклу. Його синтаксис наступний:

Do Unlil P

S

[ Exit Do ]

Loop

Далі дивимось код програми тої ж задачі, але із використанням циклу Do Until … Loop.

Sub цикли_післяумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do Until x > 2

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop

2) Цикли із післяумовою.

 

Рисунок 2.3 – Графічний алгоритм циклів з післяумовою

а) Do

<послідовність операторів 1>

[ Exit Do ]

<послідовність операторів 2>

Loop Until <умова>

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

Приведений код програми, із використання циклу Do …Loop While.

Sub цикли_предумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop While x<=2

 

б) Do

S

[ Exit Do ]

Loop Until P

Тіло S цього циклу виконується до тих пір, пока умова P не набуде значення істини (цикл продовжується при хибному значенні умови P). Є можливість дострокового виходу із циклу.

Нижче представлений код тої ж задачі, але із використанням Loop Until.

Sub цикли_післяумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

LoopUntil x>2

ЗАВДАННЯ ДЛЯ ЛДАБОРАТОРНОЇ РОБОТИ

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

Варіант 1

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

Варіант 2

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

Варіант 3

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

.

Варіант 4

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

Варіант 5

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

Варіант 6

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

Варіант 7

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

Варіант 8

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

Варіант 9

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

Варіант 10

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

Варіант 11

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

Варіант 12

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

 

Варіант 13

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

Варіант 14

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

Варіант 15

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

.

Варіант 16

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

Варіант 17

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

Варіант 18

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

 

Варіант 19

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

Варіант 20

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

 

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

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

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

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

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

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

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

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

ПРИКЛАД ВИКОНАННЯ

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

3.1.2 Графічний алгоритм

 

 
 

 


3.1.3 Обчислюємо кількість інтервалів Х за формулою:

; ; N=31

3.2.1 Виконати програму Сервіс →Макрос →Редактор VBA;

3.2.2 Виконати команду Вставка →Модуль;

3.2.3 Ввести ім’я модуля Sub цикли1()

3.2.4 Набрати текст програми

3.3 Код програми мовою VBA

Sub цикли_1()

Dim x, y, z As Single, i, n As Byte

n = 31

x = -2

Worksheets(1).Range("a1").Value = " значення x="

Worksheets(1).Range("b1").Value = "значення y="

Worksheets(1).Range("c1").Value = "значення z="

For i = 2 To n + 1

y = 5 * Log(Abs(3 * x + 1) / (1 + x))

z = Cos(2 * y) - Sin(3 * y)

Worksheets(1).Range("a" & i).Value = x

Worksheets(1).Range("b" & i).Value = y

Worksheets(1).Range("c" & i).Value = z

x = x + 0.1

Next i

End Sub

3.4.1 Графічний алгоритм та програма з використанням оператора While Loop



Sub цикли_2()

Dim x, y, z As Single, i, n As Byte

n = 31

x = -2

i = 2

Worksheets(1).Range("d1").Value = " значення x="

Worksheets(1).Range("e1").Value = "значення y="

Worksheets(1).Range("f1").Value = "значення z="

Do While x <= 1

y = 5 * Log(Abs(3 * x + 1) / (1 + x))

z = Cos(2 * y) - Sin(3 * y)

Worksheets(1).Range("D" & i).Value = x

Worksheets(1).Range("E" & i).Value = y

Worksheets(1).Range("F" & i).Value = z

x = x + 0.1

i = i + 1

Loop

End Sub

 


 

3.5.1 Графічний алгоритм та програма з використанням оператора Until Loop

 

 

 
 

 

 


Sub цикли_3()

Dim x, y, z As Single, i, n As Byte

n = 31

x = -2

i = 2

Worksheets(1).Range("G1").Value = " значення x="

Worksheets(1).Range("H1").Value = "значення y="

Worksheets(1).Range("I1").Value = "значення z="

Do

y = 5 * Log(Abs(3 * x + 1) / (1 + x))

z = Cos(2 * y) - Sin(3 * y)

Worksheets(1).Range("G" & i).Value = x

Worksheets(1).Range("H" & i).Value = y

Worksheets(1).Range("I" & i).Value = z

x = x + 0.1

i = i + 1

Loop Until x>1

End Sub

3.6 Створеним макросам призначити кнопки Рис.3.1

Рисунок 3.1 – Результат виконання програми


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

Тема: Циклічні програми, що містять розгалуження..

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



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 118; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.13.70 (0.117 с.)