Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект бейс.doc
Скачиваний:
6
Добавлен:
12.11.2019
Размер:
1.33 Mб
Скачать
  1. Розгалуження

Розгалуження-це алгоритмічна конструкція, де перевіряється умова і залежно від її істинності чи хибності виконується та чи інша серія операторів. Вивчатимемо такі види розгалужень:

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.

  1. Команда переходу 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 символів.

Блок IFEND 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 рядок програми .

Зауваження . Якщо змінним не надано значень , то за замовчуванням їхніми значеннями є нуль .

  1. Команда умовного переходу . Команда умовного переходу є частинним випадком короткої форми команди розгалуженя . Вона має вигляд:

IF < логічний вираз > THEN GOTO < номер >

Дія команди . Якщо значення логічного виразу істенне , то відбувається перехід до зазначеного рядка . Якщо воно хибне , то виконується наступний рядок програми .

Службове слово THEN або GOTO можна не писати . Є дві короткі форми команди:

        1. IF < умова > THEN < номер>

        2. IF < умова > GOTO < номер>

Приклад .

  1. Програма 6 Це вже приклад циклічної програми

  1. DEFINT A

  1. INPUT “A” ; A

  1. IF A = THEN 80

  1. IF A > 0 THEN PRINT A

  1. IF A < 0 THEN PRINT “від’мне число”

  1. GOTO 30

  1. END

Зауваження . За допомогою короткої умовної команди можна змінювати порядок виконання команд у програмі , організувати розгалуження та повторення (цикли ) .

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

  1. Y=K+10

100 CASE ELSE

110 END SELECT

120 PRINT K,Y

130 END

Вправи

1.До якого рядка відбудеться перехід, якщо виконати оператори:

а) 10 K=2 б) 10 A=10

20 ON K GOTO 30,40,50 20 A=A-8

30 ON A GOTO 40,50,60

в) 10 Х=2 г) 10 X=0

20 Х=Х*Х-1 20 Y=SIN(X)+2

30 ON X GOTO 10,40,60,80 30 ON Y+1 GOTO 70,80,90

д) 10 A=3

20 A=A-2

30 ON A GOTO 20,40,60

40 A=4

50 GOTO 20 ?