- •Інформатика
- •1. Складання алгоритмів
- •1.1. Визначення алгоритму
- •Алгоритм повинен бути:
- •1.2. Алгоритми на природній мові
- •1.3 Алгоритми лiнійної структури
- •1.4 Алгоритми розгалуженої структури
- •1.5 Алгоритм циклічної структури
- •1.6 Комбіновані алгоритми
- •1.7 Схематичне зображення алгоритмів
- •Опис символів
- •2 Алгоритмічна мова qbasic
- •2.1 Інструментарій
- •2.2 Система меню
- •Поле опцій
- •Перемикачі
- •Поле вводу
- •Блок контролю
- •Поле списків
- •2.3 Редактор
- •Маркіровка тексту
- •Обробка тексту
- •2.4 Збереження і завантаження програм
- •Збереження
- •Збереження з іншим іменем
- •Завантаження програми
- •2.5 Складання нової програми
- •2.6 Друк програми
- •2.7 Пошук та зміна тексту
- •Пошук тексту
- •Багаторазовий пошук
- •Зміна тексту
- •2.8 Робота з кількома вікнами
- •2.10.1 Елементарні конструкції мови qbasic
- •Символи
- •2.10.2 Чисельні та символьні дані
- •2.10.3 Стандартні функції
- •2.10.4 Вирази
- •2.10.5 Операції та їх приорітет
- •Логiчні операцiї
- •2.11 Оператори мови qbasic
- •2.11.1 Оператор присвоєння
- •2.11.2 Оператор swap
- •2.11.3 Оператори введення-виведення Оператори введення read, data, restore
- •Оператор введення input
- •Оператор виведення print. Функції spc, tab
- •Оператор виведення print using
- •2.11.4 Оператори керування
- •Оператор goto
- •Оператор on…goto
- •Оператори stop і cont
- •Оператори if… then… else
- •Блок умовного переходу в програмі
- •Оператори gosub і return
- •Оператор on...Gosub
- •Цикл while
- •Цикл do
- •Оператор вибору select case
- •2.11.5 Графiчнi оператори Оператор view
- •Оператор screen
- •Оператор circle
- •Оператор window
- •Оператор line
- •Оператор draw
- •Оператор preset, pset
- •Оператор locate
- •2.11.6 Функції і процедури, визначенні користувачем
- •Функції-вираз
- •Власні функції
- •Власні процедури
- •2.11.7 Масиви Оператори option base, dim, erase
- •Встановлення кольорів екрана
- •2.11.9 Робота з файлами
- •2.11.10 Функція eof
- •Перелік посилань
2.11 Оператори мови qbasic
2.11.1 Оператор присвоєння
Оператор LET є оператором присвоєння. Його дiя полягає в обчисленнi значення виразу та присвоєння цього значення змiннiй, вказаної злiва вiд знака “дорівнює” (або тiльки присвоєння значення), наприклад:
LET X=6.7
LET Y=X73^17
Оператор LET є необов’язковим і його можна пропускати, спрощуючи вигляд оператора. Тобто попереднiй фрагмент програми, та фрагмент програми приведеної нижче – рiвнозначнi.
X=6.7
Y=X73^17
Слiд пам’ятати, що змiнна та присвоєне їй значення повиннi бути сумiсними по типу даних. При невиконанні цієї умови буде видано повiдомлення про помилку “TYPE MISMATCH” , наприклад:
A=“TEXT” : B$=12
TYPE MISMATCH
2.11.2 Оператор swap
Цей оператор здійснює обмiн значень двох змiнних:
A=1:B=2:PRINT “A=“;A,”B=“;B
SWAP A,B
PRINT “A=“;A,”B=“;B:END
A=1 B=2
A=2 B=1
При невiдповiдностi типiв даних видається повiдомлення про помилку.
2.11.3 Оператори введення-виведення Оператори введення read, data, restore
Цi оператори дозволяють просто та ефективно здiйснювати операції присвоєння постiйних значень бiльшому числу змiнних елементiв масиву .При цьому оператор DATA утримує значення, якi присвоюються змiнним, описаним оператором READ .
Формат операторiв DATA та READ:
DATA <значення>
READ < змiннi >
Наприклад:
DATA 11,17E-3,ABCD,-.27
READ X,Y,Z$,XY
Оператор DATA може мати будь-які допустимi чисельнi або символьнi сталi. Використана символьна стала береться у лапки, якщо вона починається з пробiлiв або закінчується ними, або якщо один з символiв, якi входять до неї - кома або двокрапка. При цьому рядок, який береться у лапки, не повинен їх мати.
Якщо в програмi зустрiчаються декiлька операторiв DATA, то всi вони беруть участь у формуваннi одного й того ж списку значень. Цей список створюється послiдовно , починаючи з значень, вказаних у першому з операторів DATA (розташованому першим у текстi програми), закiнчуючи значеннями, якi належать до останнього.
Перший оператор READ присвоює перше значення (з списку, який формується оператором DATA) першiй змiннiй. Другiй змiннiй оператора READ присвоюється друге значення і так далi до тих пiр, поки не буде присвоєне значення всiм змiнним цього оператора. Якщо в подальшому в програмi виконується ще один оператор READ, то вiн знаходить значення змiнних в тому ж списку, починаючи з позиції перед якою закiнчив роботу попереднiй оператор READ.
Наприклад:
DATA 1,6,7,51.1E-7
READ A,B%,D
DATA 4.5,КОНУС
READ I,J,C$
При виконаннi цього фрагменту програми значення змiнних будуть такi:
A=1,B%=6,D=7,I=51.1E-7,J=4.5,C$=“КОНУС”
Невикористанi значення з списку DATA iгноруються, а якщо при виконаннi оператора READ з’ясувалося, що список значень вже переглянутий до кiнця, то видається повiдомлення про помилку “OUT OF DATA”.
Типи змiнних повиннi бути сумiсними з типами присвоєних ним значень.
Iнтерпретатор QBASIC, як вже було вказано, вiдслiдковуе поточну позицiю в списку значень DATA за допомогою спецiального покажчика, який змінює положення всякий раз, коли деякий оператор READ зчитує iз списку чергове значення. Пряме керування перемiщеням цього покажчика може бути здiйснено оператором RESTORE .
Оператор RESTORE повертає покажчик до початку списку, який формується оператором DATA, при цьому черговий оператор READ, наступний за оператором RESTORE, повторно використовує значення iз списку.
Наприклад:
DATA 1,2,3,4,5,6,7
READ A,B
PRINT “A=“;A,”B=“;B
RESTORE
READ C,D
PRINT “C=“;C,”D=“;D
A=1 B=2
C=1 D=2
Оператор RESTOR також встановлює покажчик на елемент списку значень, вiдповiдний любому промiжному оператору DATA. Для цього в операторi RESTORE потрiбно вказати позначку рядка потрiбного нам оператора DATA .
Наприклад:
DATA 7,3,13,17E-3
READ A,B,C,D,E
1: DATA .3,-7,ABCD
RESTOR 1:READ N,K,L$
PRINT A,B,C,D,N,K,L$
7 3 13 7E-3
.3 .3 -7 ABCD
Якщо у рядку оператора DATA немає, то буде вибраний найближчий оператор DATA, розташований у програмі після вказаного рядка.
