
- •1 Основні поняття
- •Архітектура комп’ютера
- •Етапи підготовки і рішення задач на еом
- •Програма, що не має помилок під часу трансляції і виконання, може і не дати вірних результатів через так звані логічні помилки в обраному алгоритмі, тобто алгоритмічних помилок.
- •1. Основні поняття алгоритмічної мови Бейсік.
- •4. Функції. Вирази.
- •Вправи та запитання
- •6. Виведення результатів
- •Розгалуження
- •1.Логічний вираз
- •3. Команда розгалуження if. Повна форма умовної команди.
- •10.Цикли
- •11.Оператори циклу
- •13. Ітераційні цикли
- •Мал.12 Схеми вкладених циклів.
- •Вправи та запитання
- •16. Нестандартні функції та підпрограми
Розгалуження
Розгалуження-це алгоритмічна конструкція, де перевіряється умова і залежно від її істинності чи хибності виконується та чи інша серія операторів. Вивчатимемо такі види розгалужень:
1) повне;
2) неповне;
3) вибір.
1.Логічний вираз
Логічний вираз- це засіб записування умов . Логічний вираз може приймати значення істинність або хибність. Хибному логічному виразу відповідає числове значення 0,а істинному-
будь-яке число. Бейсик-система істинний логічний вираз позначає числом - 1.
Логічні вирази бувають простими або складеними.
Простий логічний вираз-це два арифметичні вирази, з’єднані символами
відношення: =, <, >, <=, >=, <>.
Логічний вираз набуває одного із двох значень: ”істина” або “хибно”.
Система обчислює його так. Спочатку обчислює значення арифметичних виразів.
Перевіряє відношення. Якщо воно істинне ,то логічний вираз
набуває значення “істина”,а якщо ні, то- значення “хибно”.
Складений логічний вираз (або складена умова)- це вираз ,який складається
з простих логічних виразів,з’єднаних позначеннями логічних операцій:NOT, AND, OR,
де NOT-позначає операцію ”НЕ”, AND-операцію “I”,OR-операцію “АБО”
. Пріоритет виконання логічних операцій такий:1)NOT, 2)AND, 3)OR.
Приклад записів математичних і логічних виразів у табл.5.
Таблиця 5
Прості вирази |
Значення |
Складені вирази |
Значення |
X=3 |
-1 |
NOT Y <=-50 |
-1 |
X<Y |
0 |
1<X AND X < -15 |
-1 |
7 MOD 3=1 |
-1 |
X > 4 OR Y < -15 |
0 |
Y \ 2=4 |
0 |
X > 4 OR Y > -15 |
-1 |
Подвійну нерівність 1< X<5 як складений логічний вираз записують так:
1 <X AND X <5. Сукупність нерівностей вигляду x < 1; x >5 – так: X < 1 OR X >5.
Команда переходу GOTO. Для зміни порядку виконання рядків у програмі використовують команду переходу.
GOTO < номер рядка >
Дія команди. Відбувається перехід до рядка з зазначеним номером.
Приклад: Для переходу до рядка з номером 50 команда має такий вид: GOTO 50.
Зауваження: Нерекомендують часто і безсистемно використовувати команду
переходу, особливо до попередньої частини програми.
3. Команда розгалуження if. Повна форма умовної команди.
Команду розгалуження іноді ще називають умовною командою. Вона має дві форми: повну та коротку. Загальний вигляд повної команди розгалуження такий:
IF<логічний вираз > THEN <серія 1> ELSE <серія 2 >
Дія команди. Якщо зазначення логічного виразу істене, то виконується серія 1 , якщо воно хибне то виконується серія 2 . У Бейсику повну умовну команду записують у одному рядку.
Приклад 4: У результаті виконання команди
IF > 0 THEN PRINT X ELSE PRINT -X
На екрані отримаємо значення Х , якщо Х додатнє , або -Х в протилежному випадку.
Приклад 5. Обчислення складеної функції.
Sin x , якщо
х >= 0 ,
У=
Cos x , якщо х < 0 ,
10 INPUT X
20 IF X >= 0 THEN Y = SIN(X) ELSE Y =COS(X)
30 PRINT “Y=” ; Y, “X=”; X
Зауваження: В умовній команді після ключових слів THEN і ELSE можна записувати умовну команду IF. Така конструкція умовної команди називається вкладеною. Глибина вкладеності неповинна перевищувати довжини рядка яка повинна бути небільшою як 255 символів.
Блок IF – END IF. Ушвидкому та Турбо Бейсику повне розгалуження можна реалізувати за допомогою блокової конструкції IF – END IF так (потрібно дотримуватися такого шаблону написання ):
IF < умова > THEN
< серія1 >
ELSE
< сурія 2 >
END IF
Прикладу 5 відповідають команди: INPUT X
IF X >= 0 THEN
Y = SIN(X)
ELSE
Y = COS(X)
END IF
PRINT X, Y
4.Коротка форма команди розгалуження. Коротка форма команди розгалуження має вигляд:
IF <логічний вираз > THEN < серія команд >
де серія команд – це одна або декілька команд , які є в одному зі словом IF рядку програми . Команди в серії відокремлюють одну від одної двокрапкою .
Дія команди . Якщо значення логічного виразу істенне , то виконується зазначена серія команд . Якщо логічний вираз хибний , то серія команд ігнорується , і виконується наступний після IF рядок програми .
Зауваження . Якщо змінним не надано значень , то за замовчуванням їхніми значеннями є нуль .
Команда умовного переходу . Команда умовного переходу є частинним випадком короткої форми команди розгалуженя . Вона має вигляд:
IF < логічний вираз > THEN GOTO < номер >
Дія команди . Якщо значення логічного виразу істенне , то відбувається перехід до зазначеного рядка . Якщо воно хибне , то виконується наступний рядок програми .
Службове слово THEN або GOTO можна не писати . Є дві короткі форми команди:
IF < умова > THEN < номер>
IF < умова > GOTO < номер>
уваження . За допомогою короткої умовної команди можна змінювати порядок виконання команд у програмі , організувати розгалуження та повторення (цикли ) .
9 .ВИБІР
1.Оператор ON-GOTO. Конструкцію вибір використовують, якщо є понад два
альтернативні шляхи розгалуження. Це реалізують за допомогою оператора вибору ON-GOTO:
ON A GOTO список номерів,
де ON(при),GOTO(перейти)-службові слова, А-арифметичний вираз або змінна,
а список номерів має вигляд:N1,N2,…,Nk.
Дія оператора. Якщо А- вираз, то обчислюється його значення. Якщо А-змінна, то розглядається її значення. Якщо А набуває дійсного значення, то воно округлюється до цілого. Якщо А=k, о відбувається перехід до рядка з номером Nk. Якщо А виходить за межі діапазону[1;k], то виконується наступний після нього оператор.
П р и к л а д 1.Розглянемо оператори
10 А=2
20 ON A GOTO 40,60,80
Тут відбувається перехід до рядка з номером 60. З а д а ч а 1.Обчислити значення функції
k, якщо
k=1,
y= k+5, якщо k=2,
k+10, якщо k=3.
Програма.
10 REM Програма 9 Оператор вибору
20 INPUT “ЗРОБІТЬ ВИБІР”,K
30 ON K GOTO 40,50,60
40 Y=K:GOTO 70
50 Y=K+5:GOTO 70
60 Y=K+10
70 PRINT K,Y
80 END
3.Оператор SELECT CASE.У Швидкому Бейсику та Турбо Бейсику поряд з оператором ON-GOTO використовують оператор SELECT CASE(багатозначний вибір).
Дія оператора. Якщо значення вибору збігається з будь-яким значенням з наведених у списках(напр., у списку 2), то виконується відповідна серія операторів (напр., серія 2).
Зауваження 1.Списки значень в операторі CASE можна задати декількома способами. Вони наведені нижче:
CASE 4,5,6,7 ‘(цілі значення від 4 до 7)
CASE 4 TO 7 ‘(дійсні значення від 4 до 7)
СASE IS>0 ‘(значення більші від 0)
CASE “A” TO “Z” ‘(“A”,”B”,”C”,…,”Z”)
Для розв’язування задачі складемо програму 9а, де використаємо описаний оператор.
10 REM Програма 9а Оператор SELECT CASE
20 INPUT “ЗРОБІТЬ ВИБІР”,K
30 SELECT CASE K
40 CASE 1
50 Y=K
60 CASE 2
70 Y=K+5
80 CASE 3
Y=K+10
100 CASE ELSE
110 END SELECT
120 PRINT K,Y130 END