SlideShare a Scribd company logo
1 of 13
Download to read offline
Лекція Кількість годин 2
«Оператор переходу, умовний оператор»
План
1. Програмування обчислювальних процесів, що розгалужуються. Оператор
переходу.
2. Поняття умовного оператора.
3. Програмування циклічних процесів.
Використана література
1. Інформатика. Комп’ютерна техніка. Комп’ютерні технології . Підручник / За
ред. В.А. Баженова – К.: Каравела, 2003.
2. Інформатика. Комп’ютерна техніка. Комп’ютерні технології . Посібник/ За
ред. О.І. Пушкаря – К.: Академія, 2001.
1. Програмування обчислювальних процесів, що розгалужуються.
Оператор переходу.
УМОВА - ЦЕ ВИСЛОВЛЮВАННЯ, ЩО МОЖЕ БУТИ ІСТИНОЮ АБО
ХИБНИМ ЗНАЧЕННЯМ.
Умовні вирази можуть бути простими і складними.
Просте умова включає в себе два числа, дві змінні або два
арифметичних вирази, які порівнюються між собою з
використанням операцій порівняння (=,>, <,> =, <=, <>).
Наприклад, 17 <2, Х> = 5, X * Y = X + Y.
Складну умову - це послідовність простих умов, об'єднаних між собою
знаками логічних операцій.
Наприклад, Y> -2 AND Y <8.
Оператори умовного переходу - одні з найважливіших і часто
використовуваних елементів в мовах програмування. Загальний принцип їх
роботи простий: перевіряється відповідність якимось умовам (істинність або
хибність будь-яких виразів) і в залежності від цього виконання програми
направляється по одній або іншій гілці.
Конструкція оператора умовного переходу може мати лінійну або вертикальну
форми.
Лінійна форма (використовується при коротких серіях):
If умова Then Серія 1 [Else Серія 2]
Вертикальна форма (використовується при довгих серіях):
If умова Then
Серія 1
Else
Серія 2
End If
Працює цей оператор наступним чином:
перевіряється умова
Якщо умова істинно, то виконується Серія 1, (Серія 2 при цьому
пропускається)
Якщо умова помилкова, то виповнюється Серія 2, (Серія 1 пропускається)
Як умова може бути використано будь-який логічний вираз зі знаком>
(більше), <(менше), = (дорівнює),> = (більше або дорівнює), <= (менше або
дорівнює), <> (не дорівнює).
наприклад:
If x> 0 Then
Print "Число позитивне"
Else
Print "Число негативне"
End If
Visual Basic, як і багато мов програмування, має умовний оператор
переходу для використання у випадках, коли необхідно вибирати з більшої
кількості різних гілок коду: оператор Select Case. Даний оператор працює
багато в чому так само, як і оператор If. Ключові слова Select Case
використовуються з багатьма операторами Case, де кожен оператор Case
перевіряє появу іншого умови і виконується тільки одна з гілок Case. Гілка
Case може містити один, кілька або жодного оператора.
Select Case вираз
Case условіе_1
оператор_1
Case условіе_2
Оператор_2
...
Case условіе_ N
Оператор_N
[Case Else
Оператор_ N +1
End Select,
де вираз - будь чисельне або строкове вираження;
условіе_1, условіе_2, условіе_ N - (кожен) представляє список логічних
виразів, відокремлених комами;
оператор_1, оператор_2, оператор_ N, оператор_ N +1 - (кожен) представляє
один, кілька або жодного оператора.
В Select Case можна включати стільки операторів Case умови, скільки
необхідно.
Наприклад:
Select Case sDayOfWeek
Case "Понедельник"
MsgBox "Салат зі шпинату"
Case "Вiвторок"
MsgBox "Салат з морської капусти"
...
Case Else
MsgBox "На цей день у нас нічого не передбачено"
End Select
Примітка. Написання неоднострочних операторів в програмах відбувається
саме так (в стовпчик), або редактор видаватиме помилку написання.
У Visual Basic є оператор безумовного переходу GoTo. Оператор безумовного
переходу завжди змінює порядок виконання операторів в процедурі або
функції. При цьому не перевіряється ніяких умов, а просто програма
переходить до виконання коду з іншого місця.
Оператор GoTo має наступний синтаксис
GoTo мітка
Мітка - будь-яке позначення або номер рядка в тій же процедурі або функції,
яка містить оператор GoTo. При виконанні оператора GoTo програма негайно
переходить до виконання оператора в рядку, визначеної за допомогою мітки.
2. Програмування обчислювальних процесів, що розгалужуються.
Поняття умовного оператора.
Обчислювальний процес, що розгалужується, передбачає вибір одного з
кількох можливих варіантів обчислень залежно від результату перевірки
умови, яка має вигляд виразу логічного типу. Внаслідок перевірки цієї умови
можливими є два варіанти:
Так (True) – умова виконується;
Ні (False) – умова не виконується.
У мові Visual BASIC існують дві форми синтаксису цього оператора: одно-
та багаторядкова. Перша має такий вигляд:
If умова Then оператор 1 [Else оператор 2] Багаторядкова форма складніша:
If умова Then
послідовність операторів 1
Else
послідовність операторів 2
End if.
Напівжирним шрифтом виділяються ключові слова, квадратними дужками -
конструкції, які можуть бути відсутні.
Розглянемо семантику умовного оператора, зупинившись спочатку на
простому варіанті, коли ключове слово Else відсутнє.
Якщо умовний вираз має істинне значення, то робиться перехід до
виконання операторів після слова Then. За хибного значення умовного виразу
виконання cкладного оператора відразу припиняється і починають
виконуватися записані за ним оператори програми. Такий умовний перехід
називається одинарним.
Розглянемо другий варіант, коли умовний оператор містить ключове слово
Else. У цьому разі, якщо умовний вираз має істинне значення, здійснюється
перехід до виконання операторів після слова Then. Якщо ж умовний вираз має
хибне значення, то робиться перехід до виконання операторів після слова Else.
Виконання умовного оператора припиняється і починають виконуватися
записані за ним оператори програми.
Приклад використання одинарного умовного оператора:
If x>=3 Then y = Sin (x^2+7)
Приклад подвійного переходу (алгоритм обчислення максимального з двох
нерівних чисел X та Y). Маємо:
If X>Y Then max=X Else max=Y
Розглянуті умовні оператори If..Then...Else застосовуються в разі
необхідності перевірки однієї умови, залежно від істинності якої виконуються
ті чи інші команди. Однак у Visual BASIC 6.0 існує ще один умовний
оператор, який дає змогу перевіряти відразу кілька умов.
Оператори If...Then...ElseIf дають можливість розглянути, крім головної
умови, ще
й додаткові. Додаючи нові оператори Elself, можна розглянути будь-яку
кількість умов. Логіка роботи операторів If...Then...Elself така:
If головний умовний вираз Then послідовність операторів А ElseІf умовний
вираз 1 Then послідовність операторів 1
ElseІf умовний вираз 2 Then
послідовність операторів 2
ElseІf умовний вираз 3 Then
послідовність операторів З
…
ElsеІf умовний вираз N Then
послідовність операторів N
[Else послідовність операторів В] End If
Спочатку обчислюється значення головної умови в операторі If. Якщо воно
дорівнює True, то буде виконаний оператор (оператори, якщо їх кілька) після
оператора Then. Далі програма переходить до виконання оператора,
записаного безпосередньо після оператора End If.
Якщо ж перша умова має значення False, то програма відразу переходить до
виконання першого оператора ElseІf, щоб перевірити значення його умови.
Якщо значення цієї умови дорівнює True, то будуть виконані оператори,
записані за цим оператором, після чого програма переходить до виконання
оператора, записаного безпосередньо після оператора End If. В іншому разі ця
послідовність дій повторюється для наступного оператора ElseІf, і так триває
доти, доки не будуть розглянуті всі оператори.
Якщо всі умови мають значення False, то програма переходить до оператора
Else і виконуються команди, розташовані між Else та End If. Присутність
оператора Else не обов'язкова.
Розглянуті оператори If...Then...ElseIf дають змогу перейти до додаткової
умови тільки тоді, коли основна умова має хибне значення.
Якщо треба перевірити яку-небудь додаткову умову за умови, що головна
умова є істинною, то використовуються вкладені оператори If. Синтаксис
вкладеного оператора If такий:
If умова 1 Then
If умова 2 Then
Оператори А
Else
Оператори В
End If
End If
Якщо обидві умови мають істинні значення, то виконуються оператори А.
Якщо ж перша умова має хибне значення, то програма переходить до
виконання оператора, записаного за оператором End If. Якщо перша умова є
істинною, а друга хибною, то виконуються оператори В.
Приклад 4: Скласти програму обчислення значення функції
Sub Макрос 4 ()
Dim x As Single
x = InputBox (“Введіть значення змінної”)
Іf x <= 0 Then y = x^3 +2*x – 6 Else y = cos(x) + sin(x) MsgBox “y =” & y
 x3
+ 2x − 6, x  0
y = 
cos(x) + sin(x), x  0. EndSub
Приклад 5: Скласти програму розв’язання квадратного рівняння a*x2
+ b*x +c
=
0. У випадку, якщо дискримінант менший нуля, вивести відповідне повідомлення.
Очевидно, в даній програмі залежно від значення дискримінанта вибираємо два
можливі варіанти (не будемо виділяти як два різні випадки, коли дискримінант
більший від 0, і коли дискримінант дорівнює 0).
Sub Макрос 5 ()
Dim a As Single
Dim b As Single
Dim c As Single
a = InputBox (“a=”)
b = InputBox (“b= ”)
c = InputBox (“ c=”)
D = b^2 – 4*a*c
If D>=0 Then
x1 = ( -b – sqr(D)) / (2*a)
x2 = ( -b + sqr(D)) / (2*a)
MsgBox “x1 =” & x1 & “
Else
x2=” & x2
MsgBox “Дане рівняння не має розв’язку”
End If
EndSub
3.Програмування циклічних процесів.
Циклічний обчислювальний процес — це такий процес оброблення
інформації, для якого характерним є багаторазове виконання одного або
кількох приписів алгоритму. Багато разів повторювані процеси називають
циклами або повтореннями.
Циклічні обчислювальні процеси є найпоширенішими. Їх реалізація
пов'язана з розв'язанням задачі розрахунку повторень циклу, організацією
повернення до по-чатку циклу і виходом із нього.
Розрізняють два види циклів: з відомим і невідомим числом повторень.
Для програмування повторень із зазделегідь відомим їх числом
застосовується оператор циклу For...Next, який називається циклом із
лічильником. Це багаторядковий оператор, синтаксис якого такий:
For Ім'я = Значення1 То Значення2 [Step ЗначенняЗ] Оператори, що повторюються
(тіло циклу)
Next [Ім'я]
Тут Ім'я — це ім'я змінної, яку називають лічильником (індексом циклу);
Значення 1 — початкове значення лічильника; Значення 2 — його кінцеве
значення; Значення 3 — величина, на яку змінюється значення лічильника при
одному повторенні. Вона називається кроком циклу.
Оператори, що повторюються, — це та частина програми, яка має
повторюватися один або кілька разів.
Конструкція [Step ЗначенняЗ] може бути відсутня. При цьому за
замовчуванням вважається, що лічильник змінює своє значення на одиницю
(крок циклу дорівнює 1). Ім'я лічильника після ключового слова Next також
може бути відсутнім.
Розглянемо програму, що містить цикл For...Next, який підраховує суму
чисел від 1 до 10.
Sub Command ()
S = О
For і = 1 То 10
S = S + і
Print "S = ", S
Next і
End Sub
У цій процедурі змінна “і” є лічильником циклів. Початкове значення
лічильника дорівнює 1, а кінцеве — 10. Враховуючи, що ключове слово Step
відсутнє, значення кроку циклу за замовчуванням дорівнює одиниці. Цикл
For...Next у прикладі, наведеному вище, виконується так.
1. Лічильнику циклів присвоюється початкове значення 1.
2.Виконується тіло циклу з урахуванням того, що і = 1, тобто S = 0+1.
Тут змінній S присвоюється значення 1 і виконується оператор Print "S =
", S для друкування на формі повідомлення S= 1 .
Після цього здійснюється повернення до початку циклу (оператор For), а до
значення змінної “і” додається значення кроку, що дорівнює 1.
Виконання циклу продовжується, значення і = 2, тобто змінній S
присвоюється значення 3: S=1 + 2 .
Цикл продовжує виконуватися, до лічильника циклів “і” додається значення
кроку, що дорівнює 1.
Коли і = 10, цикл завершується, і виконання програми продовжується з
оператора, записаного за Next і, тобто з оператора End Sub.
Ці підходи не є такими вже складними, але що робити, якщо треба додати
100 чи більше цілих чисел? За допомогою циклу For ... Next додати 100 чисел
так само просто, як і 10:
S = 0
For і = 1 to 100
S = S+i
Next i
Таким чином, використання циклу For ... Next дає змогу значно скоротити
обсяг програми.
Розглянуті приклади демонструють виконання циклів For ... Next при
додатному кроці циклу. Як відомо, в цьому разі цикл For ... Next завершується
тоді, коли значення лічильника стає більшим, ніж його кінцеве значення. Для
випадку, коли вказується від'ємний крок, цикл завершується, якщо значення
лічильника стає меншим, ніж його кінцеве значення.
У наведеному нижче прикладі рядок “Visual Basic” буде надрукований п'ять
разів, і при кожному повторенні розмір шрифту буде зменшуватися на два
пункти.
Sub Command ()
For і = 10 To 2 Step - 2 FontSize = 8 + і
Print "Visual BASIC" Next і
End Sub
Якщо при повтореннях змінюється не одна величина, а дві (або більше), і при
кожному значенні однієї величини інша величина "пробігає" всі свої значення,
то для програмування таких циклічних процесів застосовуються вкладені
цикли:
For Ім'я А = Значення А1 То Значення А2 For Ім'я
Б = Значення Б1 То Значення Б2
[ Step Значення [
Step Значення
A3]
БЗ]
Оператори, що Повторюються
Next [Ім'я Б]
Next [Ім'я А]
Тут Ім'я А та Ім'я Б — лічильники двох циклів (зовнішнього циклу А і
внутрішнього циклу Б).
Принцип роботи вкладеного циклу такий: при кожному значенні лічильника
зовнішнього циклу А лічильник внутрішнього циклу Б "пробігає" всі свої
значення, при-чому при кожному значенні лічильника внутрішнього циклу Б
виконуються оператори,
що повторюються.

Приклад 6: Скласти програму обчислення значення функції y = 
cos(x) * sin(x), x  0.
Значення х змінюється від –10 до 10 з кроком 2.
Очевидно, в даній програмі вводити значення х за допомогою функції
InputBox не потрібно, оскільки ряд значень відомий: -10, -8, -6, -4, -2, 0, 2, 4, 6,
8, 10.
x + 5, x 
0,
Sub Макрос 6 ()
WorkSheets(“Лист2”).activate
Dim x As Single
i=1
For x = -10 To 10 Step 2
Іf x <= 0 Then
y = x + 5
Else y = cos(x) * sin(x)
End If
Cells( i, 2).Value = x
Cells( i, 3).Value = y
i=i+1
Next x
EndSub
1 1 1
n
1Приклад 7: Скласти програму, яка обчислює
суму S =1+ + +...+ =
 .
2 4
n n
2 i=0 2
Результат вивести у вікні повідомлень.
Sub макрос7 ()
Dim x As Integer
Dim S As Single
n = InputBox("Введіть значення n")
S = 0
For x = 0 To n
S = S + 1 / (2 ^ x)
Next x
MsgBox "S=" & S
End Sub

More Related Content

What's hot

урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
Helen Pata
 
2 алгортми
2 алгортми2 алгортми
2 алгортми
basikk077
 
Умовний оператор if
Умовний оператор ifУмовний оператор if
Умовний оператор if
Dmitry Chabanenko
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
Helen Pata
 
вказівки повторення і розгалуження
вказівки повторення і розгалуженнявказівки повторення і розгалуження
вказівки повторення і розгалуження
1cana1
 
урок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскальурок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскаль
Helen Pata
 
03 Constants And Variables
03 Constants And Variables03 Constants And Variables
03 Constants And Variables
olegapster
 

What's hot (20)

1
11
1
 
Урок 54 8 клас
Урок 54 8 класУрок 54 8 клас
Урок 54 8 клас
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
 
Алгоритмізація та програмування
Алгоритмізація та програмуванняАлгоритмізація та програмування
Алгоритмізація та програмування
 
Поняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразівПоняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразів
 
2 алгортми
2 алгортми2 алгортми
2 алгортми
 
Умовний оператор if
Умовний оператор ifУмовний оператор if
Умовний оператор if
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
 
вказівки повторення і розгалуження
вказівки повторення і розгалуженнявказівки повторення і розгалуження
вказівки повторення і розгалуження
 
урок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскальурок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскаль
 
БазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiвБазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiв
 
Розгалуження в мові C++
Розгалуження в мові C++Розгалуження в мові C++
Розгалуження в мові C++
 
Funkciji1
Funkciji1Funkciji1
Funkciji1
 
Урок 56 8 клас
Урок 56 8 класУрок 56 8 клас
Урок 56 8 клас
 
03 Constants And Variables
03 Constants And Variables03 Constants And Variables
03 Constants And Variables
 
Ak 11 klas_urok_25_tema
Ak 11 klas_urok_25_temaAk 11 klas_urok_25_tema
Ak 11 klas_urok_25_tema
 
11 клас 2 урок
11 клас 2 урок11 клас 2 урок
11 клас 2 урок
 
+6 for
+6 for+6 for
+6 for
 
Lesson # 44. repetition algorithms for processing quantities. loop with condi...
Lesson # 44. repetition algorithms for processing quantities. loop with condi...Lesson # 44. repetition algorithms for processing quantities. loop with condi...
Lesson # 44. repetition algorithms for processing quantities. loop with condi...
 

Similar to Operator perehody

головне меню за допомогою Label
головне меню за допомогою Labelголовне меню за допомогою Label
головне меню за допомогою Label
antalia1010
 
Реалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структурРеалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структур
innaivy
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
Школа №7 Миргород
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
cit-cit
 
Лекція №12 Передача параметрів у функцію.pptx
Лекція №12 Передача параметрів у функцію.pptxЛекція №12 Передача параметрів у функцію.pptx
Лекція №12 Передача параметрів у функцію.pptx
ssuserf57884
 
конспект уроку налагодження програм
конспект уроку налагодження програмконспект уроку налагодження програм
конспект уроку налагодження програм
tan4ikbah
 
Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpom
metallurg056
 

Similar to Operator perehody (20)

3
33
3
 
12
1212
12
 
13
1313
13
 
Урок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовоюУрок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовою
 
головне меню за допомогою Label
головне меню за допомогою Labelголовне меню за допомогою Label
головне меню за допомогою Label
 
Реалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структурРеалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структур
 
базовI структури алгоритму урок 4
базовI структури алгоритму урок 4базовI структури алгоритму урок 4
базовI структури алгоритму урок 4
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
 
Функції в C++
Функції в C++Функції в C++
Функції в C++
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
 
5971 789623
5971 7896235971 789623
5971 789623
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
 
9 13
9 139 13
9 13
 
7 klas 11_urok_m
7 klas 11_urok_m7 klas 11_urok_m
7 klas 11_urok_m
 
Лекція №12 Передача параметрів у функцію.pptx
Лекція №12 Передача параметрів у функцію.pptxЛекція №12 Передача параметрів у функцію.pptx
Лекція №12 Передача параметрів у функцію.pptx
 
конспект уроку налагодження програм
конспект уроку налагодження програмконспект уроку налагодження програм
конспект уроку налагодження програм
 
події
подіїподії
події
 
Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpom
 
8 20
8 208 20
8 20
 
8 16
8 168 16
8 16
 

More from metallurg056 (20)

polojentya2022.pdf
polojentya2022.pdfpolojentya2022.pdf
polojentya2022.pdf
 
prpriyomy20222222.pdf
prpriyomy20222222.pdfprpriyomy20222222.pdf
prpriyomy20222222.pdf
 
PR4 PM.pdf
PR4 PM.pdfPR4 PM.pdf
PR4 PM.pdf
 
struktura fondy.pdf
struktura fondy.pdfstruktura fondy.pdf
struktura fondy.pdf
 
Formi oplati npaci.pdf
Formi oplati npaci.pdfFormi oplati npaci.pdf
Formi oplati npaci.pdf
 
pr311.pdf
pr311.pdfpr311.pdf
pr311.pdf
 
pr#10.pdf
pr#10.pdfpr#10.pdf
pr#10.pdf
 
rentabelnist.pdf
rentabelnist.pdfrentabelnist.pdf
rentabelnist.pdf
 
Pributok
PributokPributok
Pributok
 
Dohid
DohidDohid
Dohid
 
#9 pr hti
#9 pr hti#9 pr hti
#9 pr hti
 
№10 pr
№10 pr№10 pr
№10 pr
 
Instruktaj
InstruktajInstruktaj
Instruktaj
 
Nakazd
NakazdNakazd
Nakazd
 
Pr#9
Pr#9Pr#9
Pr#9
 
Pr#1
Pr#1Pr#1
Pr#1
 
Pr#1 ekonomika
Pr#1 ekonomikaPr#1 ekonomika
Pr#1 ekonomika
 
Pravilapriyomu2022
Pravilapriyomu2022Pravilapriyomu2022
Pravilapriyomu2022
 
Lr7
Lr7Lr7
Lr7
 
Lr6
Lr6Lr6
Lr6
 

Recently uploaded

exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024
OASISENGLISHOFFICIAL
 

Recently uploaded (8)

Габон
ГабонГабон
Габон
 
Хвороби картоплі та заходи боротьби з ними
Хвороби картоплі та заходи боротьби з нимиХвороби картоплі та заходи боротьби з ними
Хвороби картоплі та заходи боротьби з ними
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війні
 
Україна в умовах десталінізації (1953 – 1964 рр.).pptx
Україна в умовах десталінізації (1953 – 1964 рр.).pptxУкраїна в умовах десталінізації (1953 – 1964 рр.).pptx
Україна в умовах десталінізації (1953 – 1964 рр.).pptx
 
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024exam ЄВІ example of this exam for students for masters degree 2024
exam ЄВІ example of this exam for students for masters degree 2024
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищ
 

Operator perehody

  • 1. Лекція Кількість годин 2 «Оператор переходу, умовний оператор» План 1. Програмування обчислювальних процесів, що розгалужуються. Оператор переходу. 2. Поняття умовного оператора. 3. Програмування циклічних процесів. Використана література 1. Інформатика. Комп’ютерна техніка. Комп’ютерні технології . Підручник / За ред. В.А. Баженова – К.: Каравела, 2003. 2. Інформатика. Комп’ютерна техніка. Комп’ютерні технології . Посібник/ За ред. О.І. Пушкаря – К.: Академія, 2001.
  • 2. 1. Програмування обчислювальних процесів, що розгалужуються. Оператор переходу. УМОВА - ЦЕ ВИСЛОВЛЮВАННЯ, ЩО МОЖЕ БУТИ ІСТИНОЮ АБО ХИБНИМ ЗНАЧЕННЯМ. Умовні вирази можуть бути простими і складними. Просте умова включає в себе два числа, дві змінні або два арифметичних вирази, які порівнюються між собою з використанням операцій порівняння (=,>, <,> =, <=, <>). Наприклад, 17 <2, Х> = 5, X * Y = X + Y. Складну умову - це послідовність простих умов, об'єднаних між собою знаками логічних операцій. Наприклад, Y> -2 AND Y <8. Оператори умовного переходу - одні з найважливіших і часто використовуваних елементів в мовах програмування. Загальний принцип їх роботи простий: перевіряється відповідність якимось умовам (істинність або хибність будь-яких виразів) і в залежності від цього виконання програми направляється по одній або іншій гілці. Конструкція оператора умовного переходу може мати лінійну або вертикальну форми. Лінійна форма (використовується при коротких серіях): If умова Then Серія 1 [Else Серія 2] Вертикальна форма (використовується при довгих серіях): If умова Then Серія 1 Else Серія 2 End If
  • 3. Працює цей оператор наступним чином: перевіряється умова Якщо умова істинно, то виконується Серія 1, (Серія 2 при цьому пропускається) Якщо умова помилкова, то виповнюється Серія 2, (Серія 1 пропускається) Як умова може бути використано будь-який логічний вираз зі знаком> (більше), <(менше), = (дорівнює),> = (більше або дорівнює), <= (менше або дорівнює), <> (не дорівнює). наприклад: If x> 0 Then Print "Число позитивне" Else Print "Число негативне" End If Visual Basic, як і багато мов програмування, має умовний оператор переходу для використання у випадках, коли необхідно вибирати з більшої кількості різних гілок коду: оператор Select Case. Даний оператор працює багато в чому так само, як і оператор If. Ключові слова Select Case використовуються з багатьма операторами Case, де кожен оператор Case перевіряє появу іншого умови і виконується тільки одна з гілок Case. Гілка Case може містити один, кілька або жодного оператора. Select Case вираз Case условіе_1 оператор_1 Case условіе_2 Оператор_2 ... Case условіе_ N Оператор_N [Case Else
  • 4. Оператор_ N +1 End Select, де вираз - будь чисельне або строкове вираження; условіе_1, условіе_2, условіе_ N - (кожен) представляє список логічних виразів, відокремлених комами; оператор_1, оператор_2, оператор_ N, оператор_ N +1 - (кожен) представляє один, кілька або жодного оператора. В Select Case можна включати стільки операторів Case умови, скільки необхідно. Наприклад: Select Case sDayOfWeek Case "Понедельник" MsgBox "Салат зі шпинату" Case "Вiвторок" MsgBox "Салат з морської капусти" ... Case Else MsgBox "На цей день у нас нічого не передбачено" End Select Примітка. Написання неоднострочних операторів в програмах відбувається саме так (в стовпчик), або редактор видаватиме помилку написання. У Visual Basic є оператор безумовного переходу GoTo. Оператор безумовного переходу завжди змінює порядок виконання операторів в процедурі або функції. При цьому не перевіряється ніяких умов, а просто програма переходить до виконання коду з іншого місця. Оператор GoTo має наступний синтаксис GoTo мітка
  • 5. Мітка - будь-яке позначення або номер рядка в тій же процедурі або функції, яка містить оператор GoTo. При виконанні оператора GoTo програма негайно переходить до виконання оператора в рядку, визначеної за допомогою мітки.
  • 6. 2. Програмування обчислювальних процесів, що розгалужуються. Поняття умовного оператора. Обчислювальний процес, що розгалужується, передбачає вибір одного з кількох можливих варіантів обчислень залежно від результату перевірки умови, яка має вигляд виразу логічного типу. Внаслідок перевірки цієї умови можливими є два варіанти: Так (True) – умова виконується; Ні (False) – умова не виконується. У мові Visual BASIC існують дві форми синтаксису цього оператора: одно- та багаторядкова. Перша має такий вигляд: If умова Then оператор 1 [Else оператор 2] Багаторядкова форма складніша: If умова Then послідовність операторів 1 Else послідовність операторів 2 End if. Напівжирним шрифтом виділяються ключові слова, квадратними дужками - конструкції, які можуть бути відсутні. Розглянемо семантику умовного оператора, зупинившись спочатку на простому варіанті, коли ключове слово Else відсутнє. Якщо умовний вираз має істинне значення, то робиться перехід до виконання операторів після слова Then. За хибного значення умовного виразу виконання cкладного оператора відразу припиняється і починають виконуватися записані за ним оператори програми. Такий умовний перехід називається одинарним. Розглянемо другий варіант, коли умовний оператор містить ключове слово Else. У цьому разі, якщо умовний вираз має істинне значення, здійснюється перехід до виконання операторів після слова Then. Якщо ж умовний вираз має хибне значення, то робиться перехід до виконання операторів після слова Else. Виконання умовного оператора припиняється і починають виконуватися записані за ним оператори програми. Приклад використання одинарного умовного оператора: If x>=3 Then y = Sin (x^2+7) Приклад подвійного переходу (алгоритм обчислення максимального з двох нерівних чисел X та Y). Маємо: If X>Y Then max=X Else max=Y
  • 7. Розглянуті умовні оператори If..Then...Else застосовуються в разі необхідності перевірки однієї умови, залежно від істинності якої виконуються ті чи інші команди. Однак у Visual BASIC 6.0 існує ще один умовний оператор, який дає змогу перевіряти відразу кілька умов. Оператори If...Then...ElseIf дають можливість розглянути, крім головної умови, ще й додаткові. Додаючи нові оператори Elself, можна розглянути будь-яку кількість умов. Логіка роботи операторів If...Then...Elself така: If головний умовний вираз Then послідовність операторів А ElseІf умовний вираз 1 Then послідовність операторів 1 ElseІf умовний вираз 2 Then послідовність операторів 2 ElseІf умовний вираз 3 Then послідовність операторів З … ElsеІf умовний вираз N Then послідовність операторів N [Else послідовність операторів В] End If Спочатку обчислюється значення головної умови в операторі If. Якщо воно дорівнює True, то буде виконаний оператор (оператори, якщо їх кілька) після оператора Then. Далі програма переходить до виконання оператора, записаного безпосередньо після оператора End If. Якщо ж перша умова має значення False, то програма відразу переходить до виконання першого оператора ElseІf, щоб перевірити значення його умови. Якщо значення цієї умови дорівнює True, то будуть виконані оператори, записані за цим оператором, після чого програма переходить до виконання оператора, записаного безпосередньо після оператора End If. В іншому разі ця послідовність дій повторюється для наступного оператора ElseІf, і так триває доти, доки не будуть розглянуті всі оператори. Якщо всі умови мають значення False, то програма переходить до оператора Else і виконуються команди, розташовані між Else та End If. Присутність оператора Else не обов'язкова. Розглянуті оператори If...Then...ElseIf дають змогу перейти до додаткової умови тільки тоді, коли основна умова має хибне значення.
  • 8. Якщо треба перевірити яку-небудь додаткову умову за умови, що головна умова є істинною, то використовуються вкладені оператори If. Синтаксис вкладеного оператора If такий: If умова 1 Then If умова 2 Then Оператори А Else Оператори В End If End If Якщо обидві умови мають істинні значення, то виконуються оператори А. Якщо ж перша умова має хибне значення, то програма переходить до виконання оператора, записаного за оператором End If. Якщо перша умова є істинною, а друга хибною, то виконуються оператори В.
  • 9. Приклад 4: Скласти програму обчислення значення функції Sub Макрос 4 () Dim x As Single x = InputBox (“Введіть значення змінної”) Іf x <= 0 Then y = x^3 +2*x – 6 Else y = cos(x) + sin(x) MsgBox “y =” & y  x3 + 2x − 6, x  0 y =  cos(x) + sin(x), x  0. EndSub Приклад 5: Скласти програму розв’язання квадратного рівняння a*x2 + b*x +c = 0. У випадку, якщо дискримінант менший нуля, вивести відповідне повідомлення. Очевидно, в даній програмі залежно від значення дискримінанта вибираємо два можливі варіанти (не будемо виділяти як два різні випадки, коли дискримінант більший від 0, і коли дискримінант дорівнює 0). Sub Макрос 5 () Dim a As Single Dim b As Single Dim c As Single a = InputBox (“a=”) b = InputBox (“b= ”) c = InputBox (“ c=”) D = b^2 – 4*a*c If D>=0 Then x1 = ( -b – sqr(D)) / (2*a) x2 = ( -b + sqr(D)) / (2*a) MsgBox “x1 =” & x1 & “ Else x2=” & x2 MsgBox “Дане рівняння не має розв’язку” End If EndSub
  • 10. 3.Програмування циклічних процесів. Циклічний обчислювальний процес — це такий процес оброблення інформації, для якого характерним є багаторазове виконання одного або кількох приписів алгоритму. Багато разів повторювані процеси називають циклами або повтореннями. Циклічні обчислювальні процеси є найпоширенішими. Їх реалізація пов'язана з розв'язанням задачі розрахунку повторень циклу, організацією повернення до по-чатку циклу і виходом із нього. Розрізняють два види циклів: з відомим і невідомим числом повторень. Для програмування повторень із зазделегідь відомим їх числом застосовується оператор циклу For...Next, який називається циклом із лічильником. Це багаторядковий оператор, синтаксис якого такий: For Ім'я = Значення1 То Значення2 [Step ЗначенняЗ] Оператори, що повторюються (тіло циклу) Next [Ім'я] Тут Ім'я — це ім'я змінної, яку називають лічильником (індексом циклу); Значення 1 — початкове значення лічильника; Значення 2 — його кінцеве значення; Значення 3 — величина, на яку змінюється значення лічильника при одному повторенні. Вона називається кроком циклу. Оператори, що повторюються, — це та частина програми, яка має повторюватися один або кілька разів. Конструкція [Step ЗначенняЗ] може бути відсутня. При цьому за замовчуванням вважається, що лічильник змінює своє значення на одиницю (крок циклу дорівнює 1). Ім'я лічильника після ключового слова Next також може бути відсутнім.
  • 11. Розглянемо програму, що містить цикл For...Next, який підраховує суму чисел від 1 до 10. Sub Command () S = О For і = 1 То 10 S = S + і Print "S = ", S Next і End Sub У цій процедурі змінна “і” є лічильником циклів. Початкове значення лічильника дорівнює 1, а кінцеве — 10. Враховуючи, що ключове слово Step відсутнє, значення кроку циклу за замовчуванням дорівнює одиниці. Цикл For...Next у прикладі, наведеному вище, виконується так. 1. Лічильнику циклів присвоюється початкове значення 1. 2.Виконується тіло циклу з урахуванням того, що і = 1, тобто S = 0+1. Тут змінній S присвоюється значення 1 і виконується оператор Print "S = ", S для друкування на формі повідомлення S= 1 . Після цього здійснюється повернення до початку циклу (оператор For), а до значення змінної “і” додається значення кроку, що дорівнює 1. Виконання циклу продовжується, значення і = 2, тобто змінній S присвоюється значення 3: S=1 + 2 . Цикл продовжує виконуватися, до лічильника циклів “і” додається значення кроку, що дорівнює 1. Коли і = 10, цикл завершується, і виконання програми продовжується з оператора, записаного за Next і, тобто з оператора End Sub. Ці підходи не є такими вже складними, але що робити, якщо треба додати 100 чи більше цілих чисел? За допомогою циклу For ... Next додати 100 чисел так само просто, як і 10: S = 0 For і = 1 to 100 S = S+i Next i Таким чином, використання циклу For ... Next дає змогу значно скоротити обсяг програми.
  • 12. Розглянуті приклади демонструють виконання циклів For ... Next при додатному кроці циклу. Як відомо, в цьому разі цикл For ... Next завершується тоді, коли значення лічильника стає більшим, ніж його кінцеве значення. Для випадку, коли вказується від'ємний крок, цикл завершується, якщо значення лічильника стає меншим, ніж його кінцеве значення. У наведеному нижче прикладі рядок “Visual Basic” буде надрукований п'ять разів, і при кожному повторенні розмір шрифту буде зменшуватися на два пункти. Sub Command () For і = 10 To 2 Step - 2 FontSize = 8 + і Print "Visual BASIC" Next і End Sub Якщо при повтореннях змінюється не одна величина, а дві (або більше), і при кожному значенні однієї величини інша величина "пробігає" всі свої значення, то для програмування таких циклічних процесів застосовуються вкладені цикли: For Ім'я А = Значення А1 То Значення А2 For Ім'я Б = Значення Б1 То Значення Б2 [ Step Значення [ Step Значення A3] БЗ] Оператори, що Повторюються Next [Ім'я Б] Next [Ім'я А] Тут Ім'я А та Ім'я Б — лічильники двох циклів (зовнішнього циклу А і внутрішнього циклу Б). Принцип роботи вкладеного циклу такий: при кожному значенні лічильника зовнішнього циклу А лічильник внутрішнього циклу Б "пробігає" всі свої значення, при-чому при кожному значенні лічильника внутрішнього циклу Б виконуються оператори, що повторюються.  Приклад 6: Скласти програму обчислення значення функції y =  cos(x) * sin(x), x  0. Значення х змінюється від –10 до 10 з кроком 2. Очевидно, в даній програмі вводити значення х за допомогою функції InputBox не потрібно, оскільки ряд значень відомий: -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10. x + 5, x  0,
  • 13. Sub Макрос 6 () WorkSheets(“Лист2”).activate Dim x As Single i=1 For x = -10 To 10 Step 2 Іf x <= 0 Then y = x + 5 Else y = cos(x) * sin(x) End If Cells( i, 2).Value = x Cells( i, 3).Value = y i=i+1 Next x EndSub 1 1 1 n 1Приклад 7: Скласти програму, яка обчислює суму S =1+ + +...+ =  . 2 4 n n 2 i=0 2 Результат вивести у вікні повідомлень. Sub макрос7 () Dim x As Integer Dim S As Single n = InputBox("Введіть значення n") S = 0 For x = 0 To n S = S + 1 / (2 ^ x) Next x MsgBox "S=" & S End Sub