На головну

БАЗОВІ ОПЕРАТОРИ

  1. I. Базові цілі.
  2. Архітектура і базові принципи організації класичної обчислювальної системи
  3. Базові алгоритмічні структури
  4. базові алгоритми
  5. Базові знання, вміння, навички, необхідні для вивчення теми
  6. Базові знання, вміння, навички, необхідні для вивчення теми
  7. Базові знання, вміння, навички, необхідні для вивчення теми

Основні базові оператори (команди) мови Бейсік визначають введення і виведення даних, привласнення, зміна порядку виконання команд і циклічні конструкції.

INPUT <список об'єктів введення> - введення даних;

PRINT <список об'єктів виведення> - висновок даних;

LET a = <арифметичне, логічне

або символьний вираз>

(Службове слово LET можна не писати) - привласнення;

IF <умова> THEN <оператор1>

ELSE <оператор2> - умовний оператор;

GOTO <номер рядка> -Безумовно перехід;

FOR х = 1 ТО n STEP h <оператор>

NEXTx - циклічна конструкція.

Часто використовують, так званий, внутрішній введення даних за допомогою операторів READ - DATA.

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

RUN - команда запуску програми на виконання;

LIST - команда виведення тексту програми на екран дисплея;

SAVE - команда збереження тексту програми у вигляді файлу;

LOAD - завантаження раніше збереженої програми з існуючого файлу.

Цих операторів і команд зазвичай вистачає, щоб написати й налагодити будь-яку обчислювальну програму. Нижче ми познайомимося і з іншими командами Бейсика.

Як і в багатьох мовах програмування, в Бейсике є набір вбудованих функцій: математичних, логічних, символьних і ін. Можна сформувати власні функції за допомогою опису DEF, наприклад

DEF FNA (x, y, z) = x * x + y * y + z * z

Розглянемо приклад програми табуляції функції з метою визначення її максимального значення на заданому відрізку. Суть алгоритму полягає в обчисленні значень функції Sin (.x) в 100 точках, визначених на задається відрізку [а, Ь] з кроком h = (b-a) / 100 і у виборі серед цих значень максимального.

програма 55

10 REM максимум функції на відрізку

20 INPUT "введіть відрізок a, b"; a, b

30 DEF fna (x) = SIN (x)

40 max = fna (a)

50 h = (b - a) / 100

60 FOR x = a TO b STEP h

70 IF max

80 NEXT x

85 CLS

90 PRINT "максимальне значення функції на відрізку ["; а;

","; Ь; "] ="; max

100 END

Тут в рядку 10 - нездійсненний коментар (який можна організувати і інакше - см. Перші рядки наступних програм), в рядку 85 - команда очищення екрану, в рядку 100 - команда «кінець програми» (яку часто можна не писати без будь-яких видимих наслідків).

Наведемо приклади ще кількох програм на Бейсике, що є аналогами програм з §3.

У наступному прикладі розвилка організована за допомогою поєднання операторів IF ... THEN і GOTO. У сучасних версіях Бейсика є конструкція IF ... THEN ... ELSE; при її використанні програма 56 стане ще більше схожою на програму 1 (sqr (x) - корінь квадратний).

Програма 56 (див. Програму 1)

10 REM Квадратне рівняння

20 CLS

30 INPUT "введіть коефіцієнти А, В, С"; а, b, с

40 d = Комерсант * Ь - 4 * а * з

50 IF d <0 THEN GOTO 80

60 xl = (-b + sqr (d)) / (2 * a): x2 = (-b - Sqr (d)) / (2 * ay

70 PRINT "коріння рівняння xl ="; xl; "X2 ="; х2

80 GOTO 100

90 PRINT "коренів немає"

100 END

У наступному прикладі цикл (з передумовою) організований за допомогою операторів IF ... THEN і GOTO.

програма 57 (Див. Програму 5).

10 REM Машини, які прибувають на склад

20 CLS

30 num = 0: sum = О

40 IF sum> = 100 THEN GOTO 110

50 INPUT "Введіть вагу вантажу черговий машини"; w

60 sinn = sum + w

70 IF sum> = 100 THEN GOTO 90

80 num = num + 1: GOTO 90

90 PRINT "вантаж вже не поміститься"

100 GOTO 40

110 PRINT "Кількість розвантажених машин =", num

120 END

У програмі 58 вихідна послідовність задається в блоці даних (рядок 30), а потім зчитується в масив а. Відсутність в Бейсике логічних змінних подолано за допомогою текстової змінної р. При видачі результатів використовується форматна друк PRINT USING (для дрібних чисел формати могли б бути, наприклад, ###. ## - Видасть результат типу 345.98, ##. ##лллл - Видасть результат типу 34.17Е-02). У 20-му рядку оператор DIM резервує пам'ять під масив (аналог паскалевская опису array, але без явного вказівки типу елементів).

програма 58 (Див. Програму 10).

10 REM bubble (бульбашка)

20 DIM a (10)

30 DATA 19, 8, 17, 6, 15, 4, 13, 2, 11, 0

40 CLS

50 PRINT "Вихідний масив"

60 FOR i = 1 TO 10 STEP 1

70 READ a (i)

80 PRINT USING "» # »#"; a (i);

90 NEXT i

100 PRINT

110 p $ = "так"

120 FOR i = 10 TO 2 STEP -1

130 IF a (i)> = a (i-l) THEN GOTO 150

140 b = a (i): a (i) = a (i-l): a (i-l) = Ь: р $ = "ні"

150 NEXT i

160 IF p $ = "ні" GOTO 110

170 PRINT "Упорядкований масив"

180 FOR i = 1 TO 10

190 PRINT USING "####"; a (i);

200 NEXT i

210 END

Контрольні питання ч завдання

1. Назвіть основні оператори мови Бейсік і охарактеризуйте їх призначення.

2. Поекспрементіруйте в наведених вище програмах з оператором форматної друку.

 




Деякі відомості про драйвери н визначених ними режимах | Приклади графічних програм | ТУРБО-ОБОЛОНКИ. ВЕРСІЇ Паскаль | КЕРІВНИЦТВО КОРИСТУВАЧУ ТУРБО-Паскаль | ПРОЕКТУВАННЯ програм | Основні принципи РОЗРОБКИ І АНАЛІЗУ АЛГОРИТМІВ | МЕТОДИ ПОБУДОВИ АЛГОРИТМІВ, ОРІЄНТОВАНІ НА СТРУКТУРИ ДАНИХ | рекурсивних АЛГОРИТМИ | контрольні завдання | БЕЙСІК ЯК МОВУ операціонально-ПРОБЛЕМНО-орієнтованого ПРОГРАММИРОВАНИЯ |

© um.co.ua - учбові матеріали та реферати