трусики женские украина

На головну

Опис мови Turbo Basic для студентів всіх спеціальностей - Інформатика

АНОТАЦІЯ

Справжню допомогу містить опис основних засобів мови

Турбо-Бейсік, а також необхідні відомості по середовищу Турбо-Бейсіка.

Допомога в основному орієнтована на використання при випол-

ненії практикуму по курсу "Основи прикладної інформатики". Може

також використовуватися як довідник по мові Турбо-Бейсік.

З Московський державний

інститут стали і сплавів

1994 р.

- 3 -

З М І С Т

1. Основні засоби мови.............................. 4

1.1. Структура програми............................. 4

1.2. Типи даних..................................... 4

1.3. Масиви......................................... 5

1.4. Вирази....................................... 5

1.5. Стандартні функції............................. 6

1.6. Основні оператори.............................. 8

1.7. Оператори циклу................................. 10

1.8. Підпрограми, функції і процедури............... 12

2. Колір і графіка....................................... 16

3. Файли. Робота з файлами даних послідовного і

прямого доступу...................................... 20

3.1. Файли послідовного доступу................. 20

3.2. Файли прямого доступу........................... 23

4. Рухомі зображення, звукові ефекти і нестандар-

тний введення з клавіатури............................... 26

4.2. Оператор DRAW................................... 26

4.3. Оператори GET і PUT............................. 27

4.4. Оператор BEEP................................... 28

4.5. Оператор SOUND.................................. 28

4.6. Оператор PLAY................................... 28

4.7 Функція INKEY$.................................. 30

5. Бібліотека стандартних процедур в Турбо-Бейсіку...... 31

6. Порядок роботи, що рекомендується, на ПЕВМ пристворенні і

виконанні програм на мові Турбо-Бейсік............ 32

- 4 -

1. ОСНОВНІ ЗАСОБИ МОВИ

1.1. Структура програми

Програма складається з рядків. Один рядок містить один або

декілька операторів, розділених двокрапкою. Наприклад

a=1:b=1

Перенесення оператора на інший рядок допускається. У цьому слу-

чаї використовується знак перенесення _. Наприклад

a=1:b_

=1

Рядки можуть нумеруватися (але це не обов'язково). Посилання в

потрібне місце програми може здійснюватися також по мітці.

_Метка . розміщується в окремому рядку, починається з букви і

містить будь-яку кількість букв і цифр. Після мітки

ставиться двоє- точие. Наприклад

aaa:

x=x+1

...

GOTO aaa

Якщо першим символом в рядку є апостроф ('), то

рядок сприймається як коментар.

_Имя . утворюється з букв від A до Z (або від а до z),

знаку под- черкиванія _ і цифр від 0 до 9, починається з букви.

Ім'я іспользу- ется для позначення змінних, влучний, процедур

і т.п.

1.2. Типи даних

Цілий (значення від -32767 до 32767, займає 2 байти); длін-

ний цілий (від 2 5-31 0до 2 531 0, 4 байти); речовинний (4

байти); ве- щественний подвійної точності (8 байт); символьний

(последователь-

ность будь-яких символів, кожен символ займає 1 байт).

_Тип змінної .определяется типом даних, які вона предс-

тавляєт. Вказівка типу змінній задається відповідним знаком

після імені.

a$ - символьний

a% - цілий

a& - довгий цілий

- 5 -

а! - речовинний звичайній точності

а# - речовинний подвійній точності

Якщо знак після імені відсутній, то ця змінна счита-

ется за умовчанням речовинній звичайній точності. Тобто

а!=1.1

і

а=1.1

одне і те ж.

1.3. Масиви

_Описание масивів . здійснюється за допомогою оператора DIM з

вказівкою розмірів. Наприклад, оператор

DIM а(10), b(10:20, 25:45)

описує одновимірний масив а, елементи якого мають індекси від

0 до 10, і двомірний масив b, елементи якого мають індекси :

перший від 10 до 20, другий від 25 до 45.

Якщо нижня межаіндексів в описі не вказана, то вона

вважається рівною 0.

Використовуючи оператора _OPTION BASE n ., можна задати нижню грані-

цу індексів рівної n. Наприклад

OPTION BASE 1

DIM а(10)

В цьому випадку індекс елементів масиву а 2 0будет приймати значе-

нія, починаючи з 1. Якщо опис масиву відсутній, то по умол-

чанію верхній індекс рівний 10 (ніжній - 0). У описі масиву

замість константи може використовуватися змінна. Наприклад

DIM а(n)

Значення n повинне бути заздалегідь визначене.

Використовуючи _оператор ERASE ., можна звільнити пам'ять, виделен-

ную під масив, і повернути її для подальшого використання. Нап-

рімер, оператор

ERASE а

повертає пам'ять, виділену під масив а.

1.4. Вирази

_Символьные вирази . складаються з символьних констант (после-

довательность символів, увязнена в лапки), символьних пере-

- 6 -

менних, символьних функцій, сполучених знайомий + (конкатенація

або об'єднання). Наприклад

a$="КАТЯ"

b$="ЛЕНА"

f$=a$+" І "+b$

У результате f$ матиме значення "КОТИТЬ І ОЛЕНА". При допомозі

функцій LEFT$, RIGHT$, MID$ можна вибрати частина

символьною пере- менной зліва, справа або з середини. Наприклад

F1$=LEFT$(f$,4)

F2$=RIGHT(f$,4)

F3$=MID$(f$,6,1)

В результаті буде F1$ = "КОТИТЬ", F2$ = "ОЛЕНА" і F3$ = "И".

_Числовые вирази . включають константи, змінні,

функції, сполучені знаками арифметичних операцій, при цьому

можуть використовуватися величини різних типів.

_Приоритеты . арифметичних операцій:

1. Піднесення до ступеня (^)

2. Множення, ділення (*,/)

3. Ділення без остачі (\) (наприклад, 5\2 рівне 2)

4. Обчислення залишку від ділення (MOD) (наприклад, 45 MOD 19

рівне 7)

5. Складання, віднімання (+,-)

1.5. Стандартні функції

Запис на Бейсіку Математичний запис

ABS (x) │x│

SIN (x) sin x

COS (x) cos x

TAN (x) tg x

ATN (x) arctg x

EXP (x) e 5x

LOG (x)  ln x

LOG2(x) log 42 0x

LOG10(x) lg x

INT (x) ціла частина х

SGN (x) знак х (+1 при х > 0

0 при х=0 -1 при x < 0)

SQR (x) квадратний корінь з х

- 7 -

LEN (а$) кількість символів а$

LEFT$(a$,n) вибирає з a$ n символів

починаючи з першого

MID$ (a$,m,n) вибирає з a$ n символів

починаючи з m-го

RIGHT$ (a$,n) вибирає n символів а$

починаючи з останнього

STR$ (x) перетворить число до

символьному вигляду

VAL (a$) визначає числове значення а$

ASC (a$) визначає код першого

символу а$

TAB (n) указує номер позиції для

виведення наступного елементу в

списку виведення оператора PRINT

SPC (n) виведення n пропусків, використовується

у списку виведення оператора PRINT

RND [(x)] видає випадкове число з інте-

рвала (0,1)

Зауваження. 1. [] позначають необов'язковий параметр.

2. Якщо х=0, то повторюється останнє число, що згенерувало; якщо

х < 0, то для кожного x 2 0генерируется нова послідовність

випадкових чисел; якщо x > 0 або відсутній, то генерується оче-

редноє випадкове число, але при повторному запуску последователь-

ность повторюється. Можна використовувати оператора RANDOMIZE (перед

первим використанням функції RND), щоб при новому запуску прог-

рамми отримувати нову послідовність випадкових чисел.

_Операции відносини .: <, <= >, >=, .

Ліва і права частини відношення - це числове або символьне

вираз (у останньому випадку порівнюються числові коди симво-

лов). Якщо відношення задовольняється (є істинним), то його

значення рівне -1, якщо не задовольняється (є помилковим), то

його значення 0. Відносини можуть бути використані також в число-

вих виразах. Наприклад, при виконанні оператора

PRINT 5 > 6, 5 < 6 (5 < 6) * 15

буде надруковано 0 -1 і -15.

_Логические операції .: AND (логічне і), OR (логічне

або), XOR (що виключає або), EQV (еквівалентність), IMP (імплі-

кация).

- 8 -

Логічні операції здійснюються над цілими числами -1

(TRUE) і 0 (FALSE).

-1, якщо A = -1, B = -1

A AND B  0, в решті випадків

0, якщо A = 0, B = 0

A OR B -1, у решті випадків

-1, якщо A і B не співпадають

A XOR B 0, якщо A і B совпадаютд

1, якщо A і B співпадають

A EQV B 0, якщо A і B не співпадають

0, якщо A = -1, B = 0

A IMP B -1, у решті випадків

1.6. Основні оператори

_Оператор привласнення . має вигляд

1переменная 0 = 1 вираз

_Оператор безумовного переходу . має вигляд

GOTO 1метка

_Условный оператор . має вигляд

IF 1условие 0 THEN 1операторы 0 [ELSE 1операторы 0]

Наприклад

IF а < b THEN t=15 : V=16 ELSE t=17

Як умова може використовуватися цілий вираз, який

інтерпретується як FALSE, якщо його значення рівне 0, і TRUE

якщо не рівне 0.

Якщо після THEN або після ELSE розташовується ціла група

операторів, то можна використовувати _IF блок ., який має следую-

щую структуру

IF 1условие 0 THEN

1операторы

ELSE

1операторы

END IF

При цьому ELSE і оператори за ним можуть бути відсутніми, тобто воз-

- 9 -

можна конструкція

IF 1условие 0 THEN

1операторы

END IF

Якщо після ELSE необхідна перевірка умови, то використовується опе-

ратор ELSEIF

IF 1условие 0 THEN

1операторы

ELSEIF 1условие 0 THEN

1операторы

ELSE

1операторы

END IF

_Оператор кінця END . використовується для закінчення виконання

програми. Може використовуватися в програмі кілька разів. Іс-

користується також з IF, SUB, DEF, SELEСT (см.ниже)

_Оператор очищення екрану CLS .обычно розташовується на початку

програми для очищення екрану перед виведенням результатів програми.

_Оператор введення INPUT . має вигляд

INPUT [;] [ 1поясняющий текст 0], 1список змінних

Пояснюючий текст полягає в лапки. Змінні в списку отде-

ляются один від одного комами. ";" після INPUT означає, що кур-

сміття залишиться на тому ж рядку, коли буде натиснуто "Введення".

_Оператор виведення PRINT . має вигляд

PRINT [ 1список виводу 0]

Елементи списку розділяються "або ";" або пропуском. У першому

випадку виведення наступного елементу починається в нову зону (рядок

екрану умовно розділена на 5 зон по 14 позицій кожна), у вто-

ром - через пропуск (для чисел) або безпосередньо услід (для

символьних рядків) за передидущим елементом.

Елементом списку може бути ім'я змінної, константа (сим-

вольна полягає в лапки) або вираз (перед виведенням ви-

числяєтся).

_Оператор виведення PRINT USING . має вигляд

PRINT USING 1формат 0; 1список виводу

Формат задається у вигляді символьного рядка (увязненій в ка-

вички), задаючою форму виведення кожного елементу списку по следую-

щим правилам для чисел : # - для кожної цифри ^^^^ - для виводу

у показовій формі. Решта символів позначає самі себе.

- 10 -

Наприклад 1

##.## - буде виведено 2 цифри як ціла частина і дві

- дробом. Якщо ціла частина містить більше двох цифр, то перед

числом буде надрукований знак % .

#.## ^^^^ - вивід здійснюватиметься в показовій фор-

ме.

Для символьних рядків :

"\ 1 0 \" - (два пропуски) - буде виведено чотири символи

"\\" 1 0- (без пропуску) - буде виведено два символи

Взагалі кількість виведених символів буде рівна числу пропусків

між двома похилими лініями + 2.

"!" 1 0- буде вивїдений один символ

"&" 1 0- будуть виведені все 1 0символы

Наприклад

A$= "КІТ" : GA= 6.5

B$= "СОБАКА" : GB= 15.3

PRINT USING "& ВАЖИТЬ #.#,\ \ ВАЖИТЬ ##.# КГ";A$,GA,B$,GB

При виконанні цього оператора на екрані з'явиться

КІТ ВАЖИТЬ 6.5, СОБАКА ВАЖИТЬ 15.3 КГ

_Оператор визначення положення курсора

LOCATE i,j

встановлює координати (номер рядка i і номер стовпця j),

в ко- ториє почнеться виведення даних оператором PRINT.

1.7. Оператори циклу

1. FOR i=i 4нач 0 to i 4кон 0 [STEP ih]

1операторы

NEXT i

i, i 4нач 0, i 4кон 0, ih - відповідно, змінна циклу, що

управляє, її початкове, кінцеве значення і крок зміни. Якщо

ih=1, то крок можна опустити. Наприклад

FOR i=1 to 10

....

NEXT i

FOR i=1 to 10

FOR j=1 to 20

....

NEXT j: NEXT i

- 11 -

або

FOR i=1 to 10

FOR j=1 to 20

....

NEXT j,i

2. DO WHILE 1условие

1операторы

LOOP

або

WHILE 1условие

1операторы

WEND

(оператори виконуються 1, 0 поки виконується умова)

3. DO UNTIL 1условие

1операторы

LOOP

(оператори виконуються до тих пір, поки не буде виконано усло-

віє. Як тільки умова буде виконана, здійснюється вихід з

циклу).

4. DO

1операторы

LOOP

Вихід з циклу в цьому випадку здійснюється оператором EXIT.

_Оператор EXIT . 1(0выход) використовується з SELECT, DEF, FOR, IF

LOOP, SUB, WHILE. Наприклад

EXIT FOR здійснює вихід з циклу, організованого опера-

торою FOR/NEXT до його завершення

EXIT IF - вихід з будь-якого місця IF блоку

EXIT LOOP - вихід з циклу, що закінчується оператором LOOP

або WEND.

Решта випадків використання EXIT буде розглянута разом з

відповідними операторами.

_Операторы вибору . ON/GOTO і ON/GOSUB

ON n GOTO 1метка 0 [, 1метка 0...]

n може приймати значення від 0 255. Перехід здійснюється на

мітку, визначувану значенням n. Наприклад, при n = 2 перехід осу-

ществляєтся на другу мітку в списку. Якщо n = 0 або n більше ко-

лічества влучний в списку, то виконується наступний по порядку опе-

- 12 -

ратор.

ON n GOSUB 1метка 0 [, 1 влучна 0...]

n приймає значення від 0 до 255. Перехід здійснюється до однієї

з можливих підпрограм (см.ниже), визначуваних мітками в спіс-

ке, залежно від значення n.

Після виконання підпрограми повернення здійснюється до опе-

ратору, наступному за ON/GOSUB.

1.8. Підпрограми, функції і процедури

_Подпрограмма . - помічена послідовність операторів, за-

канчивающаяся оператором RETURN. Виконується, коли досягнутий

GOSUB.

....

GOSUB aa

....

END

aa:

1операторы

RETURN

Оператора RETURN здійснює повернення до оператора, безпосередньо

наступному за GOSUB.

_Функция . може бути визначена одним рядком (оператор-функ-

ция) або декількома рядками (підпрограма-функція).

DEF FN 1имя 0 [(1список параметрів 0)] = 1выражение

(це визначення оператора-функції) 1.

Тут список параметрів може включати 1 0не більше 16 параметрів.

DEF FN 1имя 0 [(1список параметрів 0)]

1описание змінних

1операторы

[EXIT DEF]

....

[FN 1имя 0 = 1выраженіє 0]

END DEF

(це визначення підпрограми-функції) 1.

Звернення до функції записується там, де потрібно отримати її зна-

ченіє. При цьому параметри замінюються їх фактичними значеннями.

Наприклад 1

DEF FNF (x,y) = x * x + у * у

- 13 -

а = 3 : b = 4

P = FNF (а,b)

або

P = FNF (3,4)

Функція повертає одне значення, тип якого визначається іме-

німий функції. Визначення функції може розташовуватися в

будь-якому місці

програми (зазвичай на початку або в кінці). Наприклад

F = FNa (1.5)

PRINT F

DEF FNa (x)

FNa = x*x

END DEF

END

або

F = FNa (1.5)

PRINT F

END

DEF FNa (x)

FNa = x*x

END DEF

В результаті буде надруковано 2.25.

Список параметрів оператора-функції може включати тільки

імена змінних.

_Процедура . - це послідовність рядків програми, располо-

женная між операторами SUB і END SUB і виконувана при обраще-

нді до неї за допомогою оператора CALL.

SUB 1имя 0 [(1список параметрів 0)]

1описание змінних

1операторы

[EXIT SUB]

END SUB

Ім'я можемістити до 31 символу. Список параметрів (не більш

16) може включати імена змінних і масивів. Для масивів в

дужках указується розмірність. Наприклад, 1 - для одновимірного

масиву, 2 - для двомірного і т.д.

У обігу до процедури за ім'ям фактичного масиву сле-

дмуть порожні дужки. Наприклад

SUB SUM (x (1), n, S)

S = 0

- 14 -

FOR I=1 to n

S = S + x (I)

NEXT I

END SUB

DIM A (3)

A (1) = 1 : A (2) = 2 : A (3) = 4

CALL SUM (A (), 3, S)

S = S/3

PRINT S

END

Ця програма обчислює середнє значення елементів масиву A

процедура SUM підсумовує елементи масиву.

Основні відмінності процедури від підпрограми-функції :

1 - процедура не зобов'язана повертати значення, вона не має типу;

2 - викликається оператором CALL, а не з виразу.

Окремі змінні, використовувані в процедурі (або подпрог-

рамме-функції), можуть бути оголошені локальними, тобто действующи-

мі тільки в даній підпрограмі (оператор LOCAL), загальними, тобто

що діють як в підпрограмі, так і в основній програмі (опе-

ратор SHARED) і статичними, тобто що діють в даній подпрог-

рамме як LOCAL, але що зберігають набутих значень до следующе-

го звернення (оператор STATIC). За умовчанням в подпрограмме-функ-

циі змінна є SHARED, а в процедурі STATIC.

DEF FNF1

LOCAL i, S

FOR i =1 to 10

S = S + i

NEXT i

FNF1 = S

END DEF

Після виходу з підпрограми-функції змінні i і S втрачають свої

значення (при вході в підпрограму завжди S = 0). Ці ж імена

можуть використовуватися в програмі для позначення інших величин.

DEF FNF2

LOCAL i

SHARED S

FOR i = 1 to 10

S = S + i

NEXT i

- 15 -

FNF2 = S

END DEF

В цьому випадку S зберігає значення після виходу з підпрограми і

має один і той же сенс у всіх частинах програми.

DEF FNF3

LOCAL i

STATIC S

FOR i = 1 to 10

S = S + i

NEXT i

FNF3 = S

END DEF

В цьому випадку S зберігає значення після виходу з підпрограми

до наступного звернення до неї, тобто після першого звернення зна-

ченіє функції FNF3буде 55, після другого - 110 і т.д. (S не можна

змінювати в основній програмі).

- 16 -

2. КОЛІР І ГРАФІКА

У графічному режимі екран розглядається як грати, точ-

ки у вузлах якої можуть бути включені (білим або іншим возмож-

ним кольором) або вимкнені. Крапка ідентифікується координатами x

у; x - номер позиції по горизонталі (від 0 до 319 або до 639 в за-

вісимості від режиму), у - номер позиції по вертикалі (від 0 до 199

або до 349 залежно від режиму). Крапка з координатами 0,0 на-

ходітся у верхньому лівому кутку екрану.

Графічний режим встановлюється (або відміняється) _операто-

_ром SCREEN ..

SCREEN i[,j]

i = 0, j = 0 чорно-білий текстовий режим

i = 0, j = 1 кольоровий текстовий режим

i = 1, j = 0 кольорова графіка при середній вирішуючою способнос-

ті (320 позицій по горизонталі, 200 по вертикалі)

i = 1, j = 1 чорно-біла графіка при середній вирішуючою спосо-

бності

i = 2 чорно-біла графіка при високій вирішуючою спосо-

бності (640 позицій по горизонталі, 350 по верті-

калі)

Після виконання оператора SCREEN крапка встановлюється в

середину екрану.

_Оператор COLOR . 2 0устанавливает колір фону екрану і палітру (з

трьох квітів) для фарбування крапок (для текстового режиму - ще і

колір рамки).

Існує дві палітри квітів: 0 і 1, наступного складу:

_Палитра 0 . _Палитра 1

1 - зелений 1 - блакитний

2 - червоний 2 - бузковий

3 - жовтий 3 - білий

Для фону можна вибрати один з 16 кольорів (0 - чорний, 1 - синій

2 - зелений, 3 - бірюзовий, 4 - червоний, 5 - ліловий, 6 - коріч-

невий, 7 - білий, 8 - сірий, 9 - блакитний, 10 - яскраво-зелений, 11 -

яскраво-бірюзовий, 12 - яскраво-червоний, 13 - яскраво-ліловий,

14 - жел-

тий, 15 - яскраво-білий)

Оператор COLOR 2 0имеет вигляд

COLOR 2 0i, 2 0j[,k]

- 17 -

де i - колір фону, j - номер палітри, до - колір рамки.

Наприклад, оператори

SCREEN 1,0

COLOR 9,0

встановлюють кольоровий графічний режим при тій, що середній вирішує

здібності; колір фону - блакитний; подальші оператори винні

використовувати кольори із 0-ої палітри.

У графічному режимі (для отримання на екрані нерухомих

зображень) можуть використовуватися наступні оператори:

PSET 2 0(PRESET) - включає (або вимикає) крапку; LINE 2 0- чер-

тіт лінію; CIRCLE 2 0- креслить коло або її частину; PAINT 2

0- зак- рашиваєт вказану частину екрану.

Складніші оператори для отримання рухомих зображень

(DRAW, GET, PUT) розглядаються в п.4.

Оператор

PSET (x, у)

включає крапку з координатами x,y.

Оператор

PSET STEP (x, у)

включає крапку, віддалену на x позицій по горизонталі і на у по-

зіций по вертикалі від поточної крапки. Наприклад, якщо в

попередньому

положенні крапка має координати (60, 75), то оператор

PSET (10, 20) визначає крапку з координатами (10, 20), а

оператор

PSET STEP (10, 20) визначає крапку з координатами (70, 95).

Оператори

PSET (x, у), 0

або

PRESET 2 0(x, у)

стирають крапку (x, у) з екрану.

Оператор LINE 2 0позволяет накреслити відрізок прямої, вказавши його

почало (x1, y1), кінець (x2, y2) і колір до

LINE 2 0[(x1, y1)] 2 0- 2 0(x2, y2), 2 0k

Якщо початкова точка відсутня, то лінія буде прокреслена, на-

чиная з крапки, в якій зупинився попередній оператор.

За допомогою оператора LINE 2 0можно також креслити і закрашувати

прямокутники

LINE (x1, y1) - (x2, y2), 2 0[k], 2 0B[F]

Крапки (x1, y1) і (x2, y2) трактуються при цьому як ліва ніжняя і

- 18 -

права верхня вершини прямокутника. Якщо колір до відсутній

то прямокутник буде накреслений 3-м кольором палітри. За наявності

параметра F площа усередині прямокутника буде закрашена. Напрі-

заходів, оператор

LINE (80, 175) - (100, 25), 2, BF закрашує червоним кольором

прямокутник, розташований між 80-ою і 100-ою позиціями по

горизонталі і 175-ою і 25-ою позиціями по вертикалі.

_Оператор CIRCLE . 2 0позволяет будувати кола, дуги, сектори

і еліпси.

Оператор CIRCLE 2 0(x, 2 0y), 2 0r, до

креслить коло радіусу r з центром в крапці (x, у) кольором до.

Після викреслювання кола останньою використаною крапкою

вважається її центр.

Оператор CIRCLE (x, у), r, до, ALPHA1,ALPHA2

викреслює дугу, що має почало під кутом ALPHA1 і кінця, - під

кутом ALPHA2.

Наприклад, оператор (при PI = 3.1416)

CIRCLE (160, 100), 80, 2, PI/2, PI будує дугу від PI/2 до PI ок-

ружності радіусу 80 з центром в крапці (160, 100) другим кольором

палітри.

Якщо використовувати знак " - " перед початковою і кінцевою точ-

камі дуги, то буде намальований сектор, тобто кінцеві точки дуги

будуть сполучені з центром. Наприклад

CIRCLE (160, 100), 80, 2, - PI/2, - PI

Можна зобразити сплюснуту (або навпаки витягнуту) окруж-

ность, додавши в оператора CIRCLE ще один параметр. Якщо значення

цього параметра менше 1, то коло буде сплюснуто по верті-

калі, якщо більше 1, то - по горизонталі. Наприклад

CIRCLE (160, 100), 80, 2,,, 3/4

Всі параметри оператора CIRCLE задаються в певному порядку і

розділяються комами. Обов'язковими є тільки параметри

вказуючі положення центру і радіус кола. Остальниєпара-

метри необов'язкові, проте, коми повинні бути залишені, якщо

пропущені параметри в середині списку.

_Оператор PAINT . 2 0позволяет закрашувати великі області екрану.

Для закрашення необхідно вказати довільну крапку усередині

закрашуваній області (x, у), колір, яким потрібно закрасити об-

ласть (k1) і колір межі, яку не можна перетинати при закраши-

ванії (k2), k1 і k2 можуть співпадати. Оператор PAINT має вигляд

- 19 -

PAINT (x, у), k1, k2

Наприклад, оператор

PAINT (160, 100), 2, 2

закрасить коло намальовану останнім оператором CIRCLE

червоним кольором, як і колір кола, використаний в операторові

CIRCLE.

- 20 -

3. ФАЙЛИ. РОБОТА В БЕЙСІКУ З ФАЙЛАМИ ПОСЛІДОВНОГО

І ПРЯМОГО ДОСТУПУ

Якщо необхідно використовувати набір даних або програму мно-

гократно, то необхідно зберегти їх на зовнішньому пристрої пам'яті

(наприклад, диску або дискеті). Для цього створюється файл. Файл

повинен мати ім'я. Ім'я складається з двох частин: власне ім'я і

расширеніє

1имя 0. 1расширение

Ім'я може містити до 8 символів, розширення 1- 0до три.

Можуть використовуватися наступні символи

A - z 0 - 9 () { } @ # $ 1 0% ^ & ! - _ / ' ~

Повне ім'я файлу в MS DOS містить важ шлях по дереву від

кореневій директорії до потрібного файлу. Наприклад

C:\ST\LAB\work.bas,

де C - ім'я диска, ST - ім'я директорії на диску, LAB -

ім'я подді- ректорії директорії ST, work.bas - ім'я програми на

Бейсіку.

Далі мова піде тільки про файли даних.

3.1. Файли послідовного доступу

Послідовний файл складається із записів, доступ до яких

здійснюється послідовно, тобто n-я запис слідує за (n -

1)-ой як при формуванні файлу, так і при прочитуванні з нього.

Створення послідовного файлу включає наступні кроки:

відкриття файлу (оператор OPEN), виведення даних у файл (оператори

PRINT#, WRITE#, або PRINT# USING) і закриття файлу (оператор

CLOSE).

Прочитування з послідовного файлу включає наступні ша-

ги: відкриття файлу, введення даних з файлу (оператори INPUT#

INPUT$, LINE INPUT#), закриття файлу.

_Оператор OPEN . 2 0подготавливает файл для читання з файлу

(INPUT) або записи у файл (OUTPUT, якщо створюється новий файл

APPEND, якщо додаються записи у вже існуючий файл).

INPUT

OPEN 1имя файлу 0FOR OUTPUT 1 0 AS # 1номер файлу

APPEND

_Оператор CLOSE .закрывает файл, тобто робить неможливим чте-

- 21 -

ніє або запис.

CLOSE [# 1номер файлу 0]

Оператор CLOSE без параметрів закриває всі відкриті файли.

Одиницею інформації, яка передається при записі у файл

або читанні з файлу 1, 0является запис (логічний запис) 2.

0Запись ділиться на поля. Кожне поле пов'язане з одним елементом

даних.

0Могут бути створено два типи послідовних файлів:

1) з роздільниками полий, коли кожне поле автоматично

відділяється спеціальним символом (наприклад, комі). Для створення

такого файлу використовується оператор WRITE#, для читання з нього -

оператор INPUT#.

Дані у файлі зберігаються у такому вигляді, неначебто вони набі-

ралісь на клавіатурі при виконанні оператора INPUT, тобто разде-

лени комами і кожен запис закінчується перекладом рядка.

_Оператор INPUT# . 2 0имеет вигляд

INPUT # 1номер файлу 0, 2 1список змінних

де змінні в списку за типом повинні відповідати даним в

файлі.

2) поля не розділені 1, 0и кожен запис такий самий, як

якби ці дані відображалися на екрані або друкувалися на прін-

тере. Для створення такого файлу використовується оператор PRINT#, для

читання з нього - оператори INPUT$ або LINE INPUT#. _Оператор

_INPUT$ . передає з файлу відразу весь рядок (запис) вказаної длі-

ни n в символьну змінну, наприклад, ST$

ST$ 2 = 0INPUT$ (n # 1номер файлу 0)

_Оператор LINE INPUT# . 2 0передает у вказану змінну ST$ всю

рядок незалежно від її довжини

LINE INPUT # 1номер файлу 0, 2 0ST$

Приклад (з роздільниками полий):

OPEN "SEQU.DAT" FOR OUTPUT AS #1

ST$ = " ІВАНОВ "

INT% = 1972

FLOT! = 75.3

'тепер записуємо рядок у файл

WRITE #1, ST$, INT%, FLOT!

ST$ = " ПЕТРОВ "

INT% = 1975

FLOT! = 62.5

'записуємо інший рядок у файл

- 22 -

WRITE #1, INT%, ST$, FLOT!

CLOSE #1

END

Створений файл буде наступним

" ІВАНОВ ", 1972, 75.3

1975 " ПЕТРОВ ", 62.5

Наступна програма читає з цього файлу:

OPEN "SEQU.DAT" FOR INPUT AS #1

ST$ = " "

INT% = 0

FLOT! = 0

'тепер читаємо рядок тексту з файлу

INPUT #1, ST$, INT%, FLOT!

PRINT ST$, INT%, FLOT!

ST$ = " "

INT% = 0

FLOT! = 0

'читаємо інший рядок

INPUT #1, INT%, ST$, FLOT!

PRINT INT%, ST$, FLOT!

CLOSE #1

END

Приклад (без роздільників полий):

OPEN "SEQUEN.DAT" FOR OUTPUT AS #1

ST$ = " ІВАНОВ "

INT% = 1972

FLOT! = 73.1

'записуємо рядок тексту у файл

PRINT #1, ST$, INT%, FLOT!

ST$ = " ПЕТРОВ "

INT% = 1975

FLOT! = 64.3

'запишемо інший рядок, використовуючи оператора

PRINT #1, USING "+####$#.##^^^^"; INT%,

ST$, FLOT!

CLOSE #1

END

Зміст створеного файлу буде таким:

ІВАНОВ 1972 73.1

1975 ПЕТРОВ 6.43Е+01

- 23 -

Наступна програма читає з етогпро файлу:

OPEN "SEQUEN.DAT" FOR INPUT AS #1

ST$ = " "

ST$ = INPUT$ (80,#1)

PRINT ST$

LINE INPUT #1, ST$

PRINT ST$

CLOSE #1

END

3.2. Файли прямого доступу

Файл прямого доступу складається із записів, доступ до яких

можливий в довільному порядку по номеру запису.

Створення файлу прямого доступу включає наступні кроки:

відкриття файлу (оператор OPEN); завдання структури запису файлу

або розмітка буфера (оператор FIELD); передача запису в буфер

(оператори LSET 2 0или RSET); пересилка вмісту буфера у файл

(оператор PUT), при цьому якщо номер запису в операторові PUT 2 0не

вказаний явно, буфер поміщається на місце поточного запису,

при откри-

тії файлу покажчик поточного запису рівний 1, після кожної операції

введення або виводу покажчик зрушується на наступний запис; закри-

тіє файлу (оператор CLOSE).

Записи передаються у вигляді рядків символів. Тому необхідно

використовувати відповідні функції перетворення даних

рядок символів і назад.

Нижче перераховані функції і просуществляємиє ними преобразова-

нія.

MKI$ (MKL$) - ціле (довге ціле) в 2-х (4-х) байтову

рядок;

MKS$ (MKD$) - речовинне (речовинне подвійній точності) в

4-х (8-ми) байтовий рядок.

CVI(CVL) - 2-х (4-х) байтовий рядок в ціле (довге це-

лоє);

CVS(CVD) - 4-х (8-ми) байтовий рядок в речовинне (ве-

щественноє подвійної точності).

Прочитування з файлу прямого доступу включає також п'ять ша-

гов: відкриття файлу; розмітка буфера; передача запису з файлу в

буфер (оператор GET); обробка даних буфера (змінні буфера

- 24 -

доступні з програми); закриття файлу.

Якщо вивід у файл і введення з файлу здійснюються в одній

програмі, те відкриття і закриття файлу здійснюється один раз

перед початком і після закінчення всіх операцій з файлом.

_Оператор OPEN . 2 0имеет вигляд

OPEN 2 1имя файлу 2 0AS # 1номер файлу 2 0LEN 2 0= 1длина запису

(відсутність вказівки режиму введення або виводу означає, що файл

прямого доступу).

_Оператор FIELD . 2 0имеет вигляд

FIELD # 2 1номер файлу 0, 2 0n1 2 0AS 2 1имя1 0 [ 2, 0n2 2 0AS 2 1имя2 0,

2 0...] 2 0, де n1, n2 ... - довжина поля в байтах під змінні

1имя1 0, 1имя2 0

... (1имя1 0, 1имя2 0, - символьні змінні).

_Операторы . _LSET, RSET . 2 0имеют вигляд

LSET 2 1имя 2 0= 2 1символьное вираз

RSET 2 1имя 2 0= 2 1символьное вираз

Оператора LSET (RSET) заповнює одне поле запису в буфері

(оператор LSET - з початку, RSET - з кінця, позиції за-, що

залишилися

полняются пропусками).

_Оператор PUT . має вигляд

PUT 2 0# 2 1номер файлу 2 0[ 2, 1номер записи 0]

Цього оператора передає вміст буфера у файл на місце за-

піси з вказаним номером (або поточною, якщо номер не вказаний).

_Оператор GET . 2 0имеет вигляд

GET 2 0# 2 1номер файлу 2 0[, 2 1номер записи 2и 0]

Цього оператора передає вміст запису з вказаним но-

мером в буфер (якщо номера немає, передається поточний запис).

Як приклад приводиться програма, яка формує

файл прямого доступу із записів наступної структури:

N п/п Фамілія Рік народження

У програмі змінні позначені n%, nam$, dat%; для соответс-

твующих полів буфера використовуються позначення np$ (2 байти), nm$

(10 байт), dt$ (6 байт).

OPEN "GSR.DAT" AS #1 LEN = 18

FIELD #1, 2 AS np$, 10 AS nm$, 6 AS dt$

FOR i%=1 to 3

INPUT n%, nam$, dat%

LSET np$ = MKI$ (n%)

LSET nm$ = nam$

LSET dt$ = MKI$ (dat%)

- 25 -

PUT #1,i%

NEXT i%

CLOSE #1

END

Наступна програма здійснює введення даних з файлу GSR.DAT і

їх друк в зворотному порядку.

OPEN "GSR.DAT" AS #1 LEN = 18

FIELD #1, 2 AS np$, 10 AS nm$, 6 AS dt$

FOR i% = 3 to 1 STEP -1

GET #1, i%

n% = CVI (np$)

dat%=CVI (dt$)

PRINT n%, nm$, dat%

NEXT i%

CLOSE #1

END

- 26 -

4. РУХОМІ ЗОБРАЖЕННЯ, ЗВУКОВІ ЕФЕКТИ

І НЕСТАНДАРТНЕ ВВЕДЕННЯ З КЛАВІАТУРИ

4.1. Оператор DRAW

За допомогою оператора DRAW можна креслити (малювати) на екрані

різні фігури (предмети), використовуючи параметри Un, Dn, Ln, Rn

для переміщення на n позицій від поточної крапки вгору (U), вниз

(D), вліво (L) або управо (R); En, Fn, Gn, Hn для переміщення по

діагоналі на n крапок вгору і управо (E), вниз і управо (F), вниз

і вліво (G), вгору і вліво (H); M h,V для переміщення в крапку з

координатами h і V; M 7+ 0h, 7+ 0V для відносного переміщення на h

позицій управо (+) або вліво (-) і на V позицій вниз (+) або

вгору (-). Крім того, параметр An встановлює кут n, де n=0

(0 градусів), 1 (90 градусів), 2 (180 градусів) або 3 (270 граду-

сов); TAn - повертає на кут n, де n міняється від -360 до 360

градусів. При n>0 поворот здійснюється проти годинникової стрілки

при n<0 - за годинниковою стрілкою; Cn - встановлює колір n з теку-

щів палітри; Sn - визначає масштаб n/4, n може мінятися від 1

до 255 (за умовчанням n=4); B - пригнічує висвічення крапок по

шляхи переміщення відповідно до команди З (за умовчанням шлях

переміщення висвічується у вигляді ліній, З містить які-небудь з

перерахованих параметрів); N означає повернення у вихідну позицію

після виконання команди переміщення З.

Послідовність параметрів, що визначає режим і порядок

переміщень, полягає в лапки і указується в операторові DRAW.

Наприклад, оператор

DRAW "M 160, 100"

здійснює переміщення від поточної позиції в позицію (160, 100)

залишаючи при цьому слід у вигляді закрашених крапок. Оператор

DRAW "BM160, 100"

здійснює те ж переміщення, але не залишаючи сліду. Оператор

DRAW "L10 U10 R10 D10"

прокреслює лінію на 10 позицій вліво, на 10 позицій вгору, на

10 позицій управо і на 10 позицій вниз, тобто утворює квадрат.

Пропуски, що розділяють параметри, необов'язкові і використовуються для

наочності. Оператор

DRAW "BM 180, 20 NU10 ND10 NL10 NR 10"

- 27 -

здійснює переміщення без позначення шляху в крапку (180, 20)

а потім креслить хрест (знак +).

У операторові DRAW можна використовувати не тільки символьні

константи (см.выше), але і символьні змінні, в яких зара-

її заготовлюються окремі фрагменти малюнка (або важ рісу-

нок), що дозволяє відтворювати їх багатократно різними опе-

раторамі DRAW. Наприклад

SQAR$ = "L10U10R10D10"

DRAW SQAR$

Аргументи переміщення n, до, V можуть бути задані константами, як

у приведених вище прикладах операторів DRAW, або змінними. У

останньому випадку потрібно використовувати функцію VARPTR$.

Наприклад

оператори

DRAW " E15 "

і

а = 15

DRAW " E = " + VARPTR$ (a)

виконують одну і ту ж дію. Це ж відноситься і до операторів

I% = 1

DRAW " M = " + VARPTR$ (I%) + ", 40"

і

DRAW " M = 1, 40"

Але в першому випадку (при використанні змінної I%) оператор

DRAW може виконуватися при різних її значеннях, наприклад, в

циклі.

Зауваження. Виконання оператора DRAW можливо тільки в гра-

фічеськом режимі (перехід за допомогою оператора SCREEN).

4.2. Оператори GET і PUT

Оператори GET і PUT дозволяють створювати рухомі ізображе-

нія.

При виконанні оператора GET поточний стан частини екрану

запам'ятовується. При виконанні оператора PUT зображення, сохранен-

ноє оператором GET, відтворюється в іншому указанном місці ек-

рана, тобто зображення як би рухається.

Оператора GET запам'ятовує зображення заданої області екрану в

масиві, який повинен бути заздалегідь описаний. Оператор GET має

вигляд

- 28 -

GET (x1, y1) - (x2, y2), B

(x1, y1), (x2, y2) визначають верхню ліву і ніжнюю праву гра-

ніци області, що запам'ятовується, B - ім'я числового масиву, в якому

зберігається копія цієї частини екрану.

Існує формула, що визначає необхідну довжину масиву (у

байтах), виходячи з розміру області, що запам'ятовується, і

режиму роботи

екрану. Так при середній роздільній здатності для збереження n1

крапок по горизонталі і n2 крапок по вертикалі необхідний розмір

масиву N обчислюється за формулою

N = 4 + INT((n1*2+7)/8)* n2

при високій роздільній здатності

N = 4 + INT((n1 + 7)/8)* n2

При використанні масиву цілого типу (один елемент рівний

двом байтам) необхідно передбачити розмір INT((N + 1)/2).

Оператор PUT поміщає копію частини екрану, збережену опера-

тором GET в будь-яку частину екрана, лівий верхній кут якої заданий

крапкою (x, у). Цей оператор має вигляд

PUT (x, у), B

4.3. Оператор BEEP

Цього оператора викликає звуковий сигнал певної частоти

і тривалість 0,25 секунд. Використовується, коли потрібно привернути

увага при виконанні якої-небудь частини програми.

4.4. Оператор SOUND

Цього оператора викликає звуковий сигнал частоти x (від 37 до

32767 Гц) і тривалість в "тиках" (1/18 секунд) у

SOUND x, у

Оператор SOUND з нульовою тривалістю перериває роботу пре-

дидущего оператора SOUND, навіть якщо той не відзвучав до кінця. Іс-

користується для спеціальних звукових ефектів (сирена і ін.).

4.5. Оператор PLAY

Цей оператор дозволяє створювати музику. Загальний вид операто-

ра

PLAY 1символьное вираз

- 29 -

де символьний вираз 1 0задает порядок звучання нот, їх

длітель- ность, номер октави і т.д., використовуючи наступні

параметри: букви

C, D, E, F, G, A, B (ноти від "до" до "сі"), A 1# 0, або A+,

обознача- ет A дієз, A- позначає A бемоль, аналогичале - для остальних

нот; On означає грати в октаві n (n змінюється від 0 до 6, окта-

ва починається з ноти "до" (буква C), за умовчанням n = 4). Напрі-

заходів

PLAY " O3 FGA O4 ABC "

В даному прикладі в 3-ей октаві звучать ноти F, G, A, в четвертій ок-

таве ноти A, B, C. Якщо перед нотою використовується знак > або <,

наприклад > A < C те це означає, що номер поточної октави уве-

лічиваєтся або зменшується на 1.

Можна замість номера октави і символу ноти задати її порядко-

вий номер (від 1 до 84), вказавши перед ним букву N. Наприклад

PLAY " O4G "

аналогічно операторові

PLAY " N44 "

Тривалість ноти встановлюється параметром Ln, де n може

приймати значення від 1 64 і позначає частку повної ноти, тобто

L1 позначає повну ноту, L2 позначає половинну, L4 - чет-

вертную ноту і т.д.

Пауза задається параметром Pn (n - довжина паузи, вимірюється в

тривалості, встановленій параметром L).

Темп задається параметром Tn, де n - число четвертних нот в

хвилину, може приймати значенія від 32 до 255 (за умовчанням n =

120). Параметри MS, MN або ML визначають частку часу звучання

кожної ноти від тривалості, визначеної параметром L:

MS - в 3/4 цій тривалості (стаккато)

MN - в 7/8 (звичайне, нормальне звучання)

ML - повний час (легато).

Режим звучання може бути _основным ., коли наступний оператор

програми не виконуватиметься, поки оператор PLAY не завершений

(параметр MF), або _фоновым ., коли виконання оператора PLAY не

перешкоджає виконанню решти операторів програми (параметр

MB). Наприклад

PLAY "L8 MF MS O3 GG L4 AG O4 C O3 L2 B"

Окремі музичні відрізки можна описати заздалегідь в

виді символьних рядків і використовувати їх потім в операторові PLAY.

Наприклад

- 30 -

A$="EDE" : B$ = "CDE" : PLAY A$ + B$

4.6. Функція INKEY$

Функція INKEY$ діє аналогічно операторові INPUT, проте

при введенні на екрані не висвічується символ, що вводиться, і

не требу-

ется натиснення клавіші "Введення". Програма при цьому не

перериває ра-

боту, як прі виконанні оператора INPUT. При виконанні операто-

ра

X$ = INKEY$

символ, відповідний натиснутій клавіші, привласнюється перемен-

ний X$.

Розглянемо як приклад програму:

PRINT "Задайте напрям: 1-север, 2-юг,_

3-запад, 4-восток"

aa:

D$ = INKEY$

IF D$ = "" THEN aa

ON VAL (D$) GOTO nn, ww, її, ss

PRINT "Неправильна клавіша" : GOTO aa

nn:

...

ww:

...

Тут, поки не буде натиснута яка-небудь клавіша, 3-й і 4-й

оператори виконуються в циклі, забезпечуючи режим очікування. Коли

клавіша "1", "2", "3", або "4" натиснута, відповідне значення

привласнюється змінною D$. Далі в операторові ON здійснюється

її перетворення до числового значення і перехід до вказаної

мет- ке для відповідної обробки.

- 31 -

5. БІБЛІОТЕКА СТАНДАРТНИХ ПРОЦЕДУР В ТУРБО-БЕЙСІКУ

1. Рішення систем лінійних рівнянь алгебри (SIMQ.BAS)

2. Інтерполяція функцій (ALI.BAS)

3. Звернення матриці і обчислення визначника (MINV.BAS)

4. Множення матриць (GMPRD.BAS)

5.Обчислення кореня рівняння (RTMI.BAS)

6. Рішення систем нелінійних рівнянь (SNEN.BAS)

7. Обчислення коріння полінома  (POLRT.BAS)

8. Обчислення похідної (DCAR.BAS)

9. Обчислення інтеграла (QATR.BAS)

10. Екстремум функції (FMCG.BAS)

11. Рішення систем звичайних диференціальних

рівнянь (RKGS.BAS)

12. Згладжування функцій (SG13.BAS)

13. Апроксимація функцій (APFS.BAS)

14. Впорядковування значень (використовується при

інтерполяції функцій) (ATSG.BAS)

15. Обчислення поліномів Чебишева (використовується

при апроксимації функцій) (APCH.BAS)

Підключення бібліотечної процедури здійснюється

оператором

$INCLUDE " 1имя бібліотечної процедури 0"

Приклад використання бібліотечної процедури QATR.BAS

$INCLUDE "QATR.BAS"

CLS

PRINT "ОБЧИСЛЕННЯ ІНТЕГРАЛА"

CALL QATR(0, 1, .0001, 24, INTEGRAL, IER%)

PRINT "ІНТЕГРАЛ =";

PRINT USING "###.####"; INTEGRAL

PRINT "КОД ПОМИЛКИ ="; IER%

DEF FNFCTN (X) = LOG (1 + X) / (1 + X * X)

END

- 32 -

6. ПОРЯДОК РОБОТИ, ЩО РЕКОМЕНДУЄТЬСЯ, НА ПЕВМПРИ СТВОРЕННІ

І ВИКОНАННІ ПРОГРАМ НА МОВІ ТУРБО-БЕЙСІК

1. Увійти до Турбо-Бейсіка. Для цього набрати tb в командній

рядку і натиснути клавішу "Введення". Ще раз натиснути "Введення".

У верхньому рядку екрану висвічується головне меню.

2. Для первинного введення або виправлення програми увійти

у редактор (пункт меню EDIT).

3. Після того, як програма складена (або внесені ісправ-

ленія), її необхідно записати в пам'ять на диск або дискету

(пункт головного меню FILE, підпункт SAVE або клавіша F2).

Зауваження. Рекомендується після набору кожних 10 рядків запі-

сивать програму на диск (простим натисненням клавіші F2), щоб в

випадку збою ПЕВМ програма не пропала.

4. Виконати програму (пункт RUN головного меню), перехід на

великий екран для аналізу результатів - команда ALT/F5.

5. Вийти з Турбо-Бейсіка (пункт FILE, підпункт EXIT або ко-

манда ALT/X).

Зауваження. У кожному режимі в нижньому рядку екрану вказано

призначення функціональних клавіш. Наприклад, якщо курсор

знаходиться в головномуменю, те натиснення клавіші F1 (Help) викликає поява

на екрані відомостей по використанню відповідного режиму, пе-

реход до наступної сторінки - "Введення". Натиснення F5 (Zoom) викликає

розкриття поточного вікна на важ екран, повторне натиснення F5 -

повернення в початкове положення; F6 (Next) - перехід до наступного

окну; F7 (Goto) - перехід в режим редагування; ALT/X (Exit) -

вихід з Турбо-Бейсіка.

У режимі редагування: F1 - Help (див. вищий), F2 - Save (за-

пісь на диск або дискету); F3 - New (завантаження нової програми

ім'я вводиться у вікно, що з'явилося) і т.д.

Галина Іванівна Светозарова

ОСНОВИ ПРИКЛАДНОЇ ІНФОРМАТИКИ

Розділ: Опис мови Турбо-Бейсік

Довідкова допомога

──────────────────────────────────────────────────────────────

Підписано в друк

Уч.-изд.л. 1,5 Тираж 1000 екз.

Замовлення Ціна

──────────────────────────────────────────────────────────────

Московський інститут стали і сплавів, Ленінський проспект, 4

Друкарня ЕОЗ Місис, Орджонікідзе, 8/9

_

Авіація і космонавтика
Автоматизація та управління
Архітектура
Астрологія
Астрономія
Банківська справа
Безпека життєдіяльності
Біографії
Біологія
Біологія і хімія
Біржова справа
Ботаніка та сільське господарство
Валютні відносини
Ветеринарія
Військова кафедра
Географія
Геодезія
Геологія
Діловодство
Гроші та кредит
Природознавство
Журналістика
Зарубіжна література
Зоологія
Видавнича справа та поліграфія
Інвестиції
Інформатика
Історія
Історія техніки
Комунікації і зв'язок
Косметологія
Короткий зміст творів
Криміналістика
Кримінологія
Криптологія
Кулінарія
Культура і мистецтво
Культурологія
Логіка
Логістика
Маркетинг
Математика
Медицина, здоров'я
Медичні науки
Менеджмент
Металургія
Музика
Наука і техніка
Нарисна геометрія
Фільми онлайн
Педагогіка
Підприємництво
Промисловість, виробництво
Психологія
Психологія, педагогіка
Радіоелектроніка
Реклама
Релігія і міфологія
Риторика
Різне
Сексологія
Соціологія
Статистика
Страхування
Будівельні науки
Будівництво
Схемотехніка
Теорія організації
Теплотехніка
Технологія
Товарознавство
Транспорт
Туризм
Управління
Керуючі науки
Фізика
Фізкультура і спорт
Філософія
Фінансові науки
Фінанси
Фотографія
Хімія
Цифрові пристрої
Екологія
Економіка
Економіко-математичне моделювання
Економічна географія
Економічна теорія
Етика

8ref.com

© 8ref.com - українські реферати


енциклопедія  бефстроганов  рагу  оселедець  солянка