Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Короткі теоретичні відомості.
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 с.) |